[
  {
    "path": ".gitignore",
    "content": "# Virtual environment\nLib/\nScripts/\nInclude/\npyvenv.cfg\n\n# Python\n__pycache__/\n*.pyc\n*.pyo\n\n# Models (large binary files)\nModels/\n\n# User data\nVector_DB/\nVector_DB_Backup/\nDocs_for_DB/\nScraped_Documentation/\n\n# Test files\nTEST - FILES/\n\n# Build artifacts\n*.egg-info/\n\n# Config (contains user API keys)\nconfig.yaml\n\n# Share (installed by tessdata pip packages)\nshare/\n\n# Misc\nffmpeg.exe\npush_to_github.ps1\nmetadata.txt\nchat_history.txt\n*.log\n\n.claude/\n.lock\n\n# Tests (local only)\ntests/\n"
  },
  {
    "path": "Assets/SentenceTransformer.py",
    "content": "# modified 4.1.0 to modify \"_text_length\" method and add debugging\r\nfrom __future__ import annotations\r\n\r\nimport copy\r\nimport importlib\r\nimport json\r\nimport logging\r\nimport math\r\nimport os\r\nimport queue\r\nimport shutil\r\nimport sys\r\nimport logging, sys\r\nimport logging\r\n\r\nimport tempfile\r\nimport traceback\r\nimport warnings\r\nfrom collections import OrderedDict\r\nfrom collections.abc import Iterable, Iterator\r\nfrom contextlib import contextmanager\r\nfrom multiprocessing import Queue\r\nfrom pathlib import Path\r\nfrom typing import Any, Callable, Literal, overload\r\n\r\nimport numpy as np\r\nimport numpy.typing as npt\r\nimport torch\r\nimport torch.multiprocessing as mp\r\nimport transformers\r\nfrom huggingface_hub import HfApi\r\nfrom packaging import version\r\nfrom torch import Tensor, device, nn\r\nfrom tqdm.autonotebook import trange\r\nfrom transformers import is_torch_npu_available\r\nfrom transformers.dynamic_module_utils import get_class_from_dynamic_module, get_relative_import_files\r\n\r\nfrom sentence_transformers.model_card import SentenceTransformerModelCardData, generate_model_card\r\nfrom sentence_transformers.similarity_functions import SimilarityFunction\r\n\r\nfrom . import __MODEL_HUB_ORGANIZATION__, __version__\r\nfrom .evaluation import SentenceEvaluator\r\nfrom .fit_mixin import FitMixin\r\nfrom .models import Normalize, Pooling, Transformer\r\nfrom .peft_mixin import PeftAdapterMixin\r\nfrom .quantization import quantize_embeddings\r\nfrom .util import (\r\n    batch_to_device,\r\n    get_device_name,\r\n    import_from_string,\r\n    is_sentence_transformer_model,\r\n    load_dir_path,\r\n    load_file_path,\r\n    save_to_hub_args_decorator,\r\n    truncate_embeddings,\r\n)\r\n\r\nlogger = logging.getLogger(__name__)\r\n\r\n\r\nclass SentenceTransformer(nn.Sequential, FitMixin, PeftAdapterMixin):\r\n    \"\"\"\r\n    Loads or creates a SentenceTransformer model that can be used to map sentences / text to embeddings.\r\n\r\n    Args:\r\n        model_name_or_path (str, optional): If it is a filepath on disc, it loads the model from that path. If it is not a path,\r\n            it first tries to download a pre-trained SentenceTransformer model. If that fails, tries to construct a model\r\n            from the Hugging Face Hub with that name.\r\n        modules (Iterable[nn.Module], optional): A list of torch Modules that should be called sequentially, can be used to create custom\r\n            SentenceTransformer models from scratch.\r\n        device (str, optional): Device (like \"cuda\", \"cpu\", \"mps\", \"npu\") that should be used for computation. If None, checks if a GPU\r\n            can be used.\r\n        prompts (Dict[str, str], optional): A dictionary with prompts for the model. The key is the prompt name, the value is the prompt text.\r\n            The prompt text will be prepended before any text to encode. For example:\r\n            `{\"query\": \"query: \", \"passage\": \"passage: \"}` or `{\"clustering\": \"Identify the main category based on the\r\n            titles in \"}`.\r\n        default_prompt_name (str, optional): The name of the prompt that should be used by default. If not set,\r\n            no prompt will be applied.\r\n        similarity_fn_name (str or SimilarityFunction, optional): The name of the similarity function to use. Valid options are \"cosine\", \"dot\",\r\n            \"euclidean\", and \"manhattan\". If not set, it is automatically set to \"cosine\" if `similarity` or\r\n            `similarity_pairwise` are called while `model.similarity_fn_name` is still `None`.\r\n        cache_folder (str, optional): Path to store models. Can also be set by the SENTENCE_TRANSFORMERS_HOME environment variable.\r\n        trust_remote_code (bool, optional): Whether or not to allow for custom models defined on the Hub in their own modeling files.\r\n            This option should only be set to True for repositories you trust and in which you have read the code, as it\r\n            will execute code present on the Hub on your local machine.\r\n        revision (str, optional): The specific model version to use. It can be a branch name, a tag name, or a commit id,\r\n            for a stored model on Hugging Face.\r\n        local_files_only (bool, optional): Whether or not to only look at local files (i.e., do not try to download the model).\r\n        token (bool or str, optional): Hugging Face authentication token to download private models.\r\n        use_auth_token (bool or str, optional): Deprecated argument. Please use `token` instead.\r\n        truncate_dim (int, optional): The dimension to truncate sentence embeddings to. `None` does no truncation. Truncation is\r\n            only applicable during inference when :meth:`SentenceTransformer.encode` is called.\r\n        model_kwargs (Dict[str, Any], optional): Additional model configuration parameters to be passed to the Hugging Face Transformers model.\r\n            Particularly useful options are:\r\n\r\n            - ``torch_dtype``: Override the default `torch.dtype` and load the model under a specific `dtype`.\r\n              The different options are:\r\n\r\n                    1. ``torch.float16``, ``torch.bfloat16`` or ``torch.float``: load in a specified\r\n                    ``dtype``, ignoring the model's ``config.torch_dtype`` if one exists. If not specified - the model will\r\n                    get loaded in ``torch.float`` (fp32).\r\n\r\n                    2. ``\"auto\"`` - A ``torch_dtype`` entry in the ``config.json`` file of the model will be\r\n                    attempted to be used. If this entry isn't found then next check the ``dtype`` of the first weight in\r\n                    the checkpoint that's of a floating point type and use that as ``dtype``. This will load the model\r\n                    using the ``dtype`` it was saved in at the end of the training. It can't be used as an indicator of how\r\n                    the model was trained. Since it could be trained in one of half precision dtypes, but saved in fp32.\r\n            - ``attn_implementation``: The attention implementation to use in the model (if relevant). Can be any of\r\n              `\"eager\"` (manual implementation of the attention), `\"sdpa\"` (using `F.scaled_dot_product_attention\r\n              <https://pytorch.org/docs/master/generated/torch.nn.functional.scaled_dot_product_attention.html>`_),\r\n              or `\"flash_attention_2\"` (using `Dao-AILab/flash-attention <https://github.com/Dao-AILab/flash-attention>`_).\r\n              By default, if available, SDPA will be used for torch>=2.1.1. The default is otherwise the manual `\"eager\"`\r\n              implementation.\r\n            - ``provider``: If backend is \"onnx\", this is the provider to use for inference, for example \"CPUExecutionProvider\",\r\n              \"CUDAExecutionProvider\", etc. See https://onnxruntime.ai/docs/execution-providers/ for all ONNX execution providers.\r\n            - ``file_name``: If backend is \"onnx\" or \"openvino\", this is the file name to load, useful for loading optimized\r\n              or quantized ONNX or OpenVINO models.\r\n            - ``export``: If backend is \"onnx\" or \"openvino\", then this is a boolean flag specifying whether this model should\r\n              be exported to the backend. If not specified, the model will be exported only if the model repository or directory\r\n              does not already contain an exported model.\r\n\r\n            See the `PreTrainedModel.from_pretrained\r\n            <https://huggingface.co/docs/transformers/en/main_classes/model#transformers.PreTrainedModel.from_pretrained>`_\r\n            documentation for more details.\r\n        tokenizer_kwargs (Dict[str, Any], optional): Additional tokenizer configuration parameters to be passed to the Hugging Face Transformers tokenizer.\r\n            See the `AutoTokenizer.from_pretrained\r\n            <https://huggingface.co/docs/transformers/en/model_doc/auto#transformers.AutoTokenizer.from_pretrained>`_\r\n            documentation for more details.\r\n        config_kwargs (Dict[str, Any], optional): Additional model configuration parameters to be passed to the Hugging Face Transformers config.\r\n            See the `AutoConfig.from_pretrained\r\n            <https://huggingface.co/docs/transformers/en/model_doc/auto#transformers.AutoConfig.from_pretrained>`_\r\n            documentation for more details.\r\n        model_card_data (:class:`~sentence_transformers.model_card.SentenceTransformerModelCardData`, optional): A model\r\n            card data object that contains information about the model. This is used to generate a model card when saving\r\n            the model. If not set, a default model card data object is created.\r\n        backend (str): The backend to use for inference. Can be one of \"torch\" (default), \"onnx\", or \"openvino\".\r\n            See https://sbert.net/docs/sentence_transformer/usage/efficiency.html for benchmarking information\r\n            on the different backends.\r\n\r\n    Example:\r\n        ::\r\n\r\n            from sentence_transformers import SentenceTransformer\r\n\r\n            # Load a pre-trained SentenceTransformer model\r\n            model = SentenceTransformer('all-mpnet-base-v2')\r\n\r\n            # Encode some texts\r\n            sentences = [\r\n                \"The weather is lovely today.\",\r\n                \"It's so sunny outside!\",\r\n                \"He drove to the stadium.\",\r\n            ]\r\n            embeddings = model.encode(sentences)\r\n            print(embeddings.shape)\r\n            # (3, 768)\r\n\r\n            # Get the similarity scores between all sentences\r\n            similarities = model.similarity(embeddings, embeddings)\r\n            print(similarities)\r\n            # tensor([[1.0000, 0.6817, 0.0492],\r\n            #         [0.6817, 1.0000, 0.0421],\r\n            #         [0.0492, 0.0421, 1.0000]])\r\n    \"\"\"\r\n\r\n    def __init__(\r\n        self,\r\n        model_name_or_path: str | None = None,\r\n        modules: Iterable[nn.Module] | None = None,\r\n        device: str | None = None,\r\n        prompts: dict[str, str] | None = None,\r\n        default_prompt_name: str | None = None,\r\n        similarity_fn_name: str | SimilarityFunction | None = None,\r\n        cache_folder: str | None = None,\r\n        trust_remote_code: bool = False,\r\n        revision: str | None = None,\r\n        local_files_only: bool = False,\r\n        token: bool | str | None = None,\r\n        use_auth_token: bool | str | None = None,\r\n        truncate_dim: int | None = None,\r\n        model_kwargs: dict[str, Any] | None = None,\r\n        tokenizer_kwargs: dict[str, Any] | None = None,\r\n        config_kwargs: dict[str, Any] | None = None,\r\n        model_card_data: SentenceTransformerModelCardData | None = None,\r\n        backend: Literal[\"torch\", \"onnx\", \"openvino\"] = \"torch\",\r\n    ) -> None:\r\n        # Note: self._load_sbert_model can also update `self.prompts` and `self.default_prompt_name`\r\n        self.prompts = prompts or {}\r\n        self.default_prompt_name = default_prompt_name\r\n        self.similarity_fn_name = similarity_fn_name\r\n        self.trust_remote_code = trust_remote_code\r\n        self.truncate_dim = truncate_dim\r\n        self.model_card_data = model_card_data or SentenceTransformerModelCardData()\r\n        self.module_kwargs = None\r\n        self._model_card_vars = {}\r\n        self._model_card_text = None\r\n        self._model_config = {}\r\n        self.backend = backend\r\n        if use_auth_token is not None:\r\n            warnings.warn(\r\n                \"The `use_auth_token` argument is deprecated and will be removed in v4 of SentenceTransformers.\",\r\n                FutureWarning,\r\n            )\r\n            if token is not None:\r\n                raise ValueError(\r\n                    \"`token` and `use_auth_token` are both specified. Please set only the argument `token`.\"\r\n                )\r\n            token = use_auth_token\r\n\r\n        if cache_folder is None:\r\n            cache_folder = os.getenv(\"SENTENCE_TRANSFORMERS_HOME\")\r\n\r\n        if device is None:\r\n            device = get_device_name()\r\n            logger.info(f\"Use pytorch device_name: {device}\")\r\n\r\n        if device == \"hpu\" and importlib.util.find_spec(\"optimum\") is not None:\r\n            from optimum.habana.transformers.modeling_utils import adapt_transformers_to_gaudi\r\n\r\n            adapt_transformers_to_gaudi()\r\n\r\n        if model_name_or_path is not None and model_name_or_path != \"\":\r\n            logger.info(f\"Load pretrained SentenceTransformer: {model_name_or_path}\")\r\n\r\n            # Old models that don't belong to any organization\r\n            basic_transformer_models = [\r\n                \"albert-base-v1\",\r\n                \"albert-base-v2\",\r\n                \"albert-large-v1\",\r\n                \"albert-large-v2\",\r\n                \"albert-xlarge-v1\",\r\n                \"albert-xlarge-v2\",\r\n                \"albert-xxlarge-v1\",\r\n                \"albert-xxlarge-v2\",\r\n                \"bert-base-cased-finetuned-mrpc\",\r\n                \"bert-base-cased\",\r\n                \"bert-base-chinese\",\r\n                \"bert-base-german-cased\",\r\n                \"bert-base-german-dbmdz-cased\",\r\n                \"bert-base-german-dbmdz-uncased\",\r\n                \"bert-base-multilingual-cased\",\r\n                \"bert-base-multilingual-uncased\",\r\n                \"bert-base-uncased\",\r\n                \"bert-large-cased-whole-word-masking-finetuned-squad\",\r\n                \"bert-large-cased-whole-word-masking\",\r\n                \"bert-large-cased\",\r\n                \"bert-large-uncased-whole-word-masking-finetuned-squad\",\r\n                \"bert-large-uncased-whole-word-masking\",\r\n                \"bert-large-uncased\",\r\n                \"camembert-base\",\r\n                \"ctrl\",\r\n                \"distilbert-base-cased-distilled-squad\",\r\n                \"distilbert-base-cased\",\r\n                \"distilbert-base-german-cased\",\r\n                \"distilbert-base-multilingual-cased\",\r\n                \"distilbert-base-uncased-distilled-squad\",\r\n                \"distilbert-base-uncased-finetuned-sst-2-english\",\r\n                \"distilbert-base-uncased\",\r\n                \"distilgpt2\",\r\n                \"distilroberta-base\",\r\n                \"gpt2-large\",\r\n                \"gpt2-medium\",\r\n                \"gpt2-xl\",\r\n                \"gpt2\",\r\n                \"openai-gpt\",\r\n                \"roberta-base-openai-detector\",\r\n                \"roberta-base\",\r\n                \"roberta-large-mnli\",\r\n                \"roberta-large-openai-detector\",\r\n                \"roberta-large\",\r\n                \"t5-11b\",\r\n                \"t5-3b\",\r\n                \"t5-base\",\r\n                \"t5-large\",\r\n                \"t5-small\",\r\n                \"transfo-xl-wt103\",\r\n                \"xlm-clm-ende-1024\",\r\n                \"xlm-clm-enfr-1024\",\r\n                \"xlm-mlm-100-1280\",\r\n                \"xlm-mlm-17-1280\",\r\n                \"xlm-mlm-en-2048\",\r\n                \"xlm-mlm-ende-1024\",\r\n                \"xlm-mlm-enfr-1024\",\r\n                \"xlm-mlm-enro-1024\",\r\n                \"xlm-mlm-tlm-xnli15-1024\",\r\n                \"xlm-mlm-xnli15-1024\",\r\n                \"xlm-roberta-base\",\r\n                \"xlm-roberta-large-finetuned-conll02-dutch\",\r\n                \"xlm-roberta-large-finetuned-conll02-spanish\",\r\n                \"xlm-roberta-large-finetuned-conll03-english\",\r\n                \"xlm-roberta-large-finetuned-conll03-german\",\r\n                \"xlm-roberta-large\",\r\n                \"xlnet-base-cased\",\r\n                \"xlnet-large-cased\",\r\n            ]\r\n\r\n            if not os.path.exists(model_name_or_path):\r\n                # Not a path, load from hub\r\n                if \"\\\\\" in model_name_or_path or model_name_or_path.count(\"/\") > 1:\r\n                    raise FileNotFoundError(f\"Path {model_name_or_path} not found\")\r\n\r\n                if \"/\" not in model_name_or_path and model_name_or_path.lower() not in basic_transformer_models:\r\n                    # A model from sentence-transformers\r\n                    model_name_or_path = __MODEL_HUB_ORGANIZATION__ + \"/\" + model_name_or_path\r\n\r\n            if is_sentence_transformer_model(\r\n                model_name_or_path,\r\n                token,\r\n                cache_folder=cache_folder,\r\n                revision=revision,\r\n                local_files_only=local_files_only,\r\n            ):\r\n                modules, self.module_kwargs = self._load_sbert_model(\r\n                    model_name_or_path,\r\n                    token=token,\r\n                    cache_folder=cache_folder,\r\n                    revision=revision,\r\n                    trust_remote_code=trust_remote_code,\r\n                    local_files_only=local_files_only,\r\n                    model_kwargs=model_kwargs,\r\n                    tokenizer_kwargs=tokenizer_kwargs,\r\n                    config_kwargs=config_kwargs,\r\n                )\r\n            else:\r\n                modules = self._load_auto_model(\r\n                    model_name_or_path,\r\n                    token=token,\r\n                    cache_folder=cache_folder,\r\n                    revision=revision,\r\n                    trust_remote_code=trust_remote_code,\r\n                    local_files_only=local_files_only,\r\n                    model_kwargs=model_kwargs,\r\n                    tokenizer_kwargs=tokenizer_kwargs,\r\n                    config_kwargs=config_kwargs,\r\n                )\r\n\r\n        if modules is not None and not isinstance(modules, OrderedDict):\r\n            modules = OrderedDict([(str(idx), module) for idx, module in enumerate(modules)])\r\n\r\n        super().__init__(modules)\r\n\r\n        # Ensure all tensors in the model are of the same dtype as the first tensor\r\n        # This is necessary if the first module has been given a lower precision via\r\n        # model_kwargs[\"torch_dtype\"]. The rest of the model should be loaded in the same dtype\r\n        # See #2887 for more details\r\n        try:\r\n            dtype = next(self.parameters()).dtype\r\n            self.to(dtype)\r\n        except StopIteration:\r\n            pass\r\n\r\n        self.to(device)\r\n        self.is_hpu_graph_enabled = False\r\n\r\n        if self.default_prompt_name is not None and self.default_prompt_name not in self.prompts:\r\n            raise ValueError(\r\n                f\"Default prompt name '{self.default_prompt_name}' not found in the configured prompts \"\r\n                f\"dictionary with keys {list(self.prompts.keys())!r}.\"\r\n            )\r\n\r\n        if self.prompts:\r\n            logger.info(f\"{len(self.prompts)} prompts are loaded, with the keys: {list(self.prompts.keys())}\")\r\n        if self.default_prompt_name:\r\n            logger.warning(\r\n                f\"Default prompt name is set to '{self.default_prompt_name}'. \"\r\n                \"This prompt will be applied to all `encode()` calls, except if `encode()` \"\r\n                \"is called with `prompt` or `prompt_name` parameters.\"\r\n            )\r\n\r\n        # Ideally, INSTRUCTOR models should set `include_prompt=False` in their pooling configuration, but\r\n        # that would be a breaking change for users currently using the InstructorEmbedding project.\r\n        # So, instead we hardcode setting it for the main INSTRUCTOR models, and otherwise give a warning if we\r\n        # suspect the user is using an INSTRUCTOR model.\r\n        if model_name_or_path in (\"hkunlp/instructor-base\", \"hkunlp/instructor-large\", \"hkunlp/instructor-xl\"):\r\n            self.set_pooling_include_prompt(include_prompt=False)\r\n        elif (\r\n            model_name_or_path\r\n            and \"/\" in model_name_or_path\r\n            and \"instructor\" in model_name_or_path.split(\"/\")[1].lower()\r\n        ):\r\n            if any([module.include_prompt for module in self if isinstance(module, Pooling)]):\r\n                logger.warning(\r\n                    \"Instructor models require `include_prompt=False` in the pooling configuration. \"\r\n                    \"Either update the model configuration or call `model.set_pooling_include_prompt(False)` after loading the model.\"\r\n                )\r\n\r\n        # Pass the model to the model card data for later use in generating a model card upon saving this model\r\n        self.model_card_data.register_model(self)\r\n\r\n    def get_backend(self) -> Literal[\"torch\", \"onnx\", \"openvino\"]:\r\n        \"\"\"Return the backend used for inference, which can be one of \"torch\", \"onnx\", or \"openvino\".\r\n\r\n        Returns:\r\n            str: The backend used for inference.\r\n        \"\"\"\r\n        return self.backend\r\n\r\n    # Return a single tensor because we're passing a single sentence.\r\n    @overload\r\n    def encode(\r\n        self,\r\n        sentences: str,\r\n        prompt_name: str | None = ...,\r\n        prompt: str | None = ...,\r\n        batch_size: int = ...,\r\n        show_progress_bar: bool | None = ...,\r\n        output_value: Literal[\"sentence_embedding\", \"token_embeddings\"] = ...,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = ...,\r\n        convert_to_numpy: Literal[False] = ...,\r\n        convert_to_tensor: bool = ...,\r\n        device: str | None = ...,\r\n        normalize_embeddings: bool = ...,\r\n        **kwargs,\r\n    ) -> Tensor: ...\r\n\r\n    # Return a single array, because convert_to_numpy is True\r\n    # and \"sentence_embeddings\" is passed\r\n    @overload\r\n    def encode(\r\n        self,\r\n        sentences: str | list[str] | np.ndarray,\r\n        prompt_name: str | None = ...,\r\n        prompt: str | None = ...,\r\n        batch_size: int = ...,\r\n        show_progress_bar: bool | None = ...,\r\n        output_value: Literal[\"sentence_embedding\"] = ...,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = ...,\r\n        convert_to_numpy: Literal[True] = ...,\r\n        convert_to_tensor: Literal[False] = ...,\r\n        device: str | None = ...,\r\n        normalize_embeddings: bool = ...,\r\n        **kwargs,\r\n    ) -> np.ndarray: ...\r\n\r\n    # Return a single tensor, because convert_to_tensor is True\r\n    # and \"sentence_embeddings\" is passed\r\n    @overload\r\n    def encode(\r\n        self,\r\n        sentences: str | list[str] | np.ndarray,\r\n        prompt_name: str | None = ...,\r\n        prompt: str | None = ...,\r\n        batch_size: int = ...,\r\n        show_progress_bar: bool | None = ...,\r\n        output_value: Literal[\"sentence_embedding\"] = ...,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = ...,\r\n        convert_to_numpy: bool = ...,\r\n        convert_to_tensor: Literal[True] = ...,\r\n        device: str | None = ...,\r\n        normalize_embeddings: bool = ...,\r\n        **kwargs,\r\n    ) -> Tensor: ...\r\n\r\n    # Return a list of tensors. Value of convert_ doesn't matter.\r\n    @overload\r\n    def encode(\r\n        self,\r\n        sentences: list[str] | np.ndarray,\r\n        prompt_name: str | None = ...,\r\n        prompt: str | None = ...,\r\n        batch_size: int = ...,\r\n        show_progress_bar: bool | None = ...,\r\n        output_value: Literal[\"sentence_embedding\", \"token_embeddings\"] = ...,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = ...,\r\n        convert_to_numpy: bool = ...,\r\n        convert_to_tensor: bool = ...,\r\n        device: str | None = ...,\r\n        normalize_embeddings: bool = ...,\r\n        **kwargs,\r\n    ) -> list[Tensor]: ...\r\n\r\n    # Return a list of dict of features, ignore the conversion args.\r\n    @overload\r\n    def encode(\r\n        self,\r\n        sentences: list[str] | np.ndarray,\r\n        prompt_name: str | None = ...,\r\n        prompt: str | None = ...,\r\n        batch_size: int = ...,\r\n        show_progress_bar: bool | None = ...,\r\n        output_value: None = ...,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = ...,\r\n        convert_to_numpy: bool = ...,\r\n        convert_to_tensor: bool = ...,\r\n        device: str | None = ...,\r\n        normalize_embeddings: bool = ...,\r\n        **kwargs,\r\n    ) -> list[dict[str, Tensor]]: ...\r\n\r\n    # Return a dict of features, ignore the conversion args.\r\n    @overload\r\n    def encode(\r\n        self,\r\n        sentences: str,\r\n        prompt_name: str | None = ...,\r\n        prompt: str | None = ...,\r\n        batch_size: int = ...,\r\n        show_progress_bar: bool | None = ...,\r\n        output_value: None = ...,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = ...,\r\n        convert_to_numpy: bool = ...,\r\n        convert_to_tensor: bool = ...,\r\n        device: str | None = ...,\r\n        normalize_embeddings: bool = ...,\r\n        **kwargs,\r\n    ) -> dict[str, Tensor]: ...\r\n\r\n    # If \"token_embeddings\" is True, then the output is a single tensor.\r\n    @overload\r\n    def encode(\r\n        self,\r\n        sentences: str,\r\n        prompt_name: str | None = ...,\r\n        prompt: str | None = ...,\r\n        batch_size: int = ...,\r\n        show_progress_bar: bool | None = ...,\r\n        output_value: Literal[\"token_embeddings\"] = ...,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = ...,\r\n        convert_to_numpy: bool = ...,\r\n        convert_to_tensor: bool = ...,\r\n        device: str | None = ...,\r\n        normalize_embeddings: bool = ...,\r\n        **kwargs,\r\n    ) -> Tensor: ...\r\n\r\n    def encode(\r\n        self,\r\n        sentences: str | list[str] | np.ndarray,\r\n        prompt_name: str | None = None,\r\n        prompt: str | None = None,\r\n        batch_size: int = 32,\r\n        show_progress_bar: bool | None = None,\r\n        output_value: Literal[\"sentence_embedding\", \"token_embeddings\"] | None = \"sentence_embedding\",\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = \"float32\",\r\n        convert_to_numpy: bool = True,\r\n        convert_to_tensor: bool = False,\r\n        device: str | None = None,\r\n        normalize_embeddings: bool = False,\r\n        **kwargs,\r\n    ) -> list[Tensor] | np.ndarray | Tensor | dict[str, Tensor] | list[dict[str, Tensor]]:\r\n        \"\"\"\r\n        Computes sentence embeddings.\r\n\r\n        Args:\r\n            sentences (Union[str, List[str]]): The sentences to embed.\r\n            prompt_name (Optional[str], optional): The name of the prompt to use for encoding. Must be a key in the `prompts` dictionary,\r\n                which is either set in the constructor or loaded from the model configuration. For example if\r\n                ``prompt_name`` is \"query\" and the ``prompts`` is {\"query\": \"query: \", ...}, then the sentence \"What\r\n                is the capital of France?\" will be encoded as \"query: What is the capital of France?\" because the sentence\r\n                is appended to the prompt. If ``prompt`` is also set, this argument is ignored. Defaults to None.\r\n            prompt (Optional[str], optional): The prompt to use for encoding. For example, if the prompt is \"query: \", then the\r\n                sentence \"What is the capital of France?\" will be encoded as \"query: What is the capital of France?\"\r\n                because the sentence is appended to the prompt. If ``prompt`` is set, ``prompt_name`` is ignored. Defaults to None.\r\n            batch_size (int, optional): The batch size used for the computation. Defaults to 32.\r\n            show_progress_bar (bool, optional): Whether to output a progress bar when encode sentences. Defaults to None.\r\n            output_value (Optional[Literal[\"sentence_embedding\", \"token_embeddings\"]], optional): The type of embeddings to return:\r\n                \"sentence_embedding\" to get sentence embeddings, \"token_embeddings\" to get wordpiece token embeddings, and `None`,\r\n                to get all output values. Defaults to \"sentence_embedding\".\r\n            precision (Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"], optional): The precision to use for the embeddings.\r\n                Can be \"float32\", \"int8\", \"uint8\", \"binary\", or \"ubinary\". All non-float32 precisions are quantized embeddings.\r\n                Quantized embeddings are smaller in size and faster to compute, but may have a lower accuracy. They are useful for\r\n                reducing the size of the embeddings of a corpus for semantic search, among other tasks. Defaults to \"float32\".\r\n            convert_to_numpy (bool, optional): Whether the output should be a list of numpy vectors. If False, it is a list of PyTorch tensors.\r\n                Defaults to True.\r\n            convert_to_tensor (bool, optional): Whether the output should be one large tensor. Overwrites `convert_to_numpy`.\r\n                Defaults to False.\r\n            device (str, optional): Which :class:`torch.device` to use for the computation. Defaults to None.\r\n            normalize_embeddings (bool, optional): Whether to normalize returned vectors to have length 1. In that case,\r\n                the faster dot-product (util.dot_score) instead of cosine similarity can be used. Defaults to False.\r\n\r\n        Returns:\r\n            Union[List[Tensor], ndarray, Tensor]: By default, a 2d numpy array with shape [num_inputs, output_dimension] is returned.\r\n            If only one string input is provided, then the output is a 1d array with shape [output_dimension]. If ``convert_to_tensor``,\r\n            a torch Tensor is returned instead. If ``self.truncate_dim <= output_dimension`` then output_dimension is ``self.truncate_dim``.\r\n\r\n        Example:\r\n            ::\r\n\r\n                from sentence_transformers import SentenceTransformer\r\n\r\n                # Load a pre-trained SentenceTransformer model\r\n                model = SentenceTransformer('all-mpnet-base-v2')\r\n\r\n                # Encode some texts\r\n                sentences = [\r\n                    \"The weather is lovely today.\",\r\n                    \"It's so sunny outside!\",\r\n                    \"He drove to the stadium.\",\r\n                ]\r\n                embeddings = model.encode(sentences)\r\n                print(embeddings.shape)\r\n                # (3, 768)\r\n        \"\"\"\r\n        if self.device.type == \"hpu\" and not self.is_hpu_graph_enabled:\r\n            import habana_frameworks.torch as ht\r\n\r\n            if hasattr(ht, \"hpu\") and hasattr(ht.hpu, \"wrap_in_hpu_graph\"):\r\n                ht.hpu.wrap_in_hpu_graph(self, disable_tensor_cache=True)\r\n                self.is_hpu_graph_enabled = True\r\n\r\n        self.eval()\r\n        if show_progress_bar is None:\r\n            show_progress_bar = logger.getEffectiveLevel() in (logging.INFO, logging.DEBUG)\r\n\r\n        if convert_to_tensor:\r\n            convert_to_numpy = False\r\n\r\n        if output_value != \"sentence_embedding\":\r\n            convert_to_tensor = False\r\n            convert_to_numpy = False\r\n\r\n        input_was_string = False\r\n        if isinstance(sentences, str) or not hasattr(\r\n            sentences, \"__len__\"\r\n        ):  # Cast an individual sentence to a list with length 1\r\n            sentences = [sentences]\r\n            input_was_string = True\r\n\r\n        if prompt is None:\r\n            if prompt_name is not None:\r\n                try:\r\n                    prompt = self.prompts[prompt_name]\r\n                except KeyError:\r\n                    raise ValueError(\r\n                        f\"Prompt name '{prompt_name}' not found in the configured prompts dictionary with keys {list(self.prompts.keys())!r}.\"\r\n                    )\r\n            elif self.default_prompt_name is not None:\r\n                prompt = self.prompts.get(self.default_prompt_name, None)\r\n        else:\r\n            if prompt_name is not None:\r\n                logger.warning(\r\n                    \"Encode with either a `prompt`, a `prompt_name`, or neither, but not both. \"\r\n                    \"Ignoring the `prompt_name` in favor of `prompt`.\"\r\n                )\r\n\r\n        extra_features = {}\r\n        if prompt is not None:\r\n            sentences = [prompt + sentence for sentence in sentences]\r\n\r\n            # Some models (e.g. INSTRUCTOR, GRIT) require removing the prompt before pooling\r\n            # Tracking the prompt length allow us to remove the prompt during pooling\r\n            tokenized_prompt = self.tokenize([prompt])\r\n            if \"input_ids\" in tokenized_prompt:\r\n                extra_features[\"prompt_length\"] = tokenized_prompt[\"input_ids\"].shape[-1] - 1\r\n\r\n        if device is None:\r\n            device = self.device\r\n\r\n        self.to(device)\r\n\r\n        all_embeddings = []\r\n        length_sorted_idx = np.argsort([-self._text_length(sen) for sen in sentences])\r\n        sentences_sorted = [sentences[idx] for idx in length_sorted_idx]\r\n\r\n        for start_index in trange(0, len(sentences), batch_size, desc=\"Batches\", disable=not show_progress_bar):\r\n            sentences_batch = sentences_sorted[start_index : start_index + batch_size]\r\n\r\n            # #==DEBUG================================================================================================\r\n            # print(f\"\\n=== DEBUG: Before tokenization ===\")\r\n            # print(f\"Batch size: {len(sentences_batch)}\")\r\n            # print(f\"Sentences in batch:\")\r\n            # for i, sent in enumerate(sentences_batch):\r\n                # print(f\"  [{i}] Type: {type(sent)}, Length: {len(sent) if hasattr(sent, '__len__') else 'no len'}\")\r\n                # print(f\"      Content: {repr(sent)}...\")\r\n            # #==DEBUG================================================================================================\r\n\r\n            features = self.tokenize(sentences_batch)\r\n\r\n            # #==DEBUG================================================================================================\r\n            # print(f\"\\n=== DEBUG: After tokenization (features dict) ===\")\r\n            # print(f\"Features keys: {list(features.keys())}\")\r\n            # for key, value in features.items():\r\n                # print(f\"  {key}:\")\r\n                # print(f\"    Type: {type(value)}\")\r\n                # if hasattr(value, 'shape'):\r\n                    # print(f\"    Shape: {value.shape}\")\r\n                # elif hasattr(value, '__len__'):\r\n                    # print(f\"    Length: {len(value)}\")\r\n                    # if isinstance(value, (list, tuple)) and len(value) > 0:\r\n                        # print(f\"    First element type: {type(value[0])}\")\r\n                        # if hasattr(value[0], '__len__'):\r\n                            # print(f\"    First element length: {len(value[0])}\")\r\n                        # print(f\"    Sample content: {value}\")  # First 2 elements\r\n                # print(f\"    Content preview: {str(value)}...\")\r\n            # #==DEBUG================================================================================================\r\n\r\n            # print(\r\n                # f\"SentenceTransformer.py - DEBUG: batch {start_index // batch_size} padded_side={self.tokenizer.padding_side if hasattr(self, 'tokenizer') else 'n/a'} \"\r\n                # f\"max_len={self.tokenizer.model_max_length if hasattr(self, 'tokenizer') else 'n/a'} \"\r\n                # f\"seq_lens={[len(ids) for ids in features['input_ids'].tolist()] if 'input_ids' in features else 'n/a'}\"\r\n            # )\r\n\r\n            if self.device.type == \"hpu\":\r\n                if \"input_ids\" in features:\r\n                    curr_tokenize_len = features[\"input_ids\"].shape\r\n                    additional_pad_len = 2 ** math.ceil(math.log2(curr_tokenize_len[1])) - curr_tokenize_len[1]\r\n                    features[\"input_ids\"] = torch.cat(\r\n                        (\r\n                            features[\"input_ids\"],\r\n                            torch.ones((curr_tokenize_len[0], additional_pad_len), dtype=torch.int8),\r\n                        ),\r\n                        -1,\r\n                    )\r\n                    features[\"attention_mask\"] = torch.cat(\r\n                        (\r\n                            features[\"attention_mask\"],\r\n                            torch.zeros((curr_tokenize_len[0], additional_pad_len), dtype=torch.int8),\r\n                        ),\r\n                        -1,\r\n                    )\r\n                    if \"token_type_ids\" in features:\r\n                        features[\"token_type_ids\"] = torch.cat(\r\n                            (\r\n                                features[\"token_type_ids\"],\r\n                                torch.zeros((curr_tokenize_len[0], additional_pad_len), dtype=torch.int8),\r\n                            ),\r\n                            -1,\r\n                        )\r\n\r\n            features = batch_to_device(features, device)\r\n            features.update(extra_features)\r\n\r\n            with torch.no_grad():\r\n                out_features = self.forward(features, **kwargs)\r\n                if self.device.type == \"hpu\":\r\n                    out_features = copy.deepcopy(out_features)\r\n\r\n                out_features[\"sentence_embedding\"] = truncate_embeddings(\r\n                    out_features[\"sentence_embedding\"], self.truncate_dim\r\n                )\r\n\r\n                if output_value == \"token_embeddings\":\r\n                    embeddings = []\r\n                    for token_emb, attention in zip(out_features[output_value], out_features[\"attention_mask\"]):\r\n                        last_mask_id = len(attention) - 1\r\n                        while last_mask_id > 0 and attention[last_mask_id].item() == 0:\r\n                            last_mask_id -= 1\r\n\r\n                        embeddings.append(token_emb[0 : last_mask_id + 1])\r\n                elif output_value is None:  # Return all outputs\r\n                    embeddings = []\r\n                    for idx in range(len(out_features[\"sentence_embedding\"])):\r\n                        batch_item = {}\r\n                        for name, value in out_features.items():\r\n                            try:\r\n                                batch_item[name] = value[idx]\r\n                            except TypeError:\r\n                                # Handle non-indexable values (like prompt_length)\r\n                                batch_item[name] = value\r\n                        embeddings.append(batch_item)\r\n                else:  # Sentence embeddings\r\n                    embeddings = out_features[output_value]\r\n                    embeddings = embeddings.detach()\r\n                    if normalize_embeddings:\r\n                        embeddings = torch.nn.functional.normalize(embeddings, p=2, dim=1)\r\n\r\n                    # fixes for #522 and #487 to avoid oom problems on gpu with large datasets\r\n                    if convert_to_numpy:\r\n                        embeddings = embeddings.cpu()\r\n\r\n                all_embeddings.extend(embeddings)\r\n\r\n        all_embeddings = [all_embeddings[idx] for idx in np.argsort(length_sorted_idx)]\r\n\r\n        if precision and precision != \"float32\":\r\n            all_embeddings = quantize_embeddings(all_embeddings, precision=precision)\r\n\r\n        if convert_to_tensor:\r\n            if len(all_embeddings):\r\n                if isinstance(all_embeddings, np.ndarray):\r\n                    all_embeddings = torch.from_numpy(all_embeddings)\r\n                else:\r\n                    all_embeddings = torch.stack(all_embeddings)\r\n            else:\r\n                all_embeddings = torch.Tensor()\r\n        elif convert_to_numpy:\r\n            if not isinstance(all_embeddings, np.ndarray):\r\n                if all_embeddings and all_embeddings[0].dtype == torch.bfloat16:\r\n                    all_embeddings = np.asarray([emb.float().numpy() for emb in all_embeddings])\r\n                else:\r\n                    all_embeddings = np.asarray([emb.numpy() for emb in all_embeddings])\r\n        elif isinstance(all_embeddings, np.ndarray):\r\n            all_embeddings = [torch.from_numpy(embedding) for embedding in all_embeddings]\r\n\r\n        if input_was_string:\r\n            all_embeddings = all_embeddings[0]\r\n\r\n        return all_embeddings\r\n\r\n    def forward(self, input: dict[str, Tensor], **kwargs) -> dict[str, Tensor]:\r\n        if self.module_kwargs is None:\r\n            return super().forward(input)\r\n\r\n        for module_name, module in self.named_children():\r\n            module_kwarg_keys = self.module_kwargs.get(module_name, [])\r\n            module_kwargs = {key: value for key, value in kwargs.items() if key in module_kwarg_keys}\r\n            input = module(input, **module_kwargs)\r\n        return input\r\n\r\n    @property\r\n    def similarity_fn_name(self) -> Literal[\"cosine\", \"dot\", \"euclidean\", \"manhattan\"]:\r\n        \"\"\"Return the name of the similarity function used by :meth:`SentenceTransformer.similarity` and :meth:`SentenceTransformer.similarity_pairwise`.\r\n\r\n        Returns:\r\n            Optional[str]: The name of the similarity function. Can be None if not set, in which case it will\r\n                default to \"cosine\" when first called.\r\n\r\n        Example:\r\n            >>> model = SentenceTransformer(\"multi-qa-mpnet-base-dot-v1\")\r\n            >>> model.similarity_fn_name\r\n            'dot'\r\n        \"\"\"\r\n        if self._similarity_fn_name is None:\r\n            self.similarity_fn_name = SimilarityFunction.COSINE\r\n        return self._similarity_fn_name\r\n\r\n    @similarity_fn_name.setter\r\n    def similarity_fn_name(\r\n        self, value: Literal[\"cosine\", \"dot\", \"euclidean\", \"manhattan\"] | SimilarityFunction\r\n    ) -> None:\r\n        if isinstance(value, SimilarityFunction):\r\n            value = value.value\r\n        self._similarity_fn_name = value\r\n\r\n        if value is not None:\r\n            self._similarity = SimilarityFunction.to_similarity_fn(value)\r\n            self._similarity_pairwise = SimilarityFunction.to_similarity_pairwise_fn(value)\r\n\r\n    @overload\r\n    def similarity(self, embeddings1: Tensor, embeddings2: Tensor) -> Tensor: ...\r\n\r\n    @overload\r\n    def similarity(self, embeddings1: npt.NDArray[np.float32], embeddings2: npt.NDArray[np.float32]) -> Tensor: ...\r\n\r\n    @property\r\n    def similarity(self) -> Callable[[Tensor | npt.NDArray[np.float32], Tensor | npt.NDArray[np.float32]], Tensor]:\r\n        \"\"\"\r\n        Compute the similarity between two collections of embeddings. The output will be a matrix with the similarity\r\n        scores between all embeddings from the first parameter and all embeddings from the second parameter. This\r\n        differs from `similarity_pairwise` which computes the similarity between each pair of embeddings.\r\n        This method supports only embeddings with fp32 precision and does not accommodate quantized embeddings.\r\n\r\n        Args:\r\n            embeddings1 (Union[Tensor, ndarray]): [num_embeddings_1, embedding_dim] or [embedding_dim]-shaped numpy array or torch tensor.\r\n            embeddings2 (Union[Tensor, ndarray]): [num_embeddings_2, embedding_dim] or [embedding_dim]-shaped numpy array or torch tensor.\r\n\r\n        Returns:\r\n            Tensor: A [num_embeddings_1, num_embeddings_2]-shaped torch tensor with similarity scores.\r\n\r\n        Example:\r\n            ::\r\n\r\n                >>> model = SentenceTransformer(\"all-mpnet-base-v2\")\r\n                >>> sentences = [\r\n                ...     \"The weather is so nice!\",\r\n                ...     \"It's so sunny outside.\",\r\n                ...     \"He's driving to the movie theater.\",\r\n                ...     \"She's going to the cinema.\",\r\n                ... ]\r\n                >>> embeddings = model.encode(sentences, normalize_embeddings=True)\r\n                >>> model.similarity(embeddings, embeddings)\r\n                tensor([[1.0000, 0.7235, 0.0290, 0.1309],\r\n                        [0.7235, 1.0000, 0.0613, 0.1129],\r\n                        [0.0290, 0.0613, 1.0000, 0.5027],\r\n                        [0.1309, 0.1129, 0.5027, 1.0000]])\r\n                >>> model.similarity_fn_name\r\n                \"cosine\"\r\n                >>> model.similarity_fn_name = \"euclidean\"\r\n                >>> model.similarity(embeddings, embeddings)\r\n                tensor([[-0.0000, -0.7437, -1.3935, -1.3184],\r\n                        [-0.7437, -0.0000, -1.3702, -1.3320],\r\n                        [-1.3935, -1.3702, -0.0000, -0.9973],\r\n                        [-1.3184, -1.3320, -0.9973, -0.0000]])\r\n        \"\"\"\r\n        if self.similarity_fn_name is None:\r\n            self.similarity_fn_name = SimilarityFunction.COSINE\r\n        return self._similarity\r\n\r\n    @overload\r\n    def similarity_pairwise(self, embeddings1: Tensor, embeddings2: Tensor) -> Tensor: ...\r\n\r\n    @overload\r\n    def similarity_pairwise(\r\n        self, embeddings1: npt.NDArray[np.float32], embeddings2: npt.NDArray[np.float32]\r\n    ) -> Tensor: ...\r\n\r\n    @property\r\n    def similarity_pairwise(\r\n        self,\r\n    ) -> Callable[[Tensor | npt.NDArray[np.float32], Tensor | npt.NDArray[np.float32]], Tensor]:\r\n        \"\"\"\r\n        Compute the similarity between two collections of embeddings. The output will be a vector with the similarity\r\n        scores between each pair of embeddings.\r\n        This method supports only embeddings with fp32 precision and does not accommodate quantized embeddings.\r\n\r\n        Args:\r\n            embeddings1 (Union[Tensor, ndarray]): [num_embeddings, embedding_dim] or [embedding_dim]-shaped numpy array or torch tensor.\r\n            embeddings2 (Union[Tensor, ndarray]): [num_embeddings, embedding_dim] or [embedding_dim]-shaped numpy array or torch tensor.\r\n\r\n        Returns:\r\n            Tensor: A [num_embeddings]-shaped torch tensor with pairwise similarity scores.\r\n\r\n        Example:\r\n            ::\r\n\r\n                >>> model = SentenceTransformer(\"all-mpnet-base-v2\")\r\n                >>> sentences = [\r\n                ...     \"The weather is so nice!\",\r\n                ...     \"It's so sunny outside.\",\r\n                ...     \"He's driving to the movie theater.\",\r\n                ...     \"She's going to the cinema.\",\r\n                ... ]\r\n                >>> embeddings = model.encode(sentences, normalize_embeddings=True)\r\n                >>> model.similarity_pairwise(embeddings[::2], embeddings[1::2])\r\n                tensor([0.7235, 0.5027])\r\n                >>> model.similarity_fn_name\r\n                \"cosine\"\r\n                >>> model.similarity_fn_name = \"euclidean\"\r\n                >>> model.similarity_pairwise(embeddings[::2], embeddings[1::2])\r\n                tensor([-0.7437, -0.9973])\r\n        \"\"\"\r\n        if self.similarity_fn_name is None:\r\n            self.similarity_fn_name = SimilarityFunction.COSINE\r\n        return self._similarity_pairwise\r\n\r\n    def start_multi_process_pool(\r\n        self, target_devices: list[str] = None\r\n    ) -> dict[Literal[\"input\", \"output\", \"processes\"], Any]:\r\n        \"\"\"\r\n        Starts a multi-process pool to process the encoding with several independent processes\r\n        via :meth:`SentenceTransformer.encode_multi_process <sentence_transformers.SentenceTransformer.encode_multi_process>`.\r\n\r\n        This method is recommended if you want to encode on multiple GPUs or CPUs. It is advised\r\n        to start only one process per GPU. This method works together with encode_multi_process\r\n        and stop_multi_process_pool.\r\n\r\n        Args:\r\n            target_devices (List[str], optional): PyTorch target devices, e.g. [\"cuda:0\", \"cuda:1\", ...],\r\n                [\"npu:0\", \"npu:1\", ...], or [\"cpu\", \"cpu\", \"cpu\", \"cpu\"]. If target_devices is None and CUDA/NPU\r\n                is available, then all available CUDA/NPU devices will be used. If target_devices is None and\r\n                CUDA/NPU is not available, then 4 CPU devices will be used.\r\n\r\n        Returns:\r\n            Dict[str, Any]: A dictionary with the target processes, an input queue, and an output queue.\r\n        \"\"\"\r\n        if target_devices is None:\r\n            if torch.cuda.is_available():\r\n                target_devices = [f\"cuda:{i}\" for i in range(torch.cuda.device_count())]\r\n            elif is_torch_npu_available():\r\n                target_devices = [f\"npu:{i}\" for i in range(torch.npu.device_count())]\r\n            else:\r\n                logger.info(\"CUDA/NPU is not available. Starting 4 CPU workers\")\r\n                target_devices = [\"cpu\"] * 4\r\n\r\n        logger.info(\"Start multi-process pool on devices: {}\".format(\", \".join(map(str, target_devices))))\r\n\r\n        self.to(\"cpu\")\r\n        self.share_memory()\r\n        ctx = mp.get_context(\"spawn\")\r\n        input_queue = ctx.Queue()\r\n        output_queue = ctx.Queue()\r\n        processes = []\r\n\r\n        for device_id in target_devices:\r\n            p = ctx.Process(\r\n                target=SentenceTransformer._encode_multi_process_worker,\r\n                args=(device_id, self, input_queue, output_queue),\r\n                daemon=True,\r\n            )\r\n            p.start()\r\n            processes.append(p)\r\n\r\n        return {\"input\": input_queue, \"output\": output_queue, \"processes\": processes}\r\n\r\n    @staticmethod\r\n    def stop_multi_process_pool(pool: dict[Literal[\"input\", \"output\", \"processes\"], Any]) -> None:\r\n        \"\"\"\r\n        Stops all processes started with start_multi_process_pool.\r\n\r\n        Args:\r\n            pool (Dict[str, object]): A dictionary containing the input queue, output queue, and process list.\r\n\r\n        Returns:\r\n            None\r\n        \"\"\"\r\n        for p in pool[\"processes\"]:\r\n            p.terminate()\r\n\r\n        for p in pool[\"processes\"]:\r\n            p.join()\r\n            p.close()\r\n\r\n        pool[\"input\"].close()\r\n        pool[\"output\"].close()\r\n\r\n    def encode_multi_process(\r\n        self,\r\n        sentences: list[str],\r\n        pool: dict[Literal[\"input\", \"output\", \"processes\"], Any],\r\n        prompt_name: str | None = None,\r\n        prompt: str | None = None,\r\n        batch_size: int = 32,\r\n        chunk_size: int = None,\r\n        show_progress_bar: bool | None = None,\r\n        precision: Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"] = \"float32\",\r\n        normalize_embeddings: bool = False,\r\n    ) -> np.ndarray:\r\n        \"\"\"\r\n        Encodes a list of sentences using multiple processes and GPUs via\r\n        :meth:`SentenceTransformer.encode <sentence_transformers.SentenceTransformer.encode>`.\r\n        The sentences are chunked into smaller packages and sent to individual processes, which encode them on different\r\n        GPUs or CPUs. This method is only suitable for encoding large sets of sentences.\r\n\r\n        Args:\r\n            sentences (List[str]): List of sentences to encode.\r\n            pool (Dict[Literal[\"input\", \"output\", \"processes\"], Any]): A pool of workers started with\r\n                :meth:`SentenceTransformer.start_multi_process_pool <sentence_transformers.SentenceTransformer.start_multi_process_pool>`.\r\n            prompt_name (Optional[str], optional): The name of the prompt to use for encoding. Must be a key in the `prompts` dictionary,\r\n                which is either set in the constructor or loaded from the model configuration. For example if\r\n                ``prompt_name`` is \"query\" and the ``prompts`` is {\"query\": \"query: \", ...}, then the sentence \"What\r\n                is the capital of France?\" will be encoded as \"query: What is the capital of France?\" because the sentence\r\n                is appended to the prompt. If ``prompt`` is also set, this argument is ignored. Defaults to None.\r\n            prompt (Optional[str], optional): The prompt to use for encoding. For example, if the prompt is \"query: \", then the\r\n                sentence \"What is the capital of France?\" will be encoded as \"query: What is the capital of France?\"\r\n                because the sentence is appended to the prompt. If ``prompt`` is set, ``prompt_name`` is ignored. Defaults to None.\r\n            batch_size (int): Encode sentences with batch size. (default: 32)\r\n            chunk_size (int): Sentences are chunked and sent to the individual processes. If None, it determines a\r\n                sensible size. Defaults to None.\r\n            show_progress_bar (bool, optional): Whether to output a progress bar when encode sentences. Defaults to None.\r\n            precision (Literal[\"float32\", \"int8\", \"uint8\", \"binary\", \"ubinary\"]): The precision to use for the\r\n                embeddings. Can be \"float32\", \"int8\", \"uint8\", \"binary\", or \"ubinary\". All non-float32 precisions\r\n                are quantized embeddings. Quantized embeddings are smaller in size and faster to compute, but may\r\n                have lower accuracy. They are useful for reducing the size of the embeddings of a corpus for\r\n                semantic search, among other tasks. Defaults to \"float32\".\r\n            normalize_embeddings (bool): Whether to normalize returned vectors to have length 1. In that case,\r\n                the faster dot-product (util.dot_score) instead of cosine similarity can be used. Defaults to False.\r\n\r\n        Returns:\r\n            np.ndarray: A 2D numpy array with shape [num_inputs, output_dimension].\r\n\r\n        Example:\r\n            ::\r\n\r\n                from sentence_transformers import SentenceTransformer\r\n\r\n                def main():\r\n                    model = SentenceTransformer(\"all-mpnet-base-v2\")\r\n                    sentences = [\"The weather is so nice!\", \"It's so sunny outside.\", \"He's driving to the movie theater.\", \"She's going to the cinema.\"] * 1000\r\n\r\n                    pool = model.start_multi_process_pool()\r\n                    embeddings = model.encode_multi_process(sentences, pool)\r\n                    model.stop_multi_process_pool(pool)\r\n\r\n                    print(embeddings.shape)\r\n                    # => (4000, 768)\r\n\r\n                if __name__ == \"__main__\":\r\n                    main()\r\n        \"\"\"\r\n\r\n        if chunk_size is None:\r\n            chunk_size = min(math.ceil(len(sentences) / len(pool[\"processes\"]) / 10), 5000)\r\n\r\n        if show_progress_bar is None:\r\n            show_progress_bar = logger.getEffectiveLevel() in (logging.INFO, logging.DEBUG)\r\n\r\n        # print(f\"Chunk data into {math.ceil(len(sentences) / chunk_size)} packages of size {chunk_size}\")\r\n\r\n        input_queue = pool[\"input\"]\r\n        last_chunk_id = 0\r\n        chunk = []\r\n\r\n        for sentence in sentences:\r\n            chunk.append(sentence)\r\n            if len(chunk) >= chunk_size:\r\n                input_queue.put(\r\n                    [last_chunk_id, batch_size, chunk, prompt_name, prompt, precision, normalize_embeddings]\r\n                )\r\n                last_chunk_id += 1\r\n                chunk = []\r\n\r\n        if len(chunk) > 0:\r\n            input_queue.put([last_chunk_id, batch_size, chunk, prompt_name, prompt, precision, normalize_embeddings])\r\n            last_chunk_id += 1\r\n\r\n        output_queue = pool[\"output\"]\r\n        results_list = sorted(\r\n            [output_queue.get() for _ in trange(last_chunk_id, desc=\"Chunks\", disable=not show_progress_bar)],\r\n            key=lambda x: x[0],\r\n        )\r\n        embeddings = np.concatenate([result[1] for result in results_list])\r\n        return embeddings\r\n\r\n    @staticmethod\r\n    def _encode_multi_process_worker(\r\n        target_device: str, model: SentenceTransformer, input_queue: Queue, results_queue: Queue\r\n    ) -> None:\r\n        \"\"\"\r\n        Internal working process to encode sentences in multi-process setup\r\n        \"\"\"\r\n        while True:\r\n            try:\r\n                chunk_id, batch_size, sentences, prompt_name, prompt, precision, normalize_embeddings = (\r\n                    input_queue.get()\r\n                )\r\n                embeddings = model.encode(\r\n                    sentences,\r\n                    prompt_name=prompt_name,\r\n                    prompt=prompt,\r\n                    device=target_device,\r\n                    show_progress_bar=False,\r\n                    precision=precision,\r\n                    convert_to_numpy=True,\r\n                    batch_size=batch_size,\r\n                    normalize_embeddings=normalize_embeddings,\r\n                )\r\n\r\n                results_queue.put([chunk_id, embeddings])\r\n            except queue.Empty:\r\n                break\r\n\r\n    def set_pooling_include_prompt(self, include_prompt: bool) -> None:\r\n        \"\"\"\r\n        Sets the `include_prompt` attribute in the pooling layer in the model, if there is one.\r\n\r\n        This is useful for INSTRUCTOR models, as the prompt should be excluded from the pooling strategy\r\n        for these models.\r\n\r\n        Args:\r\n            include_prompt (bool): Whether to include the prompt in the pooling layer.\r\n\r\n        Returns:\r\n            None\r\n        \"\"\"\r\n        for module in self:\r\n            if isinstance(module, Pooling):\r\n                module.include_prompt = include_prompt\r\n                break\r\n\r\n    def get_max_seq_length(self) -> int | None:\r\n        \"\"\"\r\n        Returns the maximal sequence length that the model accepts. Longer inputs will be truncated.\r\n\r\n        Returns:\r\n            Optional[int]: The maximal sequence length that the model accepts, or None if it is not defined.\r\n        \"\"\"\r\n        if hasattr(self._first_module(), \"max_seq_length\"):\r\n            return self._first_module().max_seq_length\r\n\r\n        return None\r\n\r\n    def tokenize(self, texts: list[str] | list[dict] | list[tuple[str, str]]) -> dict[str, Tensor]:\r\n        \"\"\"\r\n        Tokenizes the texts.\r\n\r\n        Args:\r\n            texts (Union[List[str], List[Dict], List[Tuple[str, str]]]): A list of texts to be tokenized.\r\n\r\n        Returns:\r\n            Dict[str, Tensor]: A dictionary of tensors with the tokenized texts. Common keys are \"input_ids\",\r\n                \"attention_mask\", and \"token_type_ids\".\r\n        \"\"\"\r\n        # print(f\"SentenceTransformer.py - DEBUG: tokenize(): got {len(texts)} texts\")\r\n        return self._first_module().tokenize(texts)\r\n\r\n    def get_sentence_features(self, *features) -> dict[Literal[\"sentence_embedding\"], Tensor]:\r\n        return self._first_module().get_sentence_features(*features)\r\n\r\n    def get_sentence_embedding_dimension(self) -> int | None:\r\n        \"\"\"\r\n        Returns the number of dimensions in the output of :meth:`SentenceTransformer.encode <sentence_transformers.SentenceTransformer.encode>`.\r\n\r\n        Returns:\r\n            Optional[int]: The number of dimensions in the output of `encode`. If it's not known, it's `None`.\r\n        \"\"\"\r\n        output_dim = None\r\n        for mod in reversed(self._modules.values()):\r\n            sent_embedding_dim_method = getattr(mod, \"get_sentence_embedding_dimension\", None)\r\n            if callable(sent_embedding_dim_method):\r\n                output_dim = sent_embedding_dim_method()\r\n                break\r\n        if self.truncate_dim is not None:\r\n            # The user requested truncation. If they set it to a dim greater than output_dim,\r\n            # no truncation will actually happen. So return output_dim instead of self.truncate_dim\r\n            return min(output_dim or np.inf, self.truncate_dim)\r\n        return output_dim\r\n\r\n    @contextmanager\r\n    def truncate_sentence_embeddings(self, truncate_dim: int | None) -> Iterator[None]:\r\n        \"\"\"\r\n        In this context, :meth:`SentenceTransformer.encode <sentence_transformers.SentenceTransformer.encode>` outputs\r\n        sentence embeddings truncated at dimension ``truncate_dim``.\r\n\r\n        This may be useful when you are using the same model for different applications where different dimensions\r\n        are needed.\r\n\r\n        Args:\r\n            truncate_dim (int, optional): The dimension to truncate sentence embeddings to. ``None`` does no truncation.\r\n\r\n        Example:\r\n            ::\r\n\r\n                from sentence_transformers import SentenceTransformer\r\n\r\n                model = SentenceTransformer(\"all-mpnet-base-v2\")\r\n\r\n                with model.truncate_sentence_embeddings(truncate_dim=16):\r\n                    embeddings_truncated = model.encode([\"hello there\", \"hiya\"])\r\n                assert embeddings_truncated.shape[-1] == 16\r\n        \"\"\"\r\n        original_output_dim = self.truncate_dim\r\n        try:\r\n            self.truncate_dim = truncate_dim\r\n            yield\r\n        finally:\r\n            self.truncate_dim = original_output_dim\r\n\r\n    def _first_module(self) -> torch.nn.Module:\r\n        \"\"\"Returns the first module of this sequential embedder\"\"\"\r\n        return self._modules[next(iter(self._modules))]\r\n\r\n    def _last_module(self) -> torch.nn.Module:\r\n        \"\"\"Returns the last module of this sequential embedder\"\"\"\r\n        return self._modules[next(reversed(self._modules))]\r\n\r\n    def save(\r\n        self,\r\n        path: str,\r\n        model_name: str | None = None,\r\n        create_model_card: bool = True,\r\n        train_datasets: list[str] | None = None,\r\n        safe_serialization: bool = True,\r\n    ) -> None:\r\n        \"\"\"\r\n        Saves a model and its configuration files to a directory, so that it can be loaded\r\n        with ``SentenceTransformer(path)`` again.\r\n\r\n        Args:\r\n            path (str): Path on disc where the model will be saved.\r\n            model_name (str, optional): Optional model name.\r\n            create_model_card (bool, optional): If True, create a README.md with basic information about this model.\r\n            train_datasets (List[str], optional): Optional list with the names of the datasets used to train the model.\r\n            safe_serialization (bool, optional): If True, save the model using safetensors. If False, save the model\r\n                the traditional (but unsafe) PyTorch way.\r\n        \"\"\"\r\n        if path is None:\r\n            return\r\n\r\n        os.makedirs(path, exist_ok=True)\r\n\r\n        logger.info(f\"Save model to {path}\")\r\n        modules_config = []\r\n\r\n        # Save some model info\r\n        self._model_config[\"__version__\"] = {\r\n            \"sentence_transformers\": __version__,\r\n            \"transformers\": transformers.__version__,\r\n            \"pytorch\": torch.__version__,\r\n        }\r\n\r\n        with open(os.path.join(path, \"config_sentence_transformers.json\"), \"w\") as fOut:\r\n            config = self._model_config.copy()\r\n            config[\"prompts\"] = self.prompts\r\n            config[\"default_prompt_name\"] = self.default_prompt_name\r\n            config[\"similarity_fn_name\"] = self.similarity_fn_name\r\n            json.dump(config, fOut, indent=2)\r\n\r\n        # Save modules\r\n        for idx, name in enumerate(self._modules):\r\n            module = self._modules[name]\r\n            if idx == 0 and hasattr(module, \"save_in_root\"):  # Save first module in the main folder\r\n                model_path = path + \"/\"\r\n            else:\r\n                model_path = os.path.join(path, str(idx) + \"_\" + type(module).__name__)\r\n\r\n            os.makedirs(model_path, exist_ok=True)\r\n            # Try to save with safetensors, but fall back to the traditional PyTorch way if the module doesn't support it\r\n            try:\r\n                module.save(model_path, safe_serialization=safe_serialization)\r\n            except TypeError:\r\n                module.save(model_path)\r\n\r\n            # \"module\" only works for Sentence Transformers as the modules have the same names as the classes\r\n            class_ref = type(module).__module__\r\n            # For remote modules, we want to remove \"transformers_modules.{repo_name}\":\r\n            if class_ref.startswith(\"transformers_modules.\"):\r\n                class_file = sys.modules[class_ref].__file__\r\n\r\n                # Save the custom module file\r\n                dest_file = Path(model_path) / (Path(class_file).name)\r\n                shutil.copy(class_file, dest_file)\r\n\r\n                # Save all files importeed in the custom module file\r\n                for needed_file in get_relative_import_files(class_file):\r\n                    dest_file = Path(model_path) / (Path(needed_file).name)\r\n                    shutil.copy(needed_file, dest_file)\r\n\r\n                # For remote modules, we want to ignore the \"transformers_modules.{repo_id}\" part,\r\n                # i.e. we only want the filename\r\n                class_ref = f\"{class_ref.split('.')[-1]}.{type(module).__name__}\"\r\n            # For other cases, we want to add the class name:\r\n            elif not class_ref.startswith(\"sentence_transformers.\"):\r\n                class_ref = f\"{class_ref}.{type(module).__name__}\"\r\n\r\n            module_config = {\"idx\": idx, \"name\": name, \"path\": os.path.basename(model_path), \"type\": class_ref}\r\n            if self.module_kwargs and name in self.module_kwargs and (module_kwargs := self.module_kwargs[name]):\r\n                module_config[\"kwargs\"] = module_kwargs\r\n            modules_config.append(module_config)\r\n\r\n        with open(os.path.join(path, \"modules.json\"), \"w\") as fOut:\r\n            json.dump(modules_config, fOut, indent=2)\r\n\r\n        # Create model card\r\n        if create_model_card:\r\n            self._create_model_card(path, model_name, train_datasets)\r\n\r\n    def save_pretrained(\r\n        self,\r\n        path: str,\r\n        model_name: str | None = None,\r\n        create_model_card: bool = True,\r\n        train_datasets: list[str] | None = None,\r\n        safe_serialization: bool = True,\r\n    ) -> None:\r\n        \"\"\"\r\n        Saves a model and its configuration files to a directory, so that it can be loaded\r\n        with ``SentenceTransformer(path)`` again.\r\n\r\n        Args:\r\n            path (str): Path on disc where the model will be saved.\r\n            model_name (str, optional): Optional model name.\r\n            create_model_card (bool, optional): If True, create a README.md with basic information about this model.\r\n            train_datasets (List[str], optional): Optional list with the names of the datasets used to train the model.\r\n            safe_serialization (bool, optional): If True, save the model using safetensors. If False, save the model\r\n                the traditional (but unsafe) PyTorch way.\r\n        \"\"\"\r\n        self.save(\r\n            path,\r\n            model_name=model_name,\r\n            create_model_card=create_model_card,\r\n            train_datasets=train_datasets,\r\n            safe_serialization=safe_serialization,\r\n        )\r\n\r\n    def _create_model_card(\r\n        self, path: str, model_name: str | None = None, train_datasets: list[str] | None = \"deprecated\"\r\n    ) -> None:\r\n        \"\"\"\r\n        Create an automatic model and stores it in the specified path. If no training was done and the loaded model\r\n        was a Sentence Transformer model already, then its model card is reused.\r\n\r\n        Args:\r\n            path (str): The path where the model card will be stored.\r\n            model_name (Optional[str], optional): The name of the model. Defaults to None.\r\n            train_datasets (Optional[List[str]], optional): Deprecated argument. Defaults to \"deprecated\".\r\n\r\n        Returns:\r\n            None\r\n        \"\"\"\r\n        if model_name:\r\n            model_path = Path(model_name)\r\n            if not model_path.exists() and not self.model_card_data.model_id:\r\n                self.model_card_data.model_id = model_name\r\n\r\n        # If we loaded a Sentence Transformer model from the Hub, and no training was done, then\r\n        # we don't generate a new model card, but reuse the old one instead.\r\n        if self._model_card_text and \"generated_from_trainer\" not in self.model_card_data.tags:\r\n            model_card = self._model_card_text\r\n            if self.model_card_data.model_id:\r\n                # If the original model card was saved without a model_id, we replace the model_id with the new model_id\r\n                model_card = model_card.replace(\r\n                    'model = SentenceTransformer(\"sentence_transformers_model_id\"',\r\n                    f'model = SentenceTransformer(\"{self.model_card_data.model_id}\"',\r\n                )\r\n        else:\r\n            try:\r\n                model_card = generate_model_card(self)\r\n            except Exception:\r\n                logger.error(\r\n                    f\"Error while generating model card:\\n{traceback.format_exc()}\"\r\n                    \"Consider opening an issue on https://github.com/UKPLab/sentence-transformers/issues with this traceback.\\n\"\r\n                    \"Skipping model card creation.\"\r\n                )\r\n                return\r\n\r\n        with open(os.path.join(path, \"README.md\"), \"w\", encoding=\"utf8\") as fOut:\r\n            fOut.write(model_card)\r\n\r\n    @save_to_hub_args_decorator\r\n    def save_to_hub(\r\n        self,\r\n        repo_id: str,\r\n        organization: str | None = None,\r\n        token: str | None = None,\r\n        private: bool | None = None,\r\n        safe_serialization: bool = True,\r\n        commit_message: str = \"Add new SentenceTransformer model.\",\r\n        local_model_path: str | None = None,\r\n        exist_ok: bool = False,\r\n        replace_model_card: bool = False,\r\n        train_datasets: list[str] | None = None,\r\n    ) -> str:\r\n        \"\"\"\r\n        DEPRECATED, use `push_to_hub` instead.\r\n\r\n        Uploads all elements of this Sentence Transformer to a new HuggingFace Hub repository.\r\n\r\n        Args:\r\n            repo_id (str): Repository name for your model in the Hub, including the user or organization.\r\n            token (str, optional): An authentication token (See https://huggingface.co/settings/token)\r\n            private (bool, optional): Set to true, for hosting a private model\r\n            safe_serialization (bool, optional): If true, save the model using safetensors. If false, save the model the traditional PyTorch way\r\n            commit_message (str, optional): Message to commit while pushing.\r\n            local_model_path (str, optional): Path of the model locally. If set, this file path will be uploaded. Otherwise, the current model will be uploaded\r\n            exist_ok (bool, optional): If true, saving to an existing repository is OK. If false, saving only to a new repository is possible\r\n            replace_model_card (bool, optional): If true, replace an existing model card in the hub with the automatically created model card\r\n            train_datasets (List[str], optional): Datasets used to train the model. If set, the datasets will be added to the model card in the Hub.\r\n\r\n        Returns:\r\n            str: The url of the commit of your model in the repository on the Hugging Face Hub.\r\n        \"\"\"\r\n        logger.warning(\r\n            \"The `save_to_hub` method is deprecated and will be removed in a future version of SentenceTransformers.\"\r\n            \" Please use `push_to_hub` instead for future model uploads.\"\r\n        )\r\n\r\n        if organization:\r\n            if \"/\" not in repo_id:\r\n                logger.warning(\r\n                    f'Providing an `organization` to `save_to_hub` is deprecated, please use `repo_id=\"{organization}/{repo_id}\"` instead.'\r\n                )\r\n                repo_id = f\"{organization}/{repo_id}\"\r\n            elif repo_id.split(\"/\")[0] != organization:\r\n                raise ValueError(\r\n                    \"Providing an `organization` to `save_to_hub` is deprecated, please only use `repo_id`.\"\r\n                )\r\n            else:\r\n                logger.warning(\r\n                    f'Providing an `organization` to `save_to_hub` is deprecated, please only use `repo_id=\"{repo_id}\"` instead.'\r\n                )\r\n\r\n        return self.push_to_hub(\r\n            repo_id=repo_id,\r\n            token=token,\r\n            private=private,\r\n            safe_serialization=safe_serialization,\r\n            commit_message=commit_message,\r\n            local_model_path=local_model_path,\r\n            exist_ok=exist_ok,\r\n            replace_model_card=replace_model_card,\r\n            train_datasets=train_datasets,\r\n        )\r\n\r\n    def push_to_hub(\r\n        self,\r\n        repo_id: str,\r\n        token: str | None = None,\r\n        private: bool | None = None,\r\n        safe_serialization: bool = True,\r\n        commit_message: str | None = None,\r\n        local_model_path: str | None = None,\r\n        exist_ok: bool = False,\r\n        replace_model_card: bool = False,\r\n        train_datasets: list[str] | None = None,\r\n        revision: str | None = None,\r\n        create_pr: bool = False,\r\n    ) -> str:\r\n        \"\"\"\r\n        Uploads all elements of this Sentence Transformer to a new HuggingFace Hub repository.\r\n\r\n        Args:\r\n            repo_id (str): Repository name for your model in the Hub, including the user or organization.\r\n            token (str, optional): An authentication token (See https://huggingface.co/settings/token)\r\n            private (bool, optional): Set to true, for hosting a private model\r\n            safe_serialization (bool, optional): If true, save the model using safetensors. If false, save the model the traditional PyTorch way\r\n            commit_message (str, optional): Message to commit while pushing.\r\n            local_model_path (str, optional): Path of the model locally. If set, this file path will be uploaded. Otherwise, the current model will be uploaded\r\n            exist_ok (bool, optional): If true, saving to an existing repository is OK. If false, saving only to a new repository is possible\r\n            replace_model_card (bool, optional): If true, replace an existing model card in the hub with the automatically created model card\r\n            train_datasets (List[str], optional): Datasets used to train the model. If set, the datasets will be added to the model card in the Hub.\r\n            revision (str, optional): Branch to push the uploaded files to\r\n            create_pr (bool, optional): If True, create a pull request instead of pushing directly to the main branch\r\n\r\n        Returns:\r\n            str: The url of the commit of your model in the repository on the Hugging Face Hub.\r\n        \"\"\"\r\n        api = HfApi(token=token)\r\n        repo_url = api.create_repo(\r\n            repo_id=repo_id,\r\n            private=private,\r\n            repo_type=None,\r\n            exist_ok=exist_ok or create_pr,\r\n        )\r\n        repo_id = repo_url.repo_id  # Update the repo_id in case the old repo_id didn't contain a user or organization\r\n        self.model_card_data.set_model_id(repo_id)\r\n        if revision is not None:\r\n            api.create_branch(repo_id=repo_id, branch=revision, exist_ok=True)\r\n\r\n        if commit_message is None:\r\n            backend = self.get_backend()\r\n            if backend == \"torch\":\r\n                commit_message = \"Add new SentenceTransformer model\"\r\n            else:\r\n                commit_message = f\"Add new SentenceTransformer model with an {backend} backend\"\r\n\r\n        commit_description = \"\"\r\n        if create_pr:\r\n            commit_description = f\"\"\"\\\r\nHello!\r\n\r\n*This pull request has been automatically generated from the [`push_to_hub`](https://sbert.net/docs/package_reference/sentence_transformer/SentenceTransformer.html#sentence_transformers.SentenceTransformer.push_to_hub) method from the Sentence Transformers library.*\r\n\r\n## Full Model Architecture:\r\n```\r\n{self}\r\n```\r\n\r\n## Tip:\r\nConsider testing this pull request before merging by loading the model from this PR with the `revision` argument:\r\n```python\r\nfrom sentence_transformers import SentenceTransformer\r\n\r\n# TODO: Fill in the PR number\r\npr_number = 2\r\nmodel = SentenceTransformer(\r\n    \"{repo_id}\",\r\n    revision=f\"refs/pr/{{pr_number}}\",\r\n    backend=\"{self.get_backend()}\",\r\n)\r\n\r\n# Verify that everything works as expected\r\nembeddings = model.encode([\"The weather is lovely today.\", \"It's so sunny outside!\", \"He drove to the stadium.\"])\r\nprint(embeddings.shape)\r\n\r\nsimilarities = model.similarity(embeddings, embeddings)\r\nprint(similarities)\r\n```\r\n\"\"\"\r\n\r\n        if local_model_path:\r\n            folder_url = api.upload_folder(\r\n                repo_id=repo_id,\r\n                folder_path=local_model_path,\r\n                commit_message=commit_message,\r\n                commit_description=commit_description,\r\n                revision=revision,\r\n                create_pr=create_pr,\r\n            )\r\n        else:\r\n            with tempfile.TemporaryDirectory() as tmp_dir:\r\n                create_model_card = replace_model_card or not os.path.exists(os.path.join(tmp_dir, \"README.md\"))\r\n                self.save_pretrained(\r\n                    tmp_dir,\r\n                    model_name=repo_url.repo_id,\r\n                    create_model_card=create_model_card,\r\n                    train_datasets=train_datasets,\r\n                    safe_serialization=safe_serialization,\r\n                )\r\n                folder_url = api.upload_folder(\r\n                    repo_id=repo_id,\r\n                    folder_path=tmp_dir,\r\n                    commit_message=commit_message,\r\n                    commit_description=commit_description,\r\n                    revision=revision,\r\n                    create_pr=create_pr,\r\n                )\r\n\r\n        if create_pr:\r\n            return folder_url.pr_url\r\n        return folder_url.commit_url\r\n\r\n    # def _text_length(self, text: list[int] | list[list[int]]) -> int:\r\n        # \"\"\"\r\n        # Help function to get the length for the input text. Text can be either\r\n        # a list of ints (which means a single text as input), or a tuple of list of ints\r\n        # (representing several text inputs to the model).\r\n        # \"\"\"\r\n\r\n        # if isinstance(text, dict):  # {key: value} case\r\n            # return len(next(iter(text.values())))\r\n        # elif not hasattr(text, \"__len__\"):  # Object has no len() method\r\n            # return 1\r\n        # elif len(text) == 0 or isinstance(text[0], int):  # Empty string or list of ints\r\n            # return len(text)\r\n        # else:\r\n            # return sum([len(t) for t in text])  # Sum of length of individual strings\r\n\r\n    # custom method that's more flexible and expansive\r\n    def _text_length(self, text: str | list[int] | list[list[int]]) -> int:\r\n        \"\"\"\r\n        Help function to get the length for the input text. Text can be either\r\n        a list of ints (which means a single text as input), or a tuple of list of ints\r\n        (representing several text inputs to the model).\r\n        \"\"\"\r\n        if isinstance(text, str):  # Handle string input directly\r\n            return len(text)\r\n        elif isinstance(text, dict):  # {key: value} case\r\n            return len(next(iter(text.values())))\r\n        elif not hasattr(text, \"__len__\"):  # Object has no len() method\r\n            return 1\r\n        elif len(text) == 0 or isinstance(text[0], int):  # Empty string or list of ints\r\n            return len(text)\r\n        else:\r\n            return sum([len(t) for t in text])  # Sum of length of individual strings\r\n\r\n    def evaluate(self, evaluator: SentenceEvaluator, output_path: str = None) -> dict[str, float] | float:\r\n        \"\"\"\r\n        Evaluate the model based on an evaluator\r\n\r\n        Args:\r\n            evaluator (SentenceEvaluator): The evaluator used to evaluate the model.\r\n            output_path (str, optional): The path where the evaluator can write the results. Defaults to None.\r\n\r\n        Returns:\r\n            The evaluation results.\r\n        \"\"\"\r\n        if output_path is not None:\r\n            os.makedirs(output_path, exist_ok=True)\r\n        return evaluator(self, output_path)\r\n\r\n    def _load_auto_model(\r\n        self,\r\n        model_name_or_path: str,\r\n        token: bool | str | None,\r\n        cache_folder: str | None,\r\n        revision: str | None = None,\r\n        trust_remote_code: bool = False,\r\n        local_files_only: bool = False,\r\n        model_kwargs: dict[str, Any] | None = None,\r\n        tokenizer_kwargs: dict[str, Any] | None = None,\r\n        config_kwargs: dict[str, Any] | None = None,\r\n    ) -> list[nn.Module]:\r\n        \"\"\"\r\n        Creates a simple Transformer + Mean Pooling model and returns the modules\r\n\r\n        Args:\r\n            model_name_or_path (str): The name or path of the pre-trained model.\r\n            token (Optional[Union[bool, str]]): The token to use for the model.\r\n            cache_folder (Optional[str]): The folder to cache the model.\r\n            revision (Optional[str], optional): The revision of the model. Defaults to None.\r\n            trust_remote_code (bool, optional): Whether to trust remote code. Defaults to False.\r\n            local_files_only (bool, optional): Whether to use only local files. Defaults to False.\r\n            model_kwargs (Optional[Dict[str, Any]], optional): Additional keyword arguments for the model. Defaults to None.\r\n            tokenizer_kwargs (Optional[Dict[str, Any]], optional): Additional keyword arguments for the tokenizer. Defaults to None.\r\n            config_kwargs (Optional[Dict[str, Any]], optional): Additional keyword arguments for the config. Defaults to None.\r\n\r\n        Returns:\r\n            List[nn.Module]: A list containing the transformer model and the pooling model.\r\n        \"\"\"\r\n        logger.warning(\r\n            f\"No sentence-transformers model found with name {model_name_or_path}. Creating a new one with mean pooling.\"\r\n        )\r\n\r\n        shared_kwargs = {\r\n            \"token\": token,\r\n            \"trust_remote_code\": trust_remote_code,\r\n            \"revision\": revision,\r\n            \"local_files_only\": local_files_only,\r\n        }\r\n        model_kwargs = shared_kwargs if model_kwargs is None else {**shared_kwargs, **model_kwargs}\r\n        tokenizer_kwargs = shared_kwargs if tokenizer_kwargs is None else {**shared_kwargs, **tokenizer_kwargs}\r\n        config_kwargs = shared_kwargs if config_kwargs is None else {**shared_kwargs, **config_kwargs}\r\n\r\n        transformer_model = Transformer(\r\n            model_name_or_path,\r\n            cache_dir=cache_folder,\r\n            model_args=model_kwargs,\r\n            tokenizer_args=tokenizer_kwargs,\r\n            config_args=config_kwargs,\r\n            backend=self.backend,\r\n        )\r\n        pooling_model = Pooling(transformer_model.get_word_embedding_dimension(), \"mean\")\r\n        if not local_files_only:\r\n            self.model_card_data.set_base_model(model_name_or_path, revision=revision)\r\n        return [transformer_model, pooling_model]\r\n\r\n    def _load_module_class_from_ref(\r\n        self,\r\n        class_ref: str,\r\n        model_name_or_path: str,\r\n        trust_remote_code: bool,\r\n        revision: str | None,\r\n        model_kwargs: dict[str, Any] | None,\r\n    ) -> nn.Module:\r\n        # If the class is from sentence_transformers, we can directly import it,\r\n        # otherwise, we try to import it dynamically, and if that fails, we fall back to the default import\r\n        if class_ref.startswith(\"sentence_transformers.\"):\r\n            return import_from_string(class_ref)\r\n\r\n        if trust_remote_code or os.path.exists(model_name_or_path):\r\n            code_revision = model_kwargs.pop(\"code_revision\", None) if model_kwargs else None\r\n            try:\r\n                return get_class_from_dynamic_module(\r\n                    class_ref,\r\n                    model_name_or_path,\r\n                    revision=revision,\r\n                    code_revision=code_revision,\r\n                )\r\n            except (OSError, ValueError):\r\n                # Ignore the error if 1) the file does not exist, or 2) the class_ref is not correctly formatted/found\r\n                pass\r\n\r\n        return import_from_string(class_ref)\r\n\r\n    def _load_sbert_model(\r\n        self,\r\n        model_name_or_path: str,\r\n        token: bool | str | None,\r\n        cache_folder: str | None,\r\n        revision: str | None = None,\r\n        trust_remote_code: bool = False,\r\n        local_files_only: bool = False,\r\n        model_kwargs: dict[str, Any] | None = None,\r\n        tokenizer_kwargs: dict[str, Any] | None = None,\r\n        config_kwargs: dict[str, Any] | None = None,\r\n    ) -> dict[str, nn.Module]:\r\n        \"\"\"\r\n        Loads a full SentenceTransformer model using the modules.json file.\r\n\r\n        Args:\r\n            model_name_or_path (str): The name or path of the pre-trained model.\r\n            token (Optional[Union[bool, str]]): The token to use for the model.\r\n            cache_folder (Optional[str]): The folder to cache the model.\r\n            revision (Optional[str], optional): The revision of the model. Defaults to None.\r\n            trust_remote_code (bool, optional): Whether to trust remote code. Defaults to False.\r\n            local_files_only (bool, optional): Whether to use only local files. Defaults to False.\r\n            model_kwargs (Optional[Dict[str, Any]], optional): Additional keyword arguments for the model. Defaults to None.\r\n            tokenizer_kwargs (Optional[Dict[str, Any]], optional): Additional keyword arguments for the tokenizer. Defaults to None.\r\n            config_kwargs (Optional[Dict[str, Any]], optional): Additional keyword arguments for the config. Defaults to None.\r\n\r\n        Returns:\r\n            OrderedDict[str, nn.Module]: An ordered dictionary containing the modules of the model.\r\n        \"\"\"\r\n        # Check if the config_sentence_transformers.json file exists (exists since v2 of the framework)\r\n        config_sentence_transformers_json_path = load_file_path(\r\n            model_name_or_path,\r\n            \"config_sentence_transformers.json\",\r\n            token=token,\r\n            cache_folder=cache_folder,\r\n            revision=revision,\r\n            local_files_only=local_files_only,\r\n        )\r\n        if config_sentence_transformers_json_path is not None:\r\n            with open(config_sentence_transformers_json_path) as fIn:\r\n                self._model_config = json.load(fIn)\r\n\r\n            if (\r\n                \"__version__\" in self._model_config\r\n                and \"sentence_transformers\" in self._model_config[\"__version__\"]\r\n                and version.parse(self._model_config[\"__version__\"][\"sentence_transformers\"])\r\n                > version.parse(__version__)\r\n            ):\r\n                logger.warning(\r\n                    f'You are trying to use a model that was created with Sentence Transformers version {self._model_config[\"__version__\"][\"sentence_transformers\"]}, '\r\n                    f\"but you're currently using version {__version__}. This might cause unexpected behavior or errors. \"\r\n                    \"In that case, try to update to the latest version.\"\r\n                )\r\n\r\n            # Set score functions & prompts if not already overridden by the __init__ calls\r\n            if self._similarity_fn_name is None:\r\n                self.similarity_fn_name = self._model_config.get(\"similarity_fn_name\", None)\r\n            if not self.prompts:\r\n                self.prompts = self._model_config.get(\"prompts\", {})\r\n            if not self.default_prompt_name:\r\n                self.default_prompt_name = self._model_config.get(\"default_prompt_name\", None)\r\n\r\n        # Check if a readme exists\r\n        model_card_path = load_file_path(\r\n            model_name_or_path,\r\n            \"README.md\",\r\n            token=token,\r\n            cache_folder=cache_folder,\r\n            revision=revision,\r\n            local_files_only=local_files_only,\r\n        )\r\n        if model_card_path is not None:\r\n            try:\r\n                with open(model_card_path, encoding=\"utf8\") as fIn:\r\n                    self._model_card_text = fIn.read()\r\n            except Exception:\r\n                pass\r\n\r\n        # Load the modules of sentence transformer\r\n        modules_json_path = load_file_path(\r\n            model_name_or_path,\r\n            \"modules.json\",\r\n            token=token,\r\n            cache_folder=cache_folder,\r\n            revision=revision,\r\n            local_files_only=local_files_only,\r\n        )\r\n        with open(modules_json_path) as fIn:\r\n            modules_config = json.load(fIn)\r\n\r\n        modules = OrderedDict()\r\n        module_kwargs = OrderedDict()\r\n        for module_config in modules_config:\r\n            class_ref = module_config[\"type\"]\r\n            module_class = self._load_module_class_from_ref(\r\n                class_ref, model_name_or_path, trust_remote_code, revision, model_kwargs\r\n            )\r\n\r\n            # For Transformer, don't load the full directory, rely on `transformers` instead\r\n            # But, do load the config file first.\r\n            if module_config[\"path\"] == \"\":\r\n                kwargs = {}\r\n                for config_name in [\r\n                    \"sentence_bert_config.json\",\r\n                    \"sentence_roberta_config.json\",\r\n                    \"sentence_distilbert_config.json\",\r\n                    \"sentence_camembert_config.json\",\r\n                    \"sentence_albert_config.json\",\r\n                    \"sentence_xlm-roberta_config.json\",\r\n                    \"sentence_xlnet_config.json\",\r\n                ]:\r\n                    config_path = load_file_path(\r\n                        model_name_or_path,\r\n                        config_name,\r\n                        token=token,\r\n                        cache_folder=cache_folder,\r\n                        revision=revision,\r\n                        local_files_only=local_files_only,\r\n                    )\r\n                    if config_path is not None:\r\n                        with open(config_path) as fIn:\r\n                            kwargs = json.load(fIn)\r\n                            # Don't allow configs to set trust_remote_code\r\n                            if \"model_args\" in kwargs and \"trust_remote_code\" in kwargs[\"model_args\"]:\r\n                                kwargs[\"model_args\"].pop(\"trust_remote_code\")\r\n                            if \"tokenizer_args\" in kwargs and \"trust_remote_code\" in kwargs[\"tokenizer_args\"]:\r\n                                kwargs[\"tokenizer_args\"].pop(\"trust_remote_code\")\r\n                            if \"config_args\" in kwargs and \"trust_remote_code\" in kwargs[\"config_args\"]:\r\n                                kwargs[\"config_args\"].pop(\"trust_remote_code\")\r\n                        break\r\n\r\n                hub_kwargs = {\r\n                    \"token\": token,\r\n                    \"trust_remote_code\": trust_remote_code,\r\n                    \"revision\": revision,\r\n                    \"local_files_only\": local_files_only,\r\n                }\r\n                # 3rd priority: config file\r\n                if \"model_args\" not in kwargs:\r\n                    kwargs[\"model_args\"] = {}\r\n                if \"tokenizer_args\" not in kwargs:\r\n                    kwargs[\"tokenizer_args\"] = {}\r\n                if \"config_args\" not in kwargs:\r\n                    kwargs[\"config_args\"] = {}\r\n\r\n                # 2nd priority: hub_kwargs\r\n                kwargs[\"model_args\"].update(hub_kwargs)\r\n                kwargs[\"tokenizer_args\"].update(hub_kwargs)\r\n                kwargs[\"config_args\"].update(hub_kwargs)\r\n\r\n                # 1st priority: kwargs passed to SentenceTransformer\r\n                if model_kwargs:\r\n                    kwargs[\"model_args\"].update(model_kwargs)\r\n                if tokenizer_kwargs:\r\n                    kwargs[\"tokenizer_args\"].update(tokenizer_kwargs)\r\n                if config_kwargs:\r\n                    kwargs[\"config_args\"].update(config_kwargs)\r\n\r\n                # Try to initialize the module with a lot of kwargs, but only if the module supports them\r\n                # Otherwise we fall back to the load method\r\n                try:\r\n                    module = module_class(model_name_or_path, cache_dir=cache_folder, backend=self.backend, **kwargs)\r\n                except TypeError:\r\n                    module = module_class.load(model_name_or_path)\r\n            else:\r\n                # Normalize does not require any files to be loaded\r\n                if module_class == Normalize:\r\n                    module_path = None\r\n                else:\r\n                    module_path = load_dir_path(\r\n                        model_name_or_path,\r\n                        module_config[\"path\"],\r\n                        token=token,\r\n                        cache_folder=cache_folder,\r\n                        revision=revision,\r\n                        local_files_only=local_files_only,\r\n                    )\r\n                module = module_class.load(module_path)\r\n\r\n            modules[module_config[\"name\"]] = module\r\n            module_kwargs[module_config[\"name\"]] = module_config.get(\"kwargs\", [])\r\n\r\n        if revision is None:\r\n            path_parts = Path(modules_json_path)\r\n            if len(path_parts.parts) >= 2:\r\n                revision_path_part = Path(modules_json_path).parts[-2]\r\n                if len(revision_path_part) == 40:\r\n                    revision = revision_path_part\r\n        if not local_files_only:\r\n            self.model_card_data.set_base_model(model_name_or_path, revision=revision)\r\n        return modules, module_kwargs\r\n\r\n    @staticmethod\r\n    def load(input_path) -> SentenceTransformer:\r\n        return SentenceTransformer(input_path)\r\n\r\n    @property\r\n    def device(self) -> device:\r\n        \"\"\"\r\n        Get torch.device from module, assuming that the whole module has one device.\r\n        In case there are no PyTorch parameters, fall back to CPU.\r\n        \"\"\"\r\n        if isinstance(self[0], Transformer):\r\n            return self[0].auto_model.device\r\n\r\n        try:\r\n            return next(self.parameters()).device\r\n        except StopIteration:\r\n            # For nn.DataParallel compatibility in PyTorch 1.5\r\n\r\n            def find_tensor_attributes(module: nn.Module) -> list[tuple[str, Tensor]]:\r\n                tuples = [(k, v) for k, v in module.__dict__.items() if torch.is_tensor(v)]\r\n                return tuples\r\n\r\n            gen = self._named_members(get_members_fn=find_tensor_attributes)\r\n            try:\r\n                first_tuple = next(gen)\r\n                return first_tuple[1].device\r\n            except StopIteration:\r\n                return torch.device(\"cpu\")\r\n\r\n    @property\r\n    def tokenizer(self) -> Any:\r\n        \"\"\"\r\n        Property to get the tokenizer that is used by this model\r\n        \"\"\"\r\n        return self._first_module().tokenizer\r\n\r\n    @tokenizer.setter\r\n    def tokenizer(self, value) -> None:\r\n        \"\"\"\r\n        Property to set the tokenizer that should be used by this model\r\n        \"\"\"\r\n        self._first_module().tokenizer = value\r\n\r\n    @property\r\n    def max_seq_length(self) -> int:\r\n        \"\"\"\r\n        Returns the maximal input sequence length for the model. Longer inputs will be truncated.\r\n\r\n        Returns:\r\n            int: The maximal input sequence length.\r\n\r\n        Example:\r\n            ::\r\n\r\n                from sentence_transformers import SentenceTransformer\r\n\r\n                model = SentenceTransformer(\"all-mpnet-base-v2\")\r\n                print(model.max_seq_length)\r\n                # => 384\r\n        \"\"\"\r\n        return self._first_module().max_seq_length\r\n\r\n    @max_seq_length.setter\r\n    def max_seq_length(self, value) -> None:\r\n        \"\"\"\r\n        Property to set the maximal input sequence length for the model. Longer inputs will be truncated.\r\n        \"\"\"\r\n        self._first_module().max_seq_length = value\r\n\r\n    @property\r\n    def _target_device(self) -> torch.device:\r\n        logger.warning(\r\n            \"`SentenceTransformer._target_device` has been deprecated, please use `SentenceTransformer.device` instead.\",\r\n        )\r\n        return self.device\r\n\r\n    @_target_device.setter\r\n    def _target_device(self, device: int | str | torch.device | None = None) -> None:\r\n        self.to(device)\r\n\r\n    @property\r\n    def _no_split_modules(self) -> list[str]:\r\n        try:\r\n            return self._first_module()._no_split_modules\r\n        except AttributeError:\r\n            return []\r\n\r\n    @property\r\n    def _keys_to_ignore_on_save(self) -> list[str]:\r\n        try:\r\n            return self._first_module()._keys_to_ignore_on_save\r\n        except AttributeError:\r\n            return []\r\n\r\n    def gradient_checkpointing_enable(self, gradient_checkpointing_kwargs=None) -> None:\r\n        # Propagate the gradient checkpointing to the transformer model\r\n        for module in self:\r\n            if isinstance(module, Transformer):\r\n                return module.auto_model.gradient_checkpointing_enable(gradient_checkpointing_kwargs)\r\n"
  },
  {
    "path": "Assets/core.py",
    "content": "# custom code compatible with chattts 0.2.4\r\n# adds the \"local_dir\" parameter\r\n\r\nimport os\r\nimport re\r\nimport logging\r\nimport tempfile\r\nfrom dataclasses import dataclass, asdict\r\nfrom typing import Literal, Optional, List, Tuple, Dict, Union\r\nfrom json import load\r\nfrom pathlib import Path\r\n\r\nimport numpy as np\r\nimport torch\r\nfrom vocos import Vocos\r\nfrom vocos.pretrained import instantiate_class\r\nfrom huggingface_hub import snapshot_download\r\n\r\nfrom .config import Config\r\nfrom .model import DVAE, Embed, GPT, gen_logits, Tokenizer, Speaker\r\nfrom .utils import (\r\n    load_safetensors,\r\n    check_all_assets,\r\n    download_all_assets,\r\n    select_device,\r\n    get_latest_modified_file,\r\n    del_all,\r\n)\r\nfrom .utils import logger as utils_logger\r\n\r\nfrom .norm import Normalizer\r\n\r\n\r\nclass Chat:\r\n    def __init__(self, logger=logging.getLogger(__name__)):\r\n        self.logger = logger\r\n        utils_logger.set_logger(logger)\r\n\r\n        self.config = Config()\r\n\r\n        self.normalizer = Normalizer(\r\n            os.path.join(os.path.dirname(__file__), \"res\", \"homophones_map.json\"),\r\n            logger,\r\n        )\r\n        with open(\r\n            os.path.join(os.path.dirname(__file__), \"res\", \"sha256_map.json\")\r\n        ) as f:\r\n            self.sha256_map: Dict[str, str] = load(f)\r\n\r\n        self.context = GPT.Context()\r\n\r\n    def has_loaded(self, use_decoder=False):\r\n        not_finish = False\r\n        check_list = [\"vocos\", \"gpt\", \"tokenizer\", \"embed\"]\r\n\r\n        if use_decoder:\r\n            check_list.append(\"decoder\")\r\n        else:\r\n            check_list.append(\"dvae\")\r\n\r\n        for module in check_list:\r\n            if not hasattr(self, module):\r\n                self.logger.warning(f\"{module} not initialized.\")\r\n                not_finish = True\r\n\r\n        return not not_finish\r\n\r\n    def download_models(\r\n        self,\r\n        source: Literal[\"huggingface\", \"local\", \"custom\"] = \"local\",\r\n        force_redownload=False,\r\n        custom_path: Optional[torch.serialization.FILE_LIKE] = None,\r\n        cache_dir: Optional[str] = None,\r\n        local_dir: Optional[str] = None,\r\n    ) -> Optional[str]:\r\n        if source == \"local\":\r\n            download_path = local_dir if local_dir else (custom_path if custom_path is not None else os.getcwd())\r\n            if (\r\n                not check_all_assets(Path(download_path), self.sha256_map, update=True)\r\n                or force_redownload\r\n            ):\r\n                with tempfile.TemporaryDirectory() as tmp:\r\n                    download_all_assets(tmpdir=tmp, homedir=download_path)\r\n                if not check_all_assets(\r\n                    Path(download_path), self.sha256_map, update=False\r\n                ):\r\n                    self.logger.error(\r\n                        \"download to local path %s failed.\", download_path\r\n                    )\r\n                    return None\r\n        elif source == \"huggingface\":\r\n            try:\r\n                if local_dir:\r\n                    download_path = snapshot_download(\r\n                        repo_id=\"2Noise/ChatTTS\",\r\n                        allow_patterns=[\"*.yaml\", \"*.json\", \"*.safetensors\", \"spk_stat.pt\", \"tokenizer.pt\"],\r\n                        local_dir=local_dir,\r\n                        force_download=force_redownload\r\n                    )\r\n                    if not check_all_assets(Path(download_path), self.sha256_map, update=False):\r\n                        self.logger.error(\"Model verification failed\")\r\n                        return None\r\n                elif cache_dir:\r\n                    download_path = snapshot_download(\r\n                        repo_id=\"2Noise/ChatTTS\",\r\n                        allow_patterns=[\"*.yaml\", \"*.json\", \"*.safetensors\", \"spk_stat.pt\", \"tokenizer.pt\"],\r\n                        cache_dir=cache_dir,\r\n                        force_download=force_redownload\r\n                    )\r\n                    if not check_all_assets(Path(download_path), self.sha256_map, update=False):\r\n                        self.logger.error(\"Model verification failed\")\r\n                        return None\r\n                else:\r\n                    try:\r\n                        download_path = (\r\n                            get_latest_modified_file(\r\n                                os.path.join(\r\n                                    os.getenv(\r\n                                        \"HF_HOME\", os.path.expanduser(\"~/.cache/huggingface\")\r\n                                    ),\r\n                                    \"hub/models--2Noise--ChatTTS/snapshots\",\r\n                                )\r\n                            )\r\n                            if custom_path is None\r\n                            else get_latest_modified_file(\r\n                                os.path.join(custom_path, \"models--2Noise--ChatTTS/snapshots\")\r\n                            )\r\n                        )\r\n                    except:\r\n                        download_path = None\r\n                    if download_path is None or force_redownload:\r\n                        self.logger.log(\r\n                            logging.INFO,\r\n                            f\"download from HF: https://huggingface.co/2Noise/ChatTTS\",\r\n                        )\r\n                        try:\r\n                            download_path = snapshot_download(\r\n                                repo_id=\"2Noise/ChatTTS\",\r\n                                allow_patterns=[\"*.yaml\", \"*.json\", \"*.safetensors\", \"spk_stat.pt\", \"tokenizer.pt\"],\r\n                                cache_dir=custom_path,\r\n                                force_download=force_redownload,\r\n                            )\r\n                        except:\r\n                            download_path = None\r\n                        else:\r\n                            self.logger.log(\r\n                                logging.INFO,\r\n                                f\"load latest snapshot from cache: {download_path}\",\r\n                            )\r\n            except Exception as e:\r\n                self.logger.error(f\"Failed to download models: {str(e)}\")\r\n                download_path = None\r\n        elif source == \"custom\":\r\n            self.logger.log(logging.INFO, f\"try to load from local: {custom_path}\")\r\n            if not check_all_assets(Path(custom_path), self.sha256_map, update=False):\r\n                self.logger.error(\"check models in custom path %s failed.\", custom_path)\r\n                return None\r\n            download_path = custom_path\r\n\r\n        if download_path is None:\r\n            self.logger.error(\"Model download failed\")\r\n            return None\r\n\r\n        return download_path\r\n\r\n    def load(\r\n        self,\r\n        source: Literal[\"huggingface\", \"local\", \"custom\"] = \"local\",\r\n        force_redownload=False,\r\n        compile: bool = False,\r\n        custom_path: Optional[torch.serialization.FILE_LIKE] = None,\r\n        device: Optional[torch.device] = None,\r\n        coef: Optional[torch.Tensor] = None,\r\n        use_flash_attn=False,\r\n        use_vllm=False,\r\n        experimental: bool = False,\r\n        cache_dir: Optional[str] = None,\r\n        local_dir: Optional[str] = None,\r\n    ) -> bool:\r\n        download_path = self.download_models(\r\n            source, \r\n            force_redownload, \r\n            custom_path, \r\n            cache_dir, \r\n            local_dir\r\n        )\r\n        if download_path is None:\r\n            return False\r\n        return self._load(\r\n            device=device,\r\n            compile=compile,\r\n            coef=coef,\r\n            use_flash_attn=use_flash_attn,\r\n            use_vllm=use_vllm,\r\n            experimental=experimental,\r\n            **{\r\n                k: os.path.join(download_path, v)\r\n                for k, v in asdict(self.config.path).items()\r\n            },\r\n        )\r\n\r\n    def unload(self):\r\n        logger = self.logger\r\n        self.normalizer.destroy()\r\n        del self.normalizer\r\n        del self.sha256_map\r\n        del_list = [\"vocos\", \"gpt\", \"decoder\", \"dvae\", \"tokenizer\", \"embed\"]\r\n        for module in del_list:\r\n            if hasattr(self, module):\r\n                delattr(self, module)\r\n        self.__init__(logger)\r\n\r\n    def sample_random_speaker(self) -> str:\r\n        return self.speaker.sample_random()\r\n\r\n    def sample_audio_speaker(self, wav: Union[np.ndarray, torch.Tensor]) -> str:\r\n        return self.speaker.encode_prompt(self.dvae.sample_audio(wav))\r\n\r\n    @dataclass(repr=False, eq=False)\r\n    class RefineTextParams:\r\n        prompt: str = \"\"\r\n        top_P: float = 0.7\r\n        top_K: int = 20\r\n        temperature: float = 0.7\r\n        repetition_penalty: float = 1.0\r\n        max_new_token: int = 384\r\n        min_new_token: int = 0\r\n        show_tqdm: bool = True\r\n        ensure_non_empty: bool = True\r\n        manual_seed: Optional[int] = None\r\n\r\n    @dataclass(repr=False, eq=False)\r\n    class InferCodeParams(RefineTextParams):\r\n        prompt: str = \"[speed_5]\"\r\n        spk_emb: Optional[str] = None\r\n        spk_smp: Optional[str] = None\r\n        txt_smp: Optional[str] = None\r\n        temperature: float = 0.3\r\n        repetition_penalty: float = 1.05\r\n        max_new_token: int = 2048\r\n        stream_batch: int = 24\r\n        stream_speed: int = 12000\r\n        pass_first_n_batches: int = 2\r\n\r\n    def infer(\r\n        self,\r\n        text,\r\n        stream=False,\r\n        lang=None,\r\n        skip_refine_text=False,\r\n        refine_text_only=False,\r\n        use_decoder=True,\r\n        do_text_normalization=True,\r\n        do_homophone_replacement=True,\r\n        split_text=True,\r\n        max_split_batch=4,\r\n        params_refine_text=RefineTextParams(),\r\n        params_infer_code=InferCodeParams(),\r\n    ):\r\n        self.context.set(False)\r\n\r\n        if split_text and isinstance(text, str):\r\n            if \"\\n\" in text:\r\n                text = text.split(\"\\n\")\r\n            else:\r\n                text = re.split(r\"(?<=。)|(?<=\\.\\s)\", text)\r\n                nt = []\r\n                if isinstance(text, list):\r\n                    for t in text:\r\n                        if t:\r\n                            nt.append(t)\r\n                    text = nt\r\n                else:\r\n                    text = [text]\r\n            self.logger.info(\"split text into %d parts\", len(text))\r\n            self.logger.debug(\"%s\", str(text))\r\n\r\n        if len(text) == 0:\r\n            return []\r\n\r\n        res_gen = self._infer(\r\n            text,\r\n            stream,\r\n            lang,\r\n            skip_refine_text,\r\n            refine_text_only,\r\n            use_decoder,\r\n            do_text_normalization,\r\n            do_homophone_replacement,\r\n            split_text,\r\n            max_split_batch,\r\n            params_refine_text,\r\n            params_infer_code,\r\n        )\r\n        if stream:\r\n            return res_gen\r\n        elif not refine_text_only:\r\n            stripped_wavs = []\r\n            thr = np.float32(1e-5)\r\n            for wavs in res_gen:\r\n                for wav in wavs:\r\n                    stripped_wavs.append(wav[np.abs(wav) > thr])\r\n            if split_text:\r\n                return [np.concatenate(stripped_wavs)]\r\n            return stripped_wavs\r\n        else:\r\n            return next(res_gen)\r\n\r\n    def interrupt(self):\r\n        self.context.set(True)\r\n\r\n    @torch.no_grad()\r\n    def _load(\r\n        self,\r\n        vocos_ckpt_path: str = None,\r\n        dvae_ckpt_path: str = None,\r\n        gpt_ckpt_path: str = None,\r\n        embed_path: str = None,\r\n        decoder_ckpt_path: str = None,\r\n        tokenizer_path: str = None,\r\n        device: Optional[torch.device] = None,\r\n        compile: bool = False,\r\n        coef: Optional[str] = None,\r\n        use_flash_attn=False,\r\n        use_vllm=False,\r\n        experimental: bool = False,\r\n    ):\r\n        if device is None:\r\n            device = select_device(experimental=experimental)\r\n            self.logger.info(\"use device %s\", str(device))\r\n        self.device = device\r\n        self.device_gpt = device if \"mps\" not in str(device) else torch.device(\"cpu\")\r\n        self.compile = compile\r\n\r\n        feature_extractor = instantiate_class(\r\n            args=(), init=asdict(self.config.vocos.feature_extractor)\r\n        )\r\n        backbone = instantiate_class(args=(), init=asdict(self.config.vocos.backbone))\r\n        head = instantiate_class(args=(), init=asdict(self.config.vocos.head))\r\n        vocos = (\r\n            Vocos(feature_extractor=feature_extractor, backbone=backbone, head=head)\r\n            .to(\r\n                # Vocos on mps will crash, use cpu fallback.\r\n                # Plus, complex dtype used in the decode process of Vocos is not supported in torch_npu now,\r\n                # so we put this calculation of data on CPU instead of NPU.\r\n                \"cpu\"\r\n                if \"mps\" in str(device) or \"npu\" in str(device)\r\n                else device\r\n            )\r\n            .eval()\r\n        )\r\n        assert vocos_ckpt_path, \"vocos_ckpt_path should not be None\"\r\n        vocos.load_state_dict(load_safetensors(vocos_ckpt_path))\r\n        self.vocos = vocos\r\n        self.logger.log(logging.INFO, \"vocos loaded.\")\r\n\r\n        # computation of MelSpectrogram on npu is not support now, use cpu fallback.\r\n        dvae_device = torch.device(\"cpu\") if \"npu\" in str(self.device) else device\r\n        dvae = DVAE(\r\n            decoder_config=asdict(self.config.dvae.decoder),\r\n            encoder_config=asdict(self.config.dvae.encoder),\r\n            vq_config=asdict(self.config.dvae.vq),\r\n            dim=self.config.dvae.decoder.idim,\r\n            coef=coef,\r\n            device=dvae_device,\r\n        )\r\n        coef = str(dvae)\r\n        assert dvae_ckpt_path, \"dvae_ckpt_path should not be None\"\r\n        dvae.load_pretrained(dvae_ckpt_path, dvae_device)\r\n        self.dvae = dvae.eval()\r\n        self.logger.log(logging.INFO, \"dvae loaded.\")\r\n\r\n        embed = Embed(\r\n            self.config.embed.hidden_size,\r\n            self.config.embed.num_audio_tokens,\r\n            self.config.embed.num_text_tokens,\r\n            self.config.embed.num_vq,\r\n        )\r\n        embed.load_pretrained(embed_path, device=device)\r\n        self.embed = embed.to(device)\r\n        self.logger.log(logging.INFO, \"embed loaded.\")\r\n\r\n        gpt = GPT(\r\n            gpt_config=asdict(self.config.gpt),\r\n            embed=self.embed,\r\n            use_flash_attn=use_flash_attn,\r\n            use_vllm=use_vllm,\r\n            device=device,\r\n            device_gpt=self.device_gpt,\r\n            logger=self.logger,\r\n        ).eval()\r\n        assert gpt_ckpt_path, \"gpt_ckpt_path should not be None\"\r\n        gpt.load_pretrained(gpt_ckpt_path, embed_path, experimental=experimental)\r\n        gpt.prepare(compile=compile and \"cuda\" in str(device))\r\n        self.gpt = gpt\r\n        self.logger.log(logging.INFO, \"gpt loaded.\")\r\n\r\n        self.speaker = Speaker(\r\n            self.config.gpt.hidden_size, self.config.spk_stat, device\r\n        )\r\n        self.logger.log(logging.INFO, \"speaker loaded.\")\r\n\r\n        decoder = DVAE(\r\n            decoder_config=asdict(self.config.decoder),\r\n            dim=self.config.decoder.idim,\r\n            coef=coef,\r\n            device=device,\r\n        )\r\n        coef = str(decoder)\r\n        assert decoder_ckpt_path, \"decoder_ckpt_path should not be None\"\r\n        decoder.load_pretrained(decoder_ckpt_path, device)\r\n        self.decoder = decoder.eval()\r\n        self.logger.log(logging.INFO, \"decoder loaded.\")\r\n\r\n        if tokenizer_path:\r\n            self.tokenizer = Tokenizer(tokenizer_path)\r\n            self.logger.log(logging.INFO, \"tokenizer loaded.\")\r\n\r\n        self.coef = coef\r\n\r\n        return self.has_loaded()\r\n\r\n    def _infer(\r\n        self,\r\n        text: Union[List[str], str],\r\n        stream=False,\r\n        lang=None,\r\n        skip_refine_text=False,\r\n        refine_text_only=False,\r\n        use_decoder=True,\r\n        do_text_normalization=True,\r\n        do_homophone_replacement=True,\r\n        split_text=True,\r\n        max_split_batch=4,\r\n        params_refine_text=RefineTextParams(),\r\n        params_infer_code=InferCodeParams(),\r\n    ):\r\n\r\n        assert self.has_loaded(use_decoder=use_decoder)\r\n\r\n        if not isinstance(text, list):\r\n            text = [text]\r\n\r\n        text = [\r\n            self.normalizer(\r\n                t,\r\n                do_text_normalization,\r\n                do_homophone_replacement,\r\n                lang,\r\n            )\r\n            for t in text\r\n        ]\r\n\r\n        self.logger.debug(\"normed texts %s\", str(text))\r\n\r\n        if not skip_refine_text:\r\n            refined = self._refine_text(\r\n                text,\r\n                self.device,\r\n                params_refine_text,\r\n            )\r\n            text_tokens = refined.ids\r\n            text_tokens = [i[i.less(self.tokenizer.break_0_ids)] for i in text_tokens]\r\n            text = self.tokenizer.decode(text_tokens)\r\n            refined.destroy()\r\n            if refine_text_only:\r\n                if split_text and isinstance(text, list):\r\n                    text = \"\\n\".join(text)\r\n                yield text\r\n                return\r\n\r\n        if split_text and len(text) > 1 and params_infer_code.spk_smp is None:\r\n            refer_text = text[0]\r\n            result = next(\r\n                self._infer_code(\r\n                    refer_text,\r\n                    False,\r\n                    self.device,\r\n                    use_decoder,\r\n                    params_infer_code,\r\n                )\r\n            )\r\n            wavs = self._decode_to_wavs(\r\n                result.hiddens if use_decoder else result.ids,\r\n                use_decoder,\r\n            )\r\n            result.destroy()\r\n            assert len(wavs), 1\r\n            params_infer_code.spk_smp = self.sample_audio_speaker(wavs[0])\r\n            params_infer_code.txt_smp = refer_text\r\n\r\n        if stream:\r\n            length = 0\r\n            pass_batch_count = 0\r\n        if split_text:\r\n            n = len(text) // max_split_batch\r\n            if len(text) % max_split_batch:\r\n                n += 1\r\n        else:\r\n            n = 1\r\n            max_split_batch = len(text)\r\n        for i in range(n):\r\n            text_remain = text[i * max_split_batch :]\r\n            if len(text_remain) > max_split_batch:\r\n                text_remain = text_remain[:max_split_batch]\r\n            if split_text:\r\n                self.logger.info(\r\n                    \"infer split %d~%d\",\r\n                    i * max_split_batch,\r\n                    i * max_split_batch + len(text_remain),\r\n                )\r\n            for result in self._infer_code(\r\n                text_remain,\r\n                stream,\r\n                self.device,\r\n                use_decoder,\r\n                params_infer_code,\r\n            ):\r\n                wavs = self._decode_to_wavs(\r\n                    result.hiddens if use_decoder else result.ids,\r\n                    use_decoder,\r\n                )\r\n                result.destroy()\r\n                if stream:\r\n                    pass_batch_count += 1\r\n                    if pass_batch_count <= params_infer_code.pass_first_n_batches:\r\n                        continue\r\n                    a = length\r\n                    b = a + params_infer_code.stream_speed\r\n                    if b > wavs.shape[1]:\r\n                        b = wavs.shape[1]\r\n                    new_wavs = wavs[:, a:b]\r\n                    length = b\r\n                    yield new_wavs\r\n                else:\r\n                    yield wavs\r\n            if stream:\r\n                new_wavs = wavs[:, length:]\r\n                keep_cols = np.sum(np.abs(new_wavs) > 1e-5, axis=0) > 0\r\n                yield new_wavs[:][:, keep_cols]\r\n\r\n    @torch.inference_mode()\r\n    def _vocos_decode(self, spec: torch.Tensor) -> np.ndarray:\r\n        if \"mps\" in str(self.device) or \"npu\" in str(self.device):\r\n            return self.vocos.decode(spec.cpu()).cpu().numpy()\r\n        else:\r\n            return self.vocos.decode(spec).cpu().numpy()\r\n\r\n    @torch.inference_mode()\r\n    def _decode_to_wavs(\r\n        self,\r\n        result_list: List[torch.Tensor],\r\n        use_decoder: bool,\r\n    ):\r\n        decoder = self.decoder if use_decoder else self.dvae\r\n        max_x_len = -1\r\n        if len(result_list) == 0:\r\n            return np.array([], dtype=np.float32)\r\n        for result in result_list:\r\n            if result.size(0) > max_x_len:\r\n                max_x_len = result.size(0)\r\n        batch_result = torch.zeros(\r\n            (len(result_list), result_list[0].size(1), max_x_len),\r\n            dtype=result_list[0].dtype,\r\n            device=result_list[0].device,\r\n        )\r\n        for i in range(len(result_list)):\r\n            src = result_list[i]\r\n            batch_result[i].narrow(1, 0, src.size(0)).copy_(src.permute(1, 0))\r\n            del src\r\n        del_all(result_list)\r\n        mel_specs = decoder(batch_result)\r\n        del batch_result\r\n        wavs = self._vocos_decode(mel_specs)\r\n        del mel_specs\r\n        return wavs\r\n\r\n    @torch.no_grad()\r\n    def _infer_code(\r\n        self,\r\n        text: Tuple[List[str], str],\r\n        stream: bool,\r\n        device: torch.device,\r\n        return_hidden: bool,\r\n        params: InferCodeParams,\r\n    ):\r\n\r\n        gpt = self.gpt\r\n\r\n        if not isinstance(text, list):\r\n            text = [text]\r\n\r\n        assert len(text), \"text should not be empty\"\r\n\r\n        if not isinstance(params.temperature, list):\r\n            temperature = [params.temperature] * self.config.gpt.num_vq\r\n        else:\r\n            temperature = params.temperature\r\n\r\n        input_ids, attention_mask, text_mask = self.tokenizer.encode(\r\n            self.speaker.decorate_code_prompts(\r\n                text,\r\n                params.prompt,\r\n                params.txt_smp,\r\n                params.spk_emb,\r\n            ),\r\n            self.config.gpt.num_vq,\r\n            prompt=(\r\n                self.speaker.decode_prompt(params.spk_smp)\r\n                if params.spk_smp is not None\r\n                else None\r\n            ),\r\n            device=self.device_gpt,\r\n        )\r\n        start_idx = input_ids.shape[-2]\r\n\r\n        num_code = self.config.gpt.num_audio_tokens - 1\r\n\r\n        logits_warpers, logits_processors = gen_logits(\r\n            num_code=num_code,\r\n            top_P=params.top_P,\r\n            top_K=params.top_K,\r\n            repetition_penalty=params.repetition_penalty,\r\n        )\r\n\r\n        if gpt.is_vllm:\r\n            from .model.velocity import SamplingParams\r\n\r\n            sample_params = SamplingParams(\r\n                temperature=temperature,\r\n                max_new_token=params.max_new_token,\r\n                max_tokens=8192,\r\n                min_new_token=params.min_new_token,\r\n                logits_processors=(logits_processors, logits_warpers),\r\n                eos_token=num_code,\r\n                infer_text=False,\r\n                start_idx=start_idx,\r\n            )\r\n            input_ids = [i.tolist() for i in input_ids]\r\n\r\n            result = gpt.llm.generate(\r\n                None,\r\n                sample_params,\r\n                input_ids,\r\n            )\r\n\r\n            token_ids = []\r\n            hidden_states = []\r\n            for i in result:\r\n                token_ids.append(torch.tensor(i.outputs[0].token_ids))\r\n                hidden_states.append(\r\n                    i.outputs[0].hidden_states.to(torch.float32).to(self.device)\r\n                )\r\n\r\n            del text_mask, input_ids\r\n\r\n            return [\r\n                GPT.GenerationOutputs(\r\n                    ids=token_ids,\r\n                    hiddens=hidden_states,\r\n                    attentions=[],\r\n                ),\r\n            ]\r\n\r\n        emb = self.embed(input_ids, text_mask)\r\n\r\n        del text_mask\r\n\r\n        if params.spk_emb is not None:\r\n            self.speaker.apply(\r\n                emb,\r\n                params.spk_emb,\r\n                input_ids,\r\n                self.tokenizer.spk_emb_ids,\r\n                self.gpt.device_gpt,\r\n            )\r\n\r\n        result = gpt.generate(\r\n            emb,\r\n            input_ids,\r\n            temperature=torch.tensor(temperature, device=device),\r\n            eos_token=num_code,\r\n            attention_mask=attention_mask,\r\n            max_new_token=params.max_new_token,\r\n            min_new_token=params.min_new_token,\r\n            logits_processors=(*logits_processors, *logits_warpers),\r\n            infer_text=False,\r\n            return_hidden=return_hidden,\r\n            stream=stream,\r\n            show_tqdm=params.show_tqdm,\r\n            ensure_non_empty=params.ensure_non_empty,\r\n            stream_batch=params.stream_batch,\r\n            manual_seed=params.manual_seed,\r\n            context=self.context,\r\n        )\r\n\r\n        del emb, input_ids\r\n\r\n        return result\r\n\r\n    @torch.no_grad()\r\n    def _refine_text(\r\n        self,\r\n        text: str,\r\n        device: torch.device,\r\n        params: RefineTextParams,\r\n    ):\r\n\r\n        gpt = self.gpt\r\n\r\n        if not isinstance(text, list):\r\n            text = [text]\r\n\r\n        input_ids, attention_mask, text_mask = self.tokenizer.encode(\r\n            self.speaker.decorate_text_prompts(text, params.prompt),\r\n            self.config.gpt.num_vq,\r\n            device=self.device_gpt,\r\n        )\r\n\r\n        logits_warpers, logits_processors = gen_logits(\r\n            num_code=self.tokenizer.len,\r\n            top_P=params.top_P,\r\n            top_K=params.top_K,\r\n            repetition_penalty=params.repetition_penalty,\r\n        )\r\n\r\n        if gpt.is_vllm:\r\n            from .model.velocity import SamplingParams\r\n\r\n            sample_params = SamplingParams(\r\n                repetition_penalty=params.repetition_penalty,\r\n                temperature=params.temperature,\r\n                top_p=params.top_P,\r\n                top_k=params.top_K,\r\n                max_new_token=params.max_new_token,\r\n                max_tokens=8192,\r\n                min_new_token=params.min_new_token,\r\n                logits_processors=(logits_processors, logits_warpers),\r\n                eos_token=self.tokenizer.eos_token,\r\n                infer_text=True,\r\n                start_idx=input_ids.shape[-2],\r\n            )\r\n            input_ids_list = [i.tolist() for i in input_ids]\r\n            del input_ids\r\n\r\n            result = gpt.llm.generate(\r\n                None, sample_params, input_ids_list, params.show_tqdm\r\n            )\r\n            token_ids = []\r\n            hidden_states = []\r\n            for i in result:\r\n                token_ids.append(torch.tensor(i.outputs[0].token_ids))\r\n                hidden_states.append(i.outputs[0].hidden_states)\r\n\r\n            del text_mask, input_ids_list, result\r\n\r\n            return GPT.GenerationOutputs(\r\n                ids=token_ids,\r\n                hiddens=hidden_states,\r\n                attentions=[],\r\n            )\r\n\r\n        emb = self.embed(input_ids, text_mask)\r\n\r\n        del text_mask\r\n\r\n        result = next(\r\n            gpt.generate(\r\n                emb,\r\n                input_ids,\r\n                temperature=torch.tensor([params.temperature], device=device),\r\n                eos_token=self.tokenizer.eos_token,\r\n                attention_mask=attention_mask,\r\n                max_new_token=params.max_new_token,\r\n                min_new_token=params.min_new_token,\r\n                logits_processors=(*logits_processors, *logits_warpers),\r\n                infer_text=True,\r\n                stream=False,\r\n                show_tqdm=params.show_tqdm,\r\n                ensure_non_empty=params.ensure_non_empty,\r\n                manual_seed=params.manual_seed,\r\n                context=self.context,\r\n            )\r\n        )\r\n\r\n        del emb, input_ids\r\n\r\n        return result"
  },
  {
    "path": "Assets/user_manual_consolidated.md",
    "content": "### What is the VectorDB-Plugin and what can it do?\r\nVectorDB-Plugin is a program that lets you build a vector database from your documents (text files, PDFs, images, etc.) and use it\r\nwith a large language model for more accurate answers. This approach is known as Retrieval Augmented Generation (RAG) – the software\r\nfinds relevant pieces of your data (embeddings) and feeds them into an AI chat model so the answers are based on your own content.\r\nIn simple terms, VectorDB-Plugin \"supercharges\" a language model by giving it a memory of your files, which improves the factual\r\naccuracy of responses. You can search your database by asking questions in plain language, and the program will retrieve matching\r\nchunks from your data and have the chat model incorporate them into its answer.\r\n\r\n### What are the system requirements and prerequisites?\r\nSystem Requirements for VectorDB-Plugin include a Windows operating system (Windows 10 or 11) and Python (version 3.11 or 3.12 is\r\nrecommended). You should also have Git installed (with Git LFS for handling large model files) and Pandoc (a document converter).\r\nIf you plan to use GPU acceleration or certain models, you'll need a suitable C++ compiler and possibly Visual Studio build tools\r\non Windows. An NVIDIA GPU is optional but can greatly speed up embedding and model inference (the program will also work on CPU,\r\njust more slowly). Make sure you have sufficient disk space for storing models and databases – vector models and chat models can\r\nbe several hundred MBs to a few GBs each.\r\n\r\n### Why is Visual Studio required to run this program?\r\nVisual Studio is requried to run this program because some of the libraries that it relies on must be compiled before they can be\r\ninstalled.  A common order that you will receive if you have not installed Visual Studio will state that\r\n\"Microsoft Visual C++ 14.0 or greater is required\" making it clear that you have not installed it correctly. Moreover, when\r\ninstalling Visual Studio you must also install \"Build Tools\" or select certain features.  For example, when installing\r\nVisual Studio Build Tools 2022 you must choose \"Desktop development with C++ workload\" from the righthand side and check the boxes\r\nfor \"MSVC v143 – VS 2022 C++ x64/x86 build tools...\", \"Windows 10 SDK (10.0.19041.0 or later),\" or \"Windows 11 SDK (10.0.22621.0),\"\r\n\"C++ CMake tools for Windows,\" \"C++ CMake tools for Windows,\" \"C++ AddressSanitizer,\" and potentially others.\r\n\r\n### How do I install and launch the VectorDB-Plugin?\r\nDownload the latest release from the GitHub repository (look for a ZIP file under Releases). Extract the ZIP archive to a folder of\r\nyour choice.  Create a virtual environment by opening a command prompt within the \"src\" directory of the extracted files by running\r\nthe command \"python -m venv .\" The second step is to activate the virtual environment by running the command \".\\Scripts\\activate\".\r\nThird, run the setup script with the command \"python setup_windows.py\". It is important to note that this progam is only supported\r\non Windows at this time.  Lastly, you run the program by using the command \"python gui.py\". A window should open with this program's\r\ngraphical user interface.\r\n\r\n### How do I download or add embedding models?\r\nThe Models Tab lets you browse and download embedding models.  Models are grouped by providers with properties listed for each\r\nembedding model.  To download a model, click the radio button next to the modle you want to download and then click\r\n\"Download Selected Model\".  This will save the necessary model files to the \"Models/Vector/\" folder if you want to inspect them. The\r\nOriginal Precision of an embedding model is the original floating point format that a model was saved to by the creator - e.g. float32,\r\nfloat16 etc. The Parameters of an embedding model refers to how many parameters a particular model has - e.g. 109m means 109 million\r\nparameters. The Dimensions of an embedding model refers to how complex of embeddings that a particular model created.  More complexity\r\nmeans the higher quality generally within the same embedding model family.  For example, dimensions such as 768 or 1024. The Max\r\nSequence of an embedding model refers to the maximum amount of tokens that an embedding model can process at a given time.  The size\r\nof a model refers to the size on disk.\r\n\r\n### How do I query the database for answers?\r\nSelect the database you want to query from the dropdown menu. Choose a backend model for answering Local Models built-in AI Kobold\r\nLM Studio or ChatGPT each option uses different AI systems to generate responses. Enter your question in natural language in the\r\ntext box for example what does the quarterly report say about revenue. If you only want to see the retrieved information without\r\nAI processing check the chunks only box. Click Submit Question the system searches your database for relevant content using semantic\r\nsimilarity. The results will display both the retrieved chunks so you can verify sources and a complete answer generated by your\r\nchosen AI model based on those chunks. You can continue with follow-up questions or new queries as needed.\r\n\r\n### Which chat backend should I use?\r\nThe program offers four options for generating answers from your database content. The Local Models backend uses chat models downloaded\r\ndirectly from Huggingface and does not rely on any exernal program. The Kobold backend connects to a Kobold server that has already\r\nloaded a chat model.  You must download Kobold prior to using this backend and set it up correctly.  The LM Studio backend is similar\r\nin that it requires downloading an external program prior to using it and setting it up correctly.  The ChatGPT backed uses the API\r\nfrom Openai and connects to one of several models. You must first create an account with Openai and get an API key, which must then\r\nbe entered into this program from the menu at the top.  Unlike the other backends, the ChatGPT backend cannot run without an Internet\r\nconnection.\r\n\r\n### What is LM Studio chat model backend?\r\nLM Studio is an application that allows users to run and interact with local language models on their own hardware. This program\r\nintegrates with LM Studio, and the GitHub repository contains detailed instructions for setup and usage. When you query the vector\r\ndatabase within the Query Database tab you can choose LM Studio as the backend that ultimately receives the query (along with the\r\ncontexts from the vector database) and provides a response to your question.  LM Studio can be downloaded from this website:\r\nhttps://lmstudio.ai/.  The documentation regarding how to properly set up the program is here: https://lmstudio.ai/docs/app.\r\n\r\n### What is Kobold chat model backend?\r\nKobold is an application that allows users to run and interact with local language models on their own hardware. This program\r\nintegrates with Kobold, and the GitHub repository contains detailed instructions for setup and usage. When you query the vector\r\ndatabase within the Query Database tab you can choose Kobold as the backend that ultimately receives the query (along with the\r\ncontexts from the vector database) and provides a response to your question.  You can get the latest release from Kobold from this\r\nwebsite: https://github.com/LostRuins/koboldcpp.  On Windows machines, it is crucial that you do two things before using Kobold.  First,\r\nright-click on the file and check the \"Unblock\" checkbox near the bottom.  Secondly, you must click the \"Compatibility\" tab and check\r\nthe box that says \"Run this program as an administrator.\"  Without these steps it will likely fail.  The documentation regarding how\r\nto use Kobold is here: https://github.com/LostRuins/koboldcpp/wiki.\r\n\r\n### What is the OpenAI GPT Chat Model Backend?\r\nThe Chat GPT models backend allows you to send queries directly to OpenAI and get a response.  To do so you must first have an API key.\r\nTo get an API key for accessing OpenAI's large language models, first create an account by visiting OpenAI's signup page and completing\r\nthe registration. Once logged in, go to the API keys page, click \"Create new secret key,\" optionally name it, and then click\r\n\"Create secret key\" to generate it. Make sure to copy and store the key securely, as it won't be shown again. To activate the key,\r\nvisit the Billing section and add your payment details. For a more detailed walkthrough, you can refer to this step-by-step tutorial.\r\n\r\n### What local chat models are available and how can I use them?\r\nThe \"local models\" option within the Query Database Tab downloads chat models directly from Huggingface and requires no external program.\r\nYou can select a local model from the pulldown menu and when you use it for the first time it will automatically download the model and\r\nit can then be used thereafter for subsequent queries.  Please note that certain models are \"gated,\" which means that you must first\r\nenter a huggingface access token.  You can create an access token on Huggingface's website and then enter it within the \"File\" menu\r\nwithin this program in the upper left. You must do this before trying to use certain \"gated\" \"local models\".  To get a Huggingface\r\naccess token you must create a huggingface account and then go to your profile.  On the left-hand side will be an \"Access Tokens\"\r\noption.  Then in the upper right is a \"Create new token\" button.  Check the box that says \"Read access to contents of all public\r\ngated repos you can access\" then click \"Create token.\"\r\n\r\n### How do I get a huggingface access token?\r\nSome chat models in this program are \"gated\" and require a Huggingface access token.  If a model is gated and you haven't provided an\r\naccess token this program will notify you.  To obtain an access token you must create a huggingface account and then go to your profile.\r\nOn the left-hand side will be an \"Access Tokens\" option.  Once clicked, in the upper right is a \"Create new token\" button.  Check the\r\nbox that says \"Read access to contents of all public gated repos you can access\" then click \"Create token.\"  You can then enter the\r\naccess token in this program by going to the \"File\" menu and selecting \"Huggingface Access Token.\"  You can subsequently change your\r\naccess token within this program by repeating the same steps.\r\n\r\n### What is a context limit or maximum sequence length?\r\nThe phrase \"context limit\" refers to the maximum number of tokens that a model can handle at once.  With chat model the phrase\r\n\"context limit\" is usually used and with embedding models it is customary to use the phrase \"maximum sequence length.\"  Regardless,\r\nit refers to the same thing.  When you choose a chunk size in this program it is important to make sure that the chunk size does not\r\nexceed the maximum sequence length of the embedding model.  You can see each model's limit in the Models Tab.  Remember, these limits\r\nare given in tokens wherease the chunk size setting is in characters.  This is because the text extraction and splitting operates in\r\nterms of characters.  On average, one token is three to four character so you will need to do some rough math when setting the chunk\r\nsize setting to make sure that it does not exceed the embedding model's maximum sequence length.\r\n\r\n### What happens if I exceed the maximum sequence length of an embedding model?\r\nIf the chunks you create will exceed the embedding model's maximum sequence length they will be truncated, leading to suboptimal search\r\nresults.  In other words, if a chunk is too long the end will be cut off before the embeddings are created in order to ensure that\r\nthe chunk is less than the maximum sequence length.  This obviously leads to suboptimal search results because some meaning is lost.\r\nYou can check the maximum sequence length for all embedding models that this program uses by inspecting the model within the Models Tab.\r\nIt is very important that you know the maximum sequence length before using an embedding model.\r\n\r\n### How many contexts should I retrieve when querying the vector database?\r\nFor simple question-answer use cases, 3-6 chunks should suffice. For a typical book, a chunk size of 1200 characters with an\r\noverlap of 600 characters can return up to 6 contexts. Advanced embedding models are often capable of retrieving the most relevant\r\ncontext in the first or second result.  If you are not getting relevant results in the first three to six results then you desperately\r\nneed to revise your queries because the issue is not with the number of contexts being returned.  The type of query and how your phrase\r\nit can be even more important than the actual number of chunks returned.  With that said, there are use cases for returning a lot of\r\nchunks as well for more complex scenarios, especially now that a lot of chat models have extended context limits.  To give one example,\r\nlet's say that you embed a lot of court cases and then ask a question of \"What are the exceptions to the hearsay rule of evidence?\"\r\nIt might be reasonable to request 20-30 contexts, which are then fed to the chat model for a synthesized response.\r\n\r\n### What does the chunks only checkbox do?\r\nTypically when you submit a query within the Query Database Tab it connects to your chosen backend to get a response from a chat model.\r\nHowever, if you check the \"chunks only\" checkbox it will only return the chunks retrieved from the vector database.  This is good\r\nfor seeing verbatim what would be sent to the chat model backend in case you need that level of detail, but the primary purpose is to\r\nenable users to see the quality of the chunks that they are creating.  For example, it gives you an idea of whether the chunks size\r\nsetting you chose is sufficient, or it gives users an idea of whether a particular embedding model is creating a high enough quality\r\nof embeddings for their particular use case.\r\n\r\n### What are embedding or vector models?\r\nEmbedding models, which are sometimes referred to as vector models, are large language models specifically trained to convert a\r\nchunk of text into a number that represents the meaning of that number.  This number, referred to as an \"embedding\" or \"vector\" can\r\nthen be entered into database to be searched for similar vectors.\r\n\r\n### Which embedding or vector model should I choose?\r\nThere are several considerations when choosing which embedding model to use, which are important to understand because it can take\r\nsignificant time and compute resources to create a vector database.  First, the size of the embedding model and how much VRAM it uses\r\nis a factor.  In general, the large and more compute resources required for a model, the higher quality embeddings that it will produce.\r\nAlso, the maximum sequence lengh of the model can be a factor.  Most embedding models have traditionally had a 512 token limit but\r\nmodern models now have limits of 8192 tokens or even higher.  Thirdly, some embedding models are trained on specific languages like\r\nEnglish while others are multilingual.  All of these characteristics can be viewed within the Models Tab as well as the hyperlinks\r\non the Models Tab to repository for each model so you can read more about each model.\r\n\r\n### What are the dimensions of a vector or embedding model?\r\nThe dimensions of a vector model refers to the level of detail of the embeddings that an embedding model will create.  The more\r\ndimensions means a greater level of detail and higher quality embedding, but will require more time and computer resources to create.\r\nTechnically speaking, the number of dimensions refers to the size of the array of numbers that is the \"embedding,\" which, as\r\ndescribed previously, represents the semantic meaning of a chunk of text.  For example, the array of numbers might have 384 numbers,\r\nbecause the embedding model has 384 dimensions.\r\n\r\n### What are some general tips for choosing an embedding model?\r\nTry to use as high of a quality of an embedding model as your system resources will allow.  Although there are exceptions for newer\r\nembedding models, embedding models typically do not use as much VRAM as typical chat models, so the real limitation when choosing\r\nan embedding model is how much compute time you are willing to spend before the vector database is create.  It is highly recommented\r\nto choose as high a quality of embedding model as possible.  Also, if compute resources are limited make sure and check the \"half\"\r\ncheckbox within the Settings Tab.  This will run the embedding model in either bfloat16 or float16 (commonly referred to as half\r\nprecision).  Studies show that there is very little loss in quality between full precision and half precision.  Lastly, always use\r\n\"cuda\" within the Settings Tab when creating embeddings if you have a GPU.\r\n\r\n### What Are Vision Models?\r\nVision models are a category of large language models trained to understand what is in an image.  For purposes of this program,\r\nthey are used to understand what's in an image, generate a summary for an image, which can then be put into the vector database.\r\nThis program allows you to choose from multiple vision models within the Settings Tab.  Before you take a lot of time to process\r\na lot of images it is highly recommended that you test the various vision models within the Tools Tab to find one that suits you.\r\n\r\n### What vision models are available in this program?\r\nThe vision models that you can use in this program can be seen within the Settings Tab in the pulldown menu where you select the\r\nvision model you want to use.  Each of these vision models can be researched on the huggingface website if you need more details.\r\nAlso, you can Ask Jeeves for more information about a specific family of models.  In general, the visions models are arranged within\r\nthis pulldown menu from smallest at top to largest at the bottom.  The larger the model generally means the higher quality results you\r\nwill get, but not always.  Smaller vision models that are newer sometimes outperform larger but older vision models.  Also, some\r\nvision models excel at certain types of images over other types. The best strategy to choose an appropriate vision models before\r\ncommitting to processing a large number of images is to go to the Tools Tab and test the various vision models.  You can Ask Jeeves\r\nfor details of how to do this.\r\n\r\n### Do you have any tips for choosing a vision model?\r\nWhen choosing a vision model it is recommended to choose the highest quality model that your system can run taking into consideration\r\nthe amount of compute time you are willing to spend.  Each vision model requires a certain amount of VRAM to use, which is typically\r\nmuch higher than embedding models.  It is highly recommended to test all the models on a single image, which you can do within the\r\nTools Tab, or if you already know your VRAM limitations, only test the vision models you know you have the resources to run.  The\r\nTools Tab allows you to test a particular vision model on multiple images or multiple visions models on a single image.  Either way\r\nit's important to get a feel for the vision models' quality and compute resources required before committing to procesdsing a lot\r\nof images that will be put into a vector database.\r\n\r\n### What is whisper and how does this program use voice recording or transcribing an audio file?\r\nWhisper is an advanced speech recognition model developed by OpenAI that transcribes audio into text. This program uses whisper models\r\nin two ways.  First, to allow users to record their voice into the question box when querying the vector database.  This can be done\r\nwithin the Query Database Tab; simply click the \"Voice Recorder\" button, record your question, and it will be output to the query box.\r\nSecondly, whisper models are used to create transcriptions of audio files that can subsequently be entered into a vector database.\r\nYou can create these transcriptions within the Tools Tab.  This will create a transcript of an audio file, which you will see within\r\nthe Create Database Tab before creating the vector database.\r\n\r\n### How can I record my question for the vector database query?\r\nTo transcribe a spoken question, go to the \"Query Database\" tab, click the \"Voice Recorder\" button to begin recording\r\nand then speak clearly. Click the button again to stop recording, and the transcribed text will appear in the question box.\r\n\r\n### How can I transcribe an audio file to be put into the vector database?\r\nTo transcribe an audio file, navigate to the Tools tab, select an audio file (most file formats are supported such as .mp3, .wav,\r\n.m4a, .ogg, .wma, and .flac) and click the Transcribe button. After the transcription is complete you can see it in the\r\n\"Create Database\" tab and it will be entered into the vector database when you create it.  The transcribing functionality uses\r\nthe powerful `WhisperS2T` library with the `Ctranslate2` backend.  Make sure to adjust the \"Batch\" setting when transcribing an\r\naudio file depending on the size of the whisper model you choose. Increasing the batch size can improve speed but demands more\r\nVRAM, so care should be taken not to exceed your GPU’s capacity.\r\n\r\n### What are the distil variants of the whisper models when transcribing and audio file?\r\nDistil variants of Whisper models use approximately 70% of the resources of their full counterparts and are faster with very little\r\nloss in quality.\r\n\r\n### What whisper model should I choose to transcribe a file?\r\nWhen transcribing an audio file in order to put it into a vector database it is generally recommended to use as high a quality of\r\na whisper model as your hardware will support.  The quality of a whisper model is determined by a few factors.  Firstly, its size\r\nis the most important factor - e.g. large versus medium versus small.  Secondly, the precision of the model that you use.  This\r\nprogram allows you to choose float32 for the highest qualityy or bfloat16 or float16 (i.e. half precision).  In general, using\r\nhalf precision results in about 95% of the quality of float32 for half the compute resources needed.  Lastly, some of the whisper\r\nmodels come in \"distil\" variants that have certain layers of the model removed.  Again, this typically gives approximately 95%\r\nof the non-distil variant for half the compute resources.  It is highly recommended to test the various whisper models on a small\r\naudio file first before committing to transcribing a large audio file, which can be done within the Tools Tab.\r\n\r\n### What are floating point formats, precision, and quantization?\r\nUnderstanding floating point formats is key when making decisions about model selection and quantization. Floating point formats\r\nrepresent real numbers in binary using a combination of sign, exponent, and fraction (mantissa) bits. The sign bit indicates whether\r\nthe number is positive or negative. The exponent bits determine the range or magnitude of the value. The fraction or mantissa bits\r\ncontrol the precision of the value.\r\n\r\n### What are the common floating point formats?\r\nfloat32 32-bit floating point with 1 sign bit 8 exponent bits and 23 fraction bits this format provides high precision and a wide\r\nrange making it a standard choice for many computing tasks float16 16-bit floating point comprising 1 sign bit 5 exponent bits\r\nand 10 fraction bits float16 offers reduced precision and range but uses less memory and computational power bfloat16 brain floating\r\npoint this format features 1 sign bit 8 exponent bits and 7 fraction bits it has the same range as float32 but with lower precision\r\nmaking it particularly useful for deep learning applications range and precision comparison format float32 approximate range plus\r\nor minus 1.4 times 10 to the minus 45 to plus or minus 3.4 times 10 to the 38 precision in decimal digits 6 to 9 format float16\r\napproximate range plus or minus 6.1 times 10 to the minus 5 to plus or minus 6.5 times 10 to the 4 precision in decimal digits 3 to 4\r\nformat bfloat16 approximate range plus or minus 1.2 times 10 to the minus 38 to plus or minus 3.4 times 10 to the 38 precision in\r\ndecimal digits 2 to 3\r\n\r\n### What are precision and range regarding floating point formats and which should I use?\r\nThe choice of floating point format has several key implications precision affects the detail and accuracy of computations range\r\ndetermines the scale of values that can be represented trade-offs arise when opting for lower precision formats as they reduce\r\nmemory usage and increase processing speed but may slightly reduce accuracy\r\n\r\n### What is Quantization?\r\nQuantization reduces the precision of the numbers used to represent a model's parameters which results in smaller models and lower\r\ncomputational requirements the main goals of quantization are to improve model speed reduce memory usage ram or vram and enable models\r\nto run on resource-constrained hardware there are two main methods of quantization post-training quantization is applied after the\r\nmodel is trained quantization-aware training incorporates quantization during the training process to minimize accuracy loss common\r\nquantization levels include int8 8-bit integer which significantly reduces model size but may introduce quantization errors and\r\nfloat16 or bfloat16 which reduces size with minimal impact on accuracy\r\n\r\n### What are the aspects or effects of quantization?\r\nmodel size reduction smaller data types take up less storage performance increase reduced data size speeds up computation potential\r\naccuracy loss reduced precision may introduce errors though often negligible for many applications\r\n\r\n## What settings are available in this program and how can I adjust them?\r\nThe \"Settings\" Tab contains most of the settings for LM Studio, querying the database, creating the database, the text to speech\r\nfunctionality, and the vision models.  Please ask me a question about the specific setting or group of settings you're interested in?\r\n\r\n### What are the LM Studio Server settings?\r\nWhen using LM Studio as the chat model backend you can adjust a few settings from within the Settings Tab.  In general, however,\r\nthe LM Studio program has all the settings that you should adjust.  For purposes of this program you can adjust the port to match\r\nwhat you set within LM Studio.  Also, there is a checkbox you can check to see the thinking process if the model you are running\r\nwithin LM Studio has chain of thought.\r\n\r\n### What are the database creation settings?\r\nThe Device setting allows you to choose either CPU or CUDA when creating a vector database.  It is always recommended to choose\r\nCUDA if available.  The Chunk Size setting determines the size of the chunks of text that your documents will be broken into before\r\nbeing turned into embeddings.  It is crucial to remember that this setting is in number of characters, not tokens, and that you must\r\nkeep the chunks within the maximum sequence length of the embedding model you are using, as expressed in tokens, and which you can\r\nsee within the Models Tab.  Remember, each tokens is approximately 3-4 characters.  The Overlap setting refers to how many characters\r\nat the beginning of a chunk are from the preceding chunk.  When a document is processed sometimes it is split in the middle of an\r\nimportant concept and this setting ensures that there is an overlap to avoid losing meaning.  A good rule of thumb is to set the\r\nOverlap setting to 30-49 percent of the Chunk Size setting.  The half-precision setting, if checked, will run the embedding model\r\nin half precision resulting in a slight reduction in quality but half the compute resources.\r\n\r\n### What are the database query settings?\r\nWithin the Settings Tab you can adjust several settings when searching a vector database.  The Device setting allows you to choose\r\nbetween CPU and CUDA.  In contrast to creating a vector database, it is recommended to always use CPU.  The Similarity setting sets\r\na threshhold of relevance for a chunk of text before it will be returned as a result.  You can set a value between zero and 1.  A\r\nhigher value will result in more chunks being returned but you should never use 1.  The Contexts setting determines the maximum\r\nnumber of chunks that will be returned, again, subject to the Similarity setting.  The Search Term Filter will require that any chunks\r\nreturned include the specified term.  The File Type setting allows you to only search for chunks of text that originated from a\r\nparticular file type.\r\n\r\n### How does the Contexts setting work exactly?\r\nWithin the Settings Tab the Contexts setting when searching a vector database will return up to that many chunks of text assuming they\r\nall meet the Similarity setting that you choose.  In other words, it sets the upper limit.  If there are not that many chunks that also\r\nmeet the Similarity setting it is possible to receive fewer chunks than the Contexts setting.\r\n\r\n### What is the similarity setting?\r\nWithin the Settings Tab the Similarity setting controls the requisite relevance of a chunk related to your query in order for it to\r\npossibly be returned.  I say \"possibly\" because even though a chunk might meet the Similarity setting it might not be returned if, for\r\nexample, your Contexts setting limits the numbe of chunks that will be returned.  By defaut, this program will return chunks in order\r\nfrom highest relevance to lowest.  It will return the most relevant chunks that meet the Similarity setting up to the maximum\r\nnumber of chunks specified in the Contexts setting.  A higher Similarity setting means that more chunks will possibly be returned.\r\nA good default value is .8, but do not go above 1.\r\n\r\n### What is the search term filter setting?\r\nWithin the Settings Tab the Search Term Filter setting allows you to require that any chunks returned contain the specified search term.\r\nIt is not case-sensitive, but it does require an exact match.  For example, if you specify “child” it will only return chunks that\r\ninclude the term \"child\" somewhere in it.  This would not include chunks that have the word \"children\" in it, however, since it\r\nrequires a verbatim match.  With that said, since it is not case-sensitive it would also include chunks with \"Child\" in them.  This\r\nsetting is especially useful when you know that a relevant chunk has a certain key word in it; otherwise, it is best to leave this blank.\r\nClick the Clear Filter button to clear any filters.  Lastly, it is important to understand that this setting only applies after both\r\nthe Similarity and Contexts settings.  Therefore, if you set those settings too low you might not receive any chunks with your specified\r\nsearch term.\r\n\r\n### What is the File Type setting?\r\nWithin the Settings Tabe the File Type setting allows you to limit the chunks that are returned based on whether they originated from\r\na particular type of file.  Current options include images, documents, audio or all files.  It is best to use the all files option\r\nunless you are sure that the chunks you are looking from originated from a particular type of file.\r\n\r\n### What are text to speech models (aks TTS models) and how are they used in this program?\r\nText to speech models (TTS) are large language models that were specifically trained to take text as input and output audio in a spoken\r\nvoice format.  This program allows you to use TTS models to speak the response that you get after querying the vector database.\r\n\r\n### What text to speech models are availble in this program to use?\r\nYou can choose various text to speech models within the Settings Tab.  The current options are Bark, WhisperSpeech, ChatTTS, and\r\nGoogle TTS.  The Bark backend has a Normal size that produces slightly higher quality and and a Small version that uses fewer\r\nresources.  With Bark you can choose different speaker voices such as v2/en_speaker_6, which is usually considered the highest\r\nquality or v2/en_speaker_9, which is the only female voice.  Using Bark requires a GPU, however. The WhisperSpeech backend consists\r\nof two models that you choose within the Settings Tab, both of which determine the quality.  Experiment with both to find a setting\r\nthat works with your hardware.  WhisperSpeech, like Bark, requires a GPU but is generally less compute intensive than Bark at roughly\r\nthe same quality.  The ChatTTS backend is also a good option that can be run both on GPU or CPU.  It produces audio slightly less\r\nquality than Bark or WhisperSpeech.  Lastly, the Google TTS backend is the least compute intensive.  However, it does not require a\r\nGPU and will instead connect to a free online Google service that provides TTS.\r\n\r\n### What is the Bark text to speech?\r\nBark TTS by Suno AI is a fully generative, open-source text-to-audio model that produces highly expressive and realistic speech,\r\neven capable of non-verbal vocalizations like laughter or sighs. Unlike traditional TTS systems that strictly follow input text,\r\nBark can \"freestyle,\" deviating for prosodic expressiveness or ambient cues, which makes it especially useful for creative\r\napplications like character dialogue, storytelling, and game development. It supports over 100 built-in speaker presets and\r\nauto-detects more than a dozen languages, although English remains the most polished. Bark uses EnCodec and a GPT-style transformer\r\nunder the hood, trading speed for quality, and typically requires GPU acceleration. Despite its occasional unpredictability, its\r\nrich emotional output and open MIT license make it a standout for experimental and expressive use cases.\r\n\r\n### What is the WhisperSpeech text to speech?\r\nWhisperSpeech by Collabora is a cutting-edge open-source project that \"reverses\" OpenAI's Whisper speech-to-text model to synthesize\r\nspeech from semantic audio tokens, offering an exciting glimpse into the future of modular, multilingual TTS. Inspired by Google’s\r\nSPEAR-TTS, WhisperSpeech leverages Whisper’s deep linguistic understanding and language-neutral token representations to build a\r\nmultilingual, speaker-aware system that supports voice cloning and polyglot speech (e.g. the same voice speaking in multiple languages).\r\nThough still under heavy development, early results show surprisingly natural and expressive audio, particularly given the open\r\nmodel’s small size. It’s not yet plug-and-play like Bark or ChatTTS, but its transparency, voice customization potential, and strong\r\nmultilingual foundation make it a compelling choice for developers interested in training their own flexible, high-quality TTS pipeline.\r\n\r\n### What is the ChatTTS text to speech?\r\nChatTTS is an open-source conversational TTS model specifically designed for dialogue generation, with a focus on natural prosody,\r\nexpressive timing, and multi-speaker interactions. Trained on over 100,000 hours of English and Chinese speech, it delivers highly\r\nrealistic and emotionally resonant voices tailored for chatbots and AI companions. Unlike many TTS engines, ChatTTS includes\r\nconversational structure like speaker turns and can even insert interjections like laughter using special tokens. While it lacks a\r\nlarge preset voice library like Bark, it can produce distinct speakers and supports fine-tuning on custom data. It runs efficiently\r\non consumer GPUs and offers Python bindings, making it one of the most practical and expressive TTS options for developers aiming to\r\nbuild natural, back-and-forth conversational agents in English or Mandarin.\r\n\r\n### What is the Google TTS text to speech?\r\nGoogle TTS (Free Tier) offers industry-leading neural speech synthesis via a cloud API, backed by WaveNet and Neural2 models that\r\nproduce ultra-clear, stable, and emotionally nuanced voices across 380+ voices and 50+ languages. Although not open-source, it\r\nprovides a generous free tier (up to 4 million characters/month for standard voices and 1 million for WaveNet), making it highly\r\naccessible for small-scale use. Developers can fine-tune pronunciation and pacing using SSML, and even select expressive “Newscaster”\r\nor “Lively” voice styles. With near real-time performance via a fast cloud API and seamless Python integration, Google TTS is the gold\r\nstandard for high-quality, multilingual TTS — ideal for production-ready applications where speech quality, reliability, and global\r\nlanguage support outweigh the need for open-source control.\r\n\r\n### What is the Chatterbox text to speech?\r\nChatterbox, developed by Resemble AI, is a cutting-edge open-source text-to-speech (TTS) model that sets a new standard in voice\r\nsynthesis. Released under the permissive MIT license, it offers developers and creators unparalleled freedom to use, modify, and\r\ndistribute the software. Chatterbox's standout features include zero-shot voice cloning, allowing it to mimic any voice with just a\r\nfew seconds of reference audio and emotion exaggeration control. Its alignment-informed inference ensures ultra-stable and\r\nnatural-sounding speech, making it ideal for real-time applications like voice assistants and interactive media. In blind evaluations,\r\nChatterbox has been consistently preferred over proprietary models like ElevenLabs, highlighting its superior performance in\r\ngenerating high-quality, expressive speech. With its combination of advanced features, open-source accessibility, and exceptional\r\nspeech synthesis quality, Chatterbox stands out as a powerful tool for developers seeking a versatile and ethical TTS solution.\r\n\r\n### Which text to speech backend or models should I use\r\nGenerally it's recommended to experiment with each to your liking.  However, in general Bark and WhisperSpeech produce the highest\r\nquality results, Chat TTS and Chatterbox are below them but can be run on GPU as well as CPU, and Google TTS is comparable to\r\nChat TTS in terms of quality but requires an Internet connection.\r\n\r\n### Can I back up or restore my databases and are they backed up automatically\r\nWhen you create a vector database it is automatically backed up.  However, if you want to manually backup all databases you can go\r\nto the \"Tools\" tab and click the Backup All Databases button.  Likewise, you can restore all backed up databases within the Tools Tab.\r\n\r\n### What happens if I lose a configuration file and can I restore it?\r\nThis program cannot function without the config.yaml file if you lose it accidentally or it gets corrupted for some reason you can\r\nrestore a default version by if necessary copy the original configyaml from the assets folder to the main directory delete old files\r\nand folders in vector_db and vector_db_backup to prevent conflicts\r\n\r\n### What are some good tips for searching a vector database?\r\nTo improve your search results when searching a vector database it is important to understand the relationship between the various\r\nsettings within the Settings Tab.  When a vector database is searched it will first identify candidate chunks to return that meet the\r\nSimilarity setting.  Once it does that it will return the most relevant chunks up to the limit of the number of chunks that you set\r\nwith the Contexts setting.  After that, it will apply the Search Term Filter setting to remove any chunks that do not contain the\r\nverbatim search term (remember, this is case-insensitive howver).  After that, these chunks are what are then sent to the chat model\r\nalong with your initial query to get a response.\r\n\r\n### General VRAM Considerations\r\nTo conserve VRAM, disconnect secondary monitors from the GPU and, if available, use motherboard graphics ports instead. This requires\r\nenabling integrated graphics in the BIOS, which is often disabled by default when a dedicated GPU is installed. This can be\r\nparticularly useful if your CPU has integrated graphics, such as Intel CPUs without an \"F\" suffix, which support motherboard\r\ngraphics ports.\r\n\r\n### How can I manage vram?\r\nFor optimal performance, ensure that the entire LLM is loaded into VRAM. If only part of the model is loaded, performance can be\r\nsignificantly degraded. It’s also important to manage VRAM efficiently by ejecting unused models when creating the vector database\r\nand reloading the LLM after the database creation is complete. When querying the vector database, using the CPU instead of the GPU\r\nis recommended to conserve VRAM for the LLM, as querying is less resource-intensive and can be effectively handled by the CPU.\r\n\r\n### What are the speed and VRAM requirements for the various chat models?\r\nYou can always check the VRAM and speed for local models within the Tools Tab by clicking the \"Chat Models\" button, which will display\r\na nice chart.  However, in general smaller models like Qwen 3 - 0.6b deliver exceptional speed at over 200 characters per second while\r\nrequiring minimal VRAM (1.3GB), mid-range models in the 2-9 billion parameter range offer a sweet spot for most users, with speeds\r\nranging from 150-400 characters per second and VRAM usage between 2.5-9.5GB. Notable standouts include the GLM4-Z1 - 9b, which achieves\r\nan impressive 395 CPS while using under 10GB VRAM, and the Exaone models, which consistently deliver faster performance than\r\nsimilarly-sized alternatives. For users with high-end GPUs, the larger 24-32 billion parameter models provide enhanced reasoning\r\ncapabilities at the cost of reduced speed (95-140 CPS) and substantial VRAM requirements (15-20GB).\r\n\r\n### What are the speed and VRAM requirements for the various vision models?\r\nVision models demonstrate a clear inverse relationship between speed and model size, with smaller models delivering significantly\r\nfaster image processing while larger models provide enhanced accuracy at the cost of reduced throughput. The fastest performers are\r\nmodels like Ovis2 - 2b at 312 characters per second (CPS) and InternVL2.5 - 1b (289 CPS) with relatively low VRAM usage of 2.3-5.8GB.\r\nFlorence-2 models, which can be run on a CPU, showcase interesting trade-offs.  For example, Florence-2-Base achieves an impressive\r\n971 CPS on GPU with only 2.6GB VRAM, CPU-only operations drops performance to 157 CPS. Mid-range models like\r\nGranite Vision - 2b (218 CPS, 4.1GB) and THUDM glm4v - 9b (201 CPS, 9.8GB) offer balanced performance for most use cases. The\r\nlargest models such as Qwen VL - 7b (174 CPS, 9.6GB) require more resources.\r\n\r\n### What are maximunm context length and maximum sequence length and how to they relate?\r\nEach embedding model has a maximum sequence length, and exceeding this limit can result in truncation. To avoid this, regularly\r\ncheck the maximum sequence length of the model and adjust your settings accordingly. Reducing chunk size or the number of contexts\r\ncan help stay within these limits. Maximum \"context length\" refers to chat models and is very similar to maximum sequence length.\r\nThe key thing to understand is that the chunks you put into the vector database should be within the max sequence length of the\r\nvector or embedding model you choose and the maximum context or chunks you retrieve from the vector database multiplied by their\r\nlength should stay within the chat model's context length limit.  And make sure to leave enough context for a response.\r\n\r\n### What is the scrape documentaton feature?\r\nWithin the Tools tab you can select multiple python libraries and scrape their documentation.  Multiple .html files will be downloaded\r\nand you can subsequently create a vector database out of them.  Larger more complex libraries can take a significant amount of time\r\nto scrape to make sure you have a stable Internet connection.\r\n\r\n### Which vector or embedding models are available in this program?\r\nAll of the embedding models that this program uses are listed on the Models Tab.  You can click on a hyperlink for each one to find\r\nout more information.  The embedding models sometimes change as different versions of this program are released and newer and better\r\nembedding models are released.  This program vets all embedding models, however, before including them for usage.\r\n\r\n### What is the manage databaes tab?\r\nThe Manage Databases Tab allows you to see all of the vector databases that you have created thus far and what documents are in them.\r\nSelect the database you want to view from the pulldown menu and you can see the files that have been embedded.  Also, you can\r\ndoubleclick any of the files to open it in your system's default program.  When a vector database is created the location of the\r\noriginal file is saved as metadata.  As long as you haven't moved the original file on your computer, this metadata will be used to\r\nlocate the file and open it in the default program on your system.\r\n\r\n### How can I create a vector database?\r\nGo to the Create Database tab and choose the files that you want to add to the vector database.  If you select any file types that are\r\nnot supported, the program will let you know and give you an option to automatically exclude them.  Remember, you can repeat this\r\nprocess as many times as you with.  Also, you can choose whether to select all of the files in a particular directory or simply\r\nchoose individual files.  To add audio transcriptions to the database you must first transcribe audio files individually, which can\r\nonly be done within the Tools Tab.  To input descriptions of images into the vector database choose an appropriate vision model from\r\nthe Settings Tab.  Any images you select will then automatically be processed by that vision model when you create the database.\r\nRemember, make sure and adjust the database creation settings within the Settings Tab before creating the database.\r\n\r\n### Can I use images and audio files in my database?\r\nYou can use both images and audio in your vector database. Images: When you add image files (like PNG, JPG, BMP), the selected vision\r\nmodel creates a text description of each image, which is then embedded like a regular text document. For example, a chart might be\r\ndescribed as “A line graph showing revenue over time with an upward trend.” You can then search with queries like “What does the\r\nrevenue trend look like?” and retrieve the image. Make sure you choose a vision model in the Settings Tab first and use the Test\r\nVision Models tool within the Tools Tab ot preview captions before using a particular model. Audio: You can't add audio files directly,\r\nbut you can use the Transcribe File tool (powered by OpenAI’s Whisper model) to convert audio to text. This transcript can then be\r\nadded like any other document during database creation. If you try to upload audio directly, the program will prompt you to transcribe\r\nit first. By converting images and audio to text, the system supports rich, multi-modal queries — as long as content is processed\r\ncorrectly.\r\n\r\n### What chat models are available with the local models option?\r\nWithin the Query Database Tab if you choose the local models option it will allow you to use a specified number of chat models that\r\nwill be downloaded directly from the Huggingface website.  All of these models have been specifically chosen for their strength\r\nin question answering using contexts provided by a vector database.  Please ask about a particular family of chat models for more\r\ninformation or you can visit the repository for the various chat models on Huggingface for more detailed information.  The available\r\nchat models that this program uses sometimes changes as newer models come out with higher capabilities.  All chat models that are\r\nadded or removed will be noted in the release notes on Github for the record.\r\n\r\n### What are the Qwen 3 Chat Models?\r\nQwen3 is the latest release in the Qwen family of large language models.  they come in six sizes ranging from .6 billion parameters\r\nto 32 billion gparameters and can be used under the Apache 2.0 license.  A key innovation with the Qwen3 series is the hybrid\r\n\"thinking\" versus \"non-thinking\" modes that are available.  This program has opted to use the thinking mode for all Qwen3 models as\r\nit tends to produce the best results for retrieval augmented generation purposes.  The Qwen3 models are multilinguals and are touted\r\nas supporting up to 119 languages.  They were trained on approximately 36 trillion tokens, which is double the amount used for Qwen 2.5.\r\nQwen has consistently created some of the best open source and free models available and they are a staple of this program.\r\n\r\n### What are the Granite 3.3 Chat Models?\r\nThe Granite 3.3 chat models are the latest in the Granite series developed by IBM and are released under the Apache 2.0 license.\r\nThey are \"thinking\" or \"reasoning\" models and have improved upon prior iterations in this regard.  The Granite models were trained\r\non synthetically generated datasets for long-context tasks and are good for retrieval augmented generation purposes.  Version 3.3\r\nof the models exceed the performance of Granite 3.1 and 3.2 by a significant margin.\r\n\r\n### What are the GLM-Z1 Chat Models?\r\nThe Z1 family of chat models are created by THUDM and demonstract strong performance across a wide range of tasks, including retrieval\r\naugmented generation.  The benchmarks show that they are particularly strong in general-purpose question answering across a wide range\r\nof domains - e.g. science, math, and other areas.  They come in a 9 billion parameter and 32 billion parameter variants and are a\r\nstaple of this program due to their high quality on question answering tasks.\r\n\r\n### What is the Mistral Small Chat Model?\r\nThe Mistral Small chat model is the third iteration of Mistral models and has 24 billion parameters.  It is released under the\r\nApache 2.0 license for liberal usage.  Compared to larger models such as LLaMA 3.3 with 70 billion parameters and Qwen 2.5 with\r\n32 billion parameters, the Mistral Small 3 model achieves comparable quality results across a wide range of benchmarks.  What is\r\nunique about the Mistral Small 3 model is its size of 24 billion parameters, which often sits in the sweet spot for VRAM usage for\r\nusers having 24 gigabytes of VRAM.  Sometimes larger models having 32 billion parameters will exceed the available VRAM with longer\r\ncontexts but Mistral Small 3 leaves sufficient VRAM avaialble in such circumstances. Benchmark results also show that it excels at\r\nreasoning, coding, math, and instruction following, oftentimes producing more succinct answers than other similarly sized models.\r\n\r\n### What are the MiniCPM-4 chat models?\r\nThe MiniCPM-4 chat models are ultra-efficient, open-source LLMs built by the OpenBMB team for edge devices, offered in lightweight\r\n0.5 B-parameter and 8 B-parameter versions.  The 8b variant achieves comparable performance to Qwen3-8B using only 22% of the training\r\ndata.  The 0.5B parameter variant, despite having fewer parameters, significantly outperforms Qwen3-0.6B, Llama3.2-1B, and Gemma3-1B.\r\nThe 8b variant matches Qwen3 8b and outperforms GLM4-9B, and exceeds larger models such as Gemma3-12B and approaches Phi4-14B.  The\r\nmajor advantage is on 128k context sequences where it achieves 7x faster decoding than Qwen3-8b due to the fact that it only attends\r\nto ~6k tokens out of 128k (5% sparsity).  These chat models focus on the English and Chinese languages.\r\n\r\n### What is the Deepseek R1 Chat Model?\r\nThe Deepseek R1 chat model was previously removed from this program, but it has been re-added since Deepseek released a newer and\r\nimproved version in late May, 2025.  This new version, based on the Qwen3 architecture, has significantly improved both its reasoning\r\nand generic response tasks and is an excellent choice for retrieval augmented generation.  It claims to rival much larger open source\r\nmodels such as Qwen 3 32b and Phi-4 14b and even claims to outperform closed-source models such as OpenAI's os-mini (medium) and\r\nGoogle's Gemini 2.5 Flash, which is quite impressive.\r\n\r\n### What are the BGE Embedding Models?\r\nThe BGE family of embedding models were created by BAAI and have long been a staple within the embedding community and this program\r\nin particular.  They are well-respected as producing high quality embeddings for reasonable compute resources.  Although they are\r\nover a year old now, they are still regarded as producing quality embeddings for a reasonable compute cost for most use cases.  At\r\nthe time of their release they were state of the art for open source and free embedding models.\r\n\r\n### What are the Granite Embedding Models?\r\nThe Granite family of embedding models were created by IBM and are lightweight embedding models based on the RoBERTa architecture as\r\nopposed to the BERT architecture like most other embedding models.  IBM touts these models as being suitable for \"enterprise\" use\r\ncases and come in 30.3 and 125 million parameter sizes.  Along with the Snowflake Arctic embedding models, they are one of the fastest\r\nembedding models that this program offers when considered in relation to the quality of embeddings that they produce.  In contrast to\r\nthe Snowflake Arctic embedding models, however, they do not rely upon the Xformers library to achieve this, which is not supported by\r\nall graphics cards.  The Granite embedding models were released in early 2025 under the liberal Apache-2.0 license.  This program only\r\nusese the English-trained variations of the models.\r\n\r\n### What are the Intfloat Embedding Models?\r\nSimilar to the BGE embedding models produced by BAAI, the Intfloat embedding models have long been a staple of high quality embedding\r\nmodels in the community and this program.  They include \"small,\" \"base,\" and \"large' variants for your particular use case.  They offer\r\nhigh quality embeddings for the compute resources required and often go head-to-head in comparison with the \"bge\" models from BAAI.\r\nAlthough they are well over a year old now they still offer high quality embeddings for a reasonable compute cost and many other\r\nembedding models have been built upon the e5 family of models.\r\n\r\n### What are the Arctic Embedding Models?\r\nSnowflake's Arctic-embed models are retrieval-optimized text embedding models built on E5-small and E5-large embedding models created\r\nby Intfloat. Despite their relatively modest sizes, these models outperformed larger competitors on several benchmarks.  They are\r\nalso significantly faster than similarly sized models due to their reliance on the Xformers library.  These models can, however, be\r\nrun with or without reliance on the Xformers library depending on whether a user's hardware supports it.  The Snowflake Arctic embedding\r\nmodels are also unique in that they have a maximum sequence length of 8192 tokens, which is far greater than the typical 512 token limit\r\nof other embedding models.\r\n\r\n### What are the Qwen3 Embedding Models?\r\nReleased in June, 2025, Alibaba’s Qwen 3 Embedding family delivers state-of-the-art text embeddings while staying friendly to everyday hardware.  They are based on the popular Qwen 3 chat models but have special training to make them suitable for generating embeddings.\r\nAs of June, 2025, they hold the top three ranked spots on the Huggingface leaderboard.  They are primarily trained on English and\r\nChinese data, but a fair amount of their training data is also from numerous other languages so they can be reliably used for multilingual\r\nembedding tasks as well.  They are released under the liberal Apache-2.0 license. The Qwen 3 family of embedding models comes in three\r\npractical sizes—“small” (0.6 B parameters), “base” (4 B), and “large” (8 B). Even the 0.6 B version outperforms older 7 B embedding models, which is a phenomenal accomplishment while the 8 B model often edges out commercial offerings. All variants support long contexts (up to 32 k tokens). \r\n\r\n### What is the Scrape Documentation tool?\r\nScrape Documentation automatically downloads documentation from online sources to build vector databases without manual copy-pasting.\r\nLocated in the Tools tab, simply select a documentation source from the dropdown menu (many common libraries are pre-configured) and\r\nclick \"Scrape.\" The program will fetch all relevant pages, showing progress as it works. Scraped content is stored in\r\nsrc/Scraped_Documentation/<NameOfDoc>/. Once complete, you'll need to add these files to a vector database through the Create Database\r\ntab - the scraper only retrieves and saves the docs but doesn't vectorize them.  If documentation has been previously scraped, the\r\nentry appears in red, and you'll be warned before overwriting existing data. This feature is particularly useful for creating\r\nsearchable knowledge bases from official documentation for technical Q&A using the VectorDB-Plugin.\r\n\r\n### How do I test vision models on images?\r\nThe Test Vision Models tool in the Tools tab lets you preview how vision models describe your images before adding them to a database.\r\nIt offers two main options: (1) Multiple Files + One Vision Model, which tests one vision model on multiple images. First, select\r\nimage files in the Create Database tab, then choose your vision model in Settings. Return to Tools and click \"Multiple Files + One\r\nVision Model – Process.\" The tool generates descriptions for all images without creating a database, showing average description\r\nlength to help you evaluate the model's performance.  Single Image + All Vision Models: Compare multiple vision models on one image.\r\nClick this option, select an image, then choose which vision models to test from the dialog (they're listed with VRAM requirements).\r\nThe tool will sequentially process your image through each model and produce a comparison showing each model's description and\r\nprocessing time. This helps you balance quality versus speed when selecting a vision model.\r\n\r\n### What is Optical Character Recognition?\r\nOptical character recognition (aka OCR) refers to whether a .pdf file has a text layer embedded within it representing the actual text\r\nin the document.  The exact structure of the .pdf file format in general is beyond the scope of this tutorial, but generally a .pdf\r\nwill have a \"glyph\" layer that contains the visual representations of text as we commonly understand them being in different \"fonts\" or\r\nother representations and styles.  The \"text layer\" refers to a text representation of these common glyphs that a .pdf may or may not\r\nhave, which is unseen but which is ultimately extracted when text is extracted from a .pdf document.  If a .pdf does not have this text\r\nlayer then text cannot be extracted from a .pdf unless OCR has been done on it, which you can do with this program.  To do so, go to\r\nthe Tool Tab, select a .pdf, and perform OCR.  You can Ask Jeeves for more details regarding this if need be.\r\n\r\n### How can I extract text from PDFs or images with OCR?\r\nThe OCR tool, found in the Tools tab, converts image-based documents into searchable text using the built-in Tesseract engine. To use it:\r\n(1) Go to the \"OPTICAL CHARACTER RECOGNITION\" section in the Tools tab.\r\n(2) Ensure \"Tesseract\" is selected from the dropdown (it’s usually pre-selected).\r\n(3) Click \"Choose PDF\" to upload your scanned PDF or image file.\r\n(4) Click \"Process\" to start extracting text.\r\nOnce processing is complete, the tool generates two outputs:\r\n(1) A new PDF file with an \"_OCR\" suffix that includes the original document along with an invisible, searchable text layer.\r\n(2) A plain text file containing all the recognized text, including page markers like [[page1]].\r\nYou can then upload either the OCR-enhanced PDF or the plain text file to your vector database using the Create Database tab. The\r\ntool works best with PDFs, including multi-page ones, but it also supports image files. OCR accuracy varies depending on the clarity\r\nand quality of the input, so it's important to review the results carefully when accuracy is critical.\r\n\r\n### What other features does the Misc tab have?\r\nIn addition to backup and restore, the Misc tab includes three visualization tools: GPU Comparison Chart: Click the \"GPUs\" button to\r\nopen a chart that compares graphics cards based on performance and memory. You can filter results by VRAM range (e.g., 4–6 GB, 8 GB,\r\n10–12 GB), making it easier to evaluate which GPUs are suitable for running various models. Chat Models Comparison: Selecting\r\n\"Chat Models\" brings up a chart comparing local chat models, displaying estimated VRAM usage and token generation speeds. Models are\r\ntypically color-coded by category (e.g., general use vs. coding), giving you a clear picture of which ones align with your GPU\r\ncapabilities. Vision Models Comparison: Clicking \"Vision Models\" launches a comparison of available vision captioning models,\r\nhighlighting their size, VRAM requirements, and performance benchmarks such as processing time per image. All visualizations open\r\nin separate windows using matplotlib. These tools are purely informational, aimed at helping users make informed choices about\r\nmodel compatibility and system requirements. To return to the application, simply close the chart window.\r\n\r\n### What is Ask Jeeves and how do I use it?\r\nAsk Jeeves is an integrated help assistant built into the VectorDB-Plugin, designed to serve as an in-app guide or Q&A tool. You can\r\naccess it from the menu bar—look for the \"Ask Jeeves\" option. When launched, it opens a new window where you can type in questions\r\nabout using the program. For instance, you might ask, “How do I add a PDF to my database?” or “What does chunk overlap mean?” Ask\r\nJeeves will respond with helpful answers sourced from the documentation. Ask Jeeves is ideal for getting quick guidance while\r\nactively using the program, without needing to leave the interface or consult external resources. If the feature doesn’t respond\r\nor appears broken, users are encouraged to report the issue on GitHub, as it may indicate a problem with loading the help content.\r\nThink of Ask Jeeves as your on-demand tutor—just click it, type a plain-English question about the VectorDB-Plugin, and get clear\r\nexplanations or step-by-step instructions. And yes, the name is a playful reference to the classic “Ask Jeeves” search engine,\r\nsuggesting you can ask it anything!\r\n\r\n### What are the InternVL3 Vision Models?\r\nInternVL3, released in April 2025, is an advanced open-source multimodal LLM series trained natively on interleaved text, image,\r\nand video data. It follows a ViT-MLP-LLM architecture with vision encoders up to 6B parameters and integrates with LLMs like\r\nInternLM 3 and Qwen2.5. A major innovation is Variable Visual Position Encoding (V2PE), which enhances long-context visual\r\nreasoning by using finer positional increments for visual tokens. The model employs Native Multimodal  re-Training, combining\r\nlanguage and vision learning in one stage, improving performance without separate alignment stages. InternVL3 also introduces\r\nMixed Preference Optimization and uses dynamic image tiling, JPEG compression, and over 300K instruction-following samples for\r\ntraining. A Visual Process Reward Model improves inference via best-of-N reasoning chains. Empirically, InternVL3 achieves top\r\nscores across benchmarks like MMMU, MathVista, and OCRBench, outperforming previous models at all scales. It extends capabilities\r\nbeyond traditional multimodal reasoning to tool use, 3D perception, GUI interaction, and industrial analysis.\r\n\r\n### What are the Ovis2 Vision Models?\r\nOvis2 launched in January 2025 as a second-generation multimodal large language model optimized for compact sizes (1B and 2B). It\r\nintegrates Apple’s AIMv2 vision transformer and supports Qwen2.5 or InternLM 2.5 as its language backend. A key innovation is its\r\nvisual embedding table, which structurally aligns image patches with textual tokens using a shared embedding strategy, improving\r\ncoherence across modalities. Unlike traditional connector-based MLLMs, Ovis2 maps visual inputs into probabilistic tokens that\r\ninteract with a large visual vocabulary (131,072 visual words), allowing for sparse, efficient visual representation. The model is\r\ninstruction-tuned on diverse multimodal data, including videos, multilingual OCR, and charts, boosting chain-of-thought reasoning.\r\nThough not trained with quantization, 4-bit GPTQ versions were made available in March 2025. Ovis2 achieves state-of-the-art results\r\nacross various benchmarks, including 89.1 on OCRBench and 83.6 on MMBench-V1.1 for the 8B version. Overall, Ovis2’s architectural\r\nadvancements enable high performance on vision-language tasks while maintaining efficiency in smaller model sizes.\r\n\r\n### What are the Florence-2 Vision Models?\r\nFlorence-2, released by Microsoft in June 2024, comes in two sizes—Base (232M parameters) and Large (771M)—and uses a sequence-to-sequence\r\narchitecture built on DaViT and Transformer layers. The model is trained on FLD-5B, a dataset with 5.4 billion annotations across\r\n126 million images, created by the automated Florence data engine. Florence-2 integrates visual inputs with textual prompts and excels\r\nin zero-shot tasks, outperforming much larger models like Flamingo-80B on benchmarks such as COCO captioning and TextVQA. It performs\r\nwell across multiple levels of granularity, from full images to specific regions and pixels, enabling state-of-the-art performance in\r\nvarious tasks. Its design allows for multitask learning without the need for separate modules, improving efficiency and simplifying\r\ndeployment. Fine-tuning on public datasets further boosts its accuracy and robustness in real-world applications. Unlike traditional\r\ndual-encoder models like CLIP, Florence-2 uses a single Transformer stack with joint vision-text training, accepting both images and\r\ntext prompts as input and producing outputs in text or structured formats.\r\n\r\n### What are the Granite Vision Models?\r\nGranite Vision is IBM's enterprise-focused vision-language model optimized for visual document understanding released in February 2025.\r\nIt has around 3 billion parameters and uses a SigLIP vision encoder, a two-layer GELU-activated MLP connector, and the\r\ngranite-3.1-2b-instruct language model. Trained on 13 million images and 80 million instructions using public and synthetic data.\r\nGranite Vision excels at layout parsing, text recognition, and UI analysis, especially for charts and tables, achieving up to 95%\r\naccuracy in chart extraction. It matches or surpasses models like Phi3.5v and InternVL2 on document benchmarks such as DocVQA, ChartQA,\r\nand TextVQA. Unique features include sparse attention-based safety mechanisms and multi-layer feature extraction. The model, based on\r\nthe LLaVA architecture, is open-source under the Apache 2.0 license and supports commercial use. Granite Vision consistently outperforms\r\nor matches Phi3.5v and InternVL2 across key benchmarks, highlighting its strong advantage in document-focused vision-language tasks.\r\n\r\n### What are the Qwen2.5VL Vision Models?\r\nQwen2.5-VL is the latest vision-language model in the Qwen family. It excels in visual understanding tasks like object recognition,\r\ntext and chart analysis, and document parsing. The model features a streamlined ViT-based vision encoder with window attention,\r\nSwiGLU activations, RMSNorm, and dynamic resolution/frame rate training for video, enhanced by mRoPE in the time dimension. These\r\narchitectural updates allow precise visual localization and robust multimodal reasoning. Qwen2.5-VL-7B outperforms peers like\r\nInternVL2.5-8B, MiniCPM-o 2.6, and GPT-4o-mini in multiple benchmarks: Document QA: DocVQA 95.7%, InfoVQA 82.6%, ChartQA 87.3%\r\nText recognition: TextVQA 84.9%, OCRBench 864, CC_OCR 77.8% General VLU: MMBench 82.6%, MMVet 67.1% Math reasoning: MathVista 68.2%,\r\nMathVision 25.07% It also resists hallucination better than GPT-4o-mini (HallBench: 52.9% vs. 46.1%). The model integrates tightly\r\nwith the Qwen2.5 LLM, sharing its tokenizer and text processing, while extending it with specialized vision-language handling and\r\nsupport for flexible image resolutions.\r\n\r\n### What is the GLM-4V-9B Vision Model?\r\nGLM-4V-9B, developed by Zhipu AI and Tsinghua University, is a 9B-parameter bilingual (Chinese/English) multimodal model released\r\nin mid-2024 as part of the GLM (OpenGLM) series. It integrates vision into the pretrained GLM-4 LLM, supporting high-resolution\r\ninputs up to 1120×1120 and enabling general vision-language tasks like image QA, captioning, and reasoning. The model uses standard\r\nattention and likely linear patch embeddings, with training on large multilingual image-text datasets. GLM-4V-9B incorporates Mixed\r\nPreference Optimization (MPO) to enhance chain-of-thought alignment, similar to InternVL. It supports FP16 precision and an 8K context\r\nwindow, though quantization is not emphasized. Benchmarks show strong performance: it scored 81.1 on English MMBench and 786 on\r\nOCRBench, outperforming many open models and reportedly rivaling or exceeding GPT-4-turbo and Gemini 1.0 Pro on several vision tasks.\r\n\r\n### What is the Molmo-D-0924 Vision Model?\r\nMolmo-D-0924 is a 7–8B parameter open-source vision-language model released by the Allen Institute (AI2) in September 2024, as part\r\nof the larger Molmo project. It combines Qwen2-7B as the language backbone with OpenAI’s CLIP-ViT as the vision encoder and is trained\r\non a proprietary PixMo dataset of 1M high-quality image–text pairs. A key innovation is its support for multi-turn “pointing” in images\r\nvia a special OLMo module, allowing the model to interactively highlight regions in response to queries—moving beyond standard text-only\r\noutputs. The model is decoder-only, optimized for interactive use, and runs efficiently on commodity GPUs with FP16 or bfloat16\r\nprecision. While users can’t fine-tune quality knobs beyond image size, it offers real-time responsiveness. On benchmarks, Molmo-7B-D\r\nperforms between GPT-4V and GPT-4o and achieves state-of-the-art results among similarly sized open models, as confirmed by academic\r\nand human evaluations."
  },
  {
    "path": "Assets/vision_model_table.html",
    "content": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <title>Vision Model Table</title>\r\n    <style>\r\n        body {\r\n            background-color: #161b22;\r\n            color: #f9f9f9;\r\n            font-family: Arial, sans-serif;\r\n        }\r\n        table {\r\n            width: 100%;\r\n            border-collapse: collapse;\r\n            margin: 0 auto; /* Center table */\r\n        }\r\n        th, td {\r\n            border: 1px solid #f9f9f9; /* Text color for border */\r\n            text-align: center;\r\n            padding: 8px;\r\n        }\r\n        th {\r\n            background-color: #004D40;\r\n            color: black; /* For contrast against light background */\r\n        }\r\n        .main-header {\r\n            background-color: #004D40;\r\n        }\r\n\t\ta {\r\n\t\t  color: #00bf9e; /* Change this to your desired color */\r\n\t\t}\r\n\t\ta:visited {\r\n\t\t  color: #00bf9e; /* Color for visited links */\r\n\t\r\n\t00bf9e\t\r\n\r\n\r\n    </style>\r\n</head>\r\n<body>\r\n<style>\r\n  table {\r\n    font-size: 16px;\r\n    line-height: .75;\r\n  }\r\n</style>\r\n<table>\r\n    <tr>\r\n        <th rowspan=\"2\">Model Name</th>\r\n        <th colspan=\"2\" class=\"main-header\">GPU Metrics</th>\r\n        <th colspan=\"2\" class=\"main-header\"># Characters in Summary</th>\r\n    </tr>\r\n    <tr>\r\n        <th>Characters/s</th>\r\n        <th>Memory</th>\r\n        <th>Low</th>\r\n        <th>High</th>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/OpenGVLab/InternVL2_5-1B\">InternVL2.5 - 1b</a></td>\r\n        <td>291.18</td>\r\n        <td>2.4 GB</td>\r\n        <td>TBD</td>\r\n        <td>TBD</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/microsoft/Florence-2-base\">Florence2-Base - 223m</a></td>\r\n        <td>766.49</td>\r\n        <td>2.6 GB</td>\r\n        <td>350</td>\r\n        <td>660</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/OpenGVLab/InternVL2_5-4B\">InternVL2.5 - 4b</a></td>\r\n        <td>173.57</td>\r\n        <td>3.1 GB</td>\r\n        <td>TBD</td>\r\n        <td>TBD</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/vikhyatk/moondream2\">Moondream2 - 2b</a></td>\r\n        <td>344.97</td>\r\n        <td>4.5 GB</td>\r\n        <td>299</td>\r\n        <td>644</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/microsoft/Florence-2-large\">Florence2-Large - 772m</a></td>\r\n        <td>564.86</td>\r\n        <td>5.3 GB</td>\r\n        <td>450</td>\r\n        <td>650</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/h2oai/h2ovl-mississippi-2b\">Mississippi - 2b</a></td>\r\n        <td>320.00</td>\r\n        <td>5.3 GB</td>\r\n        <td>TBD</td>\r\n        <td>TBD</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/AIDC-AI/Ovis1.6-Llama3.2-3B\">Ovis1.6-Llama3.2 - 3b</a></td>\r\n        <td>321.79</td>\r\n        <td>9.6 GB</td>\r\n        <td>TBD</td>\r\n        <td>TBD</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/THUDM/glm-4v-9b\">GLM-4v - 9b</a></td>\r\n        <td>140.65</td>\r\n        <td>10.4 GB</td>\r\n        <td>TBD</td>\r\n        <td>TBD</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/llava-hf/llava-v1.6-vicuna-13b-hf\">llava 1.6 vicuna - 13b</a></td>\r\n        <td>120.98</td>\r\n        <td>11.2 GB</td>\r\n        <td>501</td>\r\n        <td>1045</td>\r\n    </tr>\r\n    <tr>\r\n        <td><a href=\"https://huggingface.co/ctranslate2-4you/molmo-7B-O-bnb-4bit\">Molmo-D-0924 - 8b</a></td>\r\n        <td>146.60</td>\r\n        <td>12.4 GB</td>\r\n        <td>TBD</td>\r\n        <td>TBD</td>\r\n    </tr>\r\n</table>\r\n</body>\r\n</html>"
  },
  {
    "path": "CSS/template.css",
    "content": "DocQA_GUI {\n  background-color: $bg_window;\n}\nQWidget {\n  border: none;\n}\nQPushButton {\n  background-color: $bg_control;\n  color: $text_primary;\n  font: 10pt \"Segoe UI Historic\";\n  border-radius: 5px;\n  padding: 5px;\n  min-width: 60px;\n  border: 1px solid transparent;\n}\nQPushButton:hover {\n  background-color: $bg_control_hover;\n  border: 1px solid $border_focus;\n  color: $text_primary;\n}\nQLabel {\n  color: $text_primary;\n}\nQComboBox {\n  background-color: $bg_control;\n  color: $text_primary;\n  border: 1px solid $bg_window;\n  border-radius: 5px;\n  padding: 3px;\n}\nQComboBox:hover,\nQComboBox:focus {\n  background-color: $bg_control_hover;\n  color: $text_primary;\n  border: 1px solid $bg_window;\n}\nQComboBox QAbstractItemView {\n  background-color: $bg_surface;\n  color: $text_primary;\n  border: 1px solid $bg_window;\n  border-radius: 5px;\n}\nQComboBox QAbstractItemView::item:hover {\n  background-color: $bg_list_hover;\n  color: $text_primary;\n}\nQLineEdit {\n  background-color: $bg_window;\n  color: $text_input;\n  border: 1px solid transparent;\n  border-radius: 5px;\n  padding: 3px;\n}\nQLineEdit:hover,\nQLineEdit:focus {\n  border: 1px solid $border_focus;\n}\nQLineEdit::placeholder {\n  color: $text_placeholder;\n}\nQRadioButton {\n  color: $text_primary;\n}\nQGroupBox {\n  border: 1px solid $bg_surface;\n  border-radius: 5px;\n  color: $text_primary;\n  font-size: 12pt;\n  padding: 10px;\n}\nDownloadModelDialog {\n  background-color: $bg_window;\n}\nQFrame {\n  background-color: $bg_window;\n}\nQTextEdit[readOnly=\"true\"] {\n  background-color: $bg_surface;\n  color: $text_primary;\n  border: 1px solid $bg_control;\n  border-radius: 5px;\n  selection-background-color: $selection_bg;\n  selection-color: $selection_fg;\n  font: 14pt \"Segoe UI Historic\";\n}\nQTextEdit[readOnly=\"false\"] {\n  background-color: $bg_surface;\n  color: $text_primary;\n  border: 1px solid $bg_control;\n  border-radius: 5px;\n  selection-background-color: $selection_bg;\n  selection-color: $selection_fg;\n  font: 14pt \"Segoe UI Historic\";\n}\nQTabWidget {\n  background-color: $bg_window;\n  border: none;\n}\nQTabWidget, QTabWidget::pane {\n  margin: 0px;\n  padding: 0px;\n  border: none;\n}\nQTabBar::tab {\n  background-color: $bg_tab;\n  color: $text_primary;\n  border-bottom-left-radius: 3px;\n  border-bottom-right-radius: 3px;\n  margin: 3px;\n  padding: 5px 5px;\n}\nQTabBar::tab:selected {\n  background-color: $bg_tab_selected;\n  border-bottom: 3px solid $border_focus;\n}\nQTabBar::tab:hover {\n  background-color: $bg_tab_hover;\n}\nQSplitter::handle {\n  background-color: $bg_splitter;\n  height: 5px;\n}\nQTreeView {\n  color: $text_primary;\n}\nQHeaderView::section {\n  background-color: $bg_control;\n  color: $text_primary;\n  border-radius: 5px;\n}\nQMenuBar {\n  color: $text_primary;\n}\nQMenuBar::item {\n  background: transparent;\n}\nQMenuBar::item:selected {\n  background: $bg_menu_selected;\n}\nQCheckBox {\n  color: $text_primary;\n}\nQCheckBox::indicator:unchecked:hover,\nQCheckBox::indicator:checked:hover {\n  border: 1px solid $border_focus;\n  border-radius: 5px;\n}\nQMessageBox {\n  background-color: $bg_window;\n}\nQMessageBox QLabel {\n  color: $text_primary;\n}\nQMessageBox QPushButton {\n  background-color: $bg_dialog_button;\n  color: $text_primary;\n  border-radius: 5px;\n  padding: 5px;\n  border: none;\n}\nQMessageBox QPushButton:hover,\nQMessageBox QPushButton:pressed {\n  background-color: $bg_control;\n}\nQAbstractItemView {\n  background-color: $bg_surface;\n  color: $text_primary;\n  border: 1px solid $bg_control;\n  border-radius: 5px;\n}\nQAbstractItemView::item:hover {\n  background-color: $bg_list_hover;\n  color: $text_primary;\n}\nQInputDialog {\n    background-color: $bg_window;\n}\n\nQInputDialog QLabel {\n    color: $text_primary;\n}\n\nQInputDialog QComboBox {\n    background-color: $bg_control;\n    color: $text_primary;\n    border: 1px solid $bg_window;\n    border-radius: 5px;\n    padding: 3px;\n}\n\nQInputDialog QComboBox:hover {\n    background-color: $bg_control_hover;\n    border: 1px solid $border_focus;\n}\n\nQInputDialog QPushButton {\n    background-color: $bg_dialog_button;\n    color: $text_primary;\n    border-radius: 5px;\n    padding: 5px;\n    min-width: 60px;\n    border: none;\n}\n\nQInputDialog QPushButton:hover {\n    background-color: $bg_control_hover;\n    border: 1px solid $border_focus;\n}\nQDialog {\n    background-color: $bg_window;\n}\n\nQDialog QLabel {\n    color: $text_primary;\n}\n\nQDialog QLineEdit {\n    background-color: $bg_surface;\n    color: $text_primary;\n    border: 1px solid $bg_control;\n    border-radius: 5px;\n    padding: 3px;\n}\n\nQDialog QLineEdit:hover,\nQDialog QLineEdit:focus {\n    border: 1px solid $border_focus;\n}\n\nQDialog QDialogButtonBox QPushButton {\n    background-color: $bg_dialog_button;\n    color: $text_primary;\n    border-radius: 5px;\n    padding: 5px;\n    min-width: 60px;\n    border: none;\n}\n\nQDialog QDialogButtonBox QPushButton:hover {\n    background-color: $bg_control_hover;\n    border: 1px solid $border_focus;\n}\n"
  },
  {
    "path": "README.md",
    "content": "<div align=\"center\">\n\n<img width=\"1536\" height=\"248\" alt=\"splash\" src=\"https://github.com/user-attachments/assets/8ecfa804-8c98-4219-9204-bc5b7aaa69da\" />\n\n### Create and search a vector database from a wide variety of file types and get more reliable [responses from an LLM](https://www.youtube.com/watch?v=8-ZAYI4MvtA).  This is commonly referred to as [\"retrieval augmented generation.\"](https://medium.com/@vici0549/search-images-with-vector-database-retrieval-augmented-generation-rag-3d5a48881de5)\n\n</div>\n\n\n<div align=\"center\">\n  <h3><u>Requirements</u></h3>\n\n| Tool                                                                                     | Purpose                                           |\n| ---------------------------------------------------------------------------------------- | ------------------------------------------------- |\n| 🪟 Microsoft Windows                                                                     | **Only** for Windows but open to pull requests |\n| 🐍 [Python 3.11–3.13](https://www.python.org/downloads/)                                 | Run the application                               |\n| 🌿 [Git](https://git-scm.com/downloads)                                                  | Clone / manage the repository                     |\n| 🧲 [Git LFS](https://git-lfs.com/)                                                       | Handle large model files                          |\n| 📄 [Pandoc](https://github.com/jgm/pandoc/releases)                                      | Document parsing support                          |\n| 🛠️ [Visual C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) | Required for compiling dependencies               |\n\n<details>\n<summary>Or you can try running these commands in Powershell on Windows:</summary>\n\n### Install:\n\n```powershell\nwinget install Microsoft.VisualStudio.2022.BuildTools --silent --accept-source-agreements --accept-package-agreements --override \"--wait --quiet --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.22621\"\n```\n\n### Verify installation:\n```\nTest-Path \"C:\\Program Files\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\"\n```\n</details>\n\n</div>\n\n<a name=\"installation\"></a>\n<div align=\"center\"> <h2>Installation</h2></div>\n  \n### Download the latest \"release,\" extract, navigate to the `src` folder, and run the following commands:\n\n```\npython -m venv .\n```\n```\n.\\Scripts\\activate\n```\n```\npython setup_windows.py\n```\n```\npython gui.py\n```\n\n<div align=\"center\">\n\n### Inputs → Processing → Vector Database\n\n|                |                                                                                                                                                                                                          |\n| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 📂 **Ingest**  | 📄 `.pdf`, `.docx`, `.txt`, `.html`, `.htm`, `.md`, `.csv`, `.xls`, `.xlsx`, `.xlsm`, `.rtf`, `.eml`, `.msg`  <br> 🖼️ `.png`, `.jpg`, `.jpeg`, `.bmp`, `.gif`, `.tif`, `.tiff`  <br> 🎵 `.mp3`, `.wav`, `.m4a`, `.ogg`, `.wma`, `.flac` |\n| ⚙️ **Process** | 📝 Extract text from documents  <br> 🖼️ Generate descriptions from images  <br> 🎧 Transcribe speech from audio                                                                                         |\n| 🧠 **Store**   | All processed content is embedded and saved into the vector database for searching.                                                                                                              |\n\n### Query → LLM → Output\n\n|                 |                                                             |\n| --------------- | ----------------------------------------------------------- |\n| ❓ **Ask**       | ⌨️ Type **or** 🎙️ record a question                    |\n| 🧠 **Retrieve** | Relevant chunks are pulled from the vector database         |\n| 🤖 **Generate** | Sent to an LLM (Local Model, [Kobold](https://github.com/LostRuins/koboldcpp), [LM Studio](https://lmstudio.ai/), or ChatGPT) |\n| 💬 **Respond**  | LLM returns an answer based on the context you provided        |\n| 🔊 **Optional** | Text-to-speech can read the response aloud                  |\n\n</div>\n\n<div align=\"center\"> <h2>Usage</h2></div>\n\n> [!NOTE]\n> Instructions on how to use the program are being consolidated into the `Ask Jeeves` functionality, which can be accessed from the \"Ask Jeeves\" menu option.  Please create an issue if Jeeves is not working.\n\n<a name=\"request-a-feature-or-report-a-bug\"></a>\n\n<div align=\"center\"> <h2>Request a Feature or Report a Bug</h2></div>\n\nFeel free to report bugs or request enhancements by creating an issue on github and I will respond promptly.\n\n<a name=\"contact\"></a>\n<div align=\"center\"><h2>Contact</h2></div>\n\nI welcome all suggestions - both positive and negative.  You can e-mail me directly at \"bbc@chintellalaw.com\" or I can frequently be seen on the ```KoboldAI``` Discord server (moniker is ```vic49```).  I am always happy to answer any quesitons or discuss anything vector database related!  (no formal affiliation with ```KoboldAI```).\n"
  },
  {
    "path": "Tokenizer/special_tokens_map.json",
    "content": "{\n  \"bos_token\": \"<s>\",\n  \"eos_token\": \"</s>\",\n  \"unk_token\": \"<unk>\"\n}\n"
  },
  {
    "path": "Tokenizer/tokenizer.json",
    "content": "{\n  \"version\": \"1.0\",\n  \"truncation\": null,\n  \"padding\": null,\n  \"added_tokens\": [\n    {\n      \"id\": 0,\n      \"content\": \"<unk>\",\n      \"single_word\": false,\n      \"lstrip\": false,\n      \"rstrip\": false,\n      \"normalized\": false,\n      \"special\": true\n    },\n    {\n      \"id\": 1,\n      \"content\": \"<s>\",\n      \"single_word\": false,\n      \"lstrip\": false,\n      \"rstrip\": false,\n      \"normalized\": false,\n      \"special\": true\n    },\n    {\n      \"id\": 2,\n      \"content\": \"</s>\",\n      \"single_word\": false,\n      \"lstrip\": false,\n      \"rstrip\": false,\n      \"normalized\": false,\n      \"special\": true\n    }\n  ],\n  \"normalizer\": {\n    \"type\": \"Sequence\",\n    \"normalizers\": [\n      {\n        \"type\": \"Prepend\",\n        \"prepend\": \"▁\"\n      },\n      {\n        \"type\": \"Replace\",\n        \"pattern\": {\n          \"String\": \" \"\n        },\n        \"content\": \"▁\"\n      }\n    ]\n  },\n  \"pre_tokenizer\": null,\n  \"post_processor\": {\n    \"type\": \"TemplateProcessing\",\n    \"single\": [\n      {\n        \"SpecialToken\": {\n          \"id\": \"<s>\",\n          \"type_id\": 0\n        }\n      },\n      {\n        \"Sequence\": {\n          \"id\": \"A\",\n          \"type_id\": 0\n        }\n      }\n    ],\n    \"pair\": [\n      {\n        \"SpecialToken\": {\n          \"id\": \"<s>\",\n          \"type_id\": 0\n        }\n      },\n      {\n        \"Sequence\": {\n          \"id\": \"A\",\n          \"type_id\": 0\n        }\n      },\n      {\n        \"SpecialToken\": {\n          \"id\": \"<s>\",\n          \"type_id\": 1\n        }\n      },\n      {\n        \"Sequence\": {\n          \"id\": \"B\",\n          \"type_id\": 1\n        }\n      }\n    ],\n    \"special_tokens\": {\n      \"<s>\": {\n        \"id\": \"<s>\",\n        \"ids\": [\n          1\n        ],\n        \"tokens\": [\n          \"<s>\"\n        ]\n      }\n    }\n  },\n  \"decoder\": {\n    \"type\": \"Sequence\",\n    \"decoders\": [\n      {\n        \"type\": \"Replace\",\n        \"pattern\": {\n          \"String\": \"▁\"\n        },\n        \"content\": \" \"\n      },\n      {\n        \"type\": \"ByteFallback\"\n      },\n      {\n        \"type\": \"Fuse\"\n      },\n      {\n        \"type\": \"Strip\",\n        \"content\": \" \",\n        \"start\": 1,\n        \"stop\": 0\n      }\n    ]\n  },\n  \"model\": {\n    \"type\": \"BPE\",\n    \"dropout\": null,\n    \"unk_token\": \"<unk>\",\n    \"continuing_subword_prefix\": null,\n    \"end_of_word_suffix\": null,\n    \"fuse_unk\": true,\n    \"byte_fallback\": true,\n    \"vocab\": {\n      \"<unk>\": 0,\n      \"<s>\": 1,\n      \"</s>\": 2,\n      \"<0x00>\": 3,\n      \"<0x01>\": 4,\n      \"<0x02>\": 5,\n      \"<0x03>\": 6,\n      \"<0x04>\": 7,\n      \"<0x05>\": 8,\n      \"<0x06>\": 9,\n      \"<0x07>\": 10,\n      \"<0x08>\": 11,\n      \"<0x09>\": 12,\n      \"<0x0A>\": 13,\n      \"<0x0B>\": 14,\n      \"<0x0C>\": 15,\n      \"<0x0D>\": 16,\n      \"<0x0E>\": 17,\n      \"<0x0F>\": 18,\n      \"<0x10>\": 19,\n      \"<0x11>\": 20,\n      \"<0x12>\": 21,\n      \"<0x13>\": 22,\n      \"<0x14>\": 23,\n      \"<0x15>\": 24,\n      \"<0x16>\": 25,\n      \"<0x17>\": 26,\n      \"<0x18>\": 27,\n      \"<0x19>\": 28,\n      \"<0x1A>\": 29,\n      \"<0x1B>\": 30,\n      \"<0x1C>\": 31,\n      \"<0x1D>\": 32,\n      \"<0x1E>\": 33,\n      \"<0x1F>\": 34,\n      \"<0x20>\": 35,\n      \"<0x21>\": 36,\n      \"<0x22>\": 37,\n      \"<0x23>\": 38,\n      \"<0x24>\": 39,\n      \"<0x25>\": 40,\n      \"<0x26>\": 41,\n      \"<0x27>\": 42,\n      \"<0x28>\": 43,\n      \"<0x29>\": 44,\n      \"<0x2A>\": 45,\n      \"<0x2B>\": 46,\n      \"<0x2C>\": 47,\n      \"<0x2D>\": 48,\n      \"<0x2E>\": 49,\n      \"<0x2F>\": 50,\n      \"<0x30>\": 51,\n      \"<0x31>\": 52,\n      \"<0x32>\": 53,\n      \"<0x33>\": 54,\n      \"<0x34>\": 55,\n      \"<0x35>\": 56,\n      \"<0x36>\": 57,\n      \"<0x37>\": 58,\n      \"<0x38>\": 59,\n      \"<0x39>\": 60,\n      \"<0x3A>\": 61,\n      \"<0x3B>\": 62,\n      \"<0x3C>\": 63,\n      \"<0x3D>\": 64,\n      \"<0x3E>\": 65,\n      \"<0x3F>\": 66,\n      \"<0x40>\": 67,\n      \"<0x41>\": 68,\n      \"<0x42>\": 69,\n      \"<0x43>\": 70,\n      \"<0x44>\": 71,\n      \"<0x45>\": 72,\n      \"<0x46>\": 73,\n      \"<0x47>\": 74,\n      \"<0x48>\": 75,\n      \"<0x49>\": 76,\n      \"<0x4A>\": 77,\n      \"<0x4B>\": 78,\n      \"<0x4C>\": 79,\n      \"<0x4D>\": 80,\n      \"<0x4E>\": 81,\n      \"<0x4F>\": 82,\n      \"<0x50>\": 83,\n      \"<0x51>\": 84,\n      \"<0x52>\": 85,\n      \"<0x53>\": 86,\n      \"<0x54>\": 87,\n      \"<0x55>\": 88,\n      \"<0x56>\": 89,\n      \"<0x57>\": 90,\n      \"<0x58>\": 91,\n      \"<0x59>\": 92,\n      \"<0x5A>\": 93,\n      \"<0x5B>\": 94,\n      \"<0x5C>\": 95,\n      \"<0x5D>\": 96,\n      \"<0x5E>\": 97,\n      \"<0x5F>\": 98,\n      \"<0x60>\": 99,\n      \"<0x61>\": 100,\n      \"<0x62>\": 101,\n      \"<0x63>\": 102,\n      \"<0x64>\": 103,\n      \"<0x65>\": 104,\n      \"<0x66>\": 105,\n      \"<0x67>\": 106,\n      \"<0x68>\": 107,\n      \"<0x69>\": 108,\n      \"<0x6A>\": 109,\n      \"<0x6B>\": 110,\n      \"<0x6C>\": 111,\n      \"<0x6D>\": 112,\n      \"<0x6E>\": 113,\n      \"<0x6F>\": 114,\n      \"<0x70>\": 115,\n      \"<0x71>\": 116,\n      \"<0x72>\": 117,\n      \"<0x73>\": 118,\n      \"<0x74>\": 119,\n      \"<0x75>\": 120,\n      \"<0x76>\": 121,\n      \"<0x77>\": 122,\n      \"<0x78>\": 123,\n      \"<0x79>\": 124,\n      \"<0x7A>\": 125,\n      \"<0x7B>\": 126,\n      \"<0x7C>\": 127,\n      \"<0x7D>\": 128,\n      \"<0x7E>\": 129,\n      \"<0x7F>\": 130,\n      \"<0x80>\": 131,\n      \"<0x81>\": 132,\n      \"<0x82>\": 133,\n      \"<0x83>\": 134,\n      \"<0x84>\": 135,\n      \"<0x85>\": 136,\n      \"<0x86>\": 137,\n      \"<0x87>\": 138,\n      \"<0x88>\": 139,\n      \"<0x89>\": 140,\n      \"<0x8A>\": 141,\n      \"<0x8B>\": 142,\n      \"<0x8C>\": 143,\n      \"<0x8D>\": 144,\n      \"<0x8E>\": 145,\n      \"<0x8F>\": 146,\n      \"<0x90>\": 147,\n      \"<0x91>\": 148,\n      \"<0x92>\": 149,\n      \"<0x93>\": 150,\n      \"<0x94>\": 151,\n      \"<0x95>\": 152,\n      \"<0x96>\": 153,\n      \"<0x97>\": 154,\n      \"<0x98>\": 155,\n      \"<0x99>\": 156,\n      \"<0x9A>\": 157,\n      \"<0x9B>\": 158,\n      \"<0x9C>\": 159,\n      \"<0x9D>\": 160,\n      \"<0x9E>\": 161,\n      \"<0x9F>\": 162,\n      \"<0xA0>\": 163,\n      \"<0xA1>\": 164,\n      \"<0xA2>\": 165,\n      \"<0xA3>\": 166,\n      \"<0xA4>\": 167,\n      \"<0xA5>\": 168,\n      \"<0xA6>\": 169,\n      \"<0xA7>\": 170,\n      \"<0xA8>\": 171,\n      \"<0xA9>\": 172,\n      \"<0xAA>\": 173,\n      \"<0xAB>\": 174,\n      \"<0xAC>\": 175,\n      \"<0xAD>\": 176,\n      \"<0xAE>\": 177,\n      \"<0xAF>\": 178,\n      \"<0xB0>\": 179,\n      \"<0xB1>\": 180,\n      \"<0xB2>\": 181,\n      \"<0xB3>\": 182,\n      \"<0xB4>\": 183,\n      \"<0xB5>\": 184,\n      \"<0xB6>\": 185,\n      \"<0xB7>\": 186,\n      \"<0xB8>\": 187,\n      \"<0xB9>\": 188,\n      \"<0xBA>\": 189,\n      \"<0xBB>\": 190,\n      \"<0xBC>\": 191,\n      \"<0xBD>\": 192,\n      \"<0xBE>\": 193,\n      \"<0xBF>\": 194,\n      \"<0xC0>\": 195,\n      \"<0xC1>\": 196,\n      \"<0xC2>\": 197,\n      \"<0xC3>\": 198,\n      \"<0xC4>\": 199,\n      \"<0xC5>\": 200,\n      \"<0xC6>\": 201,\n      \"<0xC7>\": 202,\n      \"<0xC8>\": 203,\n      \"<0xC9>\": 204,\n      \"<0xCA>\": 205,\n      \"<0xCB>\": 206,\n      \"<0xCC>\": 207,\n      \"<0xCD>\": 208,\n      \"<0xCE>\": 209,\n      \"<0xCF>\": 210,\n      \"<0xD0>\": 211,\n      \"<0xD1>\": 212,\n      \"<0xD2>\": 213,\n      \"<0xD3>\": 214,\n      \"<0xD4>\": 215,\n      \"<0xD5>\": 216,\n      \"<0xD6>\": 217,\n      \"<0xD7>\": 218,\n      \"<0xD8>\": 219,\n      \"<0xD9>\": 220,\n      \"<0xDA>\": 221,\n      \"<0xDB>\": 222,\n      \"<0xDC>\": 223,\n      \"<0xDD>\": 224,\n      \"<0xDE>\": 225,\n      \"<0xDF>\": 226,\n      \"<0xE0>\": 227,\n      \"<0xE1>\": 228,\n      \"<0xE2>\": 229,\n      \"<0xE3>\": 230,\n      \"<0xE4>\": 231,\n      \"<0xE5>\": 232,\n      \"<0xE6>\": 233,\n      \"<0xE7>\": 234,\n      \"<0xE8>\": 235,\n      \"<0xE9>\": 236,\n      \"<0xEA>\": 237,\n      \"<0xEB>\": 238,\n      \"<0xEC>\": 239,\n      \"<0xED>\": 240,\n      \"<0xEE>\": 241,\n      \"<0xEF>\": 242,\n      \"<0xF0>\": 243,\n      \"<0xF1>\": 244,\n      \"<0xF2>\": 245,\n      \"<0xF3>\": 246,\n      \"<0xF4>\": 247,\n      \"<0xF5>\": 248,\n      \"<0xF6>\": 249,\n      \"<0xF7>\": 250,\n      \"<0xF8>\": 251,\n      \"<0xF9>\": 252,\n      \"<0xFA>\": 253,\n      \"<0xFB>\": 254,\n      \"<0xFC>\": 255,\n      \"<0xFD>\": 256,\n      \"<0xFE>\": 257,\n      \"<0xFF>\": 258,\n      \"▁▁\": 259,\n      \"▁▁▁▁\": 260,\n      \"▁t\": 261,\n      \"in\": 262,\n      \"er\": 263,\n      \"▁a\": 264,\n      \"he\": 265,\n      \"on\": 266,\n      \"re\": 267,\n      \"▁s\": 268,\n      \"en\": 269,\n      \"at\": 270,\n      \"or\": 271,\n      \"▁the\": 272,\n      \"▁▁▁▁▁▁▁▁\": 273,\n      \"es\": 274,\n      \"▁w\": 275,\n      \"an\": 276,\n      \"▁c\": 277,\n      \"is\": 278,\n      \"it\": 279,\n      \"ou\": 280,\n      \"▁d\": 281,\n      \"al\": 282,\n      \"ar\": 283,\n      \"▁p\": 284,\n      \"▁f\": 285,\n      \"ed\": 286,\n      \"▁b\": 287,\n      \"ing\": 288,\n      \"▁o\": 289,\n      \"▁m\": 290,\n      \"le\": 291,\n      \"nd\": 292,\n      \"as\": 293,\n      \"ic\": 294,\n      \"▁h\": 295,\n      \"ion\": 296,\n      \"▁in\": 297,\n      \"▁to\": 298,\n      \"et\": 299,\n      \"om\": 300,\n      \"el\": 301,\n      \"▁of\": 302,\n      \"st\": 303,\n      \"▁and\": 304,\n      \"▁l\": 305,\n      \"▁th\": 306,\n      \"▁n\": 307,\n      \"ent\": 308,\n      \"il\": 309,\n      \"ct\": 310,\n      \"ro\": 311,\n      \"▁re\": 312,\n      \"id\": 313,\n      \"am\": 314,\n      \"▁I\": 315,\n      \"ad\": 316,\n      \"▁e\": 317,\n      \"▁S\": 318,\n      \"▁g\": 319,\n      \"▁T\": 320,\n      \"im\": 321,\n      \"ot\": 322,\n      \"ac\": 323,\n      \"ur\": 324,\n      \"▁(\": 325,\n      \"ig\": 326,\n      \"▁=\": 327,\n      \"ol\": 328,\n      \"ut\": 329,\n      \"▁A\": 330,\n      \"se\": 331,\n      \"▁u\": 332,\n      \"ve\": 333,\n      \"▁C\": 334,\n      \"if\": 335,\n      \"ow\": 336,\n      \"▁y\": 337,\n      \"ch\": 338,\n      \"ay\": 339,\n      \"▁de\": 340,\n      \"▁st\": 341,\n      \"▁|\": 342,\n      \"ver\": 343,\n      \");\": 344,\n      \"▁\\\"\": 345,\n      \"ly\": 346,\n      \"▁be\": 347,\n      \"**\": 348,\n      \"▁is\": 349,\n      \"od\": 350,\n      \"▁M\": 351,\n      \"ation\": 352,\n      \"ul\": 353,\n      \"▁for\": 354,\n      \"▁▁▁▁▁\": 355,\n      \"▁on\": 356,\n      \"ag\": 357,\n      \"ce\": 358,\n      \"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\": 359,\n      \"ter\": 360,\n      \"ir\": 361,\n      \"th\": 362,\n      \"▁v\": 363,\n      \"qu\": 364,\n      \"▁B\": 365,\n      \"em\": 366,\n      \"▁P\": 367,\n      \"▁you\": 368,\n      \"▁that\": 369,\n      \"un\": 370,\n      \"▁{\": 371,\n      \"ith\": 372,\n      \"ri\": 373,\n      \"est\": 374,\n      \"ab\": 375,\n      \"--\": 376,\n      \"ap\": 377,\n      \"▁it\": 378,\n      \"▁con\": 379,\n      \"ate\": 380,\n      \"us\": 381,\n      \"▁H\": 382,\n      \"um\": 383,\n      \"▁D\": 384,\n      \"os\": 385,\n      \"pe\": 386,\n      \"▁-\": 387,\n      \"▁wh\": 388,\n      \"▁al\": 389,\n      \"▁as\": 390,\n      \"and\": 391,\n      \"ist\": 392,\n      \"▁L\": 393,\n      \"▁W\": 394,\n      \"▁with\": 395,\n      \"▁an\": 396,\n      \"ere\": 397,\n      \"▁*\": 398,\n      \"▁R\": 399,\n      \"▁he\": 400,\n      \"▁F\": 401,\n      \"oc\": 402,\n      \"▁was\": 403,\n      \"ers\": 404,\n      \"ke\": 405,\n      \"out\": 406,\n      \"ht\": 407,\n      \"▁r\": 408,\n      \"ess\": 409,\n      \"op\": 410,\n      \"res\": 411,\n      \"ie\": 412,\n      \"▁E\": 413,\n      \"▁\\\\\": 414,\n      \"▁The\": 415,\n      \"end\": 416,\n      \"ld\": 417,\n      \"▁N\": 418,\n      \"ort\": 419,\n      \"▁G\": 420,\n      \"//\": 421,\n      \"▁#\": 422,\n      \"our\": 423,\n      \"te\": 424,\n      \"ill\": 425,\n      \"ain\": 426,\n      \"▁se\": 427,\n      \"▁▁▁▁▁▁\": 428,\n      \"▁$\": 429,\n      \"▁pro\": 430,\n      \"ore\": 431,\n      \"▁com\": 432,\n      \"ame\": 433,\n      \"tr\": 434,\n      \"▁ne\": 435,\n      \"rom\": 436,\n      \"ub\": 437,\n      \"▁at\": 438,\n      \"▁ex\": 439,\n      \"ant\": 440,\n      \"ue\": 441,\n      \"▁or\": 442,\n      \"▁}\": 443,\n      \"art\": 444,\n      \"ction\": 445,\n      \"▁k\": 446,\n      \"pt\": 447,\n      \"nt\": 448,\n      \"iv\": 449,\n      \"de\": 450,\n      \"▁O\": 451,\n      \"pl\": 452,\n      \"urn\": 453,\n      \"ight\": 454,\n      \"all\": 455,\n      \"▁this\": 456,\n      \"ser\": 457,\n      \"ave\": 458,\n      \"▁not\": 459,\n      \"▁are\": 460,\n      \"▁j\": 461,\n      \"▁le\": 462,\n      \"iz\": 463,\n      \"▁'\": 464,\n      \"age\": 465,\n      \"ment\": 466,\n      \"▁tr\": 467,\n      \"ack\": 468,\n      \"ust\": 469,\n      \"()\": 470,\n      \"->\": 471,\n      \"ity\": 472,\n      \"ine\": 473,\n      \"ould\": 474,\n      \"▁J\": 475,\n      \"og\": 476,\n      \"▁from\": 477,\n      \"▁we\": 478,\n      \"ell\": 479,\n      \"▁sh\": 480,\n      \"▁en\": 481,\n      \"ure\": 482,\n      \"port\": 483,\n      \"▁ch\": 484,\n      \"ne\": 485,\n      \"▁by\": 486,\n      \"per\": 487,\n      \"ard\": 488,\n      \"ass\": 489,\n      \"ge\": 490,\n      \"ak\": 491,\n      \"are\": 492,\n      \"ok\": 493,\n      \"av\": 494,\n      \"ive\": 495,\n      \"ff\": 496,\n      \"ies\": 497,\n      \"ath\": 498,\n      \"turn\": 499,\n      \"▁U\": 500,\n      \"int\": 501,\n      \"----\": 502,\n      \"▁im\": 503,\n      \"ost\": 504,\n      \"ial\": 505,\n      \"▁have\": 506,\n      \"ind\": 507,\n      \"ip\": 508,\n      \"ans\": 509,\n      \"xt\": 510,\n      \"▁do\": 511,\n      \"cl\": 512,\n      \"▁if\": 513,\n      \"con\": 514,\n      \"ia\": 515,\n      \"▁his\": 516,\n      \"ult\": 517,\n      \"rou\": 518,\n      \"▁su\": 519,\n      \"ra\": 520,\n      \"▁un\": 521,\n      \"able\": 522,\n      \"▁<\": 523,\n      \"▁K\": 524,\n      \"ome\": 525,\n      \"▁qu\": 526,\n      \"get\": 527,\n      \"▁me\": 528,\n      \"ast\": 529,\n      \"ect\": 530,\n      \"▁##\": 531,\n      \"to\": 532,\n      \"▁cl\": 533,\n      \"▁ab\": 534,\n      \"ice\": 535,\n      \"ire\": 536,\n      \"ber\": 537,\n      \"one\": 538,\n      \"ich\": 539,\n      \"hen\": 540,\n      \"▁can\": 541,\n      \"▁Th\": 542,\n      \"▁la\": 543,\n      \"▁all\": 544,\n      \"ime\": 545,\n      \"ile\": 546,\n      \"ide\": 547,\n      \"\\\",\": 548,\n      \"▁pl\": 549,\n      \"▁V\": 550,\n      \"ru\": 551,\n      \"orm\": 552,\n      \"▁had\": 553,\n      \"ud\": 554,\n      \"ase\": 555,\n      \"ord\": 556,\n      \"),\": 557,\n      \"▁▁▁▁▁▁▁▁▁▁▁▁\": 558,\n      \"▁her\": 559,\n      \"▁In\": 560,\n      \"ace\": 561,\n      \"▁but\": 562,\n      \"ata\": 563,\n      \"::\": 564,\n      \"****\": 565,\n      \"ong\": 566,\n      \"▁&\": 567,\n      \"..\": 568,\n      \"▁▁▁▁▁▁▁▁▁▁▁▁▁\": 569,\n      \"ite\": 570,\n      \"ype\": 571,\n      \"act\": 572,\n      \"ode\": 573,\n      \"▁your\": 574,\n      \"▁out\": 575,\n      \"▁go\": 576,\n      \"lic\": 577,\n      \"ally\": 578,\n      \"▁so\": 579,\n      \"ork\": 580,\n      \"au\": 581,\n      \"▁up\": 582,\n      \"▁_\": 583,\n      \"ll\": 584,\n      \"==\": 585,\n      \"▁my\": 586,\n      \"pp\": 587,\n      \"cc\": 588,\n      \"▁//\": 589,\n      \"▁they\": 590,\n      \"gh\": 591,\n      \"▁us\": 592,\n      \"ib\": 593,\n      \"ions\": 594,\n      \"ach\": 595,\n      \"ens\": 596,\n      \"▁ar\": 597,\n      \"ob\": 598,\n      \"elf\": 599,\n      \"ook\": 600,\n      \"ated\": 601,\n      \"ang\": 602,\n      \"ign\": 603,\n      \"▁return\": 604,\n      \"▁res\": 605,\n      \"ck\": 606,\n      \"ous\": 607,\n      \"ст\": 608,\n      \").\": 609,\n      \"▁п\": 610,\n      \".\\\"\": 611,\n      \"на\": 612,\n      \"▁i\": 613,\n      \"ail\": 614,\n      \"ep\": 615,\n      \"▁ad\": 616,\n      \"ance\": 617,\n      \"(\\\"\": 618,\n      \"▁**\": 619,\n      \"ther\": 620,\n      \"ake\": 621,\n      \"▁will\": 622,\n      \"▁comp\": 623,\n      \"▁one\": 624,\n      \"▁get\": 625,\n      \"ov\": 626,\n      \"▁Y\": 627,\n      \"ary\": 628,\n      \"ock\": 629,\n      \"▁she\": 630,\n      \"che\": 631,\n      \"ft\": 632,\n      \"▁new\": 633,\n      \"▁des\": 634,\n      \"▁li\": 635,\n      \"ence\": 636,\n      \"▁sa\": 637,\n      \"ress\": 638,\n      \"▁el\": 639,\n      \"▁und\": 640,\n      \"eg\": 641,\n      \"fer\": 642,\n      \"ry\": 643,\n      \"ear\": 644,\n      \"ose\": 645,\n      \"very\": 646,\n      \"',\": 647,\n      \"▁+\": 648,\n      \"▁в\": 649,\n      \"▁He\": 650,\n      \"ublic\": 651,\n      \"▁their\": 652,\n      \"ize\": 653,\n      \"▁were\": 654,\n      \"ink\": 655,\n      \"own\": 656,\n      \"In\": 657,\n      \"{\\\\\": 658,\n      \"▁has\": 659,\n      \"▁per\": 660,\n      \"▁It\": 661,\n      \"▁St\": 662,\n      \"her\": 663,\n      \"ject\": 664,\n      \"ра\": 665,\n      \"ild\": 666,\n      \"so\": 667,\n      \"▁sp\": 668,\n      \"ни\": 669,\n      \"du\": 670,\n      \"row\": 671,\n      \"alue\": 672,\n      \"set\": 673,\n      \"form\": 674,\n      \"com\": 675,\n      \"▁man\": 676,\n      \"ont\": 677,\n      \"ull\": 678,\n      \"▁cont\": 679,\n      \"▁more\": 680,\n      \"ick\": 681,\n      \"▁would\": 682,\n      \"▁ev\": 683,\n      \"▁about\": 684,\n      \"ition\": 685,\n      \"▁z\": 686,\n      \"ound\": 687,\n      \"ree\": 688,\n      \"▁Ch\": 689,\n      \"▁which\": 690,\n      \"io\": 691,\n      \"();\": 692,\n      \"▁who\": 693,\n      \"err\": 694,\n      \"ory\": 695,\n      \"ount\": 696,\n      \"ations\": 697,\n      \"▁с\": 698,\n      \"ring\": 699,\n      \"</\": 700,\n      \"▁fe\": 701,\n      \"ко\": 702,\n      \"но\": 703,\n      \"▁dis\": 704,\n      \"ma\": 705,\n      \"▁them\": 706,\n      \"▁any\": 707,\n      \"▁no\": 708,\n      \"--------\": 709,\n      \"▁pre\": 710,\n      \"▁te\": 711,\n      \"▁ro\": 712,\n      \"▁him\": 713,\n      \"▁:\": 714,\n      \"up\": 715,\n      \"▁int\": 716,\n      \"▁ag\": 717,\n      \"St\": 718,\n      \"ark\": 719,\n      \"ex\": 720,\n      \"ph\": 721,\n      \"ient\": 722,\n      \"ely\": 723,\n      \"▁pr\": 724,\n      \"ER\": 725,\n      \"▁import\": 726,\n      \"▁time\": 727,\n      \"ро\": 728,\n      \"pro\": 729,\n      \"User\": 730,\n      \"lo\": 731,\n      \"▁/\": 732,\n      \"▁[\": 733,\n      \"ors\": 734,\n      \"=\\\"\": 735,\n      \"▁there\": 736,\n      \"▁like\": 737,\n      \"old\": 738,\n      \"▁when\": 739,\n      \"vers\": 740,\n      \"▁some\": 741,\n      \"ings\": 742,\n      \"))\": 743,\n      \"▁part\": 744,\n      \"ical\": 745,\n      \"▁fun\": 746,\n      \"▁kn\": 747,\n      \"ays\": 748,\n      \"ier\": 749,\n      \"▁been\": 750,\n      \"ove\": 751,\n      \"▁sc\": 752,\n      \"ian\": 753,\n      \"▁over\": 754,\n      \"iel\": 755,\n      \"▁▁▁▁▁▁▁▁▁▁\": 756,\n      \"▁pe\": 757,\n      \"rib\": 758,\n      \"put\": 759,\n      \"ec\": 760,\n      \"eth\": 761,\n      \"aram\": 762,\n      \"app\": 763,\n      \"▁–\": 764,\n      \"▁stat\": 765,\n      \"pon\": 766,\n      \"▁what\": 767,\n      \"ption\": 768,\n      \"we\": 769,\n      \"ade\": 770,\n      \"▁work\": 771,\n      \"text\": 772,\n      \"▁said\": 773,\n      \"▁###\": 774,\n      \"IN\": 775,\n      \"▁just\": 776,\n      \"irst\": 777,\n      \"▁into\": 778,\n      \"▁const\": 779,\n      \"ource\": 780,\n      \"tt\": 781,\n      \"ps\": 782,\n      \"pr\": 783,\n      \"erv\": 784,\n      \"itt\": 785,\n      \"ug\": 786,\n      \"_{\": 787,\n      \"ents\": 788,\n      \"ish\": 789,\n      \"ener\": 790,\n      \"▁inter\": 791,\n      \"ple\": 792,\n      \"oll\": 793,\n      \"mer\": 794,\n      \"ater\": 795,\n      \"ool\": 796,\n      \"ef\": 797,\n      \"▁public\": 798,\n      \"▁other\": 799,\n      \"ре\": 800,\n      \"▁def\": 801,\n      \"▁@\": 802,\n      \"го\": 803,\n      \"oint\": 804,\n      \"▁off\": 805,\n      \"oid\": 806,\n      \"return\": 807,\n      \"▁set\": 808,\n      \"wo\": 809,\n      \"fter\": 810,\n      \"sh\": 811,\n      \"********\": 812,\n      \"▁our\": 813,\n      \"riv\": 814,\n      \"iss\": 815,\n      \"▁We\": 816,\n      \"ng\": 817,\n      \"▁ob\": 818,\n      \"ss\": 819,\n      \"gr\": 820,\n      \"▁than\": 821,\n      \"pect\": 822,\n      \"ied\": 823,\n      \"sc\": 824,\n      \"iew\": 825,\n      \"der\": 826,\n      \"yst\": 827,\n      \"ev\": 828,\n      \"▁could\": 829,\n      \"ann\": 830,\n      \"enc\": 831,\n      \"ON\": 832,\n      \"ix\": 833,\n      \"anc\": 834,\n      \"▁also\": 835,\n      \"reat\": 836,\n      \"▁am\": 837,\n      \"▁bec\": 838,\n      \"▁и\": 839,\n      \"ual\": 840,\n      \"pec\": 841,\n      \"▁.\": 842,\n      \"▁bl\": 843,\n      \"lect\": 844,\n      \"ople\": 845,\n      \"ys\": 846,\n      \"▁gr\": 847,\n      \"ict\": 848,\n      \"ik\": 849,\n      \"tring\": 850,\n      \"▁This\": 851,\n      \"▁back\": 852,\n      \"▁о\": 853,\n      \"▁fin\": 854,\n      \"atch\": 855,\n      \"Con\": 856,\n      \"('\": 857,\n      \"erm\": 858,\n      \"▁==\": 859,\n      \"__\": 860,\n      \"name\": 861,\n      \",\\\"\": 862,\n      \"▁did\": 863,\n      \"ise\": 864,\n      \"▁only\": 865,\n      \"ruct\": 866,\n      \"les\": 867,\n      \"▁then\": 868,\n      \"ause\": 869,\n      \"ва\": 870,\n      \"▁its\": 871,\n      \"rit\": 872,\n      \"▁know\": 873,\n      \"ield\": 874,\n      \"▁class\": 875,\n      \"▁>\": 876,\n      \"▁em\": 877,\n      \"▁$\\\\\": 878,\n      \"▁year\": 879,\n      \"wn\": 880,\n      \"},\": 881,\n      \"▁del\": 882,\n      \"ale\": 883,\n      \"ty\": 884,\n      \"fig\": 885,\n      \"sp\": 886,\n      \"hed\": 887,\n      \"round\": 888,\n      \"ew\": 889,\n      \"▁di\": 890,\n      \"▁der\": 891,\n      \"ри\": 892,\n      \"red\": 893,\n      \"this\": 894,\n      \"let\": 895,\n      \"RE\": 896,\n      \"ax\": 897,\n      \"fr\": 898,\n      \"essage\": 899,\n      \"ough\": 900,\n      \"▁comm\": 901,\n      \"fo\": 902,\n      \"uch\": 903,\n      \"oy\": 904,\n      \"▁people\": 905,\n      \"ystem\": 906,\n      \"▁first\": 907,\n      \"▁function\": 908,\n      \"ange\": 909,\n      \"▁how\": 910,\n      \"▁et\": 911,\n      \"ah\": 912,\n      \"▁look\": 913,\n      \"то\": 914,\n      \"und\": 915,\n      \"▁under\": 916,\n      \"ка\": 917,\n      \"▁!\": 918,\n      \"ray\": 919,\n      \"ST\": 920,\n      \"ific\": 921,\n      \"ли\": 922,\n      \"read\": 923,\n      \"▁bet\": 924,\n      \"ious\": 925,\n      \"arg\": 926,\n      \"▁need\": 927,\n      \"math\": 928,\n      \"▁на\": 929,\n      \"ert\": 930,\n      \"▁op\": 931,\n      \"▁acc\": 932,\n      \"Pro\": 933,\n      \"▁est\": 934,\n      \"▁Un\": 935,\n      \"▁ent\": 936,\n      \"▁rec\": 937,\n      \"▁use\": 938,\n      \"ен\": 939,\n      \"▁par\": 940,\n      \"az\": 941,\n      \"▁д\": 942,\n      \"▁Wh\": 943,\n      \"self\": 944,\n      \"▁ke\": 945,\n      \"та\": 946,\n      \"▁want\": 947,\n      \"▁end\": 948,\n      \"▁don\": 949,\n      \"ek\": 950,\n      \"ren\": 951,\n      \"Name\": 952,\n      \"▁=>\": 953,\n      \"▁app\": 954,\n      \"▁que\": 955,\n      \"igh\": 956,\n      \"▁bu\": 957,\n      \"equ\": 958,\n      \"vel\": 959,\n      \"▁act\": 960,\n      \"cre\": 961,\n      \"AT\": 962,\n      \"▁var\": 963,\n      \"cess\": 964,\n      \"====\": 965,\n      \"Ex\": 966,\n      \"▁add\": 967,\n      \"▁mod\": 968,\n      \"ung\": 969,\n      \"▁where\": 970,\n      \"ning\": 971,\n      \"▁fl\": 972,\n      \"als\": 973,\n      \"tern\": 974,\n      \"}}\": 975,\n      \"▁Al\": 976,\n      \"▁pos\": 977,\n      \"ank\": 978,\n      \"▁ap\": 979,\n      \"eng\": 980,\n      \"▁“\": 981,\n      \"ble\": 982,\n      \"▁reg\": 983,\n      \"^{\": 984,\n      \"▁She\": 985,\n      \"▁*/\": 986,\n      \"ude\": 987,\n      \"add\": 988,\n      \"▁two\": 989,\n      \"▁col\": 990,\n      \"▁sm\": 991,\n      \"air\": 992,\n      \"▁may\": 993,\n      \"fore\": 994,\n      \"▁You\": 995,\n      \"rough\": 996,\n      \"▁che\": 997,\n      \"▁att\": 998,\n      \"oth\": 999,\n      \"ла\": 1000,\n      \"▁co\": 1001,\n      \"ates\": 1002,\n      \"▁rem\": 1003,\n      \"ood\": 1004,\n      \"Type\": 1005,\n      \"led\": 1006,\n      \"ful\": 1007,\n      \"▁self\": 1008,\n      \"of\": 1009,\n      \"▁Ar\": 1010,\n      \"que\": 1011,\n      \"▁every\": 1012,\n      \"ref\": 1013,\n      \"The\": 1014,\n      \"▁And\": 1015,\n      \"▁rel\": 1016,\n      \"OR\": 1017,\n      \"Id\": 1018,\n      \"▁even\": 1019,\n      \"EN\": 1020,\n      \"▁hand\": 1021,\n      \"ait\": 1022,\n      \"▁should\": 1023,\n      \"▁after\": 1024,\n      \"▁dif\": 1025,\n      \"ght\": 1026,\n      \"ife\": 1027,\n      \"ator\": 1028,\n      \"ash\": 1029,\n      \"ribut\": 1030,\n      \"umber\": 1031,\n      \"▁see\": 1032,\n      \"ms\": 1033,\n      \"▁call\": 1034,\n      \"yn\": 1035,\n      \"dd\": 1036,\n      \"▁es\": 1037,\n      \"▁make\": 1038,\n      \"other\": 1039,\n      \"▁—\": 1040,\n      \"\\\");\": 1041,\n      \"str\": 1042,\n      \"▁long\": 1043,\n      \"lement\": 1044,\n      \"▁wor\": 1045,\n      \"its\": 1046,\n      \"▁If\": 1047,\n      \"alse\": 1048,\n      \"ль\": 1049,\n      \"ward\": 1050,\n      \"▁по\": 1051,\n      \"val\": 1052,\n      \"ons\": 1053,\n      \"▁Z\": 1054,\n      \"▁now\": 1055,\n      \"data\": 1056,\n      \"amp\": 1057,\n      \"ense\": 1058,\n      \"▁through\": 1059,\n      \"▁down\": 1060,\n      \"att\": 1061,\n      \"▁static\": 1062,\n      \"ics\": 1063,\n      \"##\": 1064,\n      \"pos\": 1065,\n      \"▁void\": 1066,\n      \"aw\": 1067,\n      \"oun\": 1068,\n      \"▁way\": 1069,\n      \"ible\": 1070,\n      \"vent\": 1071,\n      \"ower\": 1072,\n      \"▁think\": 1073,\n      \"ts\": 1074,\n      \"*/\": 1075,\n      \"▁again\": 1076,\n      \"ating\": 1077,\n      \"те\": 1078,\n      \"ner\": 1079,\n      \"▁most\": 1080,\n      \"line\": 1081,\n      \"ym\": 1082,\n      \"▁sub\": 1083,\n      \"erson\": 1084,\n      \"▁requ\": 1085,\n      \"AL\": 1086,\n      \"AR\": 1087,\n      \"abel\": 1088,\n      \"ond\": 1089,\n      \"));\": 1090,\n      \"▁Se\": 1091,\n      \"▁But\": 1092,\n      \"alk\": 1093,\n      \"▁An\": 1094,\n      \"new\": 1095,\n      \"▁because\": 1096,\n      \"ger\": 1097,\n      \"ular\": 1098,\n      \"roup\": 1099,\n      \"ta\": 1100,\n      \"...\": 1101,\n      \"▁cons\": 1102,\n      \"▁right\": 1103,\n      \"▁fr\": 1104,\n      \"be\": 1105,\n      \"ily\": 1106,\n      \"ки\": 1107,\n      \"▁ph\": 1108,\n      \"ead\": 1109,\n      \"?\\\"\": 1110,\n      \"▁gu\": 1111,\n      \"▁else\": 1112,\n      \"▁som\": 1113,\n      \"rent\": 1114,\n      \"co\": 1115,\n      \"ement\": 1116,\n      \"▁str\": 1117,\n      \"ault\": 1118,\n      \"▁з\": 1119,\n      \"ло\": 1120,\n      \"sert\": 1121,\n      \"var\": 1122,\n      \"type\": 1123,\n      \"▁Com\": 1124,\n      \"ле\": 1125,\n      \"ins\": 1126,\n      \"me\": 1127,\n      \"way\": 1128,\n      \"ident\": 1129,\n      \"▁prov\": 1130,\n      \"▁м\": 1131,\n      \"▁true\": 1132,\n      \"▁Pro\": 1133,\n      \"fl\": 1134,\n      \"▁sl\": 1135,\n      \"▁As\": 1136,\n      \"}\\\\\": 1137,\n      \"ID\": 1138,\n      \"ues\": 1139,\n      \"▁inst\": 1140,\n      \"▁name\": 1141,\n      \"ox\": 1142,\n      \"▁)\": 1143,\n      \"li\": 1144,\n      \"ames\": 1145,\n      \"Res\": 1146,\n      \"▁sur\": 1147,\n      \"param\": 1148,\n      \"▁start\": 1149,\n      \"aj\": 1150,\n      \"SE\": 1151,\n      \"ask\": 1152,\n      \"IT\": 1153,\n      \"String\": 1154,\n      \"▁ass\": 1155,\n      \"▁play\": 1156,\n      \"ting\": 1157,\n      \"ton\": 1158,\n      \"▁before\": 1159,\n      \"▁pol\": 1160,\n      \"arch\": 1161,\n      \"▁well\": 1162,\n      \"Com\": 1163,\n      \"any\": 1164,\n      \"olog\": 1165,\n      \"▁err\": 1166,\n      \"▁these\": 1167,\n      \"ars\": 1168,\n      \"eb\": 1169,\n      \"▁br\": 1170,\n      \"▁incl\": 1171,\n      \"▁hel\": 1172,\n      \"ern\": 1173,\n      \"ody\": 1174,\n      \"во\": 1175,\n      \"▁ind\": 1176,\n      \"----------------\": 1177,\n      \"▁data\": 1178,\n      \"▁good\": 1179,\n      \"LE\": 1180,\n      \"],\": 1181,\n      \"▁av\": 1182,\n      \"▁ac\": 1183,\n      \"ider\": 1184,\n      \"не\": 1185,\n      \"▁Q\": 1186,\n      \"▁min\": 1187,\n      \"▁much\": 1188,\n      \"ci\": 1189,\n      \"els\": 1190,\n      \"▁cur\": 1191,\n      \"▁value\": 1192,\n      \"ery\": 1193,\n      \"uf\": 1194,\n      \"▁loc\": 1195,\n      \"reak\": 1196,\n      \"ative\": 1197,\n      \"imes\": 1198,\n      \"Cl\": 1199,\n      \"▁,\": 1200,\n      \"▁ser\": 1201,\n      \"▁die\": 1202,\n      \"▁trans\": 1203,\n      \"▁result\": 1204,\n      \"ext\": 1205,\n      \"▁aut\": 1206,\n      \"land\": 1207,\n      \"▁&&\": 1208,\n      \"Ch\": 1209,\n      \"ten\": 1210,\n      \"}$\": 1211,\n      \"▁type\": 1212,\n      \"cond\": 1213,\n      \"ices\": 1214,\n      \"▁very\": 1215,\n      \"▁own\": 1216,\n      \"▁fil\": 1217,\n      \"ities\": 1218,\n      \"▁produ\": 1219,\n      \"▁read\": 1220,\n      \"▁form\": 1221,\n      \"▁case\": 1222,\n      \"ather\": 1223,\n      \"ти\": 1224,\n      \"да\": 1225,\n      \"ер\": 1226,\n      \"Th\": 1227,\n      \"aut\": 1228,\n      \"▁spec\": 1229,\n      \"ij\": 1230,\n      \"bl\": 1231,\n      \"ility\": 1232,\n      \"▁é\": 1233,\n      \"▁er\": 1234,\n      \"▁does\": 1235,\n      \"▁here\": 1236,\n      \"the\": 1237,\n      \"ures\": 1238,\n      \"▁%\": 1239,\n      \"min\": 1240,\n      \"▁null\": 1241,\n      \"rap\": 1242,\n      \"\\\")\": 1243,\n      \"rr\": 1244,\n      \"List\": 1245,\n      \"right\": 1246,\n      \"▁User\": 1247,\n      \"UL\": 1248,\n      \"ational\": 1249,\n      \"▁being\": 1250,\n      \"AN\": 1251,\n      \"sk\": 1252,\n      \"▁car\": 1253,\n      \"ole\": 1254,\n      \"▁dist\": 1255,\n      \"plic\": 1256,\n      \"ollow\": 1257,\n      \"▁pres\": 1258,\n      \"▁such\": 1259,\n      \"ream\": 1260,\n      \"ince\": 1261,\n      \"gan\": 1262,\n      \"▁For\": 1263,\n      \"\\\":\": 1264,\n      \"son\": 1265,\n      \"rivate\": 1266,\n      \"▁years\": 1267,\n      \"▁serv\": 1268,\n      \"▁made\": 1269,\n      \"def\": 1270,\n      \";\\r\": 1271,\n      \"▁gl\": 1272,\n      \"▁bel\": 1273,\n      \"▁list\": 1274,\n      \"▁cor\": 1275,\n      \"▁det\": 1276,\n      \"ception\": 1277,\n      \"egin\": 1278,\n      \"▁б\": 1279,\n      \"▁char\": 1280,\n      \"trans\": 1281,\n      \"▁fam\": 1282,\n      \"▁!=\": 1283,\n      \"ouse\": 1284,\n      \"▁dec\": 1285,\n      \"ica\": 1286,\n      \"▁many\": 1287,\n      \"aking\": 1288,\n      \"▁à\": 1289,\n      \"▁sim\": 1290,\n      \"ages\": 1291,\n      \"uff\": 1292,\n      \"ased\": 1293,\n      \"man\": 1294,\n      \"▁Sh\": 1295,\n      \"iet\": 1296,\n      \"irect\": 1297,\n      \"▁Re\": 1298,\n      \"▁differ\": 1299,\n      \"▁find\": 1300,\n      \"ethod\": 1301,\n      \"▁\\r\": 1302,\n      \"ines\": 1303,\n      \"▁inv\": 1304,\n      \"▁point\": 1305,\n      \"▁They\": 1306,\n      \"▁used\": 1307,\n      \"ctions\": 1308,\n      \"▁still\": 1309,\n      \"ió\": 1310,\n      \"ined\": 1311,\n      \"▁while\": 1312,\n      \"It\": 1313,\n      \"ember\": 1314,\n      \"▁say\": 1315,\n      \"▁help\": 1316,\n      \"▁cre\": 1317,\n      \"▁x\": 1318,\n      \"▁Tr\": 1319,\n      \"ument\": 1320,\n      \"▁sk\": 1321,\n      \"ought\": 1322,\n      \"ually\": 1323,\n      \"message\": 1324,\n      \"▁Con\": 1325,\n      \"▁mon\": 1326,\n      \"ared\": 1327,\n      \"work\": 1328,\n      \"):\": 1329,\n      \"ister\": 1330,\n      \"arn\": 1331,\n      \"ized\": 1332,\n      \"Data\": 1333,\n      \"orn\": 1334,\n      \"▁head\": 1335,\n      \"DE\": 1336,\n      \"▁Le\": 1337,\n      \"▁person\": 1338,\n      \"ments\": 1339,\n      \"ength\": 1340,\n      \"▁false\": 1341,\n      \"▁med\": 1342,\n      \"▁De\": 1343,\n      \"ache\": 1344,\n      \"ited\": 1345,\n      \"▁let\": 1346,\n      \"▁show\": 1347,\n      \"▁same\": 1348,\n      \"uss\": 1349,\n      \"▁gener\": 1350,\n      \"▁у\": 1351,\n      \"cur\": 1352,\n      \"▁real\": 1353,\n      \"ced\": 1354,\n      \"\\\">\": 1355,\n      \"struct\": 1356,\n      \"begin\": 1357,\n      \"cept\": 1358,\n      \"▁bo\": 1359,\n      \"ired\": 1360,\n      \"▁Fr\": 1361,\n      \"▁stud\": 1362,\n      \"dev\": 1363,\n      \"Ar\": 1364,\n      \"(\\\\\": 1365,\n      \"▁Cl\": 1366,\n      \"ween\": 1367,\n      \"▁too\": 1368,\n      \"▁test\": 1369,\n      \"▁day\": 1370,\n      \"oh\": 1371,\n      \"▁follow\": 1372,\n      \"ature\": 1373,\n      \"ze\": 1374,\n      \"ien\": 1375,\n      \"reg\": 1376,\n      \"ces\": 1377,\n      \"uring\": 1378,\n      \"amb\": 1379,\n      \"ina\": 1380,\n      \"cri\": 1381,\n      \"▁ed\": 1382,\n      \"SS\": 1383,\n      \"uck\": 1384,\n      \"▁/*\": 1385,\n      \"CT\": 1386,\n      \"▁There\": 1387,\n      \"▁take\": 1388,\n      \"par\": 1389,\n      \"ule\": 1390,\n      \"cal\": 1391,\n      \"for\": 1392,\n      \"****************\": 1393,\n      \"source\": 1394,\n      \"▁those\": 1395,\n      \"col\": 1396,\n      \"▁eff\": 1397,\n      \"mod\": 1398,\n      \"cont\": 1399,\n      \"}{\": 1400,\n      \"▁around\": 1401,\n      \"press\": 1402,\n      \"by\": 1403,\n      \"▁going\": 1404,\n      \"ponse\": 1405,\n      \"▁С\": 1406,\n      \"▁line\": 1407,\n      \"date\": 1408,\n      \"code\": 1409,\n      \"['\": 1410,\n      \"▁life\": 1411,\n      \"ason\": 1412,\n      \"▁using\": 1413,\n      \"▁val\": 1414,\n      \"▁du\": 1415,\n      \"yp\": 1416,\n      \"▁▁▁▁▁▁▁▁▁▁▁▁▁▁\": 1417,\n      \"▁On\": 1418,\n      \"▁found\": 1419,\n      \"olut\": 1420,\n      \"']\": 1421,\n      \"arent\": 1422,\n      \"▁string\": 1423,\n      \"▁met\": 1424,\n      \"▁wr\": 1425,\n      \"ush\": 1426,\n      \"string\": 1427,\n      \"size\": 1428,\n      \"▁ver\": 1429,\n      \"▁each\": 1430,\n      \"value\": 1431,\n      \"▁last\": 1432,\n      \"▁got\": 1433,\n      \"ven\": 1434,\n      \"back\": 1435,\n      \"Set\": 1436,\n      \"ey\": 1437,\n      \"rol\": 1438,\n      \"▁cr\": 1439,\n      \"thing\": 1440,\n      \"ret\": 1441,\n      \"és\": 1442,\n      \"ism\": 1443,\n      \"▁between\": 1444,\n      \"Ob\": 1445,\n      \"ething\": 1446,\n      \"mp\": 1447,\n      \"▁lo\": 1448,\n      \"ats\": 1449,\n      \"▁New\": 1450,\n      \"ви\": 1451,\n      \"ado\": 1452,\n      \"dex\": 1453,\n      \"ди\": 1454,\n      \"▁pass\": 1455,\n      \"wh\": 1456,\n      \"▁den\": 1457,\n      \"Get\": 1458,\n      \"apt\": 1459,\n      \"▁ask\": 1460,\n      \"▁sup\": 1461,\n      \"Value\": 1462,\n      \"ны\": 1463,\n      \"▁try\": 1464,\n      \"lation\": 1465,\n      \"day\": 1466,\n      \"ness\": 1467,\n      \"ets\": 1468,\n      \"▁exper\": 1469,\n      \"Tr\": 1470,\n      \"▁Mar\": 1471,\n      \"serv\": 1472,\n      \"br\": 1473,\n      \"▁number\": 1474,\n      \"inal\": 1475,\n      \"cent\": 1476,\n      \"/*\": 1477,\n      \"not\": 1478,\n      \"ional\": 1479,\n      \"▁final\": 1480,\n      \"')\": 1481,\n      \"▁run\": 1482,\n      \"over\": 1483,\n      \"▁never\": 1484,\n      \"uc\": 1485,\n      \"▁high\": 1486,\n      \"yle\": 1487,\n      \"▁ins\": 1488,\n      \"▁best\": 1489,\n      \"ittle\": 1490,\n      \"ric\": 1491,\n      \"▁sign\": 1492,\n      \"▁dem\": 1493,\n      \"iness\": 1494,\n      \"gy\": 1495,\n      \"▁war\": 1496,\n      \"ished\": 1497,\n      \"▁giv\": 1498,\n      \"key\": 1499,\n      \"▁X\": 1500,\n      \"($\": 1501,\n      \"▁child\": 1502,\n      \"less\": 1503,\n      \"ways\": 1504,\n      \"incl\": 1505,\n      \"rop\": 1506,\n      \"raw\": 1507,\n      \"://\": 1508,\n      \"▁«\": 1509,\n      \"no\": 1510,\n      \"indow\": 1511,\n      \"fe\": 1512,\n      \"riend\": 1513,\n      \"▁les\": 1514,\n      \"▁los\": 1515,\n      \"file\": 1516,\n      \"formation\": 1517,\n      \"ccess\": 1518,\n      \"▁В\": 1519,\n      \"na\": 1520,\n      \"▁il\": 1521,\n      \"ision\": 1522,\n      \"ler\": 1523,\n      \"▁art\": 1524,\n      \"Cont\": 1525,\n      \"▁world\": 1526,\n      \"▁turn\": 1527,\n      \"▁really\": 1528,\n      \"▁Ex\": 1529,\n      \"ма\": 1530,\n      \"▁П\": 1531,\n      \"ters\": 1532,\n      \"arget\": 1533,\n      \"Err\": 1534,\n      \"▁happ\": 1535,\n      \"time\": 1536,\n      \"▁So\": 1537,\n      \"div\": 1538,\n      \"▁didn\": 1539,\n      \"ada\": 1540,\n      \"oot\": 1541,\n      \"})\": 1542,\n      \"▁sch\": 1543,\n      \"▁cle\": 1544,\n      \"▁something\": 1545,\n      \"().\": 1546,\n      \"▁cour\": 1547,\n      \"ever\": 1548,\n      \"ants\": 1549,\n      \"▁?\": 1550,\n      \"To\": 1551,\n      \"▁`\": 1552,\n      \"try\": 1553,\n      \"ux\": 1554,\n      \"ais\": 1555,\n      \"ross\": 1556,\n      \"hip\": 1557,\n      \"▁rep\": 1558,\n      \"label\": 1559,\n      \"▁both\": 1560,\n      \"*,\": 1561,\n      \"ott\": 1562,\n      \"ми\": 1563,\n      \"ane\": 1564,\n      \"▁open\": 1565,\n      \"ww\": 1566,\n      \"▁come\": 1567,\n      \"▁ext\": 1568,\n      \"rem\": 1569,\n      \"_{\\\\\": 1570,\n      \"▁old\": 1571,\n      \"ched\": 1572,\n      \"._\": 1573,\n      \"ME\": 1574,\n      \"ify\": 1575,\n      \"gg\": 1576,\n      \"Col\": 1577,\n      \"view\": 1578,\n      \"▁bus\": 1579,\n      \"▁must\": 1580,\n      \"▁different\": 1581,\n      \"log\": 1582,\n      \"ists\": 1583,\n      \"roll\": 1584,\n      \"ai\": 1585,\n      \"▁за\": 1586,\n      \"▁system\": 1587,\n      \"ivers\": 1588,\n      \"atus\": 1589,\n      \"ote\": 1590,\n      \"med\": 1591,\n      \"].\": 1592,\n      \"akes\": 1593,\n      \"RO\": 1594,\n      \"▁cent\": 1595,\n      \"gram\": 1596,\n      \"▁private\": 1597,\n      \"▁great\": 1598,\n      \"\\\";\": 1599,\n      \"opy\": 1600,\n      \"▁feel\": 1601,\n      \"▁How\": 1602,\n      \"////\": 1603,\n      \"IC\": 1604,\n      \"▁dr\": 1605,\n      \"ains\": 1606,\n      \"lock\": 1607,\n      \"En\": 1608,\n      \"▁Sch\": 1609,\n      \"▁mat\": 1610,\n      \"▁home\": 1611,\n      \"perty\": 1612,\n      \"test\": 1613,\n      \"loc\": 1614,\n      \"▁wom\": 1615,\n      \"sw\": 1616,\n      \"arly\": 1617,\n      \"▁En\": 1618,\n      \"▁ко\": 1619,\n      \"den\": 1620,\n      \"ста\": 1621,\n      \"▁а\": 1622,\n      \"eter\": 1623,\n      \"▁includ\": 1624,\n      \"ULL\": 1625,\n      \"▁mem\": 1626,\n      \"▁po\": 1627,\n      \"▁little\": 1628,\n      \"▁arg\": 1629,\n      \"▁},\": 1630,\n      \"include\": 1631,\n      \"eta\": 1632,\n      \"▁place\": 1633,\n      \"idth\": 1634,\n      \"ustom\": 1635,\n      \"▁||\": 1636,\n      \"▁tem\": 1637,\n      \"ried\": 1638,\n      \"▁fact\": 1639,\n      \"ience\": 1640,\n      \"▁Pl\": 1641,\n      \"opt\": 1642,\n      \"ele\": 1643,\n      \"go\": 1644,\n      \"AC\": 1645,\n      \"inter\": 1646,\n      \"========\": 1647,\n      \"(),\": 1648,\n      \"ots\": 1649,\n      \"ral\": 1650,\n      \"ique\": 1651,\n      \"aving\": 1652,\n      \"ml\": 1653,\n      \"▁thought\": 1654,\n      \"frac\": 1655,\n      \"▁care\": 1656,\n      \"());\": 1657,\n      \"▁put\": 1658,\n      \"▁might\": 1659,\n      \"▁Amer\": 1660,\n      \"▁(!\": 1661,\n      \"ample\": 1662,\n      \"alth\": 1663,\n      \"▁few\": 1664,\n      \"▁state\": 1665,\n      \"sub\": 1666,\n      \"▁Or\": 1667,\n      \"];\": 1668,\n      \"▁size\": 1669,\n      \"▁Sp\": 1670,\n      \"▁without\": 1671,\n      \"▁poss\": 1672,\n      \"eq\": 1673,\n      \"play\": 1674,\n      \"▁expect\": 1675,\n      \"▁second\": 1676,\n      \"▁String\": 1677,\n      \"uild\": 1678,\n      \"▁next\": 1679,\n      \"++\": 1680,\n      \"requ\": 1681,\n      \"▁All\": 1682,\n      \"▁men\": 1683,\n      \"▁When\": 1684,\n      \"iter\": 1685,\n      \"ament\": 1686,\n      \"net\": 1687,\n      \"▁К\": 1688,\n      \"ron\": 1689,\n      \"aint\": 1690,\n      \"▁Is\": 1691,\n      \"ве\": 1692,\n      \"pend\": 1693,\n      \"translation\": 1694,\n      \"▁го\": 1695,\n      \"че\": 1696,\n      \"▁van\": 1697,\n      \"▁another\": 1698,\n      \"▁ret\": 1699,\n      \"▁La\": 1700,\n      \"Mod\": 1701,\n      \"ION\": 1702,\n      \"list\": 1703,\n      \"▁post\": 1704,\n      \"da\": 1705,\n      \"ware\": 1706,\n      \"▁word\": 1707,\n      \"Error\": 1708,\n      \"▁seem\": 1709,\n      \"▁contin\": 1710,\n      \"atic\": 1711,\n      \"▁three\": 1712,\n      \"Object\": 1713,\n      \"▁partic\": 1714,\n      \"$.\": 1715,\n      \"▁mark\": 1716,\n      \"▁vis\": 1717,\n      \"rc\": 1718,\n      \"▁sw\": 1719,\n      \"ptions\": 1720,\n      \"▁break\": 1721,\n      \"▁things\": 1722,\n      \"ute\": 1723,\n      \"ui\": 1724,\n      \"▁That\": 1725,\n      \"urs\": 1726,\n      \"gl\": 1727,\n      \"ру\": 1728,\n      \"▁file\": 1729,\n      \"use\": 1730,\n      \"igned\": 1731,\n      \"part\": 1732,\n      \"Un\": 1733,\n      \"▁equ\": 1734,\n      \"(&\": 1735,\n      \"▁lead\": 1736,\n      \"rm\": 1737,\n      \"ained\": 1738,\n      \"▁Be\": 1739,\n      \"path\": 1740,\n      \"▁small\": 1741,\n      \"ager\": 1742,\n      \"▁always\": 1743,\n      \"▁El\": 1744,\n      \"▁order\": 1745,\n      \"▁ey\": 1746,\n      \"▁won\": 1747,\n      \"ape\": 1748,\n      \"▁left\": 1749,\n      \"ava\": 1750,\n      \"item\": 1751,\n      \"hor\": 1752,\n      \"▁away\": 1753,\n      \"bb\": 1754,\n      \"fun\": 1755,\n      \"▁Ind\": 1756,\n      \"mb\": 1757,\n      \"▁struct\": 1758,\n      \"▁process\": 1759,\n      \"▁support\": 1760,\n      \");\\r\": 1761,\n      \"ión\": 1762,\n      \"LO\": 1763,\n      \"▁oper\": 1764,\n      \"UT\": 1765,\n      \"▁·\": 1766,\n      \"PE\": 1767,\n      \"load\": 1768,\n      \"off\": 1769,\n      \"▁No\": 1770,\n      \"ives\": 1771,\n      \"ican\": 1772,\n      \"▁ve\": 1773,\n      \"action\": 1774,\n      \"';\": 1775,\n      \"▁vo\": 1776,\n      \"$,\": 1777,\n      \"▁Gr\": 1778,\n      \"pre\": 1779,\n      \"ny\": 1780,\n      \"aining\": 1781,\n      \"ior\": 1782,\n      \"init\": 1783,\n      \"lection\": 1784,\n      \"arm\": 1785,\n      \"umn\": 1786,\n      \"ags\": 1787,\n      \"ци\": 1788,\n      \"ско\": 1789,\n      \"version\": 1790,\n      \"▁To\": 1791,\n      \"▁ref\": 1792,\n      \"stand\": 1793,\n      \"▁At\": 1794,\n      \"ift\": 1795,\n      \"▁ein\": 1796,\n      \"face\": 1797,\n      \"bo\": 1798,\n      \"ified\": 1799,\n      \"ved\": 1800,\n      \"sum\": 1801,\n      \"une\": 1802,\n      \"ital\": 1803,\n      \"ump\": 1804,\n      \"comm\": 1805,\n      \"▁mov\": 1806,\n      \"elt\": 1807,\n      \"▁von\": 1808,\n      \"velop\": 1809,\n      \"ctor\": 1810,\n      \"head\": 1811,\n      \"cle\": 1812,\n      \"▁build\": 1813,\n      \"inc\": 1814,\n      \".'\": 1815,\n      \"bs\": 1816,\n      \"info\": 1817,\n      \"chn\": 1818,\n      \"▁week\": 1819,\n      \"▁book\": 1820,\n      \"HE\": 1821,\n      \"bar\": 1822,\n      \"icense\": 1823,\n      \"▁What\": 1824,\n      \"▁quest\": 1825,\n      \"urch\": 1826,\n      \"ato\": 1827,\n      \"left\": 1828,\n      \"▁mar\": 1829,\n      \"▁top\": 1830,\n      \"FF\": 1831,\n      \"▁friend\": 1832,\n      \"▁beh\": 1833,\n      \"▁field\": 1834,\n      \"▁against\": 1835,\n      \"ract\": 1836,\n      \"ization\": 1837,\n      \"user\": 1838,\n      \"chen\": 1839,\n      \"▁keep\": 1840,\n      \"AD\": 1841,\n      \"itor\": 1842,\n      \"▁non\": 1843,\n      \"ird\": 1844,\n      \"ope\": 1845,\n      \"▁rest\": 1846,\n      \"▁dev\": 1847,\n      \"▁__\": 1848,\n      \"▁una\": 1849,\n      \"▁term\": 1850,\n      \"IS\": 1851,\n      \"▁pop\": 1852,\n      \"rist\": 1853,\n      \"▁since\": 1854,\n      \"ves\": 1855,\n      \"▁hard\": 1856,\n      \"pi\": 1857,\n      \"util\": 1858,\n      \"▁soc\": 1859,\n      \"ene\": 1860,\n      \"Exception\": 1861,\n      \"▁local\": 1862,\n      \"▁direct\": 1863,\n      \"▁sure\": 1864,\n      \"▁bro\": 1865,\n      \"▁da\": 1866,\n      \"▁</\": 1867,\n      \"▁current\": 1868,\n      \"':\": 1869,\n      \"Wh\": 1870,\n      \"▁information\": 1871,\n      \"▁ide\": 1872,\n      \"▁better\": 1873,\n      \"Text\": 1874,\n      \"raph\": 1875,\n      \"▁stand\": 1876,\n      \"▁check\": 1877,\n      \"▁к\": 1878,\n      \"▁na\": 1879,\n      \"((\": 1880,\n      \"outh\": 1881,\n      \"aps\": 1882,\n      \"▁unt\": 1883,\n      \"bf\": 1884,\n      \"▁conf\": 1885,\n      \"▁spe\": 1886,\n      \"itle\": 1887,\n      \"▁Col\": 1888,\n      \"class\": 1889,\n      \"ural\": 1890,\n      \"bers\": 1891,\n      \"MA\": 1892,\n      \"ession\": 1893,\n      \"▁М\": 1894,\n      \"Info\": 1895,\n      \"▁Br\": 1896,\n      \"▁eas\": 1897,\n      \"ervice\": 1898,\n      \"aus\": 1899,\n      \"ari\": 1900,\n      \"по\": 1901,\n      \"▁coun\": 1902,\n      \"де\": 1903,\n      \"())\": 1904,\n      \"ling\": 1905,\n      \"ED\": 1906,\n      \"ably\": 1907,\n      \"▁pat\": 1908,\n      \"org\": 1909,\n      \"▁id\": 1910,\n      \"▁г\": 1911,\n      \"▁tell\": 1912,\n      \"lex\": 1913,\n      \"▁allow\": 1914,\n      \"reen\": 1915,\n      \"my\": 1916,\n      \"▁consider\": 1917,\n      \"▁team\": 1918,\n      \"lease\": 1919,\n      \"htt\": 1920,\n      \"▁Pr\": 1921,\n      \"/**\": 1922,\n      \"▁sing\": 1923,\n      \"Requ\": 1924,\n      \"Re\": 1925,\n      \"ides\": 1926,\n      \"ches\": 1927,\n      \"▁object\": 1928,\n      \"ially\": 1929,\n      \"By\": 1930,\n      \"ся\": 1931,\n      \"ided\": 1932,\n      \"▁free\": 1933,\n      \"▁proble\": 1934,\n      \"cite\": 1935,\n      \"▁);\": 1936,\n      \"ission\": 1937,\n      \"▁during\": 1938,\n      \"▁--\": 1939,\n      \"ither\": 1940,\n      \"ля\": 1941,\n      \"▁leg\": 1942,\n      \"▁sit\": 1943,\n      \"ically\": 1944,\n      \"▁key\": 1945,\n      \"leg\": 1946,\n      \"tra\": 1947,\n      \"▁mom\": 1948,\n      \"▁expl\": 1949,\n      \"▁develop\": 1950,\n      \"▁event\": 1951,\n      \"▁NULL\": 1952,\n      \"ohn\": 1953,\n      \"▁///\": 1954,\n      \"▁business\": 1955,\n      \"ча\": 1956,\n      \"▁prof\": 1957,\n      \"error\": 1958,\n      \"▁por\": 1959,\n      \"▁commun\": 1960,\n      \"Ind\": 1961,\n      \"ium\": 1962,\n      \"Test\": 1963,\n      \"▁Ad\": 1964,\n      \"ouble\": 1965,\n      \"▁son\": 1966,\n      \"rite\": 1967,\n      \"ready\": 1968,\n      \"▁{\\r\": 1969,\n      \"▁thing\": 1970,\n      \"ня\": 1971,\n      \"▁Ph\": 1972,\n      \"ped\": 1973,\n      \"сь\": 1974,\n      \"ived\": 1975,\n      \"You\": 1976,\n      \"arl\": 1977,\n      \"const\": 1978,\n      \"../\": 1979,\n      \"Se\": 1980,\n      \"Sh\": 1981,\n      \"▁power\": 1982,\n      \"ribute\": 1983,\n      \"▁My\": 1984,\n      \"▁talk\": 1985,\n      \"itch\": 1986,\n      \"▁called\": 1987,\n      \"▁came\": 1988,\n      \"▁belie\": 1989,\n      \"UR\": 1990,\n      \"Add\": 1991,\n      \"▁Res\": 1992,\n      \"aster\": 1993,\n      \"ella\": 1994,\n      \"obal\": 1995,\n      \"▁until\": 1996,\n      \"▁hum\": 1997,\n      \"CO\": 1998,\n      \"ately\": 1999,\n      \"####\": 2000,\n      \"public\": 2001,\n      \"[]\": 2002,\n      \"▁room\": 2003,\n      \"len\": 2004,\n      \"▁family\": 2005,\n      \"por\": 2006,\n      \"▁program\": 2007,\n      \"▁hist\": 2008,\n      \"▁mus\": 2009,\n      \"arge\": 2010,\n      \"oney\": 2011,\n      \"Im\": 2012,\n      \"else\": 2013,\n      \"ails\": 2014,\n      \"af\": 2015,\n      \"▁love\": 2016,\n      \"är\": 2017,\n      \"ases\": 2018,\n      \"pha\": 2019,\n      \"ours\": 2020,\n      \"dis\": 2021,\n      \"map\": 2022,\n      \"iver\": 2023,\n      \"ör\": 2024,\n      \"▁Bl\": 2025,\n      \"ateg\": 2026,\n      \"state\": 2027,\n      \"State\": 2028,\n      \"ertain\": 2029,\n      \"▁effect\": 2030,\n      \"print\": 2031,\n      \"▁big\": 2032,\n      \"index\": 2033,\n      \"▁pub\": 2034,\n      \"vert\": 2035,\n      \"ero\": 2036,\n      \"md\": 2037,\n      \"▁method\": 2038,\n      \"▁game\": 2039,\n      \"ries\": 2040,\n      \"lete\": 2041,\n      \"Item\": 2042,\n      \"ING\": 2043,\n      \"resent\": 2044,\n      \"ality\": 2045,\n      \"pty\": 2046,\n      \"ley\": 2047,\n      \"ocument\": 2048,\n      \"▁beg\": 2049,\n      \"TR\": 2050,\n      \"}.\": 2051,\n      \"▁school\": 2052,\n      \"hes\": 2053,\n      \"до\": 2054,\n      \"▁lot\": 2055,\n      \"▁took\": 2056,\n      \"▁adv\": 2057,\n      \"▁cap\": 2058,\n      \"MP\": 2059,\n      \"unk\": 2060,\n      \"▁light\": 2061,\n      \"▁later\": 2062,\n      \".,\": 2063,\n      \"Key\": 2064,\n      \"itions\": 2065,\n      \"▁enough\": 2066,\n      \"▁/**\": 2067,\n      \"▁went\": 2068,\n      \"ão\": 2069,\n      \"▁though\": 2070,\n      \"▁group\": 2071,\n      \"▁mean\": 2072,\n      \"ски\": 2073,\n      \"AP\": 2074,\n      \"▁num\": 2075,\n      \"▁cond\": 2076,\n      \"ні\": 2077,\n      \"▁given\": 2078,\n      \"▁why\": 2079,\n      \"▁rece\": 2080,\n      \"▁side\": 2081,\n      \"▁far\": 2082,\n      \"Context\": 2083,\n      \"ме\": 2084,\n      \"▁log\": 2085,\n      \"View\": 2086,\n      \"▁<<\": 2087,\n      \"fil\": 2088,\n      \"aces\": 2089,\n      \"ency\": 2090,\n      \"oad\": 2091,\n      \"ered\": 2092,\n      \"▁product\": 2093,\n      \"ET\": 2094,\n      \"▁param\": 2095,\n      \"▁prote\": 2096,\n      \"tes\": 2097,\n      \"Time\": 2098,\n      \"je\": 2099,\n      \"olution\": 2100,\n      \"▁ра\": 2101,\n      \"▁month\": 2102,\n      \"ference\": 2103,\n      \"▁appe\": 2104,\n      \"▁face\": 2105,\n      \"ened\": 2106,\n      \"tract\": 2107,\n      \"▁less\": 2108,\n      \"AS\": 2109,\n      \"ée\": 2110,\n      \"▁give\": 2111,\n      \"▁kind\": 2112,\n      \"▁count\": 2113,\n      \"count\": 2114,\n      \"▁stop\": 2115,\n      \"▁gover\": 2116,\n      \"ka\": 2117,\n      \"▁error\": 2118,\n      \"ences\": 2119,\n      \"▁mil\": 2120,\n      \"alf\": 2121,\n      \"ync\": 2122,\n      \"vious\": 2123,\n      \"ho\": 2124,\n      \"▁night\": 2125,\n      \"era\": 2126,\n      \"▁про\": 2127,\n      \"▁sol\": 2128,\n      \"men\": 2129,\n      \"▁water\": 2130,\n      \"ering\": 2131,\n      \"▁lim\": 2132,\n      \"Param\": 2133,\n      \"▁house\": 2134,\n      \"▁System\": 2135,\n      \"▁pay\": 2136,\n      \"▁:=\": 2137,\n      \"uro\": 2138,\n      \"oci\": 2139,\n      \"zy\": 2140,\n      \"▁already\": 2141,\n      \",\\\\\": 2142,\n      \"length\": 2143,\n      \"▁si\": 2144,\n      \"▁interest\": 2145,\n      \"aff\": 2146,\n      \"cted\": 2147,\n      \"ention\": 2148,\n      \"▁до\": 2149,\n      \"ume\": 2150,\n      \"▁appro\": 2151,\n      \"bre\": 2152,\n      \"IG\": 2153,\n      \"▁throw\": 2154,\n      \"mathcal\": 2155,\n      \"irl\": 2156,\n      \"▁prom\": 2157,\n      \"oss\": 2158,\n      \"▁request\": 2159,\n      \"equation\": 2160,\n      \"ology\": 2161,\n      \"mit\": 2162,\n      \"▁pack\": 2163,\n      \"ino\": 2164,\n      \"array\": 2165,\n      \"za\": 2166,\n      \"til\": 2167,\n      \"UN\": 2168,\n      \"▁present\": 2169,\n      \"▁organ\": 2170,\n      \"File\": 2171,\n      \"▁orig\": 2172,\n      \"▁full\": 2173,\n      \"istr\": 2174,\n      \"▁flo\": 2175,\n      \"hr\": 2176,\n      \"▁assert\": 2177,\n      \"ards\": 2178,\n      \"url\": 2179,\n      \"enn\": 2180,\n      \"sl\": 2181,\n      \"▁А\": 2182,\n      \"▁cho\": 2183,\n      \"▁level\": 2184,\n      \"OT\": 2185,\n      \"word\": 2186,\n      \"▁body\": 2187,\n      \"▁user\": 2188,\n      \"ía\": 2189,\n      \"Qu\": 2190,\n      \"▁main\": 2191,\n      \"AB\": 2192,\n      \"ploy\": 2193,\n      \"Event\": 2194,\n      \"▁super\": 2195,\n      \"oken\": 2196,\n      \"▁Н\": 2197,\n      \"As\": 2198,\n      \"thers\": 2199,\n      \"мо\": 2200,\n      \"ку\": 2201,\n      \"▁days\": 2202,\n      \"▁done\": 2203,\n      \"▁view\": 2204,\n      \"side\": 2205,\n      \"си\": 2206,\n      \"');\": 2207,\n      \"▁vol\": 2208,\n      \"▁tot\": 2209,\n      \"case\": 2210,\n      \"▁aff\": 2211,\n      \"Request\": 2212,\n      \"▁Man\": 2213,\n      \"\\\\\\\\\": 2214,\n      \"▁John\": 2215,\n      \"▁Б\": 2216,\n      \"orth\": 2217,\n      \"▁je\": 2218,\n      \"▁une\": 2219,\n      \"la\": 2220,\n      \"[\\\"\": 2221,\n      \"field\": 2222,\n      \"▁US\": 2223,\n      \"ico\": 2224,\n      \"▁perform\": 2225,\n      \"ailable\": 2226,\n      \"Config\": 2227,\n      \"Or\": 2228,\n      \"▁model\": 2229,\n      \"ales\": 2230,\n      \"▁create\": 2231,\n      \"▁ann\": 2232,\n      \"ances\": 2233,\n      \"IL\": 2234,\n      \"ination\": 2235,\n      \"▁Im\": 2236,\n      \"ante\": 2237,\n      \"ana\": 2238,\n      \"ан\": 2239,\n      \"▁told\": 2240,\n      \"config\": 2241,\n      \"\\\"]\": 2242,\n      \"met\": 2243,\n      \"lt\": 2244,\n      \"▁text\": 2245,\n      \"▁May\": 2246,\n      \"▁org\": 2247,\n      \"▁port\": 2248,\n      \"Pl\": 2249,\n      \"ently\": 2250,\n      \"▁door\": 2251,\n      \"US\": 2252,\n      \"▁(*\": 2253,\n      \"kt\": 2254,\n      \"ES\": 2255,\n      \"ential\": 2256,\n      \"▁iss\": 2257,\n      \"▁inc\": 2258,\n      \"Node\": 2259,\n      \"ively\": 2260,\n      \"▁asked\": 2261,\n      \"irt\": 2262,\n      \"▁Te\": 2263,\n      \"▁report\": 2264,\n      \"▁chang\": 2265,\n      \"сти\": 2266,\n      \"▁along\": 2267,\n      \"▁change\": 2268,\n      \"Size\": 2269,\n      \"▁ever\": 2270,\n      \"▁occ\": 2271,\n      \"ury\": 2272,\n      \"▁mind\": 2273,\n      \"order\": 2274,\n      \"point\": 2275,\n      \"сто\": 2276,\n      \"▁whe\": 2277,\n      \"▁important\": 2278,\n      \"des\": 2279,\n      \"▁Not\": 2280,\n      \"▁writ\": 2281,\n      \"▁eyes\": 2282,\n      \"▁desc\": 2283,\n      \"most\": 2284,\n      \"ks\": 2285,\n      \"▁bit\": 2286,\n      \"▁▁▁\": 2287,\n      \"▁success\": 2288,\n      \"ть\": 2289,\n      \"бо\": 2290,\n      \"core\": 2291,\n      \"}(\": 2292,\n      \"▁array\": 2293,\n      \"lin\": 2294,\n      \"lish\": 2295,\n      \"▁following\": 2296,\n      \"Field\": 2297,\n      \"ids\": 2298,\n      \"hing\": 2299,\n      \"▁cal\": 2300,\n      \"Is\": 2301,\n      \"aring\": 2302,\n      \"lev\": 2303,\n      \"alt\": 2304,\n      \"CH\": 2305,\n      \"▁dé\": 2306,\n      \"alpha\": 2307,\n      \"▁four\": 2308,\n      \"▁law\": 2309,\n      \"▁се\": 2310,\n      \"iron\": 2311,\n      \"▁disc\": 2312,\n      \"се\": 2313,\n      \"ken\": 2314,\n      \"node\": 2315,\n      \"▁Par\": 2316,\n      \"▁Eng\": 2317,\n      \"▁move\": 2318,\n      \"▁License\": 2319,\n      \"cul\": 2320,\n      \"ione\": 2321,\n      \")$\": 2322,\n      \"▁tw\": 2323,\n      \"We\": 2324,\n      \"sel\": 2325,\n      \"▁With\": 2326,\n      \"▁once\": 2327,\n      \"Service\": 2328,\n      \"bol\": 2329,\n      \"ured\": 2330,\n      \"ida\": 2331,\n      \"▁Qu\": 2332,\n      \"▁grow\": 2333,\n      \"▁conne\": 2334,\n      \"EX\": 2335,\n      \"▁htt\": 2336,\n      \"▁};\": 2337,\n      \"▁walk\": 2338,\n      \"▁init\": 2339,\n      \"nal\": 2340,\n      \"ender\": 2341,\n      \"cription\": 2342,\n      \"mber\": 2343,\n      \"lected\": 2344,\n      \"po\": 2345,\n      \"▁nil\": 2346,\n      \"▁prob\": 2347,\n      \"чи\": 2348,\n      \"▁Ste\": 2349,\n      \"ison\": 2350,\n      \"ands\": 2351,\n      \"osed\": 2352,\n      \"же\": 2353,\n      \"▁His\": 2354,\n      \"ür\": 2355,\n      \"Man\": 2356,\n      \"Element\": 2357,\n      \"▁able\": 2358,\n      \"Index\": 2359,\n      \"search\": 2360,\n      \"▁mag\": 2361,\n      \"ар\": 2362,\n      \"▁course\": 2363,\n      \"▁Car\": 2364,\n      \"▁exp\": 2365,\n      \"aph\": 2366,\n      \"▁mit\": 2367,\n      \"▁doesn\": 2368,\n      \"▁default\": 2369,\n      \"/>\": 2370,\n      \"aim\": 2371,\n      \"▁service\": 2372,\n      \"▁within\": 2373,\n      \"angu\": 2374,\n      \"▁Д\": 2375,\n      \"uffer\": 2376,\n      \"AG\": 2377,\n      \"▁Do\": 2378,\n      \"▁incre\": 2379,\n      \"▁understand\": 2380,\n      \"}^\": 2381,\n      \"▁looked\": 2382,\n      \"gen\": 2383,\n      \"ailed\": 2384,\n      \"▁е\": 2385,\n      \"ayer\": 2386,\n      \"▁One\": 2387,\n      \"▁bas\": 2388,\n      \"▁job\": 2389,\n      \"mu\": 2390,\n      \"but\": 2391,\n      \"elta\": 2392,\n      \"▁Christ\": 2393,\n      \"uration\": 2394,\n      \"▁record\": 2395,\n      \"▁Univers\": 2396,\n      \"ivid\": 2397,\n      \"valid\": 2398,\n      \"▁Р\": 2399,\n      \"▁hold\": 2400,\n      \"▁table\": 2401,\n      \"ones\": 2402,\n      \"link\": 2403,\n      \"▁Ge\": 2404,\n      \"▁offer\": 2405,\n      \"ster\": 2406,\n      \"Form\": 2407,\n      \"={\": 2408,\n      \"▁не\": 2409,\n      \"stance\": 2410,\n      \"▁govern\": 2411,\n      \"▁techn\": 2412,\n      \"▁prim\": 2413,\n      \"*.\": 2414,\n      \"cho\": 2415,\n      \"max\": 2416,\n      \"▁fore\": 2417,\n      \"▁Can\": 2418,\n      \"▁polit\": 2419,\n      \"ories\": 2420,\n      \"▁times\": 2421,\n      \"▁dans\": 2422,\n      \"▁air\": 2423,\n      \"▁anything\": 2424,\n      \"▁sever\": 2425,\n      \"acy\": 2426,\n      \"}_\": 2427,\n      \"He\": 2428,\n      \"▁least\": 2429,\n      \"ips\": 2430,\n      \"ENT\": 2431,\n      \"do\": 2432,\n      \"▁от\": 2433,\n      \"▁cost\": 2434,\n      \".”\": 2435,\n      \"▁children\": 2436,\n      \"ability\": 2437,\n      \"But\": 2438,\n      \"▁path\": 2439,\n      \"result\": 2440,\n      \"acter\": 2441,\n      \"▁element\": 2442,\n      \"ee\": 2443,\n      \"▁wait\": 2444,\n      \"▁money\": 2445,\n      \"Map\": 2446,\n      \"td\": 2447,\n      \"oin\": 2448,\n      \"iving\": 2449,\n      \"icht\": 2450,\n      \"icy\": 2451,\n      \"sch\": 2452,\n      \"ste\": 2453,\n      \"ду\": 2454,\n      \"ored\": 2455,\n      \"oud\": 2456,\n      \"ille\": 2457,\n      \"ised\": 2458,\n      \"plication\": 2459,\n      \"▁custom\": 2460,\n      \"▁having\": 2461,\n      \"ponent\": 2462,\n      \"▁By\": 2463,\n      \"ules\": 2464,\n      \"ued\": 2465,\n      \"atter\": 2466,\n      \"And\": 2467,\n      \"itive\": 2468,\n      \"Def\": 2469,\n      \"▁moment\": 2470,\n      \"aterial\": 2471,\n      \"Class\": 2472,\n      \"ograph\": 2473,\n      \"ike\": 2474,\n      \"▁large\": 2475,\n      \"▁####\": 2476,\n      \"▁either\": 2477,\n      \"duct\": 2478,\n      \"▁Then\": 2479,\n      \"▁Gu\": 2480,\n      \"olean\": 2481,\n      \"pert\": 2482,\n      \"▁Get\": 2483,\n      \"▁Ab\": 2484,\n      \"▁short\": 2485,\n      \"On\": 2486,\n      \"iment\": 2487,\n      \"▁project\": 2488,\n      \"cript\": 2489,\n      \"▁including\": 2490,\n      \"ния\": 2491,\n      \"▁making\": 2492,\n      \"▁someone\": 2493,\n      \"▁Fl\": 2494,\n      \"▁sat\": 2495,\n      \"▁company\": 2496,\n      \"ocus\": 2497,\n      \"pu\": 2498,\n      \"▁God\": 2499,\n      \"ification\": 2500,\n      \"No\": 2501,\n      \"▁sn\": 2502,\n      \"ano\": 2503,\n      \"ga\": 2504,\n      \"▁au\": 2505,\n      \"▁cou\": 2506,\n      \"ás\": 2507,\n      \"ended\": 2508,\n      \"ту\": 2509,\n      \"ober\": 2510,\n      \"▁nothing\": 2511,\n      \"▁net\": 2512,\n      \"▁pot\": 2513,\n      \"▁typ\": 2514,\n      \"▁item\": 2515,\n      \"rew\": 2516,\n      \"Att\": 2517,\n      \"▁young\": 2518,\n      \"}\\r\": 2519,\n      \"nder\": 2520,\n      \"start\": 2521,\n      \"▁Sc\": 2522,\n      \"*)\": 2523,\n      \"▁enc\": 2524,\n      \"▁women\": 2525,\n      \"▁looking\": 2526,\n      \"▁ро\": 2527,\n      \"▁health\": 2528,\n      \"Path\": 2529,\n      \"▁After\": 2530,\n      \"▁mult\": 2531,\n      \"▁{\\\\\": 2532,\n      \"▁land\": 2533,\n      \"orld\": 2534,\n      \"▁Des\": 2535,\n      \"▁eng\": 2536,\n      \"input\": 2537,\n      \"▁Pol\": 2538,\n      \"\\\"\\\"\": 2539,\n      \"Code\": 2540,\n      \"▁supp\": 2541,\n      \"ainer\": 2542,\n      \"heck\": 2543,\n      \"▁mor\": 2544,\n      \"▁mill\": 2545,\n      \"▁aw\": 2546,\n      \"fs\": 2547,\n      \"▁doing\": 2548,\n      \"tings\": 2549,\n      \"ades\": 2550,\n      \"▁toget\": 2551,\n      \"▁certain\": 2552,\n      \"▁together\": 2553,\n      \"CE\": 2554,\n      \"ideo\": 2555,\n      \"▁American\": 2556,\n      \"ony\": 2557,\n      \"idd\": 2558,\n      \"II\": 2559,\n      \"ged\": 2560,\n      \"ables\": 2561,\n      \"▁ident\": 2562,\n      \"iod\": 2563,\n      \"▁parent\": 2564,\n      \"For\": 2565,\n      \"ambda\": 2566,\n      \"ando\": 2567,\n      \"=\\\\\": 2568,\n      \"aged\": 2569,\n      \"ending\": 2570,\n      \"Int\": 2571,\n      \"▁possible\": 2572,\n      \"▁со\": 2573,\n      \"ivity\": 2574,\n      \"num\": 2575,\n      \"rt\": 2576,\n      \"ajor\": 2577,\n      \"create\": 2578,\n      \"ride\": 2579,\n      \"▁knew\": 2580,\n      \"bit\": 2581,\n      \"itional\": 2582,\n      \"▁lik\": 2583,\n      \"▁Her\": 2584,\n      \"ension\": 2585,\n      \"\\\".\": 2586,\n      \"oto\": 2587,\n      \"▁exist\": 2588,\n      \"aken\": 2589,\n      \"▁actually\": 2590,\n      \"ca\": 2591,\n      \"▁Г\": 2592,\n      \"хо\": 2593,\n      \"inn\": 2594,\n      \"All\": 2595,\n      \"buf\": 2596,\n      \"▁Me\": 2597,\n      \"▁seen\": 2598,\n      \"ops\": 2599,\n      \"▁▁▁▁▁▁▁▁▁\": 2600,\n      \"Not\": 2601,\n      \"▁control\": 2602,\n      \"▁respon\": 2603,\n      \"};\": 2604,\n      \"ilt\": 2605,\n      \"isk\": 2606,\n      \"▁bad\": 2607,\n      \"▁often\": 2608,\n      \"▁past\": 2609,\n      \"aper\": 2610,\n      \"▁reason\": 2611,\n      \"eters\": 2612,\n      \"▁wanted\": 2613,\n      \"ura\": 2614,\n      \"table\": 2615,\n      \"ormal\": 2616,\n      \"width\": 2617,\n      \"га\": 2618,\n      \"ptr\": 2619,\n      \"▁dest\": 2620,\n      \"▁design\": 2621,\n      \"▁sound\": 2622,\n      \"▁plan\": 2623,\n      \"▁base\": 2624,\n      \"hand\": 2625,\n      \"gs\": 2626,\n      \"▁says\": 2627,\n      \"function\": 2628,\n      \"▁tri\": 2629,\n      \"mt\": 2630,\n      \"▁invest\": 2631,\n      \"▁available\": 2632,\n      \"ayout\": 2633,\n      \"▁och\": 2634,\n      \"▁las\": 2635,\n      \"illed\": 2636,\n      \"Val\": 2637,\n      \"▁ф\": 2638,\n      \"iety\": 2639,\n      \"mon\": 2640,\n      \"Hand\": 2641,\n      \"Fr\": 2642,\n      \"iam\": 2643,\n      \"pace\": 2644,\n      \"▁Ob\": 2645,\n      \"▁para\": 2646,\n      \"▁meet\": 2647,\n      \"▁sum\": 2648,\n      \"Message\": 2649,\n      \"ici\": 2650,\n      \"▁known\": 2651,\n      \"▁gen\": 2652,\n      \"amma\": 2653,\n      \"arr\": 2654,\n      \"▁tre\": 2655,\n      \"oke\": 2656,\n      \"uth\": 2657,\n      \"~\\\\\": 2658,\n      \"▁experience\": 2659,\n      \"icle\": 2660,\n      \"▁Il\": 2661,\n      \"▁sent\": 2662,\n      \"▁others\": 2663,\n      \"▁soft\": 2664,\n      \"IP\": 2665,\n      \"▁max\": 2666,\n      \"ball\": 2667,\n      \"▁market\": 2668,\n      \"▁pour\": 2669,\n      \"pression\": 2670,\n      \"eps\": 2671,\n      \"▁saw\": 2672,\n      \"▁across\": 2673,\n      \"▁Su\": 2674,\n      \"Over\": 2675,\n      \"ние\": 2676,\n      \"ulation\": 2677,\n      \"▁Reg\": 2678,\n      \"▁+=\": 2679,\n      \"body\": 2680,\n      \")\\\\\": 2681,\n      \"▁print\": 2682,\n      \"▁при\": 2683,\n      \"db\": 2684,\n      \"ources\": 2685,\n      \"wards\": 2686,\n      \"▁black\": 2687,\n      \"со\": 2688,\n      \"ili\": 2689,\n      \"▁Ed\": 2690,\n      \"▁complet\": 2691,\n      \"▁single\": 2692,\n      \"▁IN\": 2693,\n      \"ached\": 2694,\n      \"bt\": 2695,\n      \"▁code\": 2696,\n      \"▁bool\": 2697,\n      \"▁area\": 2698,\n      \"▁require\": 2699,\n      \"▁problem\": 2700,\n      \"aced\": 2701,\n      \"Equ\": 2702,\n      \"▁config\": 2703,\n      \"vec\": 2704,\n      \"ney\": 2705,\n      \"cy\": 2706,\n      \"Al\": 2707,\n      \"▁account\": 2708,\n      \"ymbol\": 2709,\n      \"▁ste\": 2710,\n      \"ges\": 2711,\n      \"Array\": 2712,\n      \"empl\": 2713,\n      \"context\": 2714,\n      \"Des\": 2715,\n      \"Result\": 2716,\n      \"ecut\": 2717,\n      \"▁target\": 2718,\n      \"▁getting\": 2719,\n      \"\\\"/>\": 2720,\n      \"ogle\": 2721,\n      \"▁himself\": 2722,\n      \"▁wasn\": 2723,\n      \"▁block\": 2724,\n      \"▁ant\": 2725,\n      \"▁York\": 2726,\n      \"▁become\": 2727,\n      \"iff\": 2728,\n      \"ports\": 2729,\n      \"reate\": 2730,\n      \"='\": 2731,\n      \"cd\": 2732,\n      \"location\": 2733,\n      \"ет\": 2734,\n      \"▁access\": 2735,\n      \"gress\": 2736,\n      \"ros\": 2737,\n      \"Up\": 2738,\n      \"▁working\": 2739,\n      \"▁Am\": 2740,\n      \"iqu\": 2741,\n      \"cer\": 2742,\n      \"▁((\": 2743,\n      \"▁Per\": 2744,\n      \"▁func\": 2745,\n      \"▁girl\": 2746,\n      \"▁above\": 2747,\n      \"pen\": 2748,\n      \"пи\": 2749,\n      \"ido\": 2750,\n      \"▁version\": 2751,\n      \"TY\": 2752,\n      \"▁;\": 2753,\n      \"mary\": 2754,\n      \"abled\": 2755,\n      \"annel\": 2756,\n      \"▁example\": 2757,\n      \"▁context\": 2758,\n      \"OP\": 2759,\n      \"▁red\": 2760,\n      \"▁cir\": 2761,\n      \"sm\": 2762,\n      \"Log\": 2763,\n      \"▁space\": 2764,\n      \"▁fut\": 2765,\n      \"▁Gener\": 2766,\n      \"ills\": 2767,\n      \"▁dri\": 2768,\n      \"_.\": 2769,\n      \"▁felt\": 2770,\n      \"▁offic\": 2771,\n      \"▁===\": 2772,\n      \"ii\": 2773,\n      \"▁started\": 2774,\n      \"▁Т\": 2775,\n      \"▁});\": 2776,\n      \"js\": 2777,\n      \"▁front\": 2778,\n      \"▁almost\": 2779,\n      \"irm\": 2780,\n      \"!\\\"\": 2781,\n      \"signed\": 2782,\n      \"▁yet\": 2783,\n      \"▁trad\": 2784,\n      \"ients\": 2785,\n      \"ama\": 2786,\n      \"▁input\": 2787,\n      \"lim\": 2788,\n      \"па\": 2789,\n      \"▁ка\": 2790,\n      \"▁camp\": 2791,\n      \"ibr\": 2792,\n      \"fect\": 2793,\n      \"unt\": 2794,\n      \"▁half\": 2795,\n      \"▁cover\": 2796,\n      \"anguage\": 2797,\n      \"▁ben\": 2798,\n      \"ha\": 2799,\n      \"▁diff\": 2800,\n      \"_\\\\\": 2801,\n      \"▁об\": 2802,\n      \"])\": 2803,\n      \"odes\": 2804,\n      \"hel\": 2805,\n      \"ios\": 2806,\n      \"▁О\": 2807,\n      \"▁mot\": 2808,\n      \"▁social\": 2809,\n      \"////////\": 2810,\n      \"▁stre\": 2811,\n      \"ground\": 2812,\n      \"ів\": 2813,\n      \"object\": 2814,\n      \"ples\": 2815,\n      \"reed\": 2816,\n      \"▁een\": 2817,\n      \"▁based\": 2818,\n      \"▁range\": 2819,\n      \"An\": 2820,\n      \"urg\": 2821,\n      \"▁learn\": 2822,\n      \"▁exc\": 2823,\n      \"▁imp\": 2824,\n      \"▁means\": 2825,\n      \"▁wur\": 2826,\n      \"ends\": 2827,\n      \"void\": 2828,\n      \"▁std\": 2829,\n      \"▁particular\": 2830,\n      \"ja\": 2831,\n      \"▁source\": 2832,\n      \"default\": 2833,\n      \"py\": 2834,\n      \"▁als\": 2835,\n      \"scri\": 2836,\n      \"status\": 2837,\n      \"▁story\": 2838,\n      \"▁begin\": 2839,\n      \"▁position\": 2840,\n      \"▁special\": 2841,\n      \"php\": 2842,\n      \"▁bar\": 2843,\n      \"▁pract\": 2844,\n      \"call\": 2845,\n      \"▁das\": 2846,\n      \"▁rad\": 2847,\n      \"▁close\": 2848,\n      \"www\": 2849,\n      \"ере\": 2850,\n      \"gu\": 2851,\n      \"▁Er\": 2852,\n      \"▁dom\": 2853,\n      \"AM\": 2854,\n      \"▁bed\": 2855,\n      \"▁several\": 2856,\n      \"aul\": 2857,\n      \"box\": 2858,\n      \"▁low\": 2859,\n      \"pack\": 2860,\n      \"Reg\": 2861,\n      \"Of\": 2862,\n      \"atures\": 2863,\n      \"én\": 2864,\n      \"eder\": 2865,\n      \"uilder\": 2866,\n      \"cast\": 2867,\n      \"conom\": 2868,\n      \"raft\": 2869,\n      \"▁makes\": 2870,\n      \"Loc\": 2871,\n      \"http\": 2872,\n      \"▁abs\": 2873,\n      \"resh\": 2874,\n      \"▁Will\": 2875,\n      \"break\": 2876,\n      \"▁options\": 2877,\n      \"fort\": 2878,\n      \"▁из\": 2879,\n      \"▁anal\": 2880,\n      \"▁env\": 2881,\n      \"({\": 2882,\n      \"event\": 2883,\n      \"▁page\": 2884,\n      \"ternal\": 2885,\n      \"▁distribut\": 2886,\n      \"▁food\": 2887,\n      \"check\": 2888,\n      \"CK\": 2889,\n      \"▁во\": 2890,\n      \"assert\": 2891,\n      \"án\": 2892,\n      \"base\": 2893,\n      \"▁whole\": 2894,\n      \"ación\": 2895,\n      \"OD\": 2896,\n      \"▁turned\": 2897,\n      \"igma\": 2898,\n      \"▁response\": 2899,\n      \"▁University\": 2900,\n      \"▁div\": 2901,\n      \"apter\": 2902,\n      \"▁results\": 2903,\n      \"▁represent\": 2904,\n      \"▁everything\": 2905,\n      \"▁Cent\": 2906,\n      \"utes\": 2907,\n      \"rix\": 2908,\n      \"▁Some\": 2909,\n      \"▁behind\": 2910,\n      \"▁creat\": 2911,\n      \"place\": 2912,\n      \"su\": 2913,\n      \"▁Part\": 2914,\n      \"umb\": 2915,\n      \"mathbb\": 2916,\n      \"ping\": 2917,\n      \"▁match\": 2918,\n      \"Out\": 2919,\n      \"dom\": 2920,\n      \"▁situ\": 2921,\n      \"dr\": 2922,\n      \"ara\": 2923,\n      \"▁window\": 2924,\n      \"ns\": 2925,\n      \"lished\": 2926,\n      \"▁Ver\": 2927,\n      \"▁message\": 2928,\n      \"▁Em\": 2929,\n      \"▁human\": 2930,\n      \"perties\": 2931,\n      \"лу\": 2932,\n      \"lem\": 2933,\n      \"ORT\": 2934,\n      \"▁early\": 2935,\n      \"▁quick\": 2936,\n      \"▁та\": 2937,\n      \"roid\": 2938,\n      \"▁country\": 2939,\n      \"▁due\": 2940,\n      \"▁Die\": 2941,\n      \"▁trying\": 2942,\n      \"▁live\": 2943,\n      \"▁press\": 2944,\n      \"INT\": 2945,\n      \"With\": 2946,\n      \"oved\": 2947,\n      \"▁specific\": 2948,\n      \"▁fall\": 2949,\n      \"uk\": 2950,\n      \"yl\": 2951,\n      \"▁general\": 2952,\n      \"му\": 2953,\n      \"ну\": 2954,\n      \"▁names\": 2955,\n      \"where\": 2956,\n      \"▁These\": 2957,\n      \"▁sil\": 2958,\n      \"ét\": 2959,\n      \"▁ener\": 2960,\n      \"▁Now\": 2961,\n      \"▁address\": 2962,\n      \"Response\": 2963,\n      \"▁Mr\": 2964,\n      \"▁answ\": 2965,\n      \"▁film\": 2966,\n      \"▁strong\": 2967,\n      \"▁bring\": 2968,\n      \"▁United\": 2969,\n      \"▁ge\": 2970,\n      \"▁woman\": 2971,\n      \"New\": 2972,\n      \"ett\": 2973,\n      \".)\": 2974,\n      \"ename\": 2975,\n      \"▁AN\": 2976,\n      \"▁describ\": 2977,\n      \"за\": 2978,\n      \"ising\": 2979,\n      \"EL\": 2980,\n      \"ql\": 2981,\n      \"▁fur\": 2982,\n      \"ying\": 2983,\n      \"▁Cal\": 2984,\n      \"▁Dr\": 2985,\n      \"ERR\": 2986,\n      \"▁\\\\\\\\\": 2987,\n      \"angle\": 2988,\n      \"urope\": 2989,\n      \"▁city\": 2990,\n      \"▁index\": 2991,\n      \"▁action\": 2992,\n      \"▁However\": 2993,\n      \"▁fig\": 2994,\n      \"ias\": 2995,\n      \"▁question\": 2996,\n      \"▁Jan\": 2997,\n      \"▁Med\": 2998,\n      \"▁Cont\": 2999,\n      \"amed\": 3000,\n      \"Call\": 3001,\n      \"plied\": 3002,\n      \"tty\": 3003,\n      \"▁individ\": 3004,\n      \"page\": 3005,\n      \"▁comb\": 3006,\n      \"section\": 3007,\n      \"▁Comm\": 3008,\n      \"uel\": 3009,\n      \"▁het\": 3010,\n      \"▁Bar\": 3011,\n      \"agement\": 3012,\n      \"fin\": 3013,\n      \"▁major\": 3014,\n      \"oper\": 3015,\n      \"api\": 3016,\n      \"room\": 3017,\n      \"▁„\": 3018,\n      \"▁hab\": 3019,\n      \"зи\": 3020,\n      \"▁auf\": 3021,\n      \"current\": 3022,\n      \"ni\": 3023,\n      \"▁include\": 3024,\n      \"▁qui\": 3025,\n      \"va\": 3026,\n      \"UE\": 3027,\n      \"▁idea\": 3028,\n      \",'\": 3029,\n      \"▁required\": 3030,\n      \"▁heart\": 3031,\n      \"ibility\": 3032,\n      \"iction\": 3033,\n      \"Model\": 3034,\n      \"write\": 3035,\n      \"▁content\": 3036,\n      \"▁wer\": 3037,\n      \"▁hands\": 3038,\n      \"zen\": 3039,\n      \"char\": 3040,\n      \"}^{\": 3041,\n      \"▁mass\": 3042,\n      \"ply\": 3043,\n      \"▁nat\": 3044,\n      \"rel\": 3045,\n      \"▁dat\": 3046,\n      \"================\": 3047,\n      \"imal\": 3048,\n      \"▁probably\": 3049,\n      \"unch\": 3050,\n      \"▁mer\": 3051,\n      \"ilar\": 3052,\n      \"ires\": 3053,\n      \"▁watch\": 3054,\n      \"SI\": 3055,\n      \"▁cult\": 3056,\n      \"▁mother\": 3057,\n      \"▁government\": 3058,\n      \"ording\": 3059,\n      \"▁()\": 3060,\n      \"▁pri\": 3061,\n      \"▁link\": 3062,\n      \"group\": 3063,\n      \"OL\": 3064,\n      \"▁near\": 3065,\n      \"▁Ser\": 3066,\n      \"Ser\": 3067,\n      \"ito\": 3068,\n      \"▁values\": 3069,\n      \"▁java\": 3070,\n      \"fully\": 3071,\n      \"Count\": 3072,\n      \"++)\": 3073,\n      \"▁vi\": 3074,\n      \"▁white\": 3075,\n      \"mat\": 3076,\n      \"ctx\": 3077,\n      \"▁conc\": 3078,\n      \"▁stay\": 3079,\n      \"ging\": 3080,\n      \"▁clear\": 3081,\n      \"▁copy\": 3082,\n      \"selves\": 3083,\n      \"▁provide\": 3084,\n      \"▁words\": 3085,\n      \"comp\": 3086,\n      \"args\": 3087,\n      \"▁pick\": 3088,\n      \"uly\": 3089,\n      \"▁vari\": 3090,\n      \"▁believe\": 3091,\n      \"▁Co\": 3092,\n      \"Property\": 3093,\n      \"Group\": 3094,\n      \"▁ten\": 3095,\n      \"ischen\": 3096,\n      \"eturn\": 3097,\n      \"ival\": 3098,\n      \"System\": 3099,\n      \"CL\": 3100,\n      \"bed\": 3101,\n      \"▁total\": 3102,\n      \"▁ist\": 3103,\n      \"Input\": 3104,\n      \"uments\": 3105,\n      \"Manager\": 3106,\n      \"ши\": 3107,\n      \"▁win\": 3108,\n      \"leep\": 3109,\n      \"PI\": 3110,\n      \"ного\": 3111,\n      \"ruction\": 3112,\n      \"▁inte\": 3113,\n      \"App\": 3114,\n      \"avor\": 3115,\n      \"▁respect\": 3116,\n      \"ators\": 3117,\n      \"▁como\": 3118,\n      \"▁cut\": 3119,\n      \"FA\": 3120,\n      \"▁sus\": 3121,\n      \"▁App\": 3122,\n      \"rect\": 3123,\n      \"FI\": 3124,\n      \"▁began\": 3125,\n      \"oph\": 3126,\n      \"▁sort\": 3127,\n      \"though\": 3128,\n      \"је\": 3129,\n      \"icro\": 3130,\n      \"Trans\": 3131,\n      \"лі\": 3132,\n      \"▁Inst\": 3133,\n      \"request\": 3134,\n      \"ор\": 3135,\n      \"▁relations\": 3136,\n      \"-\\\\\": 3137,\n      \"Status\": 3138,\n      \"жи\": 3139,\n      \"▁father\": 3140,\n      \"cs\": 3141,\n      \"▁sex\": 3142,\n      \"isch\": 3143,\n      \"vo\": 3144,\n      \"}_{\": 3145,\n      \"aven\": 3146,\n      \"▁Ne\": 3147,\n      \"ATE\": 3148,\n      \"itten\": 3149,\n      \"▁ess\": 3150,\n      \"TH\": 3151,\n      \"ights\": 3152,\n      \"▁hom\": 3153,\n      \"▁today\": 3154,\n      \"▁zu\": 3155,\n      \"ita\": 3156,\n      \"▁isn\": 3157,\n      \"▁opt\": 3158,\n      \"ogn\": 3159,\n      \"ér\": 3160,\n      \"▁whether\": 3161,\n      \"ixed\": 3162,\n      \"phi\": 3163,\n      \"idence\": 3164,\n      \"ald\": 3165,\n      \"Client\": 3166,\n      \"At\": 3167,\n      \"▁death\": 3168,\n      \"▁Let\": 3169,\n      \"ius\": 3170,\n      \"ги\": 3171,\n      \"▁ре\": 3172,\n      \"ben\": 3173,\n      \")\\r\": 3174,\n      \"ba\": 3175,\n      \"></\": 3176,\n      \"avel\": 3177,\n      \"▁miss\": 3178,\n      \"▁node\": 3179,\n      \"▁($\": 3180,\n      \"▁color\": 3181,\n      \"▁obt\": 3182,\n      \"tot\": 3183,\n      \"▁пре\": 3184,\n      \"CON\": 3185,\n      \"ette\": 3186,\n      \"▁Go\": 3187,\n      \"Fl\": 3188,\n      \"▁Don\": 3189,\n      \"▁crit\": 3190,\n      \"▁ri\": 3191,\n      \"post\": 3192,\n      \"▁->\": 3193,\n      \"▁Just\": 3194,\n      \"What\": 3195,\n      \"atal\": 3196,\n      \"▁Min\": 3197,\n      \"▁Cor\": 3198,\n      \"▁dark\": 3199,\n      \"rl\": 3200,\n      \"▁larg\": 3201,\n      \"ding\": 3202,\n      \"ón\": 3203,\n      \"ouch\": 3204,\n      \"▁um\": 3205,\n      \"▁elect\": 3206,\n      \"▁dam\": 3207,\n      \"▁needs\": 3208,\n      \"▁matter\": 3209,\n      \"▁rather\": 3210,\n      \"from\": 3211,\n      \"ram\": 3212,\n      \"▁і\": 3213,\n      \"▁taken\": 3214,\n      \"▁deal\": 3215,\n      \"▁period\": 3216,\n      \"▁Mon\": 3217,\n      \"▁Л\": 3218,\n      \"▁Aug\": 3219,\n      \"run\": 3220,\n      \"mm\": 3221,\n      \"elle\": 3222,\n      \"▁export\": 3223,\n      \"Sc\": 3224,\n      \"vis\": 3225,\n      \"abor\": 3226,\n      \"▁author\": 3227,\n      \"ère\": 3228,\n      \"▁remember\": 3229,\n      \"▁redu\": 3230,\n      \"▁List\": 3231,\n      \"▁focus\": 3232,\n      \"▁character\": 3233,\n      \"Table\": 3234,\n      \"▁individual\": 3235,\n      \"▁needed\": 3236,\n      \"bum\": 3237,\n      \"▁style\": 3238,\n      \"inary\": 3239,\n      \"ersion\": 3240,\n      \"oute\": 3241,\n      \"▁Pe\": 3242,\n      \"▁hon\": 3243,\n      \"mut\": 3244,\n      \"see\": 3245,\n      \"▁became\": 3246,\n      \"▁dire\": 3247,\n      \"▁document\": 3248,\n      \"sec\": 3249,\n      \"ening\": 3250,\n      \"▁visit\": 3251,\n      \"▁fac\": 3252,\n      \"tx\": 3253,\n      \"down\": 3254,\n      \"plit\": 3255,\n      \"▁phys\": 3256,\n      \"itting\": 3257,\n      \"joy\": 3258,\n      \"▁hig\": 3259,\n      \"This\": 3260,\n      \"Ad\": 3261,\n      \"▁Brit\": 3262,\n      \"▁employ\": 3263,\n      \"▁ré\": 3264,\n      \"▁т\": 3265,\n      \"lambda\": 3266,\n      \"▁impro\": 3267,\n      \"▁Bo\": 3268,\n      \"iding\": 3269,\n      \"▁online\": 3270,\n      \"mem\": 3271,\n      \"atform\": 3272,\n      \"▁War\": 3273,\n      \"▁cas\": 3274,\n      \"asure\": 3275,\n      \"▁pur\": 3276,\n      \"medi\": 3277,\n      \"Dis\": 3278,\n      \"▁Germ\": 3279,\n      \"pc\": 3280,\n      \"са\": 3281,\n      \"▁friends\": 3282,\n      \"▁Mc\": 3283,\n      \"DI\": 3284,\n      \"▁plus\": 3285,\n      \"▁Set\": 3286,\n      \"iddle\": 3287,\n      \"itut\": 3288,\n      \"▁depend\": 3289,\n      \"rest\": 3290,\n      \"▁Je\": 3291,\n      \"▁hor\": 3292,\n      \"▁entire\": 3293,\n      \"Query\": 3294,\n      \"▁refer\": 3295,\n      \"▁hot\": 3296,\n      \"▁Aust\": 3297,\n      \"▁common\": 3298,\n      \"ці\": 3299,\n      \"▁pull\": 3300,\n      \"▁Add\": 3301,\n      \"▁season\": 3302,\n      \"▁invol\": 3303,\n      \"▁World\": 3304,\n      \"client\": 3305,\n      \"now\": 3306,\n      \"true\": 3307,\n      \"append\": 3308,\n      \"itted\": 3309,\n      \"empt\": 3310,\n      \"){\": 3311,\n      \"///\": 3312,\n      \"▁prop\": 3313,\n      \"imate\": 3314,\n      \"SC\": 3315,\n      \"▁hours\": 3316,\n      \"▁hope\": 3317,\n      \"andom\": 3318,\n      \"ід\": 3319,\n      \"istic\": 3320,\n      \"▁property\": 3321,\n      \"sg\": 3322,\n      \">(\": 3323,\n      \"▁write\": 3324,\n      \"mark\": 3325,\n      \"find\": 3326,\n      \"▁personal\": 3327,\n      \"][\": 3328,\n      \"rown\": 3329,\n      \"Ph\": 3330,\n      \"▁foot\": 3331,\n      \"▁research\": 3332,\n      \"ironment\": 3333,\n      \"▁nom\": 3334,\n      \"▁instance\": 3335,\n      \"▁held\": 3336,\n      \"De\": 3337,\n      \"▁members\": 3338,\n      \"▁fire\": 3339,\n      \"▁history\": 3340,\n      \"▁map\": 3341,\n      \"▁discuss\": 3342,\n      \"▁espec\": 3343,\n      \"▁taking\": 3344,\n      \"▁services\": 3345,\n      \"▁indust\": 3346,\n      \"igen\": 3347,\n      \"▁Ass\": 3348,\n      \"▁expected\": 3349,\n      \"▁wurde\": 3350,\n      \"dir\": 3351,\n      \"▁among\": 3352,\n      \"▁sugg\": 3353,\n      \"rec\": 3354,\n      \"Inter\": 3355,\n      \"block\": 3356,\n      \"▁Rep\": 3357,\n      \"▁pain\": 3358,\n      \"▁five\": 3359,\n      \"▁fund\": 3360,\n      \"rid\": 3361,\n      \"arrow\": 3362,\n      \"▁treat\": 3363,\n      \"▁heard\": 3364,\n      \"▁determ\": 3365,\n      \"icult\": 3366,\n      \"▁sense\": 3367,\n      \"ese\": 3368,\n      \"Fun\": 3369,\n      \"▁months\": 3370,\n      \"json\": 3371,\n      \",”\": 3372,\n      \"TI\": 3373,\n      \"orage\": 3374,\n      \"▁У\": 3375,\n      \"▁everyone\": 3376,\n      \"▁clos\": 3377,\n      \"iers\": 3378,\n      \"airs\": 3379,\n      \"define\": 3380,\n      \"If\": 3381,\n      \"osp\": 3382,\n      \"▁wonder\": 3383,\n      \"NA\": 3384,\n      \"query\": 3385,\n      \"pg\": 3386,\n      \"ites\": 3387,\n      \"▁material\": 3388,\n      \"yd\": 3389,\n      \"Read\": 3390,\n      \"html\": 3391,\n      \"TE\": 3392,\n      \"Pr\": 3393,\n      \"^{\\\\\": 3394,\n      \"▁gave\": 3395,\n      \"▁IS\": 3396,\n      \"▁suggest\": 3397,\n      \"Override\": 3398,\n      \"rodu\": 3399,\n      \"From\": 3400,\n      \"▁Europe\": 3401,\n      \"PO\": 3402,\n      \"▁soon\": 3403,\n      \"host\": 3404,\n      \"▁Ber\": 3405,\n      \"....\": 3406,\n      \"▁Har\": 3407,\n      \"▁energy\": 3408,\n      \"><\": 3409,\n      \"aves\": 3410,\n      \"▁easy\": 3411,\n      \"▁bre\": 3412,\n      \"frame\": 3413,\n      \"▁ground\": 3414,\n      \"with\": 3415,\n      \"▁inside\": 3416,\n      \"ief\": 3417,\n      \"▁mo\": 3418,\n      \"pm\": 3419,\n      \"pan\": 3420,\n      \"igr\": 3421,\n      \"▁om\": 3422,\n      \"next\": 3423,\n      \"omet\": 3424,\n      \"▁status\": 3425,\n      \"▁}\\r\": 3426,\n      \"▁music\": 3427,\n      \"ora\": 3428,\n      \"iles\": 3429,\n      \"ki\": 3430,\n      \"▁esc\": 3431,\n      \"▁bes\": 3432,\n      \"▁Dis\": 3433,\n      \"▁host\": 3434,\n      \"▁comes\": 3435,\n      \"used\": 3436,\n      \"▁future\": 3437,\n      \"lick\": 3438,\n      \"aid\": 3439,\n      \"▁compet\": 3440,\n      \"▁voice\": 3441,\n      \"▁load\": 3442,\n      \"evel\": 3443,\n      \"▁neg\": 3444,\n      \"▁command\": 3445,\n      \"▁für\": 3446,\n      \"▁pie\": 3447,\n      \"▁quite\": 3448,\n      \"▁blo\": 3449,\n      \"agn\": 3450,\n      \"ilon\": 3451,\n      \"▁claim\": 3452,\n      \"▁teach\": 3453,\n      \"▁previous\": 3454,\n      \"▁site\": 3455,\n      \"color\": 3456,\n      \"attr\": 3457,\n      \"▁accept\": 3458,\n      \"▁exact\": 3459,\n      \")}\": 3460,\n      \"aft\": 3461,\n      \"roller\": 3462,\n      \"он\": 3463,\n      \"oo\": 3464,\n      \"Date\": 3465,\n      \"▁ou\": 3466,\n      \"sy\": 3467,\n      \"▁pretty\": 3468,\n      \"▁image\": 3469,\n      \"BU\": 3470,\n      \"▁terms\": 3471,\n      \"▁search\": 3472,\n      \"▁è\": 3473,\n      \"▁Val\": 3474,\n      \"▁‘\": 3475,\n      \"▁Dav\": 3476,\n      \"MS\": 3477,\n      \"src\": 3478,\n      \"mar\": 3479,\n      \"incip\": 3480,\n      \"▁couldn\": 3481,\n      \"ados\": 3482,\n      \"▁dro\": 3483,\n      \"beta\": 3484,\n      \"imum\": 3485,\n      \"▁minutes\": 3486,\n      \"▁grand\": 3487,\n      \"▁»\": 3488,\n      \"▁Our\": 3489,\n      \"Str\": 3490,\n      \"VER\": 3491,\n      \"maz\": 3492,\n      \"▁original\": 3493,\n      \"ini\": 3494,\n      \"▁coll\": 3495,\n      \"loat\": 3496,\n      \"▁os\": 3497,\n      \"});\": 3498,\n      \"summary\": 3499,\n      \"▁wall\": 3500,\n      \"Color\": 3501,\n      \"▁vers\": 3502,\n      \"▁della\": 3503,\n      \"▁\\\"\\\"\\\"\": 3504,\n      \"mathbf\": 3505,\n      \"zer\": 3506,\n      \"aur\": 3507,\n      \"▁track\": 3508,\n      \"▁associ\": 3509,\n      \"▁suff\": 3510,\n      \"▁inde\": 3511,\n      \"ague\": 3512,\n      \"▁Apr\": 3513,\n      \"Le\": 3514,\n      \"roups\": 3515,\n      \"board\": 3516,\n      \"▁attack\": 3517,\n      \"▁series\": 3518,\n      \"▁instead\": 3519,\n      \"ham\": 3520,\n      \"book\": 3521,\n      \"▁six\": 3522,\n      \"▁Rec\": 3523,\n      \"▁coming\": 3524,\n      \"urt\": 3525,\n      \"▁global\": 3526,\n      \"▁necess\": 3527,\n      \"lege\": 3528,\n      \"Pos\": 3529,\n      \"▁leave\": 3530,\n      \"▁pod\": 3531,\n      \"ategory\": 3532,\n      \"uz\": 3533,\n      \"▁deep\": 3534,\n      \"▁km\": 3535,\n      \"▁outside\": 3536,\n      \"has\": 3537,\n      \"options\": 3538,\n      \"▁Sm\": 3539,\n      \"Sub\": 3540,\n      \"rows\": 3541,\n      \"▁ви\": 3542,\n      \"▁States\": 3543,\n      \"▁wrong\": 3544,\n      \"▁however\": 3545,\n      \"▁sem\": 3546,\n      \"▁catch\": 3547,\n      \"\\\"),\": 3548,\n      \"model\": 3549,\n      \"▁http\": 3550,\n      \"▁option\": 3551,\n      \"rie\": 3552,\n      \"▁ста\": 3553,\n      \"▁är\": 3554,\n      \"▁enjoy\": 3555,\n      \"nu\": 3556,\n      \"▁pas\": 3557,\n      \"▁amount\": 3558,\n      \"▁respons\": 3559,\n      \"▁Intern\": 3560,\n      \"▁myself\": 3561,\n      \"▁opp\": 3562,\n      \"▁Sim\": 3563,\n      \"▁sens\": 3564,\n      \"Ed\": 3565,\n      \"▁(\\\\\": 3566,\n      \"▁students\": 3567,\n      \"нов\": 3568,\n      \"▁points\": 3569,\n      \"arning\": 3570,\n      \"UP\": 3571,\n      \"elling\": 3572,\n      \"▁cannot\": 3573,\n      \"Be\": 3574,\n      \"▁length\": 3575,\n      \"null\": 3576,\n      \"uint\": 3577,\n      \"wise\": 3578,\n      \"▁double\": 3579,\n      \"ige\": 3580,\n      \"ista\": 3581,\n      \"▁estab\": 3582,\n      \"anch\": 3583,\n      \"▁ago\": 3584,\n      \"▁bound\": 3585,\n      \"▁fa\": 3586,\n      \"▁clean\": 3587,\n      \"▁simple\": 3588,\n      \"mi\": 3589,\n      \"########\": 3590,\n      \"ifier\": 3591,\n      \"▁General\": 3592,\n      \"▁seemed\": 3593,\n      \"ena\": 3594,\n      \"▁age\": 3595,\n      \"ной\": 3596,\n      \"endif\": 3597,\n      \"AA\": 3598,\n      \"▁caus\": 3599,\n      \"▁educ\": 3600,\n      \"▁cell\": 3601,\n      \"Gener\": 3602,\n      \"space\": 3603,\n      \"▁Your\": 3604,\n      \"▁beaut\": 3605,\n      \"gt\": 3606,\n      \"▁limit\": 3607,\n      \"▁date\": 3608,\n      \"Util\": 3609,\n      \"▁National\": 3610,\n      \"ows\": 3611,\n      \"pat\": 3612,\n      \"quad\": 3613,\n      \"▁ok\": 3614,\n      \"▁И\": 3615,\n      \"arth\": 3616,\n      \"hat\": 3617,\n      \"▁community\": 3618,\n      \"oul\": 3619,\n      \"▁econom\": 3620,\n      \"Component\": 3621,\n      \"bor\": 3622,\n      \"usion\": 3623,\n      \"▁below\": 3624,\n      \"earch\": 3625,\n      \"ores\": 3626,\n      \"ban\": 3627,\n      \"▁August\": 3628,\n      \"▁further\": 3629,\n      \"sigma\": 3630,\n      \"▁ha\": 3631,\n      \"ji\": 3632,\n      \"▁comput\": 3633,\n      \"гра\": 3634,\n      \"▁None\": 3635,\n      \"▁ter\": 3636,\n      \"▁anyone\": 3637,\n      \"▁task\": 3638,\n      \"ente\": 3639,\n      \"position\": 3640,\n      \"pped\": 3641,\n      \"▁aus\": 3642,\n      \"Attribute\": 3643,\n      \"req\": 3644,\n      \"addr\": 3645,\n      \"light\": 3646,\n      \"ше\": 3647,\n      \"▁arm\": 3648,\n      \"cover\": 3649,\n      \"upport\": 3650,\n      \"▁Gl\": 3651,\n      \"▁San\": 3652,\n      \"▁writing\": 3653,\n      \"▁lost\": 3654,\n      \"▁Mark\": 3655,\n      \"▁gre\": 3656,\n      \"TYPE\": 3657,\n      \"▁South\": 3658,\n      \"▁perfect\": 3659,\n      \"▁package\": 3660,\n      \"▁infl\": 3661,\n      \"haps\": 3662,\n      \"▁Ang\": 3663,\n      \"respon\": 3664,\n      \"ris\": 3665,\n      \"ptember\": 3666,\n      \"▁building\": 3667,\n      \"VAL\": 3668,\n      \"free\": 3669,\n      \"▁ce\": 3670,\n      \"HT\": 3671,\n      \"▁From\": 3672,\n      \"ds\": 3673,\n      \"roy\": 3674,\n      \"achine\": 3675,\n      \"nown\": 3676,\n      \"▁saying\": 3677,\n      \"▁бы\": 3678,\n      \"oe\": 3679,\n      \"Ref\": 3680,\n      \"▁network\": 3681,\n      \"parent\": 3682,\n      \"uge\": 3683,\n      \"▁similar\": 3684,\n      \">\\r\": 3685,\n      \"Builder\": 3686,\n      \"▁living\": 3687,\n      \"▁continue\": 3688,\n      \"anger\": 3689,\n      \"▁Red\": 3690,\n      \"▁hair\": 3691,\n      \"anced\": 3692,\n      \"ians\": 3693,\n      \"▁dead\": 3694,\n      \"▁boolean\": 3695,\n      \"ication\": 3696,\n      \"▁де\": 3697,\n      \"▁client\": 3698,\n      \"uct\": 3699,\n      \"▁•\": 3700,\n      \"SP\": 3701,\n      \"older\": 3702,\n      \"пе\": 3703,\n      \"udio\": 3704,\n      \"▁deg\": 3705,\n      \"asing\": 3706,\n      \"▁step\": 3707,\n      \"▁pers\": 3708,\n      \"ção\": 3709,\n      \"obj\": 3710,\n      \"oz\": 3711,\n      \"ula\": 3712,\n      \"▁round\": 3713,\n      \"▁upon\": 3714,\n      \"▁resource\": 3715,\n      \"▁valid\": 3716,\n      \"▁II\": 3717,\n      \"bug\": 3718,\n      \"std\": 3719,\n      \"▁ang\": 3720,\n      \"span\": 3721,\n      \"pol\": 3722,\n      \"ialog\": 3723,\n      \"▁phot\": 3724,\n      \"?'\": 3725,\n      \"DB\": 3726,\n      \"▁Fin\": 3727,\n      \"VE\": 3728,\n      \"Em\": 3729,\n      \"▁cam\": 3730,\n      \"target\": 3731,\n      \"pected\": 3732,\n      \"Hel\": 3733,\n      \"▁ut\": 3734,\n      \"▁Test\": 3735,\n      \"▁town\": 3736,\n      \"align\": 3737,\n      \"▁webs\": 3738,\n      \"inner\": 3739,\n      \"augh\": 3740,\n      \"▁except\": 3741,\n      \"▁initial\": 3742,\n      \"enty\": 3743,\n      \"lich\": 3744,\n      \"▁Aut\": 3745,\n      \"top\": 3746,\n      \"▁fail\": 3747,\n      \"ona\": 3748,\n      \"▁benef\": 3749,\n      \"anks\": 3750,\n      \"ische\": 3751,\n      \".*\": 3752,\n      \"▁signific\": 3753,\n      \"▁contact\": 3754,\n      \"Rec\": 3755,\n      \"ario\": 3756,\n      \"ottom\": 3757,\n      \"▁relationship\": 3758,\n      \"]);\": 3759,\n      \"▁На\": 3760,\n      \"Head\": 3761,\n      \"format\": 3762,\n      \"▁ét\": 3763,\n      \"▁More\": 3764,\n      \"actory\": 3765,\n      \"portun\": 3766,\n      \"+\\\\\": 3767,\n      \"▁simply\": 3768,\n      \"▁ep\": 3769,\n      \"▁Russ\": 3770,\n      \"ní\": 3771,\n      \"ua\": 3772,\n      \"erc\": 3773,\n      \"▁longer\": 3774,\n      \"inition\": 3775,\n      \"ector\": 3776,\n      \"aption\": 3777,\n      \"▁profess\": 3778,\n      \"▁Mus\": 3779,\n      \"ilities\": 3780,\n      \"ès\": 3781,\n      \"▁Act\": 3782,\n      \"offset\": 3783,\n      \"▁ill\": 3784,\n      \"band\": 3785,\n      \"▁Ag\": 3786,\n      \"▁По\": 3787,\n      \"би\": 3788,\n      \"content\": 3789,\n      \"icon\": 3790,\n      \"▁works\": 3791,\n      \"ynam\": 3792,\n      \"plement\": 3793,\n      \"Resource\": 3794,\n      \"Action\": 3795,\n      \"▁difficult\": 3796,\n      \"▁West\": 3797,\n      \"▁video\": 3798,\n      \"▁THE\": 3799,\n      \"▁decl\": 3800,\n      \"ondon\": 3801,\n      \"ded\": 3802,\n      \"}{\\\\\": 3803,\n      \"ocr\": 3804,\n      \"▁City\": 3805,\n      \"▁я\": 3806,\n      \"uer\": 3807,\n      \"cz\": 3808,\n      \"▁imag\": 3809,\n      \"cr\": 3810,\n      \"ete\": 3811,\n      \"idget\": 3812,\n      \"▁Mod\": 3813,\n      \"▁forward\": 3814,\n      \"▁pict\": 3815,\n      \"orge\": 3816,\n      \"▁subject\": 3817,\n      \"update\": 3818,\n      \"attle\": 3819,\n      \"sa\": 3820,\n      \"▁Ant\": 3821,\n      \"▁running\": 3822,\n      \"▁sal\": 3823,\n      \"conne\": 3824,\n      \"▁output\": 3825,\n      \"adata\": 3826,\n      \"ML\": 3827,\n      \"Check\": 3828,\n      \"ledge\": 3829,\n      \"▁paper\": 3830,\n      \"params\": 3831,\n      \"avy\": 3832,\n      \"▁af\": 3833,\n      \"▁eine\": 3834,\n      \"▁jour\": 3835,\n      \"AY\": 3836,\n      \"▁itself\": 3837,\n      \"▁Str\": 3838,\n      \"style\": 3839,\n      \"That\": 3840,\n      \"▁million\": 3841,\n      \"▁language\": 3842,\n      \"OS\": 3843,\n      \"ving\": 3844,\n      \"▁ма\": 3845,\n      \"▁то\": 3846,\n      \")(\": 3847,\n      \"▁buy\": 3848,\n      \"./\": 3849,\n      \"▁...\": 3850,\n      \"▁tried\": 3851,\n      \"▁compl\": 3852,\n      \"▁activ\": 3853,\n      \"apped\": 3854,\n      \"Button\": 3855,\n      \"Token\": 3856,\n      \"▁provided\": 3857,\n      \"iber\": 3858,\n      \"▁created\": 3859,\n      \"curity\": 3860,\n      \"End\": 3861,\n      \"ał\": 3862,\n      \"uster\": 3863,\n      \"izing\": 3864,\n      \"omb\": 3865,\n      \"▁sich\": 3866,\n      \"▁compon\": 3867,\n      \"▁See\": 3868,\n      \"▁uint\": 3869,\n      \"▁label\": 3870,\n      \"vol\": 3871,\n      \"ów\": 3872,\n      \"ocol\": 3873,\n      \"▁received\": 3874,\n      \"▁intern\": 3875,\n      \"це\": 3876,\n      \"Run\": 3877,\n      \"▁road\": 3878,\n      \"▁Oct\": 3879,\n      \"▁Comp\": 3880,\n      \"▁study\": 3881,\n      \"▁те\": 3882,\n      \"Act\": 3883,\n      \"▁tour\": 3884,\n      \"▁State\": 3885,\n      \"▁added\": 3886,\n      \"https\": 3887,\n      \"stream\": 3888,\n      \"▁lower\": 3889,\n      \"▁box\": 3890,\n      \"▁Sk\": 3891,\n      \"▁themselves\": 3892,\n      \"▁cross\": 3893,\n      \"▁echo\": 3894,\n      \"▁device\": 3895,\n      \"pose\": 3896,\n      \"▁games\": 3897,\n      \"PL\": 3898,\n      \"Window\": 3899,\n      \"ises\": 3900,\n      \"title\": 3901,\n      \"Stream\": 3902,\n      \"zt\": 3903,\n      \"▁Sw\": 3904,\n      \"▁role\": 3905,\n      \"iant\": 3906,\n      \"ku\": 3907,\n      \"sequ\": 3908,\n      \"▁late\": 3909,\n      \"▁sold\": 3910,\n      \"ря\": 3911,\n      \"Comm\": 3912,\n      \"▁entre\": 3913,\n      \"▁dog\": 3914,\n      \"device\": 3915,\n      \"Par\": 3916,\n      \"▁likely\": 3917,\n      \"^{-\": 3918,\n      \"▁len\": 3919,\n      \"▁Paul\": 3920,\n      \"▁tool\": 3921,\n      \"Off\": 3922,\n      \"▁famil\": 3923,\n      \"▁draw\": 3924,\n      \"apping\": 3925,\n      \"▁events\": 3926,\n      \"cret\": 3927,\n      \"rought\": 3928,\n      \"Content\": 3929,\n      \"▁software\": 3930,\n      \"ria\": 3931,\n      \"msg\": 3932,\n      \"gamma\": 3933,\n      \"▁hear\": 3934,\n      \"Oper\": 3935,\n      \"▁yourself\": 3936,\n      \"▁liter\": 3937,\n      \"emp\": 3938,\n      \"▁separ\": 3939,\n      \"▁З\": 3940,\n      \"▁title\": 3941,\n      \"Method\": 3942,\n      \"mathrm\": 3943,\n      \"▁slow\": 3944,\n      \"▁Rom\": 3945,\n      \"!!\": 3946,\n      \"▁tax\": 3947,\n      \"ска\": 3948,\n      \"emplate\": 3949,\n      \"oi\": 3950,\n      \"▁Art\": 3951,\n      \"false\": 3952,\n      \"astic\": 3953,\n      \"сть\": 3954,\n      \"ocket\": 3955,\n      \"▁ens\": 3956,\n      \"TO\": 3957,\n      \"amente\": 3958,\n      \"local\": 3959,\n      \"chie\": 3960,\n      \"▁pan\": 3961,\n      \"ний\": 3962,\n      \"chema\": 3963,\n      \"▁North\": 3964,\n      \"зо\": 3965,\n      \"▁>=\": 3966,\n      \"Aut\": 3967,\n      \"▁dig\": 3968,\n      \"▁seems\": 3969,\n      \"▁morning\": 3970,\n      \"sole\": 3971,\n      \"umer\": 3972,\n      \"delta\": 3973,\n      \"ité\": 3974,\n      \"abase\": 3975,\n      \"raf\": 3976,\n      \"▁observ\": 3977,\n      \"▁Est\": 3978,\n      \"▁seg\": 3979,\n      \"▁[]\": 3980,\n      \"▁Pres\": 3981,\n      \"iful\": 3982,\n      \"push\": 3983,\n      \"▁Off\": 3984,\n      \"ipe\": 3985,\n      \"ati\": 3986,\n      \"▁dim\": 3987,\n      \"ceed\": 3988,\n      \"Ent\": 3989,\n      \"____\": 3990,\n      \"entry\": 3991,\n      \"▁fight\": 3992,\n      \"▁cred\": 3993,\n      \"▁OR\": 3994,\n      \"▁Dep\": 3995,\n      \"${\": 3996,\n      \"лен\": 3997,\n      \"Create\": 3998,\n      \"▁April\": 3999,\n      \"ministr\": 4000,\n      \"FL\": 4001,\n      \"▁Ap\": 4002,\n      \"▁Here\": 4003,\n      \"private\": 4004,\n      \"Instance\": 4005,\n      \"iem\": 4006,\n      \"▁office\": 4007,\n      \"▁third\": 4008,\n      \"▁update\": 4009,\n      \"Line\": 4010,\n      \"tag\": 4011,\n      \"▁especially\": 4012,\n      \"▁года\": 4013,\n      \"▁cu\": 4014,\n      \"▁kill\": 4015,\n      \"aught\": 4016,\n      \"▁swe\": 4017,\n      \"Options\": 4018,\n      \"IM\": 4019,\n      \"CC\": 4020,\n      \"▁compan\": 4021,\n      \"just\": 4022,\n      \"▁While\": 4023,\n      \"izer\": 4024,\n      \"▁мо\": 4025,\n      \"ке\": 4026,\n      \"▁auto\": 4027,\n      \"▁band\": 4028,\n      \"мен\": 4029,\n      \"iques\": 4030,\n      \"▁ple\": 4031,\n      \"NO\": 4032,\n      \"▁OF\": 4033,\n      \"▁song\": 4034,\n      \"▁Acc\": 4035,\n      \"EXT\": 4036,\n      \"ensor\": 4037,\n      \"ining\": 4038,\n      \"▁lat\": 4039,\n      \"big\": 4040,\n      \"▁King\": 4041,\n      \"och\": 4042,\n      \"si\": 4043,\n      \"▁Hist\": 4044,\n      \"▁quality\": 4045,\n      \"mode\": 4046,\n      \"▁opportun\": 4047,\n      \"▁wouldn\": 4048,\n      \":**\": 4049,\n      \"output\": 4050,\n      \"▁feet\": 4051,\n      \"▁mis\": 4052,\n      \"df\": 4053,\n      \"aging\": 4054,\n      \"▁ме\": 4055,\n      \"▁tro\": 4056,\n      \"▁defined\": 4057,\n      \"▁review\": 4058,\n      \"▁Fil\": 4059,\n      \">>\": 4060,\n      \"▁princip\": 4061,\n      \"Base\": 4062,\n      \"dict\": 4063,\n      \"verage\": 4064,\n      \"icient\": 4065,\n      \"IF\": 4066,\n      \"▁hit\": 4067,\n      \"Page\": 4068,\n      \"▁perm\": 4069,\n      \"cel\": 4070,\n      \"ít\": 4071,\n      \"▁express\": 4072,\n      \"▁indic\": 4073,\n      \"▁September\": 4074,\n      \"image\": 4075,\n      \"▁products\": 4076,\n      \"▁media\": 4077,\n      \"change\": 4078,\n      \"igger\": 4079,\n      \"▁send\": 4080,\n      \"last\": 4081,\n      \"ming\": 4082,\n      \"pa\": 4083,\n      \"uary\": 4084,\n      \"▁speak\": 4085,\n      \"ный\": 4086,\n      \"ще\": 4087,\n      \"ysis\": 4088,\n      \"lying\": 4089,\n      \"▁ч\": 4090,\n      \"like\": 4091,\n      \"ры\": 4092,\n      \"ві\": 4093,\n      \"▁Mich\": 4094,\n      \"MO\": 4095,\n      \"▁Jah\": 4096,\n      \"ensive\": 4097,\n      \"▁share\": 4098,\n      \"▁development\": 4099,\n      \"CP\": 4100,\n      \"spec\": 4101,\n      \"▁fast\": 4102,\n      \"het\": 4103,\n      \"HO\": 4104,\n      \"▁particip\": 4105,\n      \"Block\": 4106,\n      \"▁viol\": 4107,\n      \"▁frame\": 4108,\n      \"▁qual\": 4109,\n      \"tre\": 4110,\n      \"▁Ф\": 4111,\n      \"▁toward\": 4112,\n      \"fg\": 4113,\n      \"Box\": 4114,\n      \"Column\": 4115,\n      \"▁milit\": 4116,\n      \"▁March\": 4117,\n      \"▁various\": 4118,\n      \"pass\": 4119,\n      \"▁Park\": 4120,\n      \"▁Ben\": 4121,\n      \"Frame\": 4122,\n      \"▁normal\": 4123,\n      \"open\": 4124,\n      \"px\": 4125,\n      \"▁phone\": 4126,\n      \"▁Even\": 4127,\n      \"▁ma\": 4128,\n      \"ibrary\": 4129,\n      \"Start\": 4130,\n      \"idden\": 4131,\n      \"rho\": 4132,\n      \"graph\": 4133,\n      \"acing\": 4134,\n      \"'.\": 4135,\n      \"arter\": 4136,\n      \"mes\": 4137,\n      \"inst\": 4138,\n      \"▁ir\": 4139,\n      \"active\": 4140,\n      \"▁fem\": 4141,\n      \"▁moved\": 4142,\n      \"▁store\": 4143,\n      \"▁price\": 4144,\n      \"\\\").\": 4145,\n      \"berg\": 4146,\n      \"▁nov\": 4147,\n      \"▁card\": 4148,\n      \"ellow\": 4149,\n      \"▁party\": 4150,\n      \"▁Mor\": 4151,\n      \"ael\": 4152,\n      \"▁percent\": 4153,\n      \"▁training\": 4154,\n      \"▁ing\": 4155,\n      \"imer\": 4156,\n      \"▁Sam\": 4157,\n      \"Default\": 4158,\n      \"▁fuck\": 4159,\n      \"▁complete\": 4160,\n      \"uid\": 4161,\n      \"▁details\": 4162,\n      \"▁led\": 4163,\n      \"Point\": 4164,\n      \"▁Count\": 4165,\n      \"▁regard\": 4166,\n      \"zo\": 4167,\n      \"▁Bro\": 4168,\n      \"▁recogn\": 4169,\n      \"▁Hol\": 4170,\n      \"UM\": 4171,\n      \"element\": 4172,\n      \"Mode\": 4173,\n      \"▁exam\": 4174,\n      \"▁EX\": 4175,\n      \"Image\": 4176,\n      \"verse\": 4177,\n      \"riter\": 4178,\n      \"soft\": 4179,\n      \"▁introdu\": 4180,\n      \"▁surpr\": 4181,\n      \"Buffer\": 4182,\n      \"lector\": 4183,\n      \"aren\": 4184,\n      \"anged\": 4185,\n      \"▁Pat\": 4186,\n      \"▁Pal\": 4187,\n      \"▁contr\": 4188,\n      \"Handler\": 4189,\n      \"▁features\": 4190,\n      \"iple\": 4191,\n      \"▁CON\": 4192,\n      \"Fil\": 4193,\n      \"▁Port\": 4194,\n      \"▁thinking\": 4195,\n      \"doc\": 4196,\n      \"wer\": 4197,\n      \"▁worked\": 4198,\n      \"PC\": 4199,\n      \"cm\": 4200,\n      \"dat\": 4201,\n      \"PRO\": 4202,\n      \"▁Every\": 4203,\n      \"▁era\": 4204,\n      \"▁First\": 4205,\n      \"gn\": 4206,\n      \"▁immedi\": 4207,\n      \"ovember\": 4208,\n      \"apan\": 4209,\n      \"▁extra\": 4210,\n      \"▁section\": 4211,\n      \"▁June\": 4212,\n      \"▁via\": 4213,\n      \"▁gone\": 4214,\n      \"come\": 4215,\n      \"▁stri\": 4216,\n      \"^\\\\\": 4217,\n      \"antly\": 4218,\n      \"▁arch\": 4219,\n      \"Source\": 4220,\n      \"▁conv\": 4221,\n      \"▁London\": 4222,\n      \"Number\": 4223,\n      \"▁questions\": 4224,\n      \"andid\": 4225,\n      \"▁played\": 4226,\n      \"env\": 4227,\n      \"▁School\": 4228,\n      \"▁natural\": 4229,\n      \"can\": 4230,\n      \"▁news\": 4231,\n      \"DR\": 4232,\n      \"▁chall\": 4233,\n      \"▁Soc\": 4234,\n      \"▁э\": 4235,\n      \"▁attempt\": 4236,\n      \"*}\": 4237,\n      \"Null\": 4238,\n      \"rote\": 4239,\n      \"▁bi\": 4240,\n      \"▁written\": 4241,\n      \"▁blood\": 4242,\n      \"▁happened\": 4243,\n      \"▁cause\": 4244,\n      \"ashing\": 4245,\n      \"▁William\": 4246,\n      \"adem\": 4247,\n      \"▁brought\": 4248,\n      \"▁display\": 4249,\n      \"ima\": 4250,\n      \"▁finally\": 4251,\n      \"tab\": 4252,\n      \"▁returned\": 4253,\n      \"ных\": 4254,\n      \"nie\": 4255,\n      \"▁q\": 4256,\n      \"▁hers\": 4257,\n      \"▁Pre\": 4258,\n      \"▁dou\": 4259,\n      \"buffer\": 4260,\n      \"▁effort\": 4261,\n      \"aine\": 4262,\n      \"xy\": 4263,\n      \"▁histor\": 4264,\n      \"enu\": 4265,\n      \"▁arriv\": 4266,\n      \"▁Dem\": 4267,\n      \"▁favor\": 4268,\n      \"▁handle\": 4269,\n      \"SET\": 4270,\n      \"▁Public\": 4271,\n      \"rupt\": 4272,\n      \"▁ur\": 4273,\n      \"▁force\": 4274,\n      \"▁és\": 4275,\n      \"ube\": 4276,\n      \"Pre\": 4277,\n      \"рі\": 4278,\n      \"iny\": 4279,\n      \"theta\": 4280,\n      \"isf\": 4281,\n      \"▁national\": 4282,\n      \"Equal\": 4283,\n      \"rench\": 4284,\n      \"▁wife\": 4285,\n      \"▁capt\": 4286,\n      \"▁Inter\": 4287,\n      \"tau\": 4288,\n      \"▁sleep\": 4289,\n      \"../../\": 4290,\n      \"▁issue\": 4291,\n      \"▁member\": 4292,\n      \"▁await\": 4293,\n      \"▁Dan\": 4294,\n      \"zi\": 4295,\n      \"inate\": 4296,\n      \"▁sym\": 4297,\n      \"chan\": 4298,\n      \"▁Jack\": 4299,\n      \"▁English\": 4300,\n      \"▁sz\": 4301,\n      \"ributes\": 4302,\n      \"▁ign\": 4303,\n      \"ál\": 4304,\n      \"▁appear\": 4305,\n      \"rad\": 4306,\n      \"idge\": 4307,\n      \"▁couple\": 4308,\n      \"▁ship\": 4309,\n      \"lig\": 4310,\n      \"web\": 4311,\n      \"▁usually\": 4312,\n      \"▁ready\": 4313,\n      \"▁vill\": 4314,\n      \"▁Why\": 4315,\n      \"ebru\": 4316,\n      \"▁grad\": 4317,\n      \"ords\": 4318,\n      \"▁inf\": 4319,\n      \"▁loss\": 4320,\n      \"▁od\": 4321,\n      \"▁Phil\": 4322,\n      \"server\": 4323,\n      \"▁Up\": 4324,\n      \"▁buff\": 4325,\n      \"▁filename\": 4326,\n      \"ABLE\": 4327,\n      \"iting\": 4328,\n      \"efore\": 4329,\n      \"()->\": 4330,\n      \"▁conditions\": 4331,\n      \"vm\": 4332,\n      \"eld\": 4333,\n      \"itz\": 4334,\n      \"▁Trans\": 4335,\n      \"▁weight\": 4336,\n      \"▁higher\": 4337,\n      \"▁rate\": 4338,\n      \"▁accom\": 4339,\n      \"vider\": 4340,\n      \"OM\": 4341,\n      \"▁ways\": 4342,\n      \"coming\": 4343,\n      \"▁lock\": 4344,\n      \"▁etc\": 4345,\n      \"▁avec\": 4346,\n      \"▁takes\": 4347,\n      \"▁Char\": 4348,\n      \"▁November\": 4349,\n      \"method\": 4350,\n      \"▁Austral\": 4351,\n      \"▁America\": 4352,\n      \"long\": 4353,\n      \"cember\": 4354,\n      \"▁political\": 4355,\n      \"flow\": 4356,\n      \"▁maybe\": 4357,\n      \"▁amb\": 4358,\n      \"Layout\": 4359,\n      \"iled\": 4360,\n      \"omen\": 4361,\n      \"ola\": 4362,\n      \"icip\": 4363,\n      \"partial\": 4364,\n      \"True\": 4365,\n      \"▁floor\": 4366,\n      \"▁Def\": 4367,\n      \"▁concern\": 4368,\n      \"yr\": 4369,\n      \"▁shows\": 4370,\n      \"ih\": 4371,\n      \"▁answer\": 4372,\n      \"acc\": 4373,\n      \"▁ball\": 4374,\n      \"▁Rev\": 4375,\n      \"▁sun\": 4376,\n      \"▁quickly\": 4377,\n      \"▁somet\": 4378,\n      \"mente\": 4379,\n      \"▁Mal\": 4380,\n      \"undred\": 4381,\n      \"▁issues\": 4382,\n      \"ecause\": 4383,\n      \"pes\": 4384,\n      \"▁player\": 4385,\n      \"▁parents\": 4386,\n      \"▁popular\": 4387,\n      \"▁mode\": 4388,\n      \"▁mention\": 4389,\n      \"NE\": 4390,\n      \"Load\": 4391,\n      \"▁regular\": 4392,\n      \"aved\": 4393,\n      \"?:\": 4394,\n      \"year\": 4395,\n      \"func\": 4396,\n      \"▁performance\": 4397,\n      \"▁July\": 4398,\n      \"thern\": 4399,\n      \"▁website\": 4400,\n      \"ford\": 4401,\n      \"PR\": 4402,\n      \"ela\": 4403,\n      \"level\": 4404,\n      \"uit\": 4405,\n      \"flags\": 4406,\n      \"▁worth\": 4407,\n      \"▁correspon\": 4408,\n      \"▁British\": 4409,\n      \"sim\": 4410,\n      \"▁alone\": 4411,\n      \"▁har\": 4412,\n      \"▁ones\": 4413,\n      \"obile\": 4414,\n      \"▁dru\": 4415,\n      \"chi\": 4416,\n      \"▁David\": 4417,\n      \"▁problems\": 4418,\n      \"▁column\": 4419,\n      \"();\\r\": 4420,\n      \"ZE\": 4421,\n      \"▁relig\": 4422,\n      \"ological\": 4423,\n      \"▁region\": 4424,\n      \"ady\": 4425,\n      \"IO\": 4426,\n      \"ander\": 4427,\n      \"Net\": 4428,\n      \"▁built\": 4429,\n      \"▁install\": 4430,\n      \"▁approach\": 4431,\n      \"Cur\": 4432,\n      \"▁fine\": 4433,\n      \"▁talking\": 4434,\n      \"▁changes\": 4435,\n      \"Style\": 4436,\n      \"▁Mart\": 4437,\n      \"лю\": 4438,\n      \"response\": 4439,\n      \"teger\": 4440,\n      \"{\\r\": 4441,\n      \"irit\": 4442,\n      \"▁protected\": 4443,\n      \"▁rele\": 4444,\n      \"ership\": 4445,\n      \"тель\": 4446,\n      \"unsigned\": 4447,\n      \"ialize\": 4448,\n      \"▁https\": 4449,\n      \"Tag\": 4450,\n      \"▁$(\": 4451,\n      \"more\": 4452,\n      \"ypes\": 4453,\n      \"▁stream\": 4454,\n      \"etch\": 4455,\n      \"▁engine\": 4456,\n      \"KE\": 4457,\n      \"cmd\": 4458,\n      \"script\": 4459,\n      \"ttp\": 4460,\n      \"▁avoid\": 4461,\n      \"▁terr\": 4462,\n      \"▁rock\": 4463,\n      \"▁ful\": 4464,\n      \"Update\": 4465,\n      \"▁environment\": 4466,\n      \"▁prec\": 4467,\n      \"▁са\": 4468,\n      \"▁cases\": 4469,\n      \"▁offset\": 4470,\n      \"▁rais\": 4471,\n      \"lib\": 4472,\n      \"ées\": 4473,\n      \"aa\": 4474,\n      \"yt\": 4475,\n      \"▁arr\": 4476,\n      \"opyright\": 4477,\n      \"first\": 4478,\n      \"▁util\": 4479,\n      \"▁feature\": 4480,\n      \"posed\": 4481,\n      \"ffect\": 4482,\n      \"жа\": 4483,\n      \"itude\": 4484,\n      \"ements\": 4485,\n      \"asc\": 4486,\n      \"ador\": 4487,\n      \"lections\": 4488,\n      \"▁club\": 4489,\n      \"]{\": 4490,\n      \"▁*)\": 4491,\n      \"ство\": 4492,\n      \"▁imm\": 4493,\n      \"▁former\": 4494,\n      \"▁rights\": 4495,\n      \"▁decided\": 4496,\n      \"▁rev\": 4497,\n      \"▁ment\": 4498,\n      \"ani\": 4499,\n      \"▁stru\": 4500,\n      \"▁attention\": 4501,\n      \"artment\": 4502,\n      \"▁Ital\": 4503,\n      \"alle\": 4504,\n      \"▁bis\": 4505,\n      \"gener\": 4506,\n      \"▁integr\": 4507,\n      \"ello\": 4508,\n      \"rypt\": 4509,\n      \"▁achie\": 4510,\n      \"nes\": 4511,\n      \"▁stra\": 4512,\n      \"sb\": 4513,\n      \"▁types\": 4514,\n      \"▁RE\": 4515,\n      \"Init\": 4516,\n      \"▁comment\": 4517,\n      \"▁addition\": 4518,\n      \"▁ID\": 4519,\n      \"ART\": 4520,\n      \"FO\": 4521,\n      \"щи\": 4522,\n      \"Conne\": 4523,\n      \"▁squ\": 4524,\n      \"▁considered\": 4525,\n      \"idad\": 4526,\n      \"▁October\": 4527,\n      \"cial\": 4528,\n      \"▁Of\": 4529,\n      \"▁travel\": 4530,\n      \"▁boy\": 4531,\n      \"').\": 4532,\n      \"uy\": 4533,\n      \"illa\": 4534,\n      \"istry\": 4535,\n      \"▁va\": 4536,\n      \"▁Che\": 4537,\n      \"ERT\": 4538,\n      \"ende\": 4539,\n      \"ungen\": 4540,\n      \"aby\": 4541,\n      \"▁Rober\": 4542,\n      \"▁playing\": 4543,\n      \"ils\": 4544,\n      \"▁sam\": 4545,\n      \"▁execut\": 4546,\n      \"▁Us\": 4547,\n      \"▁mut\": 4548,\n      \"▁bal\": 4549,\n      \"asse\": 4550,\n      \"▁kids\": 4551,\n      \"▁financ\": 4552,\n      \"gor\": 4553,\n      \"▁Sec\": 4554,\n      \"bert\": 4555,\n      \"▁High\": 4556,\n      \"▁је\": 4557,\n      \"▁kept\": 4558,\n      \"button\": 4559,\n      \"itory\": 4560,\n      \"▁Rem\": 4561,\n      \"▁DE\": 4562,\n      \"▁reach\": 4563,\n      \"▁bur\": 4564,\n      \"Label\": 4565,\n      \"át\": 4566,\n      \"ago\": 4567,\n      \"▁passed\": 4568,\n      \"▁behav\": 4569,\n      \"xFF\": 4570,\n      \"▁Return\": 4571,\n      \"STR\": 4572,\n      \"▁Les\": 4573,\n      \"▁ord\": 4574,\n      \"ala\": 4575,\n      \"inger\": 4576,\n      \"▁Since\": 4577,\n      \"▁experi\": 4578,\n      \"▁shall\": 4579,\n      \"▁star\": 4580,\n      \"non\": 4581,\n      \"▁gun\": 4582,\n      \"▁Bel\": 4583,\n      \"▁obj\": 4584,\n      \"ares\": 4585,\n      \"rs\": 4586,\n      \"▁weeks\": 4587,\n      \"nen\": 4588,\n      \"▁Stre\": 4589,\n      \"oring\": 4590,\n      \"▁î\": 4591,\n      \"▁serious\": 4592,\n      \"times\": 4593,\n      \"▁House\": 4594,\n      \"▁roll\": 4595,\n      \"▁register\": 4596,\n      \"▁module\": 4597,\n      \"▁applic\": 4598,\n      \"IR\": 4599,\n      \"▁cook\": 4600,\n      \"aux\": 4601,\n      \"▁save\": 4602,\n      \"▁Cr\": 4603,\n      \",\\r\": 4604,\n      \"▁states\": 4605,\n      \"▁empty\": 4606,\n      \"▁autom\": 4607,\n      \"figure\": 4608,\n      \"iance\": 4609,\n      \"▁happy\": 4610,\n      \"▁fn\": 4611,\n      \"▁jud\": 4612,\n      \"▁hat\": 4613,\n      \"ACK\": 4614,\n      \"▁Fe\": 4615,\n      \"$-\": 4616,\n      \"ivil\": 4617,\n      \"oted\": 4618,\n      \"▁sizeof\": 4619,\n      \"▁situation\": 4620,\n      \"▁lives\": 4621,\n      \"▁feeling\": 4622,\n      \"▁risk\": 4623,\n      \"▁January\": 4624,\n      \"▁Object\": 4625,\n      \"▁recomm\": 4626,\n      \"▁вы\": 4627,\n      \"▁potential\": 4628,\n      \"eah\": 4629,\n      \"▁complex\": 4630,\n      \"printf\": 4631,\n      \"istance\": 4632,\n      \"irth\": 4633,\n      \"lik\": 4634,\n      \"aste\": 4635,\n      \"▁whose\": 4636,\n      \"Arg\": 4637,\n      \"▁modern\": 4638,\n      \"iones\": 4639,\n      \"▁че\": 4640,\n      \"▁sett\": 4641,\n      \"▁Mag\": 4642,\n      \"ae\": 4643,\n      \"▁condition\": 4644,\n      \"Length\": 4645,\n      \"▁fit\": 4646,\n      \"ounds\": 4647,\n      \"▁changed\": 4648,\n      \"▁guy\": 4649,\n      \"filter\": 4650,\n      \"atever\": 4651,\n      \"éd\": 4652,\n      \"remove\": 4653,\n      \"▁hop\": 4654,\n      \"▁Out\": 4655,\n      \"▁Rich\": 4656,\n      \"child\": 4657,\n      \"▁included\": 4658,\n      \"$\\\\\": 4659,\n      \"▁Tom\": 4660,\n      \"eline\": 4661,\n      \"▁sometimes\": 4662,\n      \"▁drink\": 4663,\n      \"▁quant\": 4664,\n      \"▁please\": 4665,\n      \"▁Int\": 4666,\n      \"rief\": 4667,\n      \"▁exactly\": 4668,\n      \"cing\": 4669,\n      \"▁allowed\": 4670,\n      \"build\": 4671,\n      \"▁beautiful\": 4672,\n      \"▁Well\": 4673,\n      \"▁looks\": 4674,\n      \"▁ü\": 4675,\n      \"▁chance\": 4676,\n      \"▁wrote\": 4677,\n      \"▁nor\": 4678,\n      \"▁failed\": 4679,\n      \"Met\": 4680,\n      \"▁prior\": 4681,\n      \"▁hundred\": 4682,\n      \"ской\": 4683,\n      \"oria\": 4684,\n      \"▁cy\": 4685,\n      \"▁web\": 4686,\n      \"▁mess\": 4687,\n      \"leq\": 4688,\n      \"dy\": 4689,\n      \"tex\": 4690,\n      \"▁anim\": 4691,\n      \"atur\": 4692,\n      \"▁structure\": 4693,\n      \"option\": 4694,\n      \"▁actual\": 4695,\n      \"▁Franc\": 4696,\n      \"enced\": 4697,\n      \".</\": 4698,\n      \"▁flow\": 4699,\n      \"▁Afr\": 4700,\n      \"det\": 4701,\n      \"▁Ke\": 4702,\n      \"ety\": 4703,\n      \"ский\": 4704,\n      \"▁stuff\": 4705,\n      \"itter\": 4706,\n      \"▁args\": 4707,\n      \"▁album\": 4708,\n      \"▁]\": 4709,\n      \"ugin\": 4710,\n      \"SU\": 4711,\n      \"Per\": 4712,\n      \"▁circ\": 4713,\n      \"▁correct\": 4714,\n      \"▁lines\": 4715,\n      \"▁completely\": 4716,\n      \"known\": 4717,\n      \"▁tree\": 4718,\n      \"root\": 4719,\n      \"▁Japan\": 4720,\n      \"oles\": 4721,\n      \"endo\": 4722,\n      \"▁location\": 4723,\n      \"▁Х\": 4724,\n      \"▁mid\": 4725,\n      \"aling\": 4726,\n      \"GL\": 4727,\n      \"iano\": 4728,\n      \"▁{}\": 4729,\n      \"lang\": 4730,\n      \"▁equip\": 4731,\n      \"ERROR\": 4732,\n      \"▁memory\": 4733,\n      \"▁(\\\"\": 4734,\n      \"▁nature\": 4735,\n      \"google\": 4736,\n      \"abs\": 4737,\n      \"BC\": 4738,\n      \"▁gets\": 4739,\n      \"Command\": 4740,\n      \"TER\": 4741,\n      \"aled\": 4742,\n      \"cp\": 4743,\n      \"▁purch\": 4744,\n      \"▁Den\": 4745,\n      \"▁herself\": 4746,\n      \"▁Ir\": 4747,\n      \"▁sie\": 4748,\n      \"gar\": 4749,\n      \"Ap\": 4750,\n      \"▁nel\": 4751,\n      \"ota\": 4752,\n      \")]\": 4753,\n      \"cor\": 4754,\n      \"acht\": 4755,\n      \"(*\": 4756,\n      \"irtual\": 4757,\n      \"▁police\": 4758,\n      \"▁skin\": 4759,\n      \"ship\": 4760,\n      \"efined\": 4761,\n      \"aughter\": 4762,\n      \"inding\": 4763,\n      \"▁Sl\": 4764,\n      \"▁influ\": 4765,\n      \"▁mount\": 4766,\n      \"▁az\": 4767,\n      \"▁wood\": 4768,\n      \"otes\": 4769,\n      \"ega\": 4770,\n      \"▁according\": 4771,\n      \"▁namespace\": 4772,\n      \"Delta\": 4773,\n      \"stant\": 4774,\n      \"▁published\": 4775,\n      \"aker\": 4776,\n      \"▁Black\": 4777,\n      \"ln\": 4778,\n      \"▁industry\": 4779,\n      \"SON\": 4780,\n      \"Rep\": 4781,\n      \"▁choice\": 4782,\n      \"▁inn\": 4783,\n      \"kl\": 4784,\n      \"▁pal\": 4785,\n      \"▁aud\": 4786,\n      \"▁standard\": 4787,\n      \"▁knowledge\": 4788,\n      \"**,\": 4789,\n      \"▁Frank\": 4790,\n      \"sq\": 4791,\n      \"Output\": 4792,\n      \"▁för\": 4793,\n      \"Valid\": 4794,\n      \"ugh\": 4795,\n      \"▁books\": 4796,\n      \"▁James\": 4797,\n      \"ko\": 4798,\n      \"▁companies\": 4799,\n      \"anning\": 4800,\n      \"▁vict\": 4801,\n      \"▁repl\": 4802,\n      \"▁sche\": 4803,\n      \"▁happen\": 4804,\n      \"fty\": 4805,\n      \"acity\": 4806,\n      \"ira\": 4807,\n      \"▁implement\": 4808,\n      \"ского\": 4809,\n      \"number\": 4810,\n      \"SH\": 4811,\n      \"iro\": 4812,\n      \"▁fear\": 4813,\n      \"▁touch\": 4814,\n      \"▁cast\": 4815,\n      \"ASS\": 4816,\n      \"▁consist\": 4817,\n      \"Task\": 4818,\n      \"▁sig\": 4819,\n      \"ба\": 4820,\n      \"igation\": 4821,\n      \"▁Most\": 4822,\n      \"▁Der\": 4823,\n      \"}(\\\\\": 4824,\n      \":\\\"\": 4825,\n      \"▁Fig\": 4826,\n      \"ali\": 4827,\n      \"iner\": 4828,\n      \"'),\": 4829,\n      \"▁Coun\": 4830,\n      \"(_\": 4831,\n      \"▁distributed\": 4832,\n      \"NAME\": 4833,\n      \"▁mur\": 4834,\n      \"▁career\": 4835,\n      \"~~\": 4836,\n      \"pers\": 4837,\n      \"aries\": 4838,\n      \"enses\": 4839,\n      \"▁Also\": 4840,\n      \"Version\": 4841,\n      \"▁unique\": 4842,\n      \"▁France\": 4843,\n      \"BA\": 4844,\n      \"ky\": 4845,\n      \"▁Febru\": 4846,\n      \"▁died\": 4847,\n      \"omega\": 4848,\n      \"▁Form\": 4849,\n      \"▁width\": 4850,\n      \"tocol\": 4851,\n      \"▁lie\": 4852,\n      \"She\": 4853,\n      \"ém\": 4854,\n      \"▁straight\": 4855,\n      \"▁nach\": 4856,\n      \"▁stood\": 4857,\n      \"olds\": 4858,\n      \"▁goes\": 4859,\n      \"cell\": 4860,\n      \"▁till\": 4861,\n      \"LI\": 4862,\n      \"draw\": 4863,\n      \"▁satisf\": 4864,\n      \"▁reading\": 4865,\n      \"ATION\": 4866,\n      \"▁Are\": 4867,\n      \"▁Ac\": 4868,\n      \")*\": 4869,\n      \"▁additional\": 4870,\n      \"wood\": 4871,\n      \"cil\": 4872,\n      \"пу\": 4873,\n      \"ULT\": 4874,\n      \"▁bill\": 4875,\n      \"mas\": 4876,\n      \"ania\": 4877,\n      \"су\": 4878,\n      \"anz\": 4879,\n      \"height\": 4880,\n      \"jo\": 4881,\n      \"▁dos\": 4882,\n      \"\\\\\\\"\": 4883,\n      \"▁/>\": 4884,\n      \"▁production\": 4885,\n      \"iger\": 4886,\n      \"▁ст\": 4887,\n      \"show\": 4888,\n      \"▁population\": 4889,\n      \"▁park\": 4890,\n      \"▁Ze\": 4891,\n      \"▁necessary\": 4892,\n      \"▁trust\": 4893,\n      \"▁shown\": 4894,\n      \"module\": 4895,\n      \"GE\": 4896,\n      \"▁lay\": 4897,\n      \"▁announ\": 4898,\n      \"▁className\": 4899,\n      \"▁calcul\": 4900,\n      \"Function\": 4901,\n      \"▁Sal\": 4902,\n      \"OK\": 4903,\n      \"TP\": 4904,\n      \"▁entry\": 4905,\n      \"▁Stud\": 4906,\n      \"▁items\": 4907,\n      \"▁security\": 4908,\n      \"Entry\": 4909,\n      \"float\": 4910,\n      \"ls\": 4911,\n      \"ibly\": 4912,\n      \"▁contribut\": 4913,\n      \"▁Check\": 4914,\n      \"MD\": 4915,\n      \"▁improve\": 4916,\n      \"Part\": 4917,\n      \"▁systems\": 4918,\n      \"Bl\": 4919,\n      \"▁policy\": 4920,\n      \"▁screen\": 4921,\n      \"▁Any\": 4922,\n      \"▁opened\": 4923,\n      \"alloc\": 4924,\n      \"▁December\": 4925,\n      \"▁É\": 4926,\n      \"▁email\": 4927,\n      \"ader\": 4928,\n      \"=>\": 4929,\n      \"▁Hen\": 4930,\n      \"▁info\": 4931,\n      \"▁float\": 4932,\n      \"▁switch\": 4933,\n      \"ран\": 4934,\n      \"urance\": 4935,\n      \"▁assum\": 4936,\n      \"ustr\": 4937,\n      \"▁groups\": 4938,\n      \"▁Read\": 4939,\n      \"▁wat\": 4940,\n      \"Sp\": 4941,\n      \"вер\": 4942,\n      \"RAN\": 4943,\n      \"hib\": 4944,\n      \"ALL\": 4945,\n      \"▁hus\": 4946,\n      \"Spec\": 4947,\n      \"\\\"))\": 4948,\n      \"▁French\": 4949,\n      \"▁Class\": 4950,\n      \"▁president\": 4951,\n      \"▁definit\": 4952,\n      \"▁Nor\": 4953,\n      \"▁Thom\": 4954,\n      \"aign\": 4955,\n      \"Width\": 4956,\n      \"Do\": 4957,\n      \"▁{@\": 4958,\n      \"agon\": 4959,\n      \"▁Lu\": 4960,\n      \"▁followed\": 4961,\n      \"MM\": 4962,\n      \"asons\": 4963,\n      \"tmp\": 4964,\n      \"▁throws\": 4965,\n      \"ITY\": 4966,\n      \"ном\": 4967,\n      \"▁fair\": 4968,\n      \"▁pen\": 4969,\n      \"ég\": 4970,\n      \"▁interface\": 4971,\n      \"▁saf\": 4972,\n      \"oon\": 4973,\n      \"Back\": 4974,\n      \"▁speed\": 4975,\n      \"▁extends\": 4976,\n      \"empty\": 4977,\n      \"▁пере\": 4978,\n      \"▁proper\": 4979,\n      \"▁driv\": 4980,\n      \"фи\": 4981,\n      \"▁center\": 4982,\n      \"header\": 4983,\n      \"▁})\": 4984,\n      \"wa\": 4985,\n      \"▁middle\": 4986,\n      \"▁choose\": 4987,\n      \"▁Stad\": 4988,\n      \"SO\": 4989,\n      \"Factory\": 4990,\n      \"Dev\": 4991,\n      \"icles\": 4992,\n      \"▁application\": 4993,\n      \"▁models\": 4994,\n      \"pite\": 4995,\n      \"cap\": 4996,\n      \"xi\": 4997,\n      \"ospital\": 4998,\n      \"▁dream\": 4999,\n      \"END\": 5000,\n      \"▁contract\": 5001,\n      \"icrosoft\": 5002,\n      \"▁thous\": 5003,\n      \"izes\": 5004,\n      \"▁да\": 5005,\n      \"▁CO\": 5006,\n      \"▁direction\": 5007,\n      \"▁``\": 5008,\n      \"▁drive\": 5009,\n      \"Max\": 5010,\n      \"cia\": 5011,\n      \"▁continu\": 5012,\n      \"▁Alex\": 5013,\n      \"▁gold\": 5014,\n      \"▁prep\": 5015,\n      \"▁origin\": 5016,\n      \"▁rap\": 5017,\n      \"Op\": 5018,\n      \"ously\": 5019,\n      \"▁areas\": 5020,\n      \"PORT\": 5021,\n      \"она\": 5022,\n      \"▁safe\": 5023,\n      \"▁professional\": 5024,\n      \"apache\": 5025,\n      \"▁temper\": 5026,\n      \"sz\": 5027,\n      \"▁unit\": 5028,\n      \"▁cop\": 5029,\n      \"eqn\": 5030,\n      \"Listener\": 5031,\n      \"▁format\": 5032,\n      \"select\": 5033,\n      \"▁comfort\": 5034,\n      \"▁meant\": 5035,\n      \"iday\": 5036,\n      \"eme\": 5037,\n      \"▁active\": 5038,\n      \"▁note\": 5039,\n      \"▁Mil\": 5040,\n      \"only\": 5041,\n      \"▁<=\": 5042,\n      \"▁neigh\": 5043,\n      \"ao\": 5044,\n      \"▁blue\": 5045,\n      \"▁TV\": 5046,\n      \"Child\": 5047,\n      \"▁reached\": 5048,\n      \"Address\": 5049,\n      \"ств\": 5050,\n      \"▁closed\": 5051,\n      \"inder\": 5052,\n      \"olo\": 5053,\n      \"▁alt\": 5054,\n      \"▁adm\": 5055,\n      \"Format\": 5056,\n      \"UI\": 5057,\n      \"▁Ham\": 5058,\n      \"▁frequ\": 5059,\n      \"▁independ\": 5060,\n      \"▁easily\": 5061,\n      \"▁Land\": 5062,\n      \"▁tor\": 5063,\n      \"ography\": 5064,\n      \"infty\": 5065,\n      \"▁Work\": 5066,\n      \"iven\": 5067,\n      \"▁County\": 5068,\n      \"▁src\": 5069,\n      \"}$,\": 5070,\n      \"parse\": 5071,\n      \"CD\": 5072,\n      \"▁Cour\": 5073,\n      \"▁fol\": 5074,\n      \"Entity\": 5075,\n      \"pgf\": 5076,\n      \"▁China\": 5077,\n      \"▁Sub\": 5078,\n      \"hood\": 5079,\n      \"▁fields\": 5080,\n      \"▁yes\": 5081,\n      \"rend\": 5082,\n      \"▁towards\": 5083,\n      \"▁staff\": 5084,\n      \"▁Air\": 5085,\n      \"▁station\": 5086,\n      \"atives\": 5087,\n      \"▁impact\": 5088,\n      \"вы\": 5089,\n      \"▁directly\": 5090,\n      \"issions\": 5091,\n      \"iva\": 5092,\n      \"|\\\\\": 5093,\n      \"Ptr\": 5094,\n      \"▁Sant\": 5095,\n      \"Pol\": 5096,\n      \"▁progress\": 5097,\n      \"itar\": 5098,\n      \"▁parts\": 5099,\n      \"▁plant\": 5100,\n      \"▁absolut\": 5101,\n      \"▁guess\": 5102,\n      \"eqref\": 5103,\n      \"▁tim\": 5104,\n      \"▁Lou\": 5105,\n      \"▁cool\": 5106,\n      \"alu\": 5107,\n      \"▁mouth\": 5108,\n      \"них\": 5109,\n      \"▁height\": 5110,\n      \"gest\": 5111,\n      \"▁Post\": 5112,\n      \"▁board\": 5113,\n      \"▁tit\": 5114,\n      \"▁hour\": 5115,\n      \"▁server\": 5116,\n      \"▁players\": 5117,\n      \"rier\": 5118,\n      \"Link\": 5119,\n      \"▁President\": 5120,\n      \"](\": 5121,\n      \"▁construct\": 5122,\n      \"handle\": 5123,\n      \"}$.\": 5124,\n      \"rying\": 5125,\n      \"▁shop\": 5126,\n      \"iana\": 5127,\n      \"exp\": 5128,\n      \"Helper\": 5129,\n      \"Offset\": 5130,\n      \"aches\": 5131,\n      \"▁connection\": 5132,\n      \"▁difference\": 5133,\n      \"service\": 5134,\n      \"▁gas\": 5135,\n      \"▁priv\": 5136,\n      \"▁univers\": 5137,\n      \"▁wish\": 5138,\n      \"Rem\": 5139,\n      \"Url\": 5140,\n      \"geb\": 5141,\n      \"So\": 5142,\n      \"ensions\": 5143,\n      \"Module\": 5144,\n      \"SIZE\": 5145,\n      \"▁prem\": 5146,\n      \"window\": 5147,\n      \"▁dies\": 5148,\n      \"del\": 5149,\n      \"▁row\": 5150,\n      \"▁average\": 5151,\n      \"xim\": 5152,\n      \"▁pu\": 5153,\n      \"anç\": 5154,\n      \"Det\": 5155,\n      \"ker\": 5156,\n      \"ya\": 5157,\n      \"▁Det\": 5158,\n      \"▁på\": 5159,\n      \"▁named\": 5160,\n      \"▁decision\": 5161,\n      \"win\": 5162,\n      \"▁George\": 5163,\n      \"arily\": 5164,\n      \"▁solution\": 5165,\n      \"▁multiple\": 5166,\n      \"ategy\": 5167,\n      \"▁learning\": 5168,\n      \"▁secret\": 5169,\n      \"DO\": 5170,\n      \"▁nice\": 5171,\n      \"////////////////\": 5172,\n      \"Su\": 5173,\n      \"itation\": 5174,\n      \"▁join\": 5175,\n      \"▁elements\": 5176,\n      \"▁emer\": 5177,\n      \"tilde\": 5178,\n      \"▁dep\": 5179,\n      \"▁shot\": 5180,\n      \"▁platform\": 5181,\n      \"othing\": 5182,\n      \"My\": 5183,\n      \"edia\": 5184,\n      \"oms\": 5185,\n      \"aily\": 5186,\n      \"([\": 5187,\n      \"▁dress\": 5188,\n      \"▁official\": 5189,\n      \"estern\": 5190,\n      \"▁discover\": 5191,\n      \"▁mi\": 5192,\n      \"ные\": 5193,\n      \"CA\": 5194,\n      \"oding\": 5195,\n      \"▁Found\": 5196,\n      \"▁affect\": 5197,\n      \"Vis\": 5198,\n      \"stract\": 5199,\n      \"iced\": 5200,\n      \"debug\": 5201,\n      \"▁related\": 5202,\n      \"▁spect\": 5203,\n      \"ushed\": 5204,\n      \"сько\": 5205,\n      \"▁bank\": 5206,\n      \"▁cele\": 5207,\n      \"AND\": 5208,\n      \"olf\": 5209,\n      \"ем\": 5210,\n      \"▁fill\": 5211,\n      \"▁gives\": 5212,\n      \"▁бу\": 5213,\n      \"aron\": 5214,\n      \"▁Jes\": 5215,\n      \"REG\": 5216,\n      \"▁sudd\": 5217,\n      \"dated\": 5218,\n      \"vi\": 5219,\n      \"▁gi\": 5220,\n      \"send\": 5221,\n      \"cpp\": 5222,\n      \"▁spent\": 5223,\n      \"ande\": 5224,\n      \"▁operation\": 5225,\n      \"process\": 5226,\n      \"▁inform\": 5227,\n      \"▁Free\": 5228,\n      \"yond\": 5229,\n      \"▁perhaps\": 5230,\n      \"▁surv\": 5231,\n      \"▁Loc\": 5232,\n      \"▁concl\": 5233,\n      \"▁раз\": 5234,\n      \"▁Over\": 5235,\n      \"hol\": 5236,\n      \"raz\": 5237,\n      \"Write\": 5238,\n      \"▁giving\": 5239,\n      \"rd\": 5240,\n      \"instance\": 5241,\n      \"▁released\": 5242,\n      \"▁Ro\": 5243,\n      \"RA\": 5244,\n      \"▁practice\": 5245,\n      \"▁graph\": 5246,\n      \"▁increase\": 5247,\n      \"▁figure\": 5248,\n      \"Filter\": 5249,\n      \"HECK\": 5250,\n      \"idx\": 5251,\n      \"▁glass\": 5252,\n      \"ski\": 5253,\n      \"comes\": 5254,\n      \"▁cat\": 5255,\n      \"▁cold\": 5256,\n      \"goto\": 5257,\n      \"ufact\": 5258,\n      \"▁Copyright\": 5259,\n      \"}}\\\\\": 5260,\n      \"▁streng\": 5261,\n      \"▁dir\": 5262,\n      \"token\": 5263,\n      \"▁occur\": 5264,\n      \"arlier\": 5265,\n      \"▁measure\": 5266,\n      \"▁sec\": 5267,\n      \"▁más\": 5268,\n      \"▁Net\": 5269,\n      \"▁argument\": 5270,\n      \"▁sou\": 5271,\n      \"▁moving\": 5272,\n      \"▁prefer\": 5273,\n      \"mask\": 5274,\n      \"<<\": 5275,\n      \"▁breath\": 5276,\n      \"▁physical\": 5277,\n      \"▁positive\": 5278,\n      \"▁sor\": 5279,\n      \"▁depart\": 5280,\n      \"▁remove\": 5281,\n      \"▁kit\": 5282,\n      \"▁meeting\": 5283,\n      \"▁Data\": 5284,\n      \"ograf\": 5285,\n      \"actions\": 5286,\n      \"▁parameters\": 5287,\n      \"▁Att\": 5288,\n      \"esch\": 5289,\n      \"▁involved\": 5290,\n      \"ät\": 5291,\n      \"LL\": 5292,\n      \"Bar\": 5293,\n      \"▁си\": 5294,\n      \"ech\": 5295,\n      \"GET\": 5296,\n      \"▁prevent\": 5297,\n      \"▁beyond\": 5298,\n      \"▁Other\": 5299,\n      \"än\": 5300,\n      \"byte\": 5301,\n      \"▁sudden\": 5302,\n      \"olve\": 5303,\n      \"▁но\": 5304,\n      \"LOG\": 5305,\n      \"unit\": 5306,\n      \"▁truth\": 5307,\n      \"rat\": 5308,\n      \"SD\": 5309,\n      \"▁eat\": 5310,\n      \"▁Mad\": 5311,\n      \"▁provides\": 5312,\n      \"▁session\": 5313,\n      \"Dele\": 5314,\n      \"▁convers\": 5315,\n      \"center\": 5316,\n      \"▁continued\": 5317,\n      \"otion\": 5318,\n      \"cache\": 5319,\n      \"display\": 5320,\n      \"▁protect\": 5321,\n      \"ams\": 5322,\n      \"▁pow\": 5323,\n      \"CTION\": 5324,\n      \"▁Mac\": 5325,\n      \"mo\": 5326,\n      \"ха\": 5327,\n      \"▁distance\": 5328,\n      \"▁Time\": 5329,\n      \"gi\": 5330,\n      \"▁sequ\": 5331,\n      \"Target\": 5332,\n      \"сле\": 5333,\n      \"Server\": 5334,\n      \"▁wide\": 5335,\n      \"close\": 5336,\n      \"▁cru\": 5337,\n      \"Ext\": 5338,\n      \"▁select\": 5339,\n      \"▁pattern\": 5340,\n      \"\\\"));\": 5341,\n      \"Provider\": 5342,\n      \"URL\": 5343,\n      \"▁green\": 5344,\n      \"▁waiting\": 5345,\n      \"proto\": 5346,\n      \"▁immediately\": 5347,\n      \"common\": 5348,\n      \"azione\": 5349,\n      \"river\": 5350,\n      \"▁sen\": 5351,\n      \"▁!==\": 5352,\n      \"▁February\": 5353,\n      \"urb\": 5354,\n      \"▁Sen\": 5355,\n      \"dest\": 5356,\n      \"<?\": 5357,\n      \"▁edge\": 5358,\n      \"▁mais\": 5359,\n      \"gorith\": 5360,\n      \"cpu\": 5361,\n      \"▁education\": 5362,\n      \"▁associated\": 5363,\n      \"None\": 5364,\n      \"hi\": 5365,\n      \"▁poor\": 5366,\n      \"sem\": 5367,\n      \"▁Wil\": 5368,\n      \"▁bud\": 5369,\n      \"▁auch\": 5370,\n      \"eller\": 5371,\n      \"▁Life\": 5372,\n      \"▁files\": 5373,\n      \"▁leading\": 5374,\n      \"▁obtain\": 5375,\n      \"▁Jul\": 5376,\n      \"atory\": 5377,\n      \"гу\": 5378,\n      \"itable\": 5379,\n      \"▁onto\": 5380,\n      \"▁born\": 5381,\n      \"orem\": 5382,\n      \"▁Street\": 5383,\n      \"▁maint\": 5384,\n      \"Params\": 5385,\n      \"rip\": 5386,\n      \"▁ST\": 5387,\n      \"uv\": 5388,\n      \"main\": 5389,\n      \"▁▁▁▁▁▁▁\": 5390,\n      \"▁recent\": 5391,\n      \"Web\": 5392,\n      \"ova\": 5393,\n      \"ца\": 5394,\n      \"aise\": 5395,\n      \"yles\": 5396,\n      \"▁described\": 5397,\n      \"▁beginning\": 5398,\n      \"▁Day\": 5399,\n      \"▁Vol\": 5400,\n      \"▁huge\": 5401,\n      \"Has\": 5402,\n      \"ancy\": 5403,\n      \"Header\": 5404,\n      \"▁aren\": 5405,\n      \"ван\": 5406,\n      \"▁ensure\": 5407,\n      \"▁pet\": 5408,\n      \"mult\": 5409,\n      \"▁Like\": 5410,\n      \"▁management\": 5411,\n      \"PS\": 5412,\n      \"while\": 5413,\n      \"▁background\": 5414,\n      \"ounter\": 5415,\n      \"bool\": 5416,\n      \"FC\": 5417,\n      \"Num\": 5418,\n      \"RL\": 5419,\n      \"▁excl\": 5420,\n      \"▁eye\": 5421,\n      \"img\": 5422,\n      \"▁rom\": 5423,\n      \"▁Hel\": 5424,\n      \"Option\": 5425,\n      \"▁stopped\": 5426,\n      \"▁thread\": 5427,\n      \"totype\": 5428,\n      \")))\": 5429,\n      \"▁stage\": 5430,\n      \"▁über\": 5431,\n      \"▁although\": 5432,\n      \"Types\": 5433,\n      \"▁Oh\": 5434,\n      \"▁eight\": 5435,\n      \"▁description\": 5436,\n      \"''\": 5437,\n      \"ön\": 5438,\n      \"▁surface\": 5439,\n      \"▁International\": 5440,\n      \"▁charg\": 5441,\n      \"▁collection\": 5442,\n      \"▁users\": 5443,\n      \"▁obvious\": 5444,\n      \"▁century\": 5445,\n      \"icks\": 5446,\n      \"▁article\": 5447,\n      \"▁\\\"\\\\\": 5448,\n      \"dim\": 5449,\n      \"▁sin\": 5450,\n      \"enge\": 5451,\n      \"Control\": 5452,\n      \"▁commit\": 5453,\n      \"ensity\": 5454,\n      \"▁tra\": 5455,\n      \"criptor\": 5456,\n      \"▁NOT\": 5457,\n      \"well\": 5458,\n      \"▁Michael\": 5459,\n      \"▁nod\": 5460,\n      \"▁mort\": 5461,\n      \"ivo\": 5462,\n      \"isation\": 5463,\n      \"▁Po\": 5464,\n      \"▁Paris\": 5465,\n      \"▁administr\": 5466,\n      \"burg\": 5467,\n      \"cdot\": 5468,\n      \"▁military\": 5469,\n      \"▁Best\": 5470,\n      \"▁Ка\": 5471,\n      \"INE\": 5472,\n      \"▁throughout\": 5473,\n      \"Sl\": 5474,\n      \"▁impl\": 5475,\n      \"control\": 5476,\n      \"▁Ч\": 5477,\n      \"▁uit\": 5478,\n      \"▁unsigned\": 5479,\n      \"▁Mary\": 5480,\n      \"Char\": 5481,\n      \"мі\": 5482,\n      \"▁threat\": 5483,\n      \"▁court\": 5484,\n      \"ville\": 5485,\n      \"▁ш\": 5486,\n      \"▁Cam\": 5487,\n      \".\\r\": 5488,\n      \"▁currently\": 5489,\n      \"rot\": 5490,\n      \"▁Date\": 5491,\n      \"▁shit\": 5492,\n      \"▁${\\\\\": 5493,\n      \"unn\": 5494,\n      \"Us\": 5495,\n      \"▁buffer\": 5496,\n      \"▁sont\": 5497,\n      \"▁letter\": 5498,\n      \"inated\": 5499,\n      \"Change\": 5500,\n      \"▁href\": 5501,\n      \"▁lack\": 5502,\n      \"▁oil\": 5503,\n      \"▁Cons\": 5504,\n      \"▁Jer\": 5505,\n      \"BUG\": 5506,\n      \"iforn\": 5507,\n      \"▁properties\": 5508,\n      \"▁random\": 5509,\n      \"▁brother\": 5510,\n      \"▁piece\": 5511,\n      \"бу\": 5512,\n      \"istics\": 5513,\n      \"▁technology\": 5514,\n      \"global\": 5515,\n      \"▁transform\": 5516,\n      \"erd\": 5517,\n      \"▁Because\": 5518,\n      \"PECT\": 5519,\n      \"pret\": 5520,\n      \"▁году\": 5521,\n      \"▁Met\": 5522,\n      \"▁psy\": 5523,\n      \"▁од\": 5524,\n      \"▁god\": 5525,\n      \"▁Del\": 5526,\n      \"based\": 5527,\n      \"▁voor\": 5528,\n      \"▁Call\": 5529,\n      \"SA\": 5530,\n      \"▁filter\": 5531,\n      \"▁includes\": 5532,\n      \"olutions\": 5533,\n      \"fd\": 5534,\n      \"▁wind\": 5535,\n      \"▁бо\": 5536,\n      \"▁ability\": 5537,\n      \"card\": 5538,\n      \"▁numer\": 5539,\n      \"address\": 5540,\n      \"▁goal\": 5541,\n      \"ashington\": 5542,\n      \"▁slight\": 5543,\n      \"aba\": 5544,\n      \"▁Log\": 5545,\n      \"Settings\": 5546,\n      \"adow\": 5547,\n      \"▁pi\": 5548,\n      \"iring\": 5549,\n      \"FT\": 5550,\n      \"▁numbers\": 5551,\n      \"conf\": 5552,\n      \"task\": 5553,\n      \"▁în\": 5554,\n      \"ты\": 5555,\n      \"▁receive\": 5556,\n      \"▁root\": 5557,\n      \"▁India\": 5558,\n      \"patch\": 5559,\n      \"él\": 5560,\n      \"▁summer\": 5561,\n      \"▁methods\": 5562,\n      \"▁places\": 5563,\n      \"▁Ма\": 5564,\n      \"▁capital\": 5565,\n      \"▁evidence\": 5566,\n      \"▁German\": 5567,\n      \"\\\\,\": 5568,\n      \"DA\": 5569,\n      \"ecute\": 5570,\n      \"column\": 5571,\n      \"▁functions\": 5572,\n      \"▁counter\": 5573,\n      \"▁arms\": 5574,\n      \"▁feed\": 5575,\n      \"vey\": 5576,\n      \"hent\": 5577,\n      \"MAX\": 5578,\n      \"▁acqu\": 5579,\n      \"▁apply\": 5580,\n      \"▁husband\": 5581,\n      \"▁killed\": 5582,\n      \"▁Spec\": 5583,\n      \"entity\": 5584,\n      \"▁earlier\": 5585,\n      \"▁Miss\": 5586,\n      \"▁setting\": 5587,\n      \"itect\": 5588,\n      \"▁ded\": 5589,\n      \"Row\": 5590,\n      \"▁ran\": 5591,\n      \"▁Yes\": 5592,\n      \"▁financial\": 5593,\n      \"session\": 5594,\n      \"lear\": 5595,\n      \"ishing\": 5596,\n      \"▁nearly\": 5597,\n      \"▁dur\": 5598,\n      \"▁machine\": 5599,\n      \"xff\": 5600,\n      \"bro\": 5601,\n      \"▁symbol\": 5602,\n      \"lands\": 5603,\n      \"Acc\": 5604,\n      \"di\": 5605,\n      \"▁Robert\": 5606,\n      \"prop\": 5607,\n      \"urity\": 5608,\n      \"▁#####\": 5609,\n      \"▁walked\": 5610,\n      \"▁international\": 5611,\n      \"▁Е\": 5612,\n      \"Yes\": 5613,\n      \"▁release\": 5614,\n      \"▁starting\": 5615,\n      \"static\": 5616,\n      \"▁bei\": 5617,\n      \"allow\": 5618,\n      \"▁People\": 5619,\n      \"ez\": 5620,\n      \"▁parameter\": 5621,\n      \"Cache\": 5622,\n      \"▁$$\": 5623,\n      \"ampions\": 5624,\n      \"▁Mer\": 5625,\n      \"▁kom\": 5626,\n      \"leted\": 5627,\n      \"ois\": 5628,\n      \"▁Open\": 5629,\n      \"types\": 5630,\n      \"▁fue\": 5631,\n      \"acters\": 5632,\n      \"▁reference\": 5633,\n      \"Equals\": 5634,\n      \"▁aware\": 5635,\n      \"▁hol\": 5636,\n      \"▁demand\": 5637,\n      \"lor\": 5638,\n      \"▁veh\": 5639,\n      \"▁notice\": 5640,\n      \"▁component\": 5641,\n      \"fn\": 5642,\n      \"▁analysis\": 5643,\n      \"match\": 5644,\n      \"▁effective\": 5645,\n      \"product\": 5646,\n      \"ник\": 5647,\n      \"▁legal\": 5648,\n      \"ей\": 5649,\n      \"semb\": 5650,\n      \"▁located\": 5651,\n      \"▁су\": 5652,\n      \"QL\": 5653,\n      \"inct\": 5654,\n      \"eto\": 5655,\n      \"Draw\": 5656,\n      \"▁scale\": 5657,\n      \"ров\": 5658,\n      \"▁wants\": 5659,\n      \"How\": 5660,\n      \"▁wel\": 5661,\n      \"isions\": 5662,\n      \"▁deliver\": 5663,\n      \"under\": 5664,\n      \"▁deb\": 5665,\n      \"▁ju\": 5666,\n      \"values\": 5667,\n      \"▁sister\": 5668,\n      \"ков\": 5669,\n      \"▁Create\": 5670,\n      \"▁Inc\": 5671,\n      \"▁aux\": 5672,\n      \"▁White\": 5673,\n      \"Menu\": 5674,\n      \"aud\": 5675,\n      \"resource\": 5676,\n      \"▁cab\": 5677,\n      \"▁lif\": 5678,\n      \"▁culture\": 5679,\n      \"iche\": 5680,\n      \"▁whatever\": 5681,\n      \"▁designed\": 5682,\n      \"▁repe\": 5683,\n      \"▁Mont\": 5684,\n      \"▁charge\": 5685,\n      \"Names\": 5686,\n      \"▁insp\": 5687,\n      \"▁customers\": 5688,\n      \"osa\": 5689,\n      \"▁daughter\": 5690,\n      \"▁East\": 5691,\n      \"EQ\": 5692,\n      \"▁opin\": 5693,\n      \"▁Fre\": 5694,\n      \"▁seek\": 5695,\n      \"▁push\": 5696,\n      \"▁nav\": 5697,\n      \"▁burn\": 5698,\n      \"arden\": 5699,\n      \"hash\": 5700,\n      \"▁opportunity\": 5701,\n      \"▁Mat\": 5702,\n      \"oyal\": 5703,\n      \"▁pun\": 5704,\n      \"scale\": 5705,\n      \"ynamic\": 5706,\n      \"▁Type\": 5707,\n      \"iling\": 5708,\n      \"▁query\": 5709,\n      \"▁mist\": 5710,\n      \"ror\": 5711,\n      \"force\": 5712,\n      \"▁Once\": 5713,\n      \"▁medical\": 5714,\n      \"lie\": 5715,\n      \"▁student\": 5716,\n      \"ederal\": 5717,\n      \"▁lov\": 5718,\n      \"iform\": 5719,\n      \"▁altern\": 5720,\n      \"bin\": 5721,\n      \"oder\": 5722,\n      \"▁returns\": 5723,\n      \"register\": 5724,\n      \"uts\": 5725,\n      \"CI\": 5726,\n      \"▁Tor\": 5727,\n      \"CR\": 5728,\n      \"▁Los\": 5729,\n      \"amily\": 5730,\n      \"aire\": 5731,\n      \"++;\": 5732,\n      \"Controller\": 5733,\n      \"wide\": 5734,\n      \"xx\": 5735,\n      \"rowser\": 5736,\n      \"▁Book\": 5737,\n      \"Container\": 5738,\n      \"pload\": 5739,\n      \"▁Ev\": 5740,\n      \"▁tal\": 5741,\n      \"▁theory\": 5742,\n      \"eqnarray\": 5743,\n      \"бе\": 5744,\n      \"▁reported\": 5745,\n      \"▁meaning\": 5746,\n      \"▁sy\": 5747,\n      \"ribe\": 5748,\n      \"icate\": 5749,\n      \"hold\": 5750,\n      \"▁offers\": 5751,\n      \"▁templ\": 5752,\n      \"css\": 5753,\n      \"▁picture\": 5754,\n      \"▁async\": 5755,\n      \"▁stock\": 5756,\n      \"▁internal\": 5757,\n      \"ti\": 5758,\n      \"BO\": 5759,\n      \"Ver\": 5760,\n      \"спо\": 5761,\n      \"▁demon\": 5762,\n      \"▁laugh\": 5763,\n      \"▁End\": 5764,\n      \"▁kon\": 5765,\n      \"▁ideas\": 5766,\n      \"▁candid\": 5767,\n      \"Mem\": 5768,\n      \"izz\": 5769,\n      \"refix\": 5770,\n      \"▁AND\": 5771,\n      \"egen\": 5772,\n      \"El\": 5773,\n      \"▁campaign\": 5774,\n      \"Http\": 5775,\n      \"▁Rob\": 5776,\n      \"ді\": 5777,\n      \"▁bul\": 5778,\n      \"▁Ко\": 5779,\n      \"▁countries\": 5780,\n      \"».\": 5781,\n      \"▁expression\": 5782,\n      \"▁England\": 5783,\n      \"sf\": 5784,\n      \"▁certainly\": 5785,\n      \"agen\": 5786,\n      \"▁ча\": 5787,\n      \"▁ANY\": 5788,\n      \"▁connect\": 5789,\n      \"FE\": 5790,\n      \"▁android\": 5791,\n      \"▁Gold\": 5792,\n      \"▁oppos\": 5793,\n      \"overn\": 5794,\n      \"▁Commun\": 5795,\n      \",_\": 5796,\n      \"asion\": 5797,\n      \"La\": 5798,\n      \"▁firm\": 5799,\n      \"▁Although\": 5800,\n      \"▁Good\": 5801,\n      \"▁Law\": 5802,\n      \"erve\": 5803,\n      \"▁brand\": 5804,\n      \"Min\": 5805,\n      \"fill\": 5806,\n      \"'],\": 5807,\n      \"▁Jew\": 5808,\n      \"iler\": 5809,\n      \"ingle\": 5810,\n      \"ithub\": 5811,\n      \"▁Div\": 5812,\n      \"▁cert\": 5813,\n      \"Height\": 5814,\n      \"rael\": 5815,\n      \"There\": 5816,\n      \"itute\": 5817,\n      \"▁amaz\": 5818,\n      \"look\": 5819,\n      \"▁SE\": 5820,\n      \"▁jo\": 5821,\n      \"▁pulled\": 5822,\n      \"▁resources\": 5823,\n      \"▁Max\": 5824,\n      \"▁agreed\": 5825,\n      \"asy\": 5826,\n      \"▁treatment\": 5827,\n      \"\\\"></\": 5828,\n      \"ман\": 5829,\n      \"▁Err\": 5830,\n      \"orig\": 5831,\n      \"cos\": 5832,\n      \"▁Maybe\": 5833,\n      \"otal\": 5834,\n      \"▁train\": 5835,\n      \"▁Service\": 5836,\n      \"▁ih\": 5837,\n      \"▁spirit\": 5838,\n      \"Comp\": 5839,\n      \"sqrt\": 5840,\n      \"▁broad\": 5841,\n      \"}[\": 5842,\n      \"▁shape\": 5843,\n      \"▁doc\": 5844,\n      \"how\": 5845,\n      \"▁tag\": 5846,\n      \"atalog\": 5847,\n      \"sd\": 5848,\n      \"▁meas\": 5849,\n      \"▁Ро\": 5850,\n      \"▁exception\": 5851,\n      \"▁Tw\": 5852,\n      \"▁interesting\": 5853,\n      \"ATA\": 5854,\n      \"▁Rel\": 5855,\n      \"ár\": 5856,\n      \"▁useful\": 5857,\n      \"useum\": 5858,\n      \"▁bottom\": 5859,\n      \"▁otherwise\": 5860,\n      \"▁agree\": 5861,\n      \"cht\": 5862,\n      \"then\": 5863,\n      \"▁significant\": 5864,\n      \"}/\": 5865,\n      \"▁channel\": 5866,\n      \"icial\": 5867,\n      \"тив\": 5868,\n      \"vare\": 5869,\n      \"▁enter\": 5870,\n      \"Eng\": 5871,\n      \"uj\": 5872,\n      \"URE\": 5873,\n      \"queue\": 5874,\n      \"ono\": 5875,\n      \"▁contains\": 5876,\n      \"MI\": 5877,\n      \"▁nation\": 5878,\n      \"▁rules\": 5879,\n      \"fol\": 5880,\n      \"▁pa\": 5881,\n      \"arp\": 5882,\n      \"▁quiet\": 5883,\n      \"▁thus\": 5884,\n      \"ipped\": 5885,\n      \"annot\": 5886,\n      \"udes\": 5887,\n      \"():\": 5888,\n      \"names\": 5889,\n      \"▁compos\": 5890,\n      \"▁inj\": 5891,\n      \"una\": 5892,\n      \"bind\": 5893,\n      \"▁fully\": 5894,\n      \"ras\": 5895,\n      \"Utils\": 5896,\n      \"anges\": 5897,\n      \"dule\": 5898,\n      \"▁Christian\": 5899,\n      \"▁reve\": 5900,\n      \"änd\": 5901,\n      \"▁collect\": 5902,\n      \"▁celebr\": 5903,\n      \"anda\": 5904,\n      \"ín\": 5905,\n      \"join\": 5906,\n      \"▁paid\": 5907,\n      \"Core\": 5908,\n      \"Ge\": 5909,\n      \".$\": 5910,\n      \"▁fif\": 5911,\n      \"▁uma\": 5912,\n      \"▁~\": 5913,\n      \"ervices\": 5914,\n      \"▁recently\": 5915,\n      \"desc\": 5916,\n      \"▁heavy\": 5917,\n      \"▁rule\": 5918,\n      \"▁Please\": 5919,\n      \"psi\": 5920,\n      \"▁console\": 5921,\n      \"▁fort\": 5922,\n      \".\\\\\": 5923,\n      \"▁Washington\": 5924,\n      \"▁gar\": 5925,\n      \"▁Group\": 5926,\n      \"▁interview\": 5927,\n      \"anned\": 5928,\n      \"sql\": 5929,\n      \"▁anc\": 5930,\n      \"ја\": 5931,\n      \"Pack\": 5932,\n      \"▁Club\": 5933,\n      \"▁mask\": 5934,\n      \"▁concept\": 5935,\n      \"▁['\": 5936,\n      \"▁selected\": 5937,\n      \"▁Use\": 5938,\n      \"▁ele\": 5939,\n      \"ears\": 5940,\n      \"▁race\": 5941,\n      \"hy\": 5942,\n      \"Om\": 5943,\n      \"▁steps\": 5944,\n      \"ila\": 5945,\n      \"ests\": 5946,\n      \"eds\": 5947,\n      \"▁street\": 5948,\n      \"ners\": 5949,\n      \"▁birth\": 5950,\n      \"pop\": 5951,\n      \"▁ли\": 5952,\n      \"MB\": 5953,\n      \"кра\": 5954,\n      \"cir\": 5955,\n      \"epsilon\": 5956,\n      \"▁constant\": 5957,\n      \"ques\": 5958,\n      \"adas\": 5959,\n      \"▁knows\": 5960,\n      \"▁Py\": 5961,\n      \"cles\": 5962,\n      \"▁cit\": 5963,\n      \"▁pair\": 5964,\n      \"inese\": 5965,\n      \"▁Peter\": 5966,\n      \"▁finished\": 5967,\n      \"▁master\": 5968,\n      \"▁twenty\": 5969,\n      \"▁fell\": 5970,\n      \"▁central\": 5971,\n      \"▁mes\": 5972,\n      \"rev\": 5973,\n      \"STAT\": 5974,\n      \"stat\": 5975,\n      \"▁allows\": 5976,\n      \"▁gro\": 5977,\n      \"Click\": 5978,\n      \"▁stories\": 5979,\n      \"Fe\": 5980,\n      \"år\": 5981,\n      \"▁baby\": 5982,\n      \"encia\": 5983,\n      \"▁einer\": 5984,\n      \"Are\": 5985,\n      \"ebug\": 5986,\n      \"store\": 5987,\n      \"\\\",\\\"\": 5988,\n      \"lam\": 5989,\n      \"▁sv\": 5990,\n      \"ции\": 5991,\n      \"NULL\": 5992,\n      \"▁Leg\": 5993,\n      \"▁movie\": 5994,\n      \"▁hous\": 5995,\n      \"▁learned\": 5996,\n      \"bon\": 5997,\n      \"▁transfer\": 5998,\n      \"ifornia\": 5999,\n      \"psilon\": 6000,\n      \"▁Soft\": 6001,\n      \"▁commer\": 6002,\n      \"▁hadn\": 6003,\n      \"▁Ein\": 6004,\n      \"▁Two\": 6005,\n      \"craft\": 6006,\n      \"Process\": 6007,\n      \"▁под\": 6008,\n      \"argin\": 6009,\n      \"▁estim\": 6010,\n      \"▁Mem\": 6011,\n      \"ika\": 6012,\n      \"▁Tod\": 6013,\n      \"duc\": 6014,\n      \"▁danger\": 6015,\n      \"rive\": 6016,\n      \"Don\": 6017,\n      \"▁Que\": 6018,\n      \"hal\": 6019,\n      \"▁mm\": 6020,\n      \"▁Sur\": 6021,\n      \"Order\": 6022,\n      \"▁distribution\": 6023,\n      \"fa\": 6024,\n      \"▁Many\": 6025,\n      \"plicit\": 6026,\n      \"Empty\": 6027,\n      \"Handle\": 6028,\n      \"▁token\": 6029,\n      \"▁epis\": 6030,\n      \"▁assist\": 6031,\n      \"▁purpose\": 6032,\n      \"▁ц\": 6033,\n      \"NU\": 6034,\n      \"iders\": 6035,\n      \"rate\": 6036,\n      \"They\": 6037,\n      \"Parameter\": 6038,\n      \"Dec\": 6039,\n      \"▁strugg\": 6040,\n      \"▁shoot\": 6041,\n      \"IV\": 6042,\n      \"▁Great\": 6043,\n      \"▁Sil\": 6044,\n      \"▁loved\": 6045,\n      \"▁click\": 6046,\n      \"▁reserv\": 6047,\n      \"▁ве\": 6048,\n      \"▁spread\": 6049,\n      \"▁og\": 6050,\n      \"▁${\": 6051,\n      \"▁miles\": 6052,\n      \"▁successful\": 6053,\n      \"oj\": 6054,\n      \"▁Direct\": 6055,\n      \"▁ax\": 6056,\n      \"▁growth\": 6057,\n      \"Work\": 6058,\n      \"▁church\": 6059,\n      \"Inst\": 6060,\n      \"ICE\": 6061,\n      \"sten\": 6062,\n      \"род\": 6063,\n      \"▁Center\": 6064,\n      \"ses\": 6065,\n      \"got\": 6066,\n      \"delete\": 6067,\n      \"▁Ma\": 6068,\n      \"%%\": 6069,\n      \"▁crow\": 6070,\n      \"DF\": 6071,\n      \"front\": 6072,\n      \"▁blog\": 6073,\n      \"▁computer\": 6074,\n      \"ная\": 6075,\n      \"▁mir\": 6076,\n      \"▁Super\": 6077,\n      \"','\": 6078,\n      \"▁multi\": 6079,\n      \"▁gru\": 6080,\n      \"▁Jo\": 6081,\n      \"▁Canada\": 6082,\n      \"▁Thomas\": 6083,\n      \"▁larger\": 6084,\n      \"▁compar\": 6085,\n      \"Current\": 6086,\n      \"that\": 6087,\n      \"▁drop\": 6088,\n      \"ент\": 6089,\n      \"▁Republic\": 6090,\n      \"▁dise\": 6091,\n      \"▁effects\": 6092,\n      \"▁girls\": 6093,\n      \"encies\": 6094,\n      \"ellig\": 6095,\n      \"▁Note\": 6096,\n      \"▁Associ\": 6097,\n      \"▁uses\": 6098,\n      \"elled\": 6099,\n      \"▁warm\": 6100,\n      \"thread\": 6101,\n      \"font\": 6102,\n      \"▁zum\": 6103,\n      \"▁follows\": 6104,\n      \"▁whom\": 6105,\n      \"TA\": 6106,\n      \"▁wild\": 6107,\n      \"▁AR\": 6108,\n      \"iable\": 6109,\n      \"▁True\": 6110,\n      \"Position\": 6111,\n      \"▁sell\": 6112,\n      \"cher\": 6113,\n      \"▁Bus\": 6114,\n      \"▁lean\": 6115,\n      \"ACE\": 6116,\n      \"▁served\": 6117,\n      \"hw\": 6118,\n      \"▁Cur\": 6119,\n      \"▁north\": 6120,\n      \"Dat\": 6121,\n      \"▁>>\": 6122,\n      \"command\": 6123,\n      \"atz\": 6124,\n      \"▁mal\": 6125,\n      \"став\": 6126,\n      \"▁Press\": 6127,\n      \"▁characters\": 6128,\n      \"▁zero\": 6129,\n      \"AGE\": 6130,\n      \"rapper\": 6131,\n      \"▁kitchen\": 6132,\n      \"aming\": 6133,\n      \"▁restr\": 6134,\n      \"XX\": 6135,\n      \"▁College\": 6136,\n      \"▁Array\": 6137,\n      \"▁fresh\": 6138,\n      \"▁shift\": 6139,\n      \"▁specified\": 6140,\n      \"plete\": 6141,\n      \"ITE\": 6142,\n      \"▁Camp\": 6143,\n      \"rial\": 6144,\n      \"cb\": 6145,\n      \"▁TH\": 6146,\n      \"IB\": 6147,\n      \"osen\": 6148,\n      \"▁ú\": 6149,\n      \"▁params\": 6150,\n      \"ignment\": 6151,\n      \"adding\": 6152,\n      \"▁degree\": 6153,\n      \"Local\": 6154,\n      \"Oh\": 6155,\n      \"▁zur\": 6156,\n      \"▁levels\": 6157,\n      \"CS\": 6158,\n      \"finished\": 6159,\n      \"Case\": 6160,\n      \"riage\": 6161,\n      \"Vector\": 6162,\n      \"▁sea\": 6163,\n      \"antic\": 6164,\n      \"▁League\": 6165,\n      \"▁therefore\": 6166,\n      \"One\": 6167,\n      \"Return\": 6168,\n      \"Access\": 6169,\n      \"vas\": 6170,\n      \"▁ос\": 6171,\n      \"▁rat\": 6172,\n      \"Big\": 6173,\n      \"▁behavior\": 6174,\n      \"kr\": 6175,\n      \"▁undefined\": 6176,\n      \"▁Es\": 6177,\n      \"▁appeared\": 6178,\n      \"eles\": 6179,\n      \"▁WAR\": 6180,\n      \"Stat\": 6181,\n      \"▁Google\": 6182,\n      \"▁credit\": 6183,\n      \"▁File\": 6184,\n      \"anging\": 6185,\n      \"house\": 6186,\n      \"romise\": 6187,\n      \"gent\": 6188,\n      \"▁habit\": 6189,\n      \"▁society\": 6190,\n      \"▁encour\": 6191,\n      \"▁paint\": 6192,\n      \"pet\": 6193,\n      \"▁UK\": 6194,\n      \"aws\": 6195,\n      \"onom\": 6196,\n      \"Gl\": 6197,\n      \"}_{\\\\\": 6198,\n      \"eless\": 6199,\n      \"emy\": 6200,\n      \"▁Cong\": 6201,\n      \"▁developed\": 6202,\n      \"▁images\": 6203,\n      \"▁ö\": 6204,\n      \"▁font\": 6205,\n      \"clear\": 6206,\n      \"gin\": 6207,\n      \"▁Lord\": 6208,\n      \"▁transport\": 6209,\n      \"▁::\": 6210,\n      \"▁cup\": 6211,\n      \"ulate\": 6212,\n      \"▁During\": 6213,\n      \"priv\": 6214,\n      \"▁extrem\": 6215,\n      \"▁Di\": 6216,\n      \"▁doubt\": 6217,\n      \"Py\": 6218,\n      \"ifying\": 6219,\n      \"split\": 6220,\n      \"ego\": 6221,\n      \"github\": 6222,\n      \"▁),\": 6223,\n      \"ROM\": 6224,\n      \"▁chair\": 6225,\n      \"▁trade\": 6226,\n      \"▁nicht\": 6227,\n      \"Top\": 6228,\n      \"Store\": 6229,\n      \"▁parte\": 6230,\n      \"project\": 6231,\n      \"nia\": 6232,\n      \"▁від\": 6233,\n      \"war\": 6234,\n      \"▁Prof\": 6235,\n      \"▁caught\": 6236,\n      \"Thread\": 6237,\n      \"ства\": 6238,\n      \"author\": 6239,\n      \"▁doll\": 6240,\n      \"▁harm\": 6241,\n      \"▁Gen\": 6242,\n      \"tree\": 6243,\n      \"etime\": 6244,\n      \"cfg\": 6245,\n      \"▁guys\": 6246,\n      \"▁California\": 6247,\n      \"▁Green\": 6248,\n      \"▁movement\": 6249,\n      \"iej\": 6250,\n      \"▁statement\": 6251,\n      \"▁seeing\": 6252,\n      \"▁haven\": 6253,\n      \"vention\": 6254,\n      \"SL\": 6255,\n      \"chedul\": 6256,\n      \"iert\": 6257,\n      \"▁primary\": 6258,\n      \"▁civil\": 6259,\n      \"rian\": 6260,\n      \"▁button\": 6261,\n      \"▁lived\": 6262,\n      \"Pass\": 6263,\n      \"sor\": 6264,\n      \"▁watching\": 6265,\n      \"▁skills\": 6266,\n      \"tee\": 6267,\n      \"Level\": 6268,\n      \"▁scient\": 6269,\n      \"hs\": 6270,\n      \"▁agre\": 6271,\n      \"cat\": 6272,\n      \"▁tend\": 6273,\n      \"▁Mill\": 6274,\n      \"▁Cap\": 6275,\n      \"ORD\": 6276,\n      \"gle\": 6277,\n      \"▁сво\": 6278,\n      \"»,\": 6279,\n      \"▁ahead\": 6280,\n      \"vest\": 6281,\n      \"▁Jose\": 6282,\n      \"ischer\": 6283,\n      \"și\": 6284,\n      \"▁leaving\": 6285,\n      \"▁для\": 6286,\n      \"▁south\": 6287,\n      \"▁consum\": 6288,\n      \"Range\": 6289,\n      \"▁activities\": 6290,\n      \"Sec\": 6291,\n      \"▁sales\": 6292,\n      \"▁fix\": 6293,\n      \"▁jed\": 6294,\n      \"rum\": 6295,\n      \"vector\": 6296,\n      \"▁spot\": 6297,\n      \"▁manufact\": 6298,\n      \"кт\": 6299,\n      \"orrow\": 6300,\n      \"sign\": 6301,\n      \"▁college\": 6302,\n      \"▁driver\": 6303,\n      \"▁definitely\": 6304,\n      \"▁spend\": 6305,\n      \"mission\": 6306,\n      \"зу\": 6307,\n      \"atively\": 6308,\n      \"bi\": 6309,\n      \"Callback\": 6310,\n      \"▁particularly\": 6311,\n      \"▁hell\": 6312,\n      \"▁pool\": 6313,\n      \"PRE\": 6314,\n      \"▁clearly\": 6315,\n      \"PT\": 6316,\n      \"othes\": 6317,\n      \"▁Id\": 6318,\n      \"Location\": 6319,\n      \"▁Run\": 6320,\n      \"▁fixed\": 6321,\n      \"▁Hand\": 6322,\n      \"bal\": 6323,\n      \"double\": 6324,\n      \"Can\": 6325,\n      \"Omega\": 6326,\n      \"▁challeng\": 6327,\n      \"▁standing\": 6328,\n      \"iten\": 6329,\n      \"▁mechan\": 6330,\n      \"▁durch\": 6331,\n      \"▁dell\": 6332,\n      \"▁raised\": 6333,\n      \"▁weak\": 6334,\n      \"▁Du\": 6335,\n      \"grad\": 6336,\n      \"▁scene\": 6337,\n      \"poss\": 6338,\n      \"▁ton\": 6339,\n      \"▁earth\": 6340,\n      \"ulations\": 6341,\n      \"▁strength\": 6342,\n      \"aked\": 6343,\n      \"▁remain\": 6344,\n      \"▁Bi\": 6345,\n      \"▁customer\": 6346,\n      \"range\": 6347,\n      \"▁interested\": 6348,\n      \"ONE\": 6349,\n      \"▁coff\": 6350,\n      \"require\": 6351,\n      \"▁Only\": 6352,\n      \"▁Web\": 6353,\n      \"▁farm\": 6354,\n      \"▁activity\": 6355,\n      \"▁rout\": 6356,\n      \"bling\": 6357,\n      \"SY\": 6358,\n      \"▁Richard\": 6359,\n      \"▁Ref\": 6360,\n      \"▁кон\": 6361,\n      \"▁jun\": 6362,\n      \"born\": 6363,\n      \"ijn\": 6364,\n      \"Configuration\": 6365,\n      \"uman\": 6366,\n      \"EE\": 6367,\n      \"▁married\": 6368,\n      \"▁За\": 6369,\n      \"▁fat\": 6370,\n      \"▁kid\": 6371,\n      \"▁Tur\": 6372,\n      \"▁offered\": 6373,\n      \"nic\": 6374,\n      \"▁Big\": 6375,\n      \"Gamma\": 6376,\n      \"▁Health\": 6377,\n      \"▁TR\": 6378,\n      \"▁się\": 6379,\n      \"▁construction\": 6380,\n      \"▁Church\": 6381,\n      \"▁Bet\": 6382,\n      \"bus\": 6383,\n      \"▁earn\": 6384,\n      \"rict\": 6385,\n      \"▁пра\": 6386,\n      \"▁brain\": 6387,\n      \"▁fra\": 6388,\n      \"▁Op\": 6389,\n      \"FIG\": 6390,\n      \"ema\": 6391,\n      \"▁European\": 6392,\n      \"▁Saint\": 6393,\n      \"ARE\": 6394,\n      \"uri\": 6395,\n      \"▁River\": 6396,\n      \"{}\": 6397,\n      \"▁sitting\": 6398,\n      \"▁understanding\": 6399,\n      \"▁plans\": 6400,\n      \"ropri\": 6401,\n      \"▁older\": 6402,\n      \"▁pressure\": 6403,\n      \"Impl\": 6404,\n      \"▁peace\": 6405,\n      \"Connection\": 6406,\n      \"▁fi\": 6407,\n      \"rich\": 6408,\n      \"▁shut\": 6409,\n      \"apers\": 6410,\n      \"Port\": 6411,\n      \"▁Look\": 6412,\n      \"rim\": 6413,\n      \"auth\": 6414,\n      \"auto\": 6415,\n      \"▁highly\": 6416,\n      \"▁unless\": 6417,\n      \"▁Wal\": 6418,\n      \"▁ren\": 6419,\n      \"ws\": 6420,\n      \"▁core\": 6421,\n      \"(-\": 6422,\n      \"▁clim\": 6423,\n      \"ruit\": 6424,\n      \"▁callback\": 6425,\n      \"hest\": 6426,\n      \"▁Charles\": 6427,\n      \"▁Long\": 6428,\n      \"}=\": 6429,\n      \"ър\": 6430,\n      \"▁shared\": 6431,\n      \"ulated\": 6432,\n      \"gorithm\": 6433,\n      \"▁Home\": 6434,\n      \"▁village\": 6435,\n      \"ees\": 6436,\n      \"sv\": 6437,\n      \"▁restaur\": 6438,\n      \"rey\": 6439,\n      \"▁Cast\": 6440,\n      \"▁Person\": 6441,\n      \"кий\": 6442,\n      \"▁organiz\": 6443,\n      \"▁Rad\": 6444,\n      \"ponents\": 6445,\n      \"▁werden\": 6446,\n      \"▁bow\": 6447,\n      \"sen\": 6448,\n      \"ami\": 6449,\n      \"Interface\": 6450,\n      \"▁basis\": 6451,\n      \"▁Company\": 6452,\n      \"ernel\": 6453,\n      \"itu\": 6454,\n      \"Hash\": 6455,\n      \"▁aan\": 6456,\n      \"▁х\": 6457,\n      \"▁smile\": 6458,\n      \"xml\": 6459,\n      \"▁scen\": 6460,\n      \"amm\": 6461,\n      \"tool\": 6462,\n      \"aria\": 6463,\n      \"▁accur\": 6464,\n      \"settings\": 6465,\n      \"▁Jesus\": 6466,\n      \"acement\": 6467,\n      \"power\": 6468,\n      \"(!\": 6469,\n      \"▁calls\": 6470,\n      \"▁basic\": 6471,\n      \"▁settings\": 6472,\n      \"ript\": 6473,\n      \"pool\": 6474,\n      \"ctors\": 6475,\n      \"▁Foundation\": 6476,\n      \"▁weap\": 6477,\n      \"KEY\": 6478,\n      \"foot\": 6479,\n      \"▁radio\": 6480,\n      \"▁helped\": 6481,\n      \"mann\": 6482,\n      \"▁jump\": 6483,\n      \"▁tick\": 6484,\n      \"▁growing\": 6485,\n      \"aten\": 6486,\n      \"real\": 6487,\n      \"▁increasing\": 6488,\n      \"Device\": 6489,\n      \"varepsilon\": 6490,\n      \"▁sets\": 6491,\n      \"▁advant\": 6492,\n      \"Open\": 6493,\n      \"▁reasons\": 6494,\n      \"▁supposed\": 6495,\n      \"oes\": 6496,\n      \"ede\": 6497,\n      \"teen\": 6498,\n      \"ifdef\": 6499,\n      \"▁delete\": 6500,\n      \"▁&=\": 6501,\n      \"▁Bill\": 6502,\n      \"▁aim\": 6503,\n      \"▁Ok\": 6504,\n      \"▁Av\": 6505,\n      \"reci\": 6506,\n      \"acks\": 6507,\n      \"iste\": 6508,\n      \"Properties\": 6509,\n      \"▁tmp\": 6510,\n      \"▁dei\": 6511,\n      \"PER\": 6512,\n      \"DC\": 6513,\n      \"sta\": 6514,\n      \"нии\": 6515,\n      \"▁limited\": 6516,\n      \"▁greater\": 6517,\n      \"description\": 6518,\n      \"ori\": 6519,\n      \"aints\": 6520,\n      \"▁hy\": 6521,\n      \"▁Mel\": 6522,\n      \"▁CH\": 6523,\n      \"cons\": 6524,\n      \"▁surround\": 6525,\n      \"▁Who\": 6526,\n      \"arc\": 6527,\n      \"▁telev\": 6528,\n      \"itution\": 6529,\n      \"▁equal\": 6530,\n      \"кі\": 6531,\n      \"▁Israel\": 6532,\n      \"äh\": 6533,\n      \"▁Caption\": 6534,\n      \"▁exerc\": 6535,\n      \"empor\": 6536,\n      \"▁++\": 6537,\n      \"▁lib\": 6538,\n      \"make\": 6539,\n      \"▁MA\": 6540,\n      \"copy\": 6541,\n      \"friend\": 6542,\n      \"▁кото\": 6543,\n      \"▁damage\": 6544,\n      \"▁\\\\,\": 6545,\n      \"oded\": 6546,\n      \"▁none\": 6547,\n      \"▁evalu\": 6548,\n      \"ston\": 6549,\n      \">,\": 6550,\n      \"FOR\": 6551,\n      \"▁norm\": 6552,\n      \"appe\": 6553,\n      \"Session\": 6554,\n      \"▁adult\": 6555,\n      \"▁hospital\": 6556,\n      \"▁recommend\": 6557,\n      \"property\": 6558,\n      \"stein\": 6559,\n      \"final\": 6560,\n      \"▁nu\": 6561,\n      \"second\": 6562,\n      \"▁aspect\": 6563,\n      \"\\\")]\": 6564,\n      \"жен\": 6565,\n      \"amento\": 6566,\n      \"▁rac\": 6567,\n      \"save\": 6568,\n      \"▁football\": 6569,\n      \"Ab\": 6570,\n      \"ungs\": 6571,\n      \"abil\": 6572,\n      \"▁Arch\": 6573,\n      \"system\": 6574,\n      \"hist\": 6575,\n      \"▁luck\": 6576,\n      \"render\": 6577,\n      \"▁sein\": 6578,\n      \"ioni\": 6579,\n      \"▁rot\": 6580,\n      \"▁corner\": 6581,\n      \"▁appropri\": 6582,\n      \"▁Software\": 6583,\n      \"▁tele\": 6584,\n      \"Delete\": 6585,\n      \"▁According\": 6586,\n      \"▁prison\": 6587,\n      \"▁lic\": 6588,\n      \"▁ми\": 6589,\n      \"term\": 6590,\n      \"sets\": 6591,\n      \"▁vel\": 6592,\n      \"▁rank\": 6593,\n      \"▁existing\": 6594,\n      \"▁Vir\": 6595,\n      \"▁trip\": 6596,\n      \"▁му\": 6597,\n      \"avax\": 6598,\n      \"▁ris\": 6599,\n      \"▁define\": 6600,\n      \"▁heat\": 6601,\n      \"car\": 6602,\n      \"▁convert\": 6603,\n      \"email\": 6604,\n      \"▁Under\": 6605,\n      \"▁Ш\": 6606,\n      \"▁Grand\": 6607,\n      \"▁exists\": 6608,\n      \"sys\": 6609,\n      \"eff\": 6610,\n      \"▁Top\": 6611,\n      \"▁č\": 6612,\n      \"▁tempor\": 6613,\n      \"▁arguments\": 6614,\n      \"▁supported\": 6615,\n      \"ensed\": 6616,\n      \"▁Francis\": 6617,\n      \"▁coord\": 6618,\n      \"▁achieve\": 6619,\n      \"▁Name\": 6620,\n      \"▁Jahr\": 6621,\n      \"▁Gi\": 6622,\n      \"she\": 6623,\n      \"▁Dev\": 6624,\n      \"▁alla\": 6625,\n      \"▁WIT\": 6626,\n      \"agment\": 6627,\n      \"custom\": 6628,\n      \"alls\": 6629,\n      \"&&\": 6630,\n      \"WE\": 6631,\n      \"▁holding\": 6632,\n      \"prototype\": 6633,\n      \"▁fing\": 6634,\n      \"▁bag\": 6635,\n      \"▁Party\": 6636,\n      \"stack\": 6637,\n      \"▁economic\": 6638,\n      \"▁Gal\": 6639,\n      \"idents\": 6640,\n      \"▁Jun\": 6641,\n      \"▁showed\": 6642,\n      \"osh\": 6643,\n      \"▁Bay\": 6644,\n      \"mail\": 6645,\n      \"▁SO\": 6646,\n      \"▁\\\"<\": 6647,\n      \"graphics\": 6648,\n      \"▁fu\": 6649,\n      \"click\": 6650,\n      \"▁battle\": 6651,\n      \"{{\": 6652,\n      \"▁Event\": 6653,\n      \"rior\": 6654,\n      \"chaft\": 6655,\n      \"▁favorite\": 6656,\n      \"usive\": 6657,\n      \"support\": 6658,\n      \"bm\": 6659,\n      \"Kind\": 6660,\n      \"▁safety\": 6661,\n      \"▁Ent\": 6662,\n      \"cup\": 6663,\n      \"▁Australia\": 6664,\n      \"▁destroy\": 6665,\n      \"▁organization\": 6666,\n      \"iden\": 6667,\n      \"################\": 6668,\n      \"dec\": 6669,\n      \"▁za\": 6670,\n      \"▁seven\": 6671,\n      \"arely\": 6672,\n      \"▁flag\": 6673,\n      \"Dir\": 6674,\n      \"▁Carl\": 6675,\n      \"▁doctor\": 6676,\n      \"▁variety\": 6677,\n      \"▁Lin\": 6678,\n      \"▁tom\": 6679,\n      \"^{(\": 6680,\n      \"Bo\": 6681,\n      \"antes\": 6682,\n      \"▁mine\": 6683,\n      \"▁Mit\": 6684,\n      \"▁describe\": 6685,\n      \"Args\": 6686,\n      \"LS\": 6687,\n      \"API\": 6688,\n      \"▁Luc\": 6689,\n      \"phone\": 6690,\n      \"▁science\": 6691,\n      \"▁Oper\": 6692,\n      \"Next\": 6693,\n      \"▁investig\": 6694,\n      \"▁demonstr\": 6695,\n      \"▁Govern\": 6696,\n      \"▁objects\": 6697,\n      \"▁Louis\": 6698,\n      \"▁Returns\": 6699,\n      \"▁han\": 6700,\n      \"nam\": 6701,\n      \"▁comme\": 6702,\n      \"▁presence\": 6703,\n      \"▁pel\": 6704,\n      \"▁detect\": 6705,\n      \")=\": 6706,\n      \"▁Chinese\": 6707,\n      \"▁rich\": 6708,\n      \"▁classes\": 6709,\n      \"▁expand\": 6710,\n      \"▁Dom\": 6711,\n      \"▁Dec\": 6712,\n      \"sn\": 6713,\n      \"peed\": 6714,\n      \"▁Jim\": 6715,\n      \"should\": 6716,\n      \"▁Smith\": 6717,\n      \"▁pages\": 6718,\n      \"▁Jean\": 6719,\n      \"rics\": 6720,\n      \"▁Sund\": 6721,\n      \"ads\": 6722,\n      \"▁Their\": 6723,\n      \"unicip\": 6724,\n      \"ву\": 6725,\n      \"▁download\": 6726,\n      \"▁stress\": 6727,\n      \"▁Pet\": 6728,\n      \"menu\": 6729,\n      \"reme\": 6730,\n      \"▁compared\": 6731,\n      \"Ste\": 6732,\n      \"IND\": 6733,\n      \"container\": 6734,\n      \"▁Indian\": 6735,\n      \"oren\": 6736,\n      \"▁ses\": 6737,\n      \"▁Whe\": 6738,\n      \"▁roku\": 6739,\n      \"▁established\": 6740,\n      \"▁generally\": 6741,\n      \"▁fle\": 6742,\n      \"__(\": 6743,\n      \"=\\\"+\": 6744,\n      \"Var\": 6745,\n      \"▁Make\": 6746,\n      \"▁removed\": 6747,\n      \"zz\": 6748,\n      \"ün\": 6749,\n      \"▁mix\": 6750,\n      \"erk\": 6751,\n      \"iation\": 6752,\n      \"outer\": 6753,\n      \"SK\": 6754,\n      \"▁becomes\": 6755,\n      \"▁Hall\": 6756,\n      \"scious\": 6757,\n      \"▁watched\": 6758,\n      \"▁gather\": 6759,\n      \"▁Result\": 6760,\n      \"proof\": 6761,\n      \"pay\": 6762,\n      \"▁produced\": 6763,\n      \"▁|=\": 6764,\n      \"▁border\": 6765,\n      \"▁din\": 6766,\n      \"▁script\": 6767,\n      \"▁actions\": 6768,\n      \"▁mas\": 6769,\n      \"ща\": 6770,\n      \"ooth\": 6771,\n      \"▁Techn\": 6772,\n      \"Json\": 6773,\n      \"▁filled\": 6774,\n      \"ден\": 6775,\n      \"undle\": 6776,\n      \"сту\": 6777,\n      \"Tool\": 6778,\n      \"▁king\": 6779,\n      \"▁ven\": 6780,\n      \"stra\": 6781,\n      \"▁predict\": 6782,\n      \"▁lui\": 6783,\n      \"▁WARRAN\": 6784,\n      \"▁Fun\": 6785,\n      \"Script\": 6786,\n      \"▁powerful\": 6787,\n      \"▁lose\": 6788,\n      \"atically\": 6789,\n      \"▁daily\": 6790,\n      \"▁ring\": 6791,\n      \"▁arrived\": 6792,\n      \"Stack\": 6793,\n      \"scope\": 6794,\n      \"▁Back\": 6795,\n      \"elij\": 6796,\n      \"▁ze\": 6797,\n      \"keys\": 6798,\n      \"{\\\"\": 6799,\n      \"VID\": 6800,\n      \"▁license\": 6801,\n      \"what\": 6802,\n      \"▁proced\": 6803,\n      \"rant\": 6804,\n      \"estival\": 6805,\n      \"agram\": 6806,\n      \"▁LO\": 6807,\n      \"▁Henry\": 6808,\n      \"▁flags\": 6809,\n      \"Down\": 6810,\n      \"scription\": 6811,\n      \"▁families\": 6812,\n      \"isse\": 6813,\n      \"bour\": 6814,\n      \"▁Bur\": 6815,\n      \"—\\\"\": 6816,\n      \"▁brief\": 6817,\n      \"▁creating\": 6818,\n      \"▁clients\": 6819,\n      \"rangle\": 6820,\n      \"▁amazing\": 6821,\n      \"▁sind\": 6822,\n      \"▁covered\": 6823,\n      \"Well\": 6824,\n      \"сте\": 6825,\n      \"тор\": 6826,\n      \"▁Bas\": 6827,\n      \"total\": 6828,\n      \"▁Init\": 6829,\n      \"▁sand\": 6830,\n      \"Unit\": 6831,\n      \"▁murder\": 6832,\n      \"▁bright\": 6833,\n      \"▁trav\": 6834,\n      \"icans\": 6835,\n      \"▁attribute\": 6836,\n      \"fc\": 6837,\n      \"▁placed\": 6838,\n      \"EST\": 6839,\n      \"Vari\": 6840,\n      \"▁cos\": 6841,\n      \"▁attract\": 6842,\n      \"anel\": 6843,\n      \"}).\": 6844,\n      \"bytes\": 6845,\n      \"▁parse\": 6846,\n      \"▁belong\": 6847,\n      \"BN\": 6848,\n      \"▁Sol\": 6849,\n      \"Po\": 6850,\n      \"`,\": 6851,\n      \"▁calling\": 6852,\n      \"▁?>\": 6853,\n      \"▁iter\": 6854,\n      \"▁url\": 6855,\n      \"▁evening\": 6856,\n      \"reek\": 6857,\n      \"▁honest\": 6858,\n      \"▁director\": 6859,\n      \"RC\": 6860,\n      \"▁solid\": 6861,\n      \"▁phil\": 6862,\n      \"iene\": 6863,\n      \"FAULT\": 6864,\n      \"cope\": 6865,\n      \"▁History\": 6866,\n      \"▁Team\": 6867,\n      \"reedom\": 6868,\n      \"▁ru\": 6869,\n      \"UB\": 6870,\n      \"▁worse\": 6871,\n      \"imo\": 6872,\n      \"Mat\": 6873,\n      \"▁Mex\": 6874,\n      \"actor\": 6875,\n      \"▁vor\": 6876,\n      \"ться\": 6877,\n      \"▁experiment\": 6878,\n      \"▁Play\": 6879,\n      \"▁Another\": 6880,\n      \"▁happens\": 6881,\n      \"uan\": 6882,\n      \"▁patients\": 6883,\n      \"▁rend\": 6884,\n      \"▁Mo\": 6885,\n      \"▁Tex\": 6886,\n      \"▁wed\": 6887,\n      \"tn\": 6888,\n      \"insert\": 6889,\n      \"▁па\": 6890,\n      \"▁anti\": 6891,\n      \"Match\": 6892,\n      \"ampionship\": 6893,\n      \"▁forces\": 6894,\n      \"▁Hot\": 6895,\n      \"▁phase\": 6896,\n      \"▁template\": 6897,\n      \"stop\": 6898,\n      \"icated\": 6899,\n      \"▁managed\": 6900,\n      \"wait\": 6901,\n      \"▁*(\": 6902,\n      \"GB\": 6903,\n      \"▁appoint\": 6904,\n      \"ła\": 6905,\n      \"▁stick\": 6906,\n      \"▁FOR\": 6907,\n      \"▁Vis\": 6908,\n      \"tor\": 6909,\n      \"▁př\": 6910,\n      \"quest\": 6911,\n      \"uses\": 6912,\n      \"\\\");\\r\": 6913,\n      \"▁suddenly\": 6914,\n      \"éc\": 6915,\n      \"ND\": 6916,\n      \"urop\": 6917,\n      \"ред\": 6918,\n      \"▁insurance\": 6919,\n      \"access\": 6920,\n      \"unfinished\": 6921,\n      \"▁tamb\": 6922,\n      \"▁sac\": 6923,\n      \"▁Court\": 6924,\n      \"▁missing\": 6925,\n      \"▁Where\": 6926,\n      \"▁Sum\": 6927,\n      \"}^{\\\\\": 6928,\n      \"▁sua\": 6929,\n      \"_,\": 6930,\n      \"▁thick\": 6931,\n      \"▁Trump\": 6932,\n      \"▁operations\": 6933,\n      \"FS\": 6934,\n      \"▁deux\": 6935,\n      \"dz\": 6936,\n      \"Template\": 6937,\n      \"▁\\\"/\": 6938,\n      \"▁odd\": 6939,\n      \"▁reality\": 6940,\n      \"▁teams\": 6941,\n      \"▁cer\": 6942,\n      \"oma\": 6943,\n      \"▁și\": 6944,\n      \"▁cloud\": 6945,\n      \"▁Department\": 6946,\n      \"Ne\": 6947,\n      \"▁requires\": 6948,\n      \"items\": 6949,\n      \"▁III\": 6950,\n      \"rightarrow\": 6951,\n      \")->\": 6952,\n      \"▁writer\": 6953,\n      \"replace\": 6954,\n      \"▁thr\": 6955,\n      \"jen\": 6956,\n      \"▁ot\": 6957,\n      \"▁occup\": 6958,\n      \"▁eventually\": 6959,\n      \"▁Math\": 6960,\n      \"▁conserv\": 6961,\n      \"amer\": 6962,\n      \"▁Fort\": 6963,\n      \"▁dry\": 6964,\n      \"▁sexual\": 6965,\n      \"▁costs\": 6966,\n      \"▁forms\": 6967,\n      \"▁Vict\": 6968,\n      \"PAR\": 6969,\n      \"framework\": 6970,\n      \"▁ди\": 6971,\n      \"Operation\": 6972,\n      \"зна\": 6973,\n      \"which\": 6974,\n      \"▁tight\": 6975,\n      \"Invalid\": 6976,\n      \"▁partner\": 6977,\n      \"▁пред\": 6978,\n      \"▁thank\": 6979,\n      \"▁guard\": 6980,\n      \"hem\": 6981,\n      \"Body\": 6982,\n      \"▁emot\": 6983,\n      \"IX\": 6984,\n      \"fast\": 6985,\n      \"що\": 6986,\n      \"ño\": 6987,\n      \"night\": 6988,\n      \"▁Sci\": 6989,\n      \"ника\": 6990,\n      \"▁TO\": 6991,\n      \"▁individuals\": 6992,\n      \"сси\": 6993,\n      \"}),\": 6994,\n      \"False\": 6995,\n      \"(\\\"%\": 6996,\n      \"▁optim\": 6997,\n      \"▁-->\": 6998,\n      \"▁factor\": 6999,\n      \"▁smaller\": 7000,\n      \"▁contain\": 7001,\n      \"spect\": 7002,\n      \"Engine\": 7003,\n      \"▁announced\": 7004,\n      \"▁Democr\": 7005,\n      \"▁rob\": 7006,\n      \"▁flat\": 7007,\n      \"osoph\": 7008,\n      \"Search\": 7009,\n      \"ahl\": 7010,\n      \"▁Exception\": 7011,\n      \"▁Ol\": 7012,\n      \"equals\": 7013,\n      \"▁unter\": 7014,\n      \"shape\": 7015,\n      \"NS\": 7016,\n      \"Obj\": 7017,\n      \"▁species\": 7018,\n      \"weight\": 7019,\n      \"you\": 7020,\n      \"▁este\": 7021,\n      \"▁View\": 7022,\n      \"▁mission\": 7023,\n      \"▁journal\": 7024,\n      \"Values\": 7025,\n      \"▁einem\": 7026,\n      \"ismo\": 7027,\n      \"▁projects\": 7028,\n      \"▁Das\": 7029,\n      \"rible\": 7030,\n      \"▁serve\": 7031,\n      \"▁opening\": 7032,\n      \"▁hur\": 7033,\n      \"▁programs\": 7034,\n      \"▁USA\": 7035,\n      \"iliar\": 7036,\n      \"idos\": 7037,\n      \"Br\": 7038,\n      \"estamp\": 7039,\n      \"▁tools\": 7040,\n      \"anner\": 7041,\n      \"RT\": 7042,\n      \"▁Start\": 7043,\n      \"▁bath\": 7044,\n      \"▁coffee\": 7045,\n      \"orter\": 7046,\n      \"internal\": 7047,\n      \"files\": 7048,\n      \"INVAL\": 7049,\n      \"ako\": 7050,\n      \"dt\": 7051,\n      \"▁Second\": 7052,\n      \"▁alloc\": 7053,\n      \"▁ended\": 7054,\n      \"acional\": 7055,\n      \"▁manager\": 7056,\n      \"▁Sun\": 7057,\n      \"agg\": 7058,\n      \"▁leader\": 7059,\n      \"olved\": 7060,\n      \"▁что\": 7061,\n      \"▁traditional\": 7062,\n      \"shot\": 7063,\n      \"rup\": 7064,\n      \"CF\": 7065,\n      \"▁Each\": 7066,\n      \"wr\": 7067,\n      \"▁Som\": 7068,\n      \"▁materials\": 7069,\n      \"▁msg\": 7070,\n      \"▁syn\": 7071,\n      \"▁produce\": 7072,\n      \"▁storage\": 7073,\n      \"subsection\": 7074,\n      \"▁Sie\": 7075,\n      \"▁IP\": 7076,\n      \"CESS\": 7077,\n      \"▁wa\": 7078,\n      \"Record\": 7079,\n      \"▁marketing\": 7080,\n      \"plet\": 7081,\n      \"Dialog\": 7082,\n      \"▁mentioned\": 7083,\n      \"▁Na\": 7084,\n      \"▁Union\": 7085,\n      \"▁API\": 7086,\n      \"▁negative\": 7087,\n      \"txt\": 7088,\n      \"▁easier\": 7089,\n      \"legal\": 7090,\n      \"Dep\": 7091,\n      \"▁novel\": 7092,\n      \"eur\": 7093,\n      \"ació\": 7094,\n      \"▁Bud\": 7095,\n      \"▁carry\": 7096,\n      \"schaft\": 7097,\n      \"▁broken\": 7098,\n      \"▁trees\": 7099,\n      \">();\": 7100,\n      \"▁emb\": 7101,\n      \"ieder\": 7102,\n      \"▁route\": 7103,\n      \"ikel\": 7104,\n      \"▁listen\": 7105,\n      \"ashion\": 7106,\n      \"▁Mrs\": 7107,\n      \"▁equipment\": 7108,\n      \"agger\": 7109,\n      \"▁Thus\": 7110,\n      \"▁matrix\": 7111,\n      \"alla\": 7112,\n      \"▁Tour\": 7113,\n      \"▁conversation\": 7114,\n      \"Mon\": 7115,\n      \"ournal\": 7116,\n      \"▁minute\": 7117,\n      \"Am\": 7118,\n      \"Api\": 7119,\n      \"▁forget\": 7120,\n      \"Me\": 7121,\n      \"levant\": 7122,\n      \"temp\": 7123,\n      \"▁telling\": 7124,\n      \"move\": 7125,\n      \"▁independent\": 7126,\n      \"toString\": 7127,\n      \"edit\": 7128,\n      \"▁Jac\": 7129,\n      \"azz\": 7130,\n      \"react\": 7131,\n      \"▁cin\": 7132,\n      \"▁Prov\": 7133,\n      \"isted\": 7134,\n      \"▁hash\": 7135,\n      \"onna\": 7136,\n      \"iki\": 7137,\n      \"▁generated\": 7138,\n      \"Render\": 7139,\n      \"▁psych\": 7140,\n      \"nav\": 7141,\n      \"▁entr\": 7142,\n      \"пра\": 7143,\n      \"rx\": 7144,\n      \"ATH\": 7145,\n      \"▁assume\": 7146,\n      \"Tree\": 7147,\n      \"sembly\": 7148,\n      \"▁Matt\": 7149,\n      \"caption\": 7150,\n      \"▁solutions\": 7151,\n      \"▁faith\": 7152,\n      \"▁digital\": 7153,\n      \"▁excell\": 7154,\n      \"▁Version\": 7155,\n      \"Debug\": 7156,\n      \"▁жи\": 7157,\n      \"▁carried\": 7158,\n      \"reset\": 7159,\n      \"▁slowly\": 7160,\n      \"ancing\": 7161,\n      \"▁owner\": 7162,\n      \"▁Ter\": 7163,\n      \"▁Did\": 7164,\n      \"▁gest\": 7165,\n      \"▁été\": 7166,\n      \"▁proof\": 7167,\n      \"Font\": 7168,\n      \"▁nob\": 7169,\n      \"Co\": 7170,\n      \"▁GNU\": 7171,\n      \"▁liber\": 7172,\n      \"itness\": 7173,\n      \"▁hij\": 7174,\n      \"▁vert\": 7175,\n      \"ша\": 7176,\n      \"FLAG\": 7177,\n      \"MENT\": 7178,\n      \"▁Son\": 7179,\n      \"Mult\": 7180,\n      \"▁district\": 7181,\n      \"connect\": 7182,\n      \"jection\": 7183,\n      \"lymp\": 7184,\n      \"▁realized\": 7185,\n      \"mos\": 7186,\n      \"ye\": 7187,\n      \"▁render\": 7188,\n      \"rio\": 7189,\n      \"▁interpret\": 7190,\n      \"▁slightly\": 7191,\n      \"fix\": 7192,\n      \"▁studies\": 7193,\n      \"▁rid\": 7194,\n      \"atre\": 7195,\n      \"▁benefits\": 7196,\n      \"▁Face\": 7197,\n      \"ivery\": 7198,\n      \"рия\": 7199,\n      \"document\": 7200,\n      \"▁asking\": 7201,\n      \"Last\": 7202,\n      \"arante\": 7203,\n      \"▁Martin\": 7204,\n      \"▁Ell\": 7205,\n      \"▁vector\": 7206,\n      \"▁forced\": 7207,\n      \"оло\": 7208,\n      \"PH\": 7209,\n      \"WR\": 7210,\n      \"▁Kl\": 7211,\n      \"▁sky\": 7212,\n      \"▁strategy\": 7213,\n      \"ocked\": 7214,\n      \"▁neck\": 7215,\n      \"ści\": 7216,\n      \"OUT\": 7217,\n      \")),\": 7218,\n      \"Custom\": 7219,\n      \"▁wie\": 7220,\n      \"▁sweet\": 7221,\n      \"▁temp\": 7222,\n      \"▁foreign\": 7223,\n      \"▁hall\": 7224,\n      \"astr\": 7225,\n      \"Ass\": 7226,\n      \"MODE\": 7227,\n      \"▁maximum\": 7228,\n      \"annels\": 7229,\n      \"▁tip\": 7230,\n      \"▁seconds\": 7231,\n      \"▁stack\": 7232,\n      \"iga\": 7233,\n      \"▁raise\": 7234,\n      \"enable\": 7235,\n      \"oir\": 7236,\n      \"▁soul\": 7237,\n      \"Ke\": 7238,\n      \")$.\": 7239,\n      \"▁Tim\": 7240,\n      \"ALSE\": 7241,\n      \"iser\": 7242,\n      \"contin\": 7243,\n      \"bel\": 7244,\n      \"▁mad\": 7245,\n      \"lichen\": 7246,\n      \"abe\": 7247,\n      \"safe\": 7248,\n      \"▁concent\": 7249,\n      \"bound\": 7250,\n      \"▁Requ\": 7251,\n      \"switch\": 7252,\n      \"▁stone\": 7253,\n      \"▁transl\": 7254,\n      \"▁vac\": 7255,\n      \"andon\": 7256,\n      \"▁Fore\": 7257,\n      \"▁sounds\": 7258,\n      \"▁Pop\": 7259,\n      \"▁HT\": 7260,\n      \"lia\": 7261,\n      \"enter\": 7262,\n      \"▁helps\": 7263,\n      \"edy\": 7264,\n      \"ствен\": 7265,\n      \"anted\": 7266,\n      \"▁Its\": 7267,\n      \"▁Step\": 7268,\n      \"Icon\": 7269,\n      \"▁EXPECT\": 7270,\n      \"ialized\": 7271,\n      \"Post\": 7272,\n      \"aze\": 7273,\n      \"▁Carol\": 7274,\n      \"▁req\": 7275,\n      \"▁critical\": 7276,\n      \"DS\": 7277,\n      \"▁seat\": 7278,\n      \"aped\": 7279,\n      \"▁upper\": 7280,\n      \"▁Sy\": 7281,\n      \"▁explain\": 7282,\n      \"▁'./\": 7283,\n      \"utils\": 7284,\n      \"possible\": 7285,\n      \"▁dont\": 7286,\n      \"Host\": 7287,\n      \"▁approxim\": 7288,\n      \"Async\": 7289,\n      \"▁grab\": 7290,\n      \"▁sources\": 7291,\n      \"▁Mos\": 7292,\n      \"▁Germany\": 7293,\n      \"▁rub\": 7294,\n      \"CHAN\": 7295,\n      \"▁rain\": 7296,\n      \"▁truly\": 7297,\n      \"▁joined\": 7298,\n      \"▁<?\": 7299,\n      \"▁Lo\": 7300,\n      \"Description\": 7301,\n      \"akt\": 7302,\n      \"▁Ann\": 7303,\n      \"^*\": 7304,\n      \"idae\": 7305,\n      \"(:\": 7306,\n      \"tw\": 7307,\n      \"Mar\": 7308,\n      \"produ\": 7309,\n      \"▁spoke\": 7310,\n      \"ют\": 7311,\n      \"▁walking\": 7312,\n      \"▁nodded\": 7313,\n      \"Props\": 7314,\n      \"Enabled\": 7315,\n      \"irk\": 7316,\n      \"FILE\": 7317,\n      \"equal\": 7318,\n      \"pping\": 7319,\n      \"oli\": 7320,\n      \"EV\": 7321,\n      \"enz\": 7322,\n      \"eting\": 7323,\n      \"▁sample\": 7324,\n      \"▁artist\": 7325,\n      \"[$\": 7326,\n      \"ità\": 7327,\n      \"йо\": 7328,\n      \"props\": 7329,\n      \"bu\": 7330,\n      \"ев\": 7331,\n      \"▁responsible\": 7332,\n      \"MT\": 7333,\n      \"▁caused\": 7334,\n      \"▁theme\": 7335,\n      \"▁Was\": 7336,\n      \"▁Before\": 7337,\n      \"acle\": 7338,\n      \"▁року\": 7339,\n      \"cu\": 7340,\n      \"DEV\": 7341,\n      \"▁hung\": 7342,\n      \"textbf\": 7343,\n      \"▁spin\": 7344,\n      \"▁latest\": 7345,\n      \"entially\": 7346,\n      \"▁Program\": 7347,\n      \"Metadata\": 7348,\n      \"password\": 7349,\n      \"▁hurt\": 7350,\n      \"кс\": 7351,\n      \"▁Aus\": 7352,\n      \"sey\": 7353,\n      \"allet\": 7354,\n      \"xF\": 7355,\n      \"▁Road\": 7356,\n      \"ется\": 7357,\n      \"▁rent\": 7358,\n      \"ция\": 7359,\n      \"▁Assert\": 7360,\n      \"іль\": 7361,\n      \"ück\": 7362,\n      \"▁sites\": 7363,\n      \"Document\": 7364,\n      \"▁obtained\": 7365,\n      \"▁ci\": 7366,\n      \"▁[\\\"\": 7367,\n      \"▁completed\": 7368,\n      \"aset\": 7369,\n      \"raid\": 7370,\n      \"▁sorry\": 7371,\n      \"▁fab\": 7372,\n      \"▁schools\": 7373,\n      \"ходи\": 7374,\n      \"▁scr\": 7375,\n      \"▁incor\": 7376,\n      \"▁'/\": 7377,\n      \"▁spr\": 7378,\n      \"▁Text\": 7379,\n      \"▁commercial\": 7380,\n      \"ingly\": 7381,\n      \"▁opinion\": 7382,\n      \"▁Star\": 7383,\n      \"Sign\": 7384,\n      \"▁javax\": 7385,\n      \"wi\": 7386,\n      \"lat\": 7387,\n      \"▁Key\": 7388,\n      \"varphi\": 7389,\n      \"ды\": 7390,\n      \"▁connected\": 7391,\n      \"▁adjust\": 7392,\n      \"▁Az\": 7393,\n      \"▁planning\": 7394,\n      \"---\": 7395,\n      \"Integer\": 7396,\n      \"auf\": 7397,\n      \"expected\": 7398,\n      \"▁fant\": 7399,\n      \"▁tou\": 7400,\n      \"Parent\": 7401,\n      \"▁Lat\": 7402,\n      \"▁thoughts\": 7403,\n      \"▁Jud\": 7404,\n      \"Parameters\": 7405,\n      \"Gr\": 7406,\n      \"ром\": 7407,\n      \"IA\": 7408,\n      \"▁Bob\": 7409,\n      \"lict\": 7410,\n      \"lan\": 7411,\n      \"omic\": 7412,\n      \"▁apart\": 7413,\n      \"▁trou\": 7414,\n      \"▁appreci\": 7415,\n      \"▁Christmas\": 7416,\n      \"irq\": 7417,\n      \"thon\": 7418,\n      \"▁Error\": 7419,\n      \"▁score\": 7420,\n      \"rome\": 7421,\n      \"▁neighbor\": 7422,\n      \"▁Mur\": 7423,\n      \"admin\": 7424,\n      \"▁Film\": 7425,\n      \"Rect\": 7426,\n      \"▁configuration\": 7427,\n      \"▁cs\": 7428,\n      \"gun\": 7429,\n      \"channel\": 7430,\n      \"▁Report\": 7431,\n      \"▁strateg\": 7432,\n      \"▁workers\": 7433,\n      \"fields\": 7434,\n      \"Schema\": 7435,\n      \"appa\": 7436,\n      \"olic\": 7437,\n      \"EO\": 7438,\n      \"▁Charl\": 7439,\n      \"▁Cup\": 7440,\n      \"png\": 7441,\n      \"▁Hill\": 7442,\n      \"owe\": 7443,\n      \"▁mostly\": 7444,\n      \"”.\": 7445,\n      \"▁finish\": 7446,\n      \"▁Со\": 7447,\n      \"▁stars\": 7448,\n      \"player\": 7449,\n      \"▁inner\": 7450,\n      \"component\": 7451,\n      \"tim\": 7452,\n      \"IE\": 7453,\n      \"▁ther\": 7454,\n      \"▁smart\": 7455,\n      \"▁sad\": 7456,\n      \"▁Council\": 7457,\n      \"area\": 7458,\n      \"lay\": 7459,\n      \"▁ба\": 7460,\n      \"▁gradu\": 7461,\n      \"▁chem\": 7462,\n      \"▁ho\": 7463,\n      \"Select\": 7464,\n      \"▁instr\": 7465,\n      \"▁kl\": 7466,\n      \"ifications\": 7467,\n      \"Long\": 7468,\n      \"▁sobre\": 7469,\n      \"▁Old\": 7470,\n      \"west\": 7471,\n      \"},\\\\\": 7472,\n      \"ingu\": 7473,\n      \"▁spring\": 7474,\n      \"▁nur\": 7475,\n      \"example\": 7476,\n      \"When\": 7477,\n      \"▁advice\": 7478,\n      \"▁ult\": 7479,\n      \"ennis\": 7480,\n      \"▁Love\": 7481,\n      \"▁\\\"\\\"\": 7482,\n      \"▁increased\": 7483,\n      \"▁finding\": 7484,\n      \"irty\": 7485,\n      \"istrict\": 7486,\n      \"▁layer\": 7487,\n      \"template\": 7488,\n      \"First\": 7489,\n      \"ным\": 7490,\n      \"igration\": 7491,\n      \"rency\": 7492,\n      \"owie\": 7493,\n      \"▁np\": 7494,\n      \"▁selection\": 7495,\n      \"▁Nach\": 7496,\n      \"▁PRO\": 7497,\n      \"▁polic\": 7498,\n      \"▁database\": 7499,\n      \"▁byte\": 7500,\n      \"▁providing\": 7501,\n      \"mac\": 7502,\n      \"▁metal\": 7503,\n      \"modules\": 7504,\n      \"▁Georg\": 7505,\n      \"▁Sa\": 7506,\n      \"▁establish\": 7507,\n      \"...\\\"\": 7508,\n      \"iu\": 7509,\n      \"kin\": 7510,\n      \"▁eth\": 7511,\n      \"▁Sand\": 7512,\n      \"▁Chapter\": 7513,\n      \"▁gal\": 7514,\n      \"▁ice\": 7515,\n      \"Red\": 7516,\n      \"▁dal\": 7517,\n      \"▁principal\": 7518,\n      \"Msg\": 7519,\n      \"▁remains\": 7520,\n      \"нг\": 7521,\n      \"Title\": 7522,\n      \"Rel\": 7523,\n      \"Display\": 7524,\n      \"Non\": 7525,\n      \"▁definition\": 7526,\n      \"▁attr\": 7527,\n      \"▁signal\": 7528,\n      \"hl\": 7529,\n      \"▁sel\": 7530,\n      \"▁volume\": 7531,\n      \"▁cache\": 7532,\n      \"hens\": 7533,\n      \"▁wird\": 7534,\n      \"[\\\\\": 7535,\n      \"NOT\": 7536,\n      \"▁election\": 7537,\n      \"utt\": 7538,\n      \"▁Window\": 7539,\n      \"ental\": 7540,\n      \"ifest\": 7541,\n      \"xf\": 7542,\n      \"▁Ра\": 7543,\n      \"▁overall\": 7544,\n      \"blic\": 7545,\n      \"▁editor\": 7546,\n      \"aden\": 7547,\n      \"▁cart\": 7548,\n      \"Left\": 7549,\n      \"uls\": 7550,\n      \"bing\": 7551,\n      \"Right\": 7552,\n      \"▁sé\": 7553,\n      \"Sim\": 7554,\n      \"▁camera\": 7555,\n      \"▁fav\": 7556,\n      \"Decl\": 7557,\n      \"spring\": 7558,\n      \"▁errors\": 7559,\n      \"Tab\": 7560,\n      \"println\": 7561,\n      \"▁Bern\": 7562,\n      \"nab\": 7563,\n      \"▁Base\": 7564,\n      \"▁auth\": 7565,\n      \"▁apparent\": 7566,\n      \"▁presented\": 7567,\n      \"▁remained\": 7568,\n      \"▁wet\": 7569,\n      \"Enc\": 7570,\n      \"INFO\": 7571,\n      \"▁Sing\": 7572,\n      \"package\": 7573,\n      \")));\": 7574,\n      \"▁Social\": 7575,\n      \"▁Mass\": 7576,\n      \"▁despite\": 7577,\n      \"▁mobile\": 7578,\n      \"▁labor\": 7579,\n      \"Go\": 7580,\n      \"▁esp\": 7581,\n      \"▁Table\": 7582,\n      \"▁expert\": 7583,\n      \"▁flex\": 7584,\n      \"▁profession\": 7585,\n      \"▁pil\": 7586,\n      \"Collection\": 7587,\n      \"LOCK\": 7588,\n      \"▁applied\": 7589,\n      \"aller\": 7590,\n      \"orph\": 7591,\n      \"ENSE\": 7592,\n      \"▁был\": 7593,\n      \"▁db\": 7594,\n      \"overline\": 7595,\n      \"▁Code\": 7596,\n      \"▁bytes\": 7597,\n      \"▁trouble\": 7598,\n      \"▁насе\": 7599,\n      \"DD\": 7600,\n      \"▁Year\": 7601,\n      \"mbox\": 7602,\n      \"▁keeping\": 7603,\n      \"▁kick\": 7604,\n      \"äng\": 7605,\n      \"▁corresponding\": 7606,\n      \"▁library\": 7607,\n      \"▁*/\\r\": 7608,\n      \"callback\": 7609,\n      \"ums\": 7610,\n      \"▁json\": 7611,\n      \"▁Mount\": 7612,\n      \"▁Stand\": 7613,\n      \"IGHT\": 7614,\n      \"▁News\": 7615,\n      \"▁comments\": 7616,\n      \"returns\": 7617,\n      \"Cal\": 7618,\n      \"▁award\": 7619,\n      \"▁bought\": 7620,\n      \"includegraphics\": 7621,\n      \"▁ле\": 7622,\n      \"dot\": 7623,\n      \"ronic\": 7624,\n      \"▁extremely\": 7625,\n      \"▁minor\": 7626,\n      \"ifer\": 7627,\n      \"java\": 7628,\n      \"endar\": 7629,\n      \"layout\": 7630,\n      \"plies\": 7631,\n      \"▁buf\": 7632,\n      \"▁Island\": 7633,\n      \"▁About\": 7634,\n      \"▁west\": 7635,\n      \"▁Scott\": 7636,\n      \"ACT\": 7637,\n      \"Why\": 7638,\n      \"▁largest\": 7639,\n      \"▁container\": 7640,\n      \"▁temperature\": 7641,\n      \"▁£\": 7642,\n      \"▁reduce\": 7643,\n      \"▁foi\": 7644,\n      \"han\": 7645,\n      \"▁bod\": 7646,\n      \"▁Van\": 7647,\n      \"▁nullptr\": 7648,\n      \"▁dating\": 7649,\n      \"▁chain\": 7650,\n      \"Flags\": 7651,\n      \"iento\": 7652,\n      \"sort\": 7653,\n      \"▁fan\": 7654,\n      \"▁determine\": 7655,\n      \"▁wear\": 7656,\n      \"BE\": 7657,\n      \"▁appropriate\": 7658,\n      \"лся\": 7659,\n      \"тов\": 7660,\n      \"▁goals\": 7661,\n      \"▁Map\": 7662,\n      \"▁Sar\": 7663,\n      \"▁Option\": 7664,\n      \"▁hate\": 7665,\n      \"▁zijn\": 7666,\n      \",-\": 7667,\n      \"▁implied\": 7668,\n      \"bits\": 7669,\n      \"▁Men\": 7670,\n      \"skip\": 7671,\n      \"▁Mond\": 7672,\n      \"▁Hon\": 7673,\n      \"▁prove\": 7674,\n      \"van\": 7675,\n      \"▁traff\": 7676,\n      \"▁intr\": 7677,\n      \"pic\": 7678,\n      \"▁dropped\": 7679,\n      \"▁werd\": 7680,\n      \"▁separate\": 7681,\n      \"isa\": 7682,\n      \"▁tab\": 7683,\n      \"tml\": 7684,\n      \"▁\\\"$\": 7685,\n      \"mutex\": 7686,\n      \"▁Pan\": 7687,\n      \"serve\": 7688,\n      \"▁hotel\": 7689,\n      \"▁Last\": 7690,\n      \"step\": 7691,\n      \"▁vir\": 7692,\n      \"Rule\": 7693,\n      \"istan\": 7694,\n      \"oting\": 7695,\n      \"arks\": 7696,\n      \"(__\": 7697,\n      \"▁els\": 7698,\n      \"Player\": 7699,\n      \"]]\": 7700,\n      \"вич\": 7701,\n      \"ych\": 7702,\n      \"exception\": 7703,\n      \"=\\\"../\": 7704,\n      \"▁imagine\": 7705,\n      \"\\\"},\": 7706,\n      \"icago\": 7707,\n      \"eler\": 7708,\n      \"▁vs\": 7709,\n      \"▁Africa\": 7710,\n      \"▁Business\": 7711,\n      \"ocks\": 7712,\n      \"▁prz\": 7713,\n      \"▁fucking\": 7714,\n      \"▁picked\": 7715,\n      \"▁ві\": 7716,\n      \"▁\\\",\": 7717,\n      \"▁bott\": 7718,\n      \"▁failure\": 7719,\n      \"[:\": 7720,\n      \"▁Gar\": 7721,\n      \"apes\": 7722,\n      \"uple\": 7723,\n      \"▁fer\": 7724,\n      \"▁purchase\": 7725,\n      \"▁пер\": 7726,\n      \"▁bird\": 7727,\n      \"Widget\": 7728,\n      \"▁Sunday\": 7729,\n      \"▁Amaz\": 7730,\n      \"▁consult\": 7731,\n      \"utsch\": 7732,\n      \"anto\": 7733,\n      \"Storage\": 7734,\n      \"▁header\": 7735,\n      \"ühr\": 7736,\n      \"▁Ha\": 7737,\n      \"▁Association\": 7738,\n      \"▁sight\": 7739,\n      \"Cell\": 7740,\n      \"▁profile\": 7741,\n      \"▁female\": 7742,\n      \"ån\": 7743,\n      \"▁wid\": 7744,\n      \"zn\": 7745,\n      \"Direct\": 7746,\n      \"▁stret\": 7747,\n      \"aat\": 7748,\n      \"▁patient\": 7749,\n      \"here\": 7750,\n      \"▁Atl\": 7751,\n      \"inet\": 7752,\n      \"Definition\": 7753,\n      \"imary\": 7754,\n      \"Policy\": 7755,\n      \"▁dut\": 7756,\n      \"▁majority\": 7757,\n      \"сі\": 7758,\n      \"▁Project\": 7759,\n      \"ById\": 7760,\n      \"▁believed\": 7761,\n      \"▁Music\": 7762,\n      \"зы\": 7763,\n      \"anti\": 7764,\n      \"▁oder\": 7765,\n      \"Channel\": 7766,\n      \"▁sle\": 7767,\n      \"▁sequence\": 7768,\n      \"▁pieces\": 7769,\n      \"▁kne\": 7770,\n      \"▁absolutely\": 7771,\n      \"▁Philip\": 7772,\n      \"abilities\": 7773,\n      \"Que\": 7774,\n      \"▁Kar\": 7775,\n      \"Execut\": 7776,\n      \"▁Devel\": 7777,\n      \"▁electric\": 7778,\n      \"full\": 7779,\n      \"rolled\": 7780,\n      \"Dom\": 7781,\n      \"▁river\": 7782,\n      \"▁healthy\": 7783,\n      \"▁extern\": 7784,\n      \"fit\": 7785,\n      \"▁coach\": 7786,\n      \"▁Kr\": 7787,\n      \"asta\": 7788,\n      \"Compat\": 7789,\n      \"▁exit\": 7790,\n      \"▁Const\": 7791,\n      \"after\": 7792,\n      \"▁shoulder\": 7793,\n      \"▁jobs\": 7794,\n      \"zone\": 7795,\n      \"▁sale\": 7796,\n      \"ixel\": 7797,\n      \"▁determined\": 7798,\n      \"▁anyway\": 7799,\n      \"orf\": 7800,\n      \"▁Ger\": 7801,\n      \"allel\": 7802,\n      \"rees\": 7803,\n      \"asm\": 7804,\n      \"ims\": 7805,\n      \"▁records\": 7806,\n      \"▁corpor\": 7807,\n      \"▁intellig\": 7808,\n      \"▁Prem\": 7809,\n      \"▁driving\": 7810,\n      \"▁marriage\": 7811,\n      \"▁Thank\": 7812,\n      \"▁willing\": 7813,\n      \"MC\": 7814,\n      \"Fields\": 7815,\n      \"Items\": 7816,\n      \"▁micro\": 7817,\n      \"▁lift\": 7818,\n      \"irection\": 7819,\n      \"Account\": 7820,\n      \"▁architect\": 7821,\n      \"track\": 7822,\n      \"▁prin\": 7823,\n      \"PA\": 7824,\n      \"▁runs\": 7825,\n      \"▁Texas\": 7826,\n      \"isher\": 7827,\n      \"ensure\": 7828,\n      \"▁Both\": 7829,\n      \"ком\": 7830,\n      \"▁Color\": 7831,\n      \"Register\": 7832,\n      \"▁Joe\": 7833,\n      \"geq\": 7834,\n      \"lets\": 7835,\n      \"ading\": 7836,\n      \"▁army\": 7837,\n      \"▁Bank\": 7838,\n      \"otic\": 7839,\n      \"Product\": 7840,\n      \"import\": 7841,\n      \"▁Wed\": 7842,\n      \"▁cry\": 7843,\n      \"grade\": 7844,\n      \"dig\": 7845,\n      \"gal\": 7846,\n      \"кла\": 7847,\n      \"ested\": 7848,\n      \"ões\": 7849,\n      \"gers\": 7850,\n      \"ologie\": 7851,\n      \"том\": 7852,\n      \"razy\": 7853,\n      \"▁dinner\": 7854,\n      \"QU\": 7855,\n      \"▁fingers\": 7856,\n      \"ULE\": 7857,\n      \"claim\": 7858,\n      \"▁advantage\": 7859,\n      \"▁variable\": 7860,\n      \"▁medic\": 7861,\n      \"▁male\": 7862,\n      \"▁circum\": 7863,\n      \"▁мі\": 7864,\n      \"▁internet\": 7865,\n      \"WN\": 7866,\n      \"▁lab\": 7867,\n      \"azine\": 7868,\n      \"чно\": 7869,\n      \"▁loop\": 7870,\n      \"▁pred\": 7871,\n      \"▁consequ\": 7872,\n      \"▁balance\": 7873,\n      \"fortun\": 7874,\n      \"▁gift\": 7875,\n      \"▁drug\": 7876,\n      \"▁cash\": 7877,\n      \"ских\": 7878,\n      \"rg\": 7879,\n      \"istribut\": 7880,\n      \"▁highest\": 7881,\n      \"ême\": 7882,\n      \"emph\": 7883,\n      \"emon\": 7884,\n      \"▁performed\": 7885,\n      \"cut\": 7886,\n      \"▁closer\": 7887,\n      \"▁becoming\": 7888,\n      \"▁\\\"\\\",\": 7889,\n      \"star\": 7890,\n      \"pub\": 7891,\n      \"▁prepar\": 7892,\n      \"▁vote\": 7893,\n      \"ilde\": 7894,\n      \"▁impress\": 7895,\n      \"▁employees\": 7896,\n      \"▁einen\": 7897,\n      \"▁smooth\": 7898,\n      \"▁snow\": 7899,\n      \"▁purs\": 7900,\n      \"▁voc\": 7901,\n      \"▁Microsoft\": 7902,\n      \"PU\": 7903,\n      \"▁income\": 7904,\n      \"inos\": 7905,\n      \"▁operator\": 7906,\n      \"▁equival\": 7907,\n      \"▁password\": 7908,\n      \"ción\": 7909,\n      \"success\": 7910,\n      \"▁emp\": 7911,\n      \"HOUT\": 7912,\n      \"▁ca\": 7913,\n      \"flag\": 7914,\n      \"illy\": 7915,\n      \"crete\": 7916,\n      \"frak\": 7917,\n      \"▁hidden\": 7918,\n      \"▁\\\"%\": 7919,\n      \"ERN\": 7920,\n      \"рова\": 7921,\n      \"▁UN\": 7922,\n      \"roke\": 7923,\n      \"miss\": 7924,\n      \"▁split\": 7925,\n      \"Reference\": 7926,\n      \")$,\": 7927,\n      \"eper\": 7928,\n      \"▁NO\": 7929,\n      \"▁square\": 7930,\n      \"sur\": 7931,\n      \"чен\": 7932,\n      \"ester\": 7933,\n      \"нь\": 7934,\n      \"}\\\"\": 7935,\n      \"rawn\": 7936,\n      \"rule\": 7937,\n      \"▁audience\": 7938,\n      \"este\": 7939,\n      \"ems\": 7940,\n      \"ICENSE\": 7941,\n      \"▁Ill\": 7942,\n      \"USE\": 7943,\n      \"▁bon\": 7944,\n      \"bur\": 7945,\n      \"▁sick\": 7946,\n      \"▁horse\": 7947,\n      \"▁Educ\": 7948,\n      \"▁benefit\": 7949,\n      \"▁cro\": 7950,\n      \"Application\": 7951,\n      \"▁corre\": 7952,\n      \"▁guarante\": 7953,\n      \"DATA\": 7954,\n      \"▁explained\": 7955,\n      \"TX\": 7956,\n      \"▁ont\": 7957,\n      \"▁Flor\": 7958,\n      \"▁reports\": 7959,\n      \"▁Real\": 7960,\n      \"uded\": 7961,\n      \"lean\": 7962,\n      \"▁citiz\": 7963,\n      \"▁decide\": 7964,\n      \"WS\": 7965,\n      \"▁domain\": 7966,\n      \"▁reflect\": 7967,\n      \"▁minimum\": 7968,\n      \"▁legs\": 7969,\n      \"▁smiled\": 7970,\n      \"fi\": 7971,\n      \"▁pure\": 7972,\n      \"▁Custom\": 7973,\n      \"▁essential\": 7974,\n      \"▁observed\": 7975,\n      \"Bytes\": 7976,\n      \"▁ctx\": 7977,\n      \"▁rates\": 7978,\n      \"mbre\": 7979,\n      \"▁worry\": 7980,\n      \")^\": 7981,\n      \"▁Research\": 7982,\n      \"Root\": 7983,\n      \"Windows\": 7984,\n      \"ulture\": 7985,\n      \"▁relative\": 7986,\n      \"▁seu\": 7987,\n      \"▁nie\": 7988,\n      \"▁shook\": 7989,\n      \"iously\": 7990,\n      \"▁advert\": 7991,\n      \"See\": 7992,\n      \"▁Central\": 7993,\n      \"▁batter\": 7994,\n      \"▁signed\": 7995,\n      \"TS\": 7996,\n      \"oni\": 7997,\n      \"▁prepared\": 7998,\n      \"gate\": 7999,\n      \"▁Care\": 8000,\n      \"care\": 8001,\n      \"▁supply\": 8002,\n      \"Exp\": 8003,\n      \"bolds\": 8004,\n      \"▁trail\": 8005,\n      \"▁fish\": 8006,\n      \"▁units\": 8007,\n      \"venue\": 8008,\n      \"хи\": 8009,\n      \"▁Wood\": 8010,\n      \"▁category\": 8011,\n      \"▁ble\": 8012,\n      \"▁override\": 8013,\n      \"foo\": 8014,\n      \"▁influence\": 8015,\n      \"enth\": 8016,\n      \"rij\": 8017,\n      \"▁adapt\": 8018,\n      \"icians\": 8019,\n      \"deleted\": 8020,\n      \"▁vision\": 8021,\n      \"ctrl\": 8022,\n      \"Lambda\": 8023,\n      \"tp\": 8024,\n      \"mond\": 8025,\n      \"aturday\": 8026,\n      \"normal\": 8027,\n      \"▁thousand\": 8028,\n      \"▁Profess\": 8029,\n      \"▁disease\": 8030,\n      \"clip\": 8031,\n      \"▁гра\": 8032,\n      \"boldsymbol\": 8033,\n      \"OB\": 8034,\n      \"▁challenge\": 8035,\n      \"▁motion\": 8036,\n      \"▁whis\": 8037,\n      \"▁leaders\": 8038,\n      \"▁colon\": 8039,\n      \"▁suit\": 8040,\n      \"mid\": 8041,\n      \"ampion\": 8042,\n      \"ág\": 8043,\n      \"▁views\": 8044,\n      \"▁appears\": 8045,\n      \"ancel\": 8046,\n      \"▁zwe\": 8047,\n      \"IST\": 8048,\n      \"▁leaves\": 8049,\n      \"▁enh\": 8050,\n      \"Active\": 8051,\n      \"▁dit\": 8052,\n      \"ificate\": 8053,\n      \"matrix\": 8054,\n      \"Expression\": 8055,\n      \"Reader\": 8056,\n      \"▁mental\": 8057,\n      \"embre\": 8058,\n      \"▁decor\": 8059,\n      \"arts\": 8060,\n      \"▁vent\": 8061,\n      \"nel\": 8062,\n      \"lines\": 8063,\n      \"upid\": 8064,\n      \"erved\": 8065,\n      \"▁boys\": 8066,\n      \"аль\": 8067,\n      \"MOD\": 8068,\n      \"isl\": 8069,\n      \"▁[[\": 8070,\n      \"phy\": 8071,\n      \"▁..\": 8072,\n      \"▁agent\": 8073,\n      \"▁Services\": 8074,\n      \"▁iron\": 8075,\n      \"▁components\": 8076,\n      \"▁fre\": 8077,\n      \"ictionary\": 8078,\n      \"▁tests\": 8079,\n      \".~\\\\\": 8080,\n      \"obs\": 8081,\n      \"▁Ми\": 8082,\n      \"▁обла\": 8083,\n      \"▁assess\": 8084,\n      \"▁Friday\": 8085,\n      \"▁weather\": 8086,\n      \"kg\": 8087,\n      \"стра\": 8088,\n      \".}\": 8089,\n      \"endant\": 8090,\n      \"anna\": 8091,\n      \"▁Japanese\": 8092,\n      \"cmp\": 8093,\n      \"▁Army\": 8094,\n      \"onym\": 8095,\n      \"▁relax\": 8096,\n      \"dates\": 8097,\n      \"▁Russian\": 8098,\n      \"▁excellent\": 8099,\n      \"'))\": 8100,\n      \"ILITY\": 8101,\n      \"▁showing\": 8102,\n      \"▁Daniel\": 8103,\n      \"мя\": 8104,\n      \"▁Main\": 8105,\n      \"Phi\": 8106,\n      \"▁Rock\": 8107,\n      \"▁grew\": 8108,\n      \"▁yield\": 8109,\n      \"ière\": 8110,\n      \"seg\": 8111,\n      \"}}$\": 8112,\n      \"▁strict\": 8113,\n      \"▁vehicle\": 8114,\n      \"UD\": 8115,\n      \"AF\": 8116,\n      \"Sw\": 8117,\n      \"▁chest\": 8118,\n      \"▁officer\": 8119,\n      \"▁ear\": 8120,\n      \"HER\": 8121,\n      \"noon\": 8122,\n      \"▁journey\": 8123,\n      \"NT\": 8124,\n      \"▁divers\": 8125,\n      \"▁Finally\": 8126,\n      \"Found\": 8127,\n      \"▁AS\": 8128,\n      \"rik\": 8129,\n      \"▁constr\": 8130,\n      \"▁sust\": 8131,\n      \"account\": 8132,\n      \"▁walls\": 8133,\n      \"▁entirely\": 8134,\n      \"Iter\": 8135,\n      \"cha\": 8136,\n      \"ishes\": 8137,\n      \"IVE\": 8138,\n      \"▁prime\": 8139,\n      \"▁…\": 8140,\n      \"xe\": 8141,\n      \"uten\": 8142,\n      \"arse\": 8143,\n      \"▁Pa\": 8144,\n      \"pute\": 8145,\n      \"äl\": 8146,\n      \"▁protection\": 8147,\n      \"▁keys\": 8148,\n      \"May\": 8149,\n      \"Byte\": 8150,\n      \"Const\": 8151,\n      \"BL\": 8152,\n      \"▁пе\": 8153,\n      \"▁spl\": 8154,\n      \"▁clothes\": 8155,\n      \"ashed\": 8156,\n      \"Mark\": 8157,\n      \"ème\": 8158,\n      \"▁fait\": 8159,\n      \"▁introduced\": 8160,\n      \"unlock\": 8161,\n      \"▁Instead\": 8162,\n      \"ansion\": 8163,\n      \"region\": 8164,\n      \"▁Americans\": 8165,\n      \"▁indeed\": 8166,\n      \"widget\": 8167,\n      \"▁realize\": 8168,\n      \"▁fro\": 8169,\n      \"BIT\": 8170,\n      \"▁React\": 8171,\n      \"READ\": 8172,\n      \"asket\": 8173,\n      \"never\": 8174,\n      \"▁poll\": 8175,\n      \"icol\": 8176,\n      \"▁prev\": 8177,\n      \"▁hyp\": 8178,\n      \"▁Fur\": 8179,\n      \"cloud\": 8180,\n      \"▁Lee\": 8181,\n      \"pling\": 8182,\n      \"▁Child\": 8183,\n      \"▁ideal\": 8184,\n      \"Selector\": 8185,\n      \"STATUS\": 8186,\n      \"ucture\": 8187,\n      \"▁wine\": 8188,\n      \"▁possibly\": 8189,\n      \"▁putting\": 8190,\n      \"▁riv\": 8191,\n      \"▁wearing\": 8192,\n      \"▁Source\": 8193,\n      \"▁Cas\": 8194,\n      \"Changed\": 8195,\n      \"▁thanks\": 8196,\n      \"TIME\": 8197,\n      \"▁sport\": 8198,\n      \"▁Award\": 8199,\n      \"▁glad\": 8200,\n      \"▁Pass\": 8201,\n      \"▁Pos\": 8202,\n      \"sche\": 8203,\n      \"▁CD\": 8204,\n      \"▁afford\": 8205,\n      \"▁Women\": 8206,\n      \"▁District\": 8207,\n      \"▁identity\": 8208,\n      \"▁parties\": 8209,\n      \":%\": 8210,\n      \"▁drag\": 8211,\n      \"▁mai\": 8212,\n      \"!(\": 8213,\n      \"langle\": 8214,\n      \"▁knowing\": 8215,\n      \"Project\": 8216,\n      \"▁regarding\": 8217,\n      \"▁Joseph\": 8218,\n      \"ге\": 8219,\n      \"▁Dar\": 8220,\n      \"▁Hor\": 8221,\n      \"▁animals\": 8222,\n      \"▁extension\": 8223,\n      \"ская\": 8224,\n      \"▁Han\": 8225,\n      \"btn\": 8226,\n      \"aciones\": 8227,\n      \"▁familiar\": 8228,\n      \"holder\": 8229,\n      \":\\r\": 8230,\n      \"stood\": 8231,\n      \"▁liked\": 8232,\n      \"CODE\": 8233,\n      \"▁enable\": 8234,\n      \"▁ped\": 8235,\n      \"iti\": 8236,\n      \"hab\": 8237,\n      \"DIR\": 8238,\n      \"▁beat\": 8239,\n      \"ті\": 8240,\n      \"▁Minister\": 8241,\n      \"▁py\": 8242,\n      \"Pat\": 8243,\n      \"▁exhib\": 8244,\n      \"▁Build\": 8245,\n      \"▁Field\": 8246,\n      \"ician\": 8247,\n      \"▁collabor\": 8248,\n      \"▁quarter\": 8249,\n      \"▁False\": 8250,\n      \"km\": 8251,\n      \"▁virtual\": 8252,\n      \"owa\": 8253,\n      \"▁Jon\": 8254,\n      \"amin\": 8255,\n      \"uen\": 8256,\n      \"▁ин\": 8257,\n      \"imation\": 8258,\n      \"oving\": 8259,\n      \"▁testing\": 8260,\n      \"sect\": 8261,\n      \"ITION\": 8262,\n      \"!\\\\\": 8263,\n      \"apy\": 8264,\n      \"▁transition\": 8265,\n      \"ository\": 8266,\n      \"ODO\": 8267,\n      \"PD\": 8268,\n      \"né\": 8269,\n      \"▁generate\": 8270,\n      \"▁native\": 8271,\n      \"▁('\": 8272,\n      \"▁elle\": 8273,\n      \"RR\": 8274,\n      \"▁hun\": 8275,\n      \"_->\": 8276,\n      \"agnost\": 8277,\n      \"▁proposed\": 8278,\n      \"▁Game\": 8279,\n      \"▁efforts\": 8280,\n      \"вя\": 8281,\n      \"tc\": 8282,\n      \"ск\": 8283,\n      \"▁intent\": 8284,\n      \"▁Bre\": 8285,\n      \"isc\": 8286,\n      \"▁protest\": 8287,\n      \"▁holds\": 8288,\n      \"ometry\": 8289,\n      \"▁Have\": 8290,\n      \"▁detail\": 8291,\n      \"▁WITHOUT\": 8292,\n      \"yer\": 8293,\n      \"▁Kon\": 8294,\n      \"▁noticed\": 8295,\n      \"▁requirements\": 8296,\n      \"DEBUG\": 8297,\n      \"kins\": 8298,\n      \"▁Span\": 8299,\n      \"▁cars\": 8300,\n      \"meta\": 8301,\n      \"▁kil\": 8302,\n      \"▁Bron\": 8303,\n      \"▁experienced\": 8304,\n      \"▁remind\": 8305,\n      \"ourse\": 8306,\n      \"▁Western\": 8307,\n      \"tered\": 8308,\n      \"▁devices\": 8309,\n      \"▁pictures\": 8310,\n      \"▁tut\": 8311,\n      \"\\\"`\": 8312,\n      \"▁impossible\": 8313,\n      \"▁rail\": 8314,\n      \"▁feels\": 8315,\n      \"icas\": 8316,\n      \"illing\": 8317,\n      \"▁accident\": 8318,\n      \"▁'@\": 8319,\n      \"________\": 8320,\n      \"▁notes\": 8321,\n      \"oman\": 8322,\n      \"Parser\": 8323,\n      \"▁discovered\": 8324,\n      \"▁Roman\": 8325,\n      \"▁budget\": 8326,\n      \"▁guide\": 8327,\n      \"king\": 8328,\n      \"▁incred\": 8329,\n      \"olar\": 8330,\n      \"enden\": 8331,\n      \"Desc\": 8332,\n      \"▁wave\": 8333,\n      \"бли\": 8334,\n      \"igt\": 8335,\n      \"▁restrict\": 8336,\n      \"▁Ret\": 8337,\n      \"▁mac\": 8338,\n      \"ур\": 8339,\n      \"BS\": 8340,\n      \"ís\": 8341,\n      \"▁generation\": 8342,\n      \"dem\": 8343,\n      \"alo\": 8344,\n      \"бра\": 8345,\n      \"▁ordered\": 8346,\n      \"drop\": 8347,\n      \"▁pp\": 8348,\n      \"▁Review\": 8349,\n      \"▁literally\": 8350,\n      \"▁Sir\": 8351,\n      \"▁Yeah\": 8352,\n      \"▁density\": 8353,\n      \"riz\": 8354,\n      \"inde\": 8355,\n      \"▁gain\": 8356,\n      \"▁panel\": 8357,\n      \"jet\": 8358,\n      \"▁Times\": 8359,\n      \"▁nella\": 8360,\n      \"▁previously\": 8361,\n      \"points\": 8362,\n      \"Send\": 8363,\n      \"▁Brown\": 8364,\n      \"each\": 8365,\n      \"▁trigger\": 8366,\n      \"ometimes\": 8367,\n      \"icos\": 8368,\n      \"GR\": 8369,\n      \"Panel\": 8370,\n      \"ogen\": 8371,\n      \"▁cm\": 8372,\n      \"ructions\": 8373,\n      \"▁kiss\": 8374,\n      \"▁solo\": 8375,\n      \"▁famous\": 8376,\n      \"ran\": 8377,\n      \"про\": 8378,\n      \"▁thro\": 8379,\n      \"Graph\": 8380,\n      \"imit\": 8381,\n      \"▁Value\": 8382,\n      \"▁starts\": 8383,\n      \"ipeline\": 8384,\n      \"hd\": 8385,\n      \"TC\": 8386,\n      \"▁discussion\": 8387,\n      \"▁truck\": 8388,\n      \"aka\": 8389,\n      \"Only\": 8390,\n      \"▁Equ\": 8391,\n      \"▁kö\": 8392,\n      \"▁Bes\": 8393,\n      \"▁critic\": 8394,\n      \"▁propos\": 8395,\n      \"▁batt\": 8396,\n      \"▁Section\": 8397,\n      \"Show\": 8398,\n      \"gp\": 8399,\n      \"STATE\": 8400,\n      \"POST\": 8401,\n      \"▁Nord\": 8402,\n      \"▁innov\": 8403,\n      \"▁crim\": 8404,\n      \"axis\": 8405,\n      \"▁Turn\": 8406,\n      \"conn\": 8407,\n      \"Runtime\": 8408,\n      \"▁remaining\": 8409,\n      \"oston\": 8410,\n      \"▁Э\": 8411,\n      \"▁windows\": 8412,\n      \"▁Royal\": 8413,\n      \"▁vide\": 8414,\n      \"PP\": 8415,\n      \"chron\": 8416,\n      \"▁san\": 8417,\n      \"▁rise\": 8418,\n      \"▁delle\": 8419,\n      \"▁Dur\": 8420,\n      \"▁rapid\": 8421,\n      \"cert\": 8422,\n      \"LA\": 8423,\n      \"edge\": 8424,\n      \"▁\\\\]\": 8425,\n      \"▁entered\": 8426,\n      \"▁laws\": 8427,\n      \"▁photo\": 8428,\n      \"▁applications\": 8429,\n      \"▁Berlin\": 8430,\n      \"▁arrest\": 8431,\n      \"▁federal\": 8432,\n      \"▁Russia\": 8433,\n      \"▁usual\": 8434,\n      \"▁raw\": 8435,\n      \"▁più\": 8436,\n      \"être\": 8437,\n      \"JSON\": 8438,\n      \"SION\": 8439,\n      \"xture\": 8440,\n      \"istent\": 8441,\n      \"▁Power\": 8442,\n      \"Bit\": 8443,\n      \"▁capacity\": 8444,\n      \"▁cards\": 8445,\n      \"UID\": 8446,\n      \"iments\": 8447,\n      \"▁dar\": 8448,\n      \"▁Chicago\": 8449,\n      \"▁comfortable\": 8450,\n      \"tip\": 8451,\n      \"bas\": 8452,\n      \"▁mu\": 8453,\n      \"▁enemy\": 8454,\n      \"yan\": 8455,\n      \"▁фи\": 8456,\n      \"▁updated\": 8457,\n      \"ango\": 8458,\n      \"Ev\": 8459,\n      \"Effect\": 8460,\n      \"osing\": 8461,\n      \"rence\": 8462,\n      \"▁Congress\": 8463,\n      \"▁defe\": 8464,\n      \"▁ip\": 8465,\n      \"▁tout\": 8466,\n      \"▁freedom\": 8467,\n      \"▁ao\": 8468,\n      \"▁Therefore\": 8469,\n      \"Edit\": 8470,\n      \"▁Virgin\": 8471,\n      \"REE\": 8472,\n      \"argo\": 8473,\n      \"▁Dam\": 8474,\n      \"▁traffic\": 8475,\n      \"ños\": 8476,\n      \"▁alle\": 8477,\n      \"▁depth\": 8478,\n      \"Now\": 8479,\n      \"▁sides\": 8480,\n      \"▁годи\": 8481,\n      \"Descriptor\": 8482,\n      \"▁artikel\": 8483,\n      \"▁narrow\": 8484,\n      \"___\": 8485,\n      \"kw\": 8486,\n      \"uto\": 8487,\n      \"▁Facebook\": 8488,\n      \"tegr\": 8489,\n      \"boolean\": 8490,\n      \"nik\": 8491,\n      \"bd\": 8492,\n      \"Track\": 8493,\n      \"▁gran\": 8494,\n      \"reshold\": 8495,\n      \"вет\": 8496,\n      \"wrap\": 8497,\n      \"▁noise\": 8498,\n      \"igu\": 8499,\n      \"▁Bon\": 8500,\n      \"▁wy\": 8501,\n      \"linux\": 8502,\n      \"cks\": 8503,\n      \"▁fans\": 8504,\n      \"▁mach\": 8505,\n      \"▁prices\": 8506,\n      \"év\": 8507,\n      \"outs\": 8508,\n      \"standing\": 8509,\n      \"▁categ\": 8510,\n      \";\\\\\": 8511,\n      \"▁decre\": 8512,\n      \"▁Saturday\": 8513,\n      \"▁menu\": 8514,\n      \"▁Nov\": 8515,\n      \"▁Yet\": 8516,\n      \"▁так\": 8517,\n      \"liche\": 8518,\n      \"▁Academ\": 8519,\n      \"▁communication\": 8520,\n      \"using\": 8521,\n      \"▁Society\": 8522,\n      \"▁nuc\": 8523,\n      \"pective\": 8524,\n      \"orial\": 8525,\n      \"▁afraid\": 8526,\n      \"▁animal\": 8527,\n      \"▁turning\": 8528,\n      \"dst\": 8529,\n      \"mathfrak\": 8530,\n      \"lers\": 8531,\n      \"▁lots\": 8532,\n      \"▁á\": 8533,\n      \"▁Tra\": 8534,\n      \"np\": 8535,\n      \"▁rose\": 8536,\n      \"▁GL\": 8537,\n      \"▁helping\": 8538,\n      \"▁winter\": 8539,\n      \"▁ком\": 8540,\n      \"Mock\": 8541,\n      \"▁investment\": 8542,\n      \"Use\": 8543,\n      \"▁Canad\": 8544,\n      \"нд\": 8545,\n      \"Copy\": 8546,\n      \"▁fly\": 8547,\n      \"SER\": 8548,\n      \"▁Far\": 8549,\n      \"▁Ros\": 8550,\n      \"amil\": 8551,\n      \"▁fighting\": 8552,\n      \"▁religious\": 8553,\n      \"super\": 8554,\n      \"screen\": 8555,\n      \"▁furn\": 8556,\n      \"▁surprised\": 8557,\n      \"▁replied\": 8558,\n      \"Activity\": 8559,\n      \"▁Down\": 8560,\n      \"▁insert\": 8561,\n      \"▁Olymp\": 8562,\n      \"▁pointed\": 8563,\n      \"▁Card\": 8564,\n      \"driver\": 8565,\n      \"▁Da\": 8566,\n      \"!--\": 8567,\n      \"roud\": 8568,\n      \"undo\": 8569,\n      \"▁messages\": 8570,\n      \"▁Point\": 8571,\n      \"VM\": 8572,\n      \"▁plane\": 8573,\n      \"xc\": 8574,\n      \"▁television\": 8575,\n      \"ён\": 8576,\n      \"▁thousands\": 8577,\n      \"▁cris\": 8578,\n      \"▁delay\": 8579,\n      \"▁Next\": 8580,\n      \"▁nombre\": 8581,\n      \"▁tu\": 8582,\n      \"▁skip\": 8583,\n      \"road\": 8584,\n      \"istration\": 8585,\n      \"▁tur\": 8586,\n      \"▁Develop\": 8587,\n      \"▁Па\": 8588,\n      \"▁дру\": 8589,\n      \"▁wonderful\": 8590,\n      \">&\": 8591,\n      \"▁Liber\": 8592,\n      \"▁scope\": 8593,\n      \"▁manage\": 8594,\n      \"▁dass\": 8595,\n      \"▁recall\": 8596,\n      \"PM\": 8597,\n      \"▁relevant\": 8598,\n      \"▁Earth\": 8599,\n      \"▁как\": 8600,\n      \"▁apr\": 8601,\n      \"▁ASS\": 8602,\n      \"ién\": 8603,\n      \"▁SH\": 8604,\n      \"oom\": 8605,\n      \"itet\": 8606,\n      \"none\": 8607,\n      \"asi\": 8608,\n      \"▁motor\": 8609,\n      \"▁Show\": 8610,\n      \"nb\": 8611,\n      \"▁factors\": 8612,\n      \"▁forest\": 8613,\n      \"▁вре\": 8614,\n      \"thm\": 8615,\n      \"▁municip\": 8616,\n      \"▁turns\": 8617,\n      \"▁Division\": 8618,\n      \"EC\": 8619,\n      \"▁disappe\": 8620,\n      \"structor\": 8621,\n      \"▁somewhere\": 8622,\n      \"▁African\": 8623,\n      \"▁Institute\": 8624,\n      \"Grid\": 8625,\n      \"▁teacher\": 8626,\n      \"uries\": 8627,\n      \"▁respectively\": 8628,\n      \"▁SD\": 8629,\n      \"▁alive\": 8630,\n      \"▁pou\": 8631,\n      \"▁Water\": 8632,\n      \"фе\": 8633,\n      \"▁changing\": 8634,\n      \"▁afternoon\": 8635,\n      \"▁orders\": 8636,\n      \"Ret\": 8637,\n      \"Pointer\": 8638,\n      \"▁sav\": 8639,\n      \"erg\": 8640,\n      \"oked\": 8641,\n      \"essions\": 8642,\n      \"▁Fire\": 8643,\n      \"aret\": 8644,\n      \"imm\": 8645,\n      \"▁desire\": 8646,\n      \"▁що\": 8647,\n      \"▁Design\": 8648,\n      \"uture\": 8649,\n      \"▁Office\": 8650,\n      \"▁cmd\": 8651,\n      \"▁eating\": 8652,\n      \"Network\": 8653,\n      \"▁rough\": 8654,\n      \"operator\": 8655,\n      \"IGN\": 8656,\n      \"▁sports\": 8657,\n      \"▁weren\": 8658,\n      \"▁noted\": 8659,\n      \"▁twice\": 8660,\n      \"III\": 8661,\n      \"▁anx\": 8662,\n      \"▁elim\": 8663,\n      \"▁ав\": 8664,\n      \"▁io\": 8665,\n      \"▁speech\": 8666,\n      \"▁condu\": 8667,\n      \"elles\": 8668,\n      \"idade\": 8669,\n      \"▁advance\": 8670,\n      \"RI\": 8671,\n      \"oca\": 8672,\n      \"/\\\\\": 8673,\n      \"apshot\": 8674,\n      \"▁tail\": 8675,\n      \"models\": 8676,\n      \"ogy\": 8677,\n      \"▁Jeff\": 8678,\n      \"iration\": 8679,\n      \"▁Kore\": 8680,\n      \"▁leads\": 8681,\n      \"bat\": 8682,\n      \"Adapter\": 8683,\n      \"category\": 8684,\n      \"angular\": 8685,\n      \"▁saved\": 8686,\n      \"▁uniform\": 8687,\n      \"▁né\": 8688,\n      \"▁businesses\": 8689,\n      \"Hist\": 8690,\n      \"▁ар\": 8691,\n      \"domain\": 8692,\n      \"▁Si\": 8693,\n      \"raise\": 8694,\n      \"▁warn\": 8695,\n      \"hetic\": 8696,\n      \"▁Gro\": 8697,\n      \")).\": 8698,\n      \"}>\": 8699,\n      \"зе\": 8700,\n      \"▁Amazon\": 8701,\n      \"▁Organ\": 8702,\n      \"▁Lake\": 8703,\n      \"▁agreement\": 8704,\n      \"xa\": 8705,\n      \"▁perman\": 8706,\n      \"▁containing\": 8707,\n      \"▁strange\": 8708,\n      \"сті\": 8709,\n      \"▁stupid\": 8710,\n      \"▁speaking\": 8711,\n      \"▁Internet\": 8712,\n      \"prefix\": 8713,\n      \"esc\": 8714,\n      \"Assert\": 8715,\n      \"prote\": 8716,\n      \"▁manner\": 8717,\n      \"▁Sz\": 8718,\n      \"unte\": 8719,\n      \"iot\": 8720,\n      \"Profile\": 8721,\n      \"oven\": 8722,\n      \"▁formed\": 8723,\n      \"▁lit\": 8724,\n      \"▁economy\": 8725,\n      \"▁cz\": 8726,\n      \"wid\": 8727,\n      \"REQ\": 8728,\n      \"▁chosen\": 8729,\n      \"▁Produ\": 8730,\n      \"oster\": 8731,\n      \"stances\": 8732,\n      \"awa\": 8733,\n      \"▁Ren\": 8734,\n      \"▁confirm\": 8735,\n      \"▁Бо\": 8736,\n      \"▁billion\": 8737,\n      \"▁déc\": 8738,\n      \"ých\": 8739,\n      \"▁illustr\": 8740,\n      \"TIES\": 8741,\n      \"▁Pub\": 8742,\n      \"▁ban\": 8743,\n      \"aded\": 8744,\n      \"ahn\": 8745,\n      \"▁Cath\": 8746,\n      \"nonumber\": 8747,\n      \"▁worst\": 8748,\n      \"▁Ме\": 8749,\n      \"▁suggested\": 8750,\n      \"stats\": 8751,\n      \"▁cant\": 8752,\n      \"▁align\": 8753,\n      \"kappa\": 8754,\n      \"▁hen\": 8755,\n      \"▁initi\": 8756,\n      \"'])\": 8757,\n      \"BI\": 8758,\n      \"▁garden\": 8759,\n      \"▁secure\": 8760,\n      \"▁\\\\[\": 8761,\n      \"handler\": 8762,\n      \"elli\": 8763,\n      \"ldots\": 8764,\n      \"secut\": 8765,\n      \"▁extended\": 8766,\n      \"}-\": 8767,\n      \"anie\": 8768,\n      \"▁Find\": 8769,\n      \"▁Museum\": 8770,\n      \"▁Conne\": 8771,\n      \"yy\": 8772,\n      \"▁passion\": 8773,\n      \"akers\": 8774,\n      \"ahr\": 8775,\n      \"ologies\": 8776,\n      \"▁equation\": 8777,\n      \"▁occasion\": 8778,\n      \"Let\": 8779,\n      \"']['\": 8780,\n      \"Print\": 8781,\n      \"anes\": 8782,\n      \"iente\": 8783,\n      \"▁Today\": 8784,\n      \"LECT\": 8785,\n      \"▁Af\": 8786,\n      \",,\": 8787,\n      \"▁Та\": 8788,\n      \"▁```\": 8789,\n      \"even\": 8790,\n      \"sin\": 8791,\n      \"urer\": 8792,\n      \"▁°\": 8793,\n      \"otimes\": 8794,\n      \"▁IO\": 8795,\n      \"▁poet\": 8796,\n      \"()));\": 8797,\n      \"▁−\": 8798,\n      \"▁adopt\": 8799,\n      \"phere\": 8800,\n      \"#[\": 8801,\n      \"▁centre\": 8802,\n      \"oves\": 8803,\n      \"▁ans\": 8804,\n      \"dp\": 8805,\n      \"▁Kir\": 8806,\n      \"▁applicable\": 8807,\n      \"fp\": 8808,\n      \"▁visual\": 8809,\n      \"▁okay\": 8810,\n      \"oro\": 8811,\n      \"▁opportunities\": 8812,\n      \"Repository\": 8813,\n      \"▁ll\": 8814,\n      \"▁Rod\": 8815,\n      \"▁shel\": 8816,\n      \"▁launch\": 8817,\n      \"▁conven\": 8818,\n      \"▁Spe\": 8819,\n      \"Amer\": 8820,\n      \"▁cette\": 8821,\n      \"Cond\": 8822,\n      \"dep\": 8823,\n      \"Own\": 8824,\n      \"▁hook\": 8825,\n      \"▁dict\": 8826,\n      \"▁Those\": 8827,\n      \"▁fellow\": 8828,\n      \"▁philosoph\": 8829,\n      \"vin\": 8830,\n      \"ferences\": 8831,\n      \"hav\": 8832,\n      \"▁adding\": 8833,\n      \"iverse\": 8834,\n      \"game\": 8835,\n      \"▁Blue\": 8836,\n      \"▁clin\": 8837,\n      \"note\": 8838,\n      \"▁Ram\": 8839,\n      \"мер\": 8840,\n      \"covery\": 8841,\n      \"ña\": 8842,\n      \"▁би\": 8843,\n      \"▁fashion\": 8844,\n      \"▁broke\": 8845,\n      \"▁'\\\\\": 8846,\n      \"▁reader\": 8847,\n      \"ное\": 8848,\n      \"ности\": 8849,\n      \"▁payment\": 8850,\n      \"▁Lic\": 8851,\n      \"▁lips\": 8852,\n      \"▁academ\": 8853,\n      \"▁Mot\": 8854,\n      \"ells\": 8855,\n      \"CHECK\": 8856,\n      \"▁ру\": 8857,\n      \"▁MS\": 8858,\n      \"Editor\": 8859,\n      \"▁zone\": 8860,\n      \"iture\": 8861,\n      \"▁IT\": 8862,\n      \"runtime\": 8863,\n      \"▁proceed\": 8864,\n      \"лов\": 8865,\n      \"▁Maria\": 8866,\n      \"olver\": 8867,\n      \"▁Thanks\": 8868,\n      \"▁shouldn\": 8869,\n      \"▁Joh\": 8870,\n      \"▁Model\": 8871,\n      \"▁Sov\": 8872,\n      \"!'\": 8873,\n      \"Di\": 8874,\n      \"▁cancer\": 8875,\n      \"Ident\": 8876,\n      \"▁exchange\": 8877,\n      \"iller\": 8878,\n      \"inf\": 8879,\n      \"LEN\": 8880,\n      \"(){\": 8881,\n      \"aga\": 8882,\n      \"\\\"],\": 8883,\n      \"uh\": 8884,\n      \"▁Ken\": 8885,\n      \"▁photos\": 8886,\n      \"▁tiny\": 8887,\n      \"▁gent\": 8888,\n      \"ül\": 8889,\n      \"▁Take\": 8890,\n      \"idel\": 8891,\n      \"outing\": 8892,\n      \"Internal\": 8893,\n      \"▁cells\": 8894,\n      \"ним\": 8895,\n      \"hard\": 8896,\n      \"▁Town\": 8897,\n      \"obe\": 8898,\n      \"plex\": 8899,\n      \"тер\": 8900,\n      \"tons\": 8901,\n      \"▁concentr\": 8902,\n      \"mock\": 8903,\n      \"vc\": 8904,\n      \"áz\": 8905,\n      \"▁Championship\": 8906,\n      \"▁бе\": 8907,\n      \"??\": 8908,\n      \"éri\": 8909,\n      \"aly\": 8910,\n      \"▁Ц\": 8911,\n      \"ierte\": 8912,\n      \"▁totally\": 8913,\n      \"▁Auf\": 8914,\n      \"▁ourselves\": 8915,\n      \"▁Self\": 8916,\n      \"Forms\": 8917,\n      \"ighter\": 8918,\n      \"▁island\": 8919,\n      \"fmt\": 8920,\n      \"▁rc\": 8921,\n      \"▁tells\": 8922,\n      \"BB\": 8923,\n      \"dit\": 8924,\n      \"▁variables\": 8925,\n      \"▁intended\": 8926,\n      \"izont\": 8927,\n      \"▁plays\": 8928,\n      \"dam\": 8929,\n      \"seq\": 8930,\n      \"▁Sup\": 8931,\n      \"▁cultural\": 8932,\n      \"▁scream\": 8933,\n      \"__,\": 8934,\n      \"cipl\": 8935,\n      \"Timeout\": 8936,\n      \"▁ж\": 8937,\n      \"orte\": 8938,\n      \"▁replaced\": 8939,\n      \"EM\": 8940,\n      \"▁abandon\": 8941,\n      \"▁Special\": 8942,\n      \"ellen\": 8943,\n      \"▁Bru\": 8944,\n      \"irmed\": 8945,\n      \"Te\": 8946,\n      \"olt\": 8947,\n      \"ju\": 8948,\n      \"Argument\": 8949,\n      \"▁neut\": 8950,\n      \"scape\": 8951,\n      \"▁Ray\": 8952,\n      \"▁Polit\": 8953,\n      \"▁crowd\": 8954,\n      \"▁Windows\": 8955,\n      \"iego\": 8956,\n      \"▁escape\": 8957,\n      \"▁Apache\": 8958,\n      \"sync\": 8959,\n      \"eben\": 8960,\n      \"ifies\": 8961,\n      \"ether\": 8962,\n      \"Meta\": 8963,\n      \"▁biggest\": 8964,\n      \"Game\": 8965,\n      \"▁transaction\": 8966,\n      \"Env\": 8967,\n      \"▁Мо\": 8968,\n      \"▁plenty\": 8969,\n      \"▁mel\": 8970,\n      \"пре\": 8971,\n      \"▁motiv\": 8972,\n      \"▁ор\": 8973,\n      \"organ\": 8974,\n      \"▁mock\": 8975,\n      \"▁$_\": 8976,\n      \"ене\": 8977,\n      \"▁Number\": 8978,\n      \"cknow\": 8979,\n      \"▁Update\": 8980,\n      \"zero\": 8981,\n      \"▁surprise\": 8982,\n      \"cean\": 8983,\n      \"pdf\": 8984,\n      \"Global\": 8985,\n      \"▁attend\": 8986,\n      \"▁fond\": 8987,\n      \"▁understood\": 8988,\n      \"Nav\": 8989,\n      \"▁Mic\": 8990,\n      \"=$\": 8991,\n      \"oking\": 8992,\n      \"▁Stadium\": 8993,\n      \"Close\": 8994,\n      \"▁competition\": 8995,\n      \"▁soldiers\": 8996,\n      \"▁OP\": 8997,\n      \"agne\": 8998,\n      \"▁Anton\": 8999,\n      \"Main\": 9000,\n      \"ák\": 9001,\n      \"▁#[\": 9002,\n      \"▁Commit\": 9003,\n      \"pyx\": 9004,\n      \"▁east\": 9005,\n      \"▁Order\": 9006,\n      \"Float\": 9007,\n      \"▁accepted\": 9008,\n      \"▁monitor\": 9009,\n      \"▁pad\": 9010,\n      \"onic\": 9011,\n      \"▁pushed\": 9012,\n      \"▁replace\": 9013,\n      \"CRE\": 9014,\n      \"▁ride\": 9015,\n      \"found\": 9016,\n      \"=%\": 9017,\n      \"вой\": 9018,\n      \"▁matches\": 9019,\n      \"▁Lie\": 9020,\n      \"▁experiences\": 9021,\n      \"Pool\": 9022,\n      \"ups\": 9023,\n      \"AV\": 9024,\n      \"▁existence\": 9025,\n      \"▁thin\": 9026,\n      \"▁magn\": 9027,\n      \"COMP\": 9028,\n      \"home\": 9029,\n      \"▁ni\": 9030,\n      \"▁wurden\": 9031,\n      \"лав\": 9032,\n      \"▁teeth\": 9033,\n      \"▁Stan\": 9034,\n      \"appro\": 9035,\n      \"anny\": 9036,\n      \"ifts\": 9037,\n      \"▁unknown\": 9038,\n      \"▁homes\": 9039,\n      \"▁entity\": 9040,\n      \"cie\": 9041,\n      \"ление\": 9042,\n      \"iar\": 9043,\n      \"▁compliance\": 9044,\n      \"▁focused\": 9045,\n      \"uzz\": 9046,\n      \"=\\\\\\\"\": 9047,\n      \"components\": 9048,\n      \"Attr\": 9049,\n      \"allery\": 9050,\n      \"▁identify\": 9051,\n      \"Ok\": 9052,\n      \"pie\": 9053,\n      \"▁Still\": 9054,\n      \"▁offering\": 9055,\n      \"▁busy\": 9056,\n      \"ctl\": 9057,\n      \"itors\": 9058,\n      \"▁concerned\": 9059,\n      \"▁brown\": 9060,\n      \"clk\": 9061,\n      \"Selected\": 9062,\n      \"▁Block\": 9063,\n      \"▁egy\": 9064,\n      \"icing\": 9065,\n      \"▁URL\": 9066,\n      \"▁topic\": 9067,\n      \"▁Product\": 9068,\n      \"▁чи\": 9069,\n      \"▁trial\": 9070,\n      \"▁weekend\": 9071,\n      \"lu\": 9072,\n      \"▁IV\": 9073,\n      \"▁Egy\": 9074,\n      \"xC\": 9075,\n      \"▁nove\": 9076,\n      \"▁lett\": 9077,\n      \"enne\": 9078,\n      \"()).\": 9079,\n      \".**\": 9080,\n      \"▁promise\": 9081,\n      \"election\": 9082,\n      \"Auth\": 9083,\n      \"rv\": 9084,\n      \"ril\": 9085,\n      \"▁conduct\": 9086,\n      \"▁maintain\": 9087,\n      \"▁boat\": 9088,\n      \"▁opposite\": 9089,\n      \"spin\": 9090,\n      \"webpack\": 9091,\n      \"anta\": 9092,\n      \"▁orient\": 9093,\n      \"▁suc\": 9094,\n      \"▁exercise\": 9095,\n      \"▁efficient\": 9096,\n      \"▁tradition\": 9097,\n      \"▁zw\": 9098,\n      \"▁Sud\": 9099,\n      \"going\": 9100,\n      \"▁Pier\": 9101,\n      \"inv\": 9102,\n      \"ipes\": 9103,\n      \"ensuremath\": 9104,\n      \"▁conver\": 9105,\n      \"creen\": 9106,\n      \"▁terror\": 9107,\n      \"▁Dou\": 9108,\n      \"▁invalid\": 9109,\n      \"ceived\": 9110,\n      \"▁Arab\": 9111,\n      \"▁wire\": 9112,\n      \"application\": 9113,\n      \"shift\": 9114,\n      \"Generic\": 9115,\n      \"▁Plan\": 9116,\n      \"▁Wall\": 9117,\n      \"▁directory\": 9118,\n      \"▁egg\": 9119,\n      \"▁wealth\": 9120,\n      \"random\": 9121,\n      \"attribute\": 9122,\n      \"▁hide\": 9123,\n      \"Serial\": 9124,\n      \"cam\": 9125,\n      \"▁ital\": 9126,\n      \"▁Line\": 9127,\n      \"▁CHECK\": 9128,\n      \"ployment\": 9129,\n      \"▁massive\": 9130,\n      \"▁extract\": 9131,\n      \"chain\": 9132,\n      \"Rest\": 9133,\n      \"▁Las\": 9134,\n      \"▁bear\": 9135,\n      \"▁links\": 9136,\n      \"▁newsp\": 9137,\n      \"▁FC\": 9138,\n      \"Card\": 9139,\n      \"aks\": 9140,\n      \"▁visible\": 9141,\n      \"▁Marc\": 9142,\n      \"▁Boston\": 9143,\n      \"▁reserved\": 9144,\n      \"▁roof\": 9145,\n      \"licenses\": 9146,\n      \"dc\": 9147,\n      \"▁Information\": 9148,\n      \"▁witness\": 9149,\n      \"Sk\": 9150,\n      \"*),\": 9151,\n      \"Scope\": 9152,\n      \"'];\": 9153,\n      \"▁Mir\": 9154,\n      \"uding\": 9155,\n      \"▁trend\": 9156,\n      \"rep\": 9157,\n      \"▁musical\": 9158,\n      \"▁neither\": 9159,\n      \"▁Creat\": 9160,\n      \"▁positions\": 9161,\n      \"LC\": 9162,\n      \"ridge\": 9163,\n      \"▁officers\": 9164,\n      \"▁violence\": 9165,\n      \"▁Tem\": 9166,\n      \"▁Sus\": 9167,\n      \"▁Way\": 9168,\n      \"After\": 9169,\n      \"acket\": 9170,\n      \"▁Sou\": 9171,\n      \"acer\": 9172,\n      \"||\": 9173,\n      \"▁remark\": 9174,\n      \"water\": 9175,\n      \"ně\": 9176,\n      \"▁Са\": 9177,\n      \"▁sed\": 9178,\n      \"Each\": 9179,\n      \"▁photograph\": 9180,\n      \"▁letters\": 9181,\n      \"▁invent\": 9182,\n      \"▁Mas\": 9183,\n      \"▁songs\": 9184,\n      \"ól\": 9185,\n      \"kind\": 9186,\n      \"▁Non\": 9187,\n      \"▁dust\": 9188,\n      \"**:\": 9189,\n      \"nabla\": 9190,\n      \".\\\",\": 9191,\n      \"Lock\": 9192,\n      \"▁До\": 9193,\n      \"▁cluster\": 9194,\n      \"loss\": 9195,\n      \"▁ASSERT\": 9196,\n      \"fall\": 9197,\n      \"▁reject\": 9198,\n      \"▁Spring\": 9199,\n      \"▁wedding\": 9200,\n      \"▁grav\": 9201,\n      \"ression\": 9202,\n      \"limit\": 9203,\n      \"RES\": 9204,\n      \"]}\": 9205,\n      \"▁listed\": 9206,\n      \"▁Tele\": 9207,\n      \"hline\": 9208,\n      \"▁chief\": 9209,\n      \"MEM\": 9210,\n      \"дар\": 9211,\n      \"▁expensive\": 9212,\n      \"trace\": 9213,\n      \"▁Rog\": 9214,\n      \"▁Coll\": 9215,\n      \"▁Author\": 9216,\n      \"▁Board\": 9217,\n      \"▁Capt\": 9218,\n      \"TEXT\": 9219,\n      \"▁recon\": 9220,\n      \"esta\": 9221,\n      \"▁properly\": 9222,\n      \"▁&\\\\\": 9223,\n      \"leton\": 9224,\n      \"iker\": 9225,\n      \"Gu\": 9226,\n      \"▁Kom\": 9227,\n      \"oco\": 9228,\n      \"▁anymore\": 9229,\n      \"▁taste\": 9230,\n      \"▁Santa\": 9231,\n      \"gex\": 9232,\n      \"▁Secret\": 9233,\n      \"▁talent\": 9234,\n      \"▁moments\": 9235,\n      \"▁Ba\": 9236,\n      \"▁extr\": 9237,\n      \"▁Commission\": 9238,\n      \"▁modify\": 9239,\n      \"▁Figure\": 9240,\n      \"▁domin\": 9241,\n      \"▁plot\": 9242,\n      \"enger\": 9243,\n      \"utch\": 9244,\n      \"▁cities\": 9245,\n      \"▁nut\": 9246,\n      \"profile\": 9247,\n      \"▁Stat\": 9248,\n      \"▁nodes\": 9249,\n      \"▁ns\": 9250,\n      \"essages\": 9251,\n      \"impl\": 9252,\n      \"icker\": 9253,\n      \"▁examples\": 9254,\n      \"abeth\": 9255,\n      \"▁stated\": 9256,\n      \"fire\": 9257,\n      \"bul\": 9258,\n      \"▁dangerous\": 9259,\n      \"▁Pay\": 9260,\n      \"▁Gre\": 9261,\n      \"▁Monday\": 9262,\n      \"esome\": 9263,\n      \"igan\": 9264,\n      \"rund\": 9265,\n      \"prise\": 9266,\n      \"fail\": 9267,\n      \"▁Never\": 9268,\n      \"Av\": 9269,\n      \"▁linear\": 9270,\n      \"▁ul\": 9271,\n      \"WAR\": 9272,\n      \"рен\": 9273,\n      \"▁AT\": 9274,\n      \"▁dop\": 9275,\n      \"▁nou\": 9276,\n      \"Dest\": 9277,\n      \"▁claims\": 9278,\n      \"enda\": 9279,\n      \"▁crazy\": 9280,\n      \"gel\": 9281,\n      \"oggle\": 9282,\n      \"▁representation\": 9283,\n      \"inen\": 9284,\n      \"▁alternative\": 9285,\n      \"DM\": 9286,\n      \"ABILITY\": 9287,\n      \"faces\": 9288,\n      \"▁doors\": 9289,\n      \"ativ\": 9290,\n      \"Look\": 9291,\n      \"▁JSON\": 9292,\n      \"▁appearance\": 9293,\n      \"бря\": 9294,\n      \"SQL\": 9295,\n      \"▁silence\": 9296,\n      \"udo\": 9297,\n      \"▁Director\": 9298,\n      \"Statement\": 9299,\n      \"selected\": 9300,\n      \"high\": 9301,\n      \"prime\": 9302,\n      \"▁ignore\": 9303,\n      \"▁colors\": 9304,\n      \"ushing\": 9305,\n      \"▁virt\": 9306,\n      \"manager\": 9307,\n      \"▁remote\": 9308,\n      \"ło\": 9309,\n      \"small\": 9310,\n      \"▁crime\": 9311,\n      \"rb\": 9312,\n      \"▁creation\": 9313,\n      \"▁flight\": 9314,\n      \"▁Sign\": 9315,\n      \"ILE\": 9316,\n      \"▁DO\": 9317,\n      \"comment\": 9318,\n      \"▁Cost\": 9319,\n      \".__\": 9320,\n      \"▁Cop\": 9321,\n      \"▁vom\": 9322,\n      \"▁Science\": 9323,\n      \"ления\": 9324,\n      \"oop\": 9325,\n      \"interface\": 9326,\n      \"▁WARRANTIES\": 9327,\n      \"▁Page\": 9328,\n      \"******\": 9329,\n      \"ском\": 9330,\n      \"TRUE\": 9331,\n      \"▁repeated\": 9332,\n      \"▁его\": 9333,\n      \"шо\": 9334,\n      \"▁roz\": 9335,\n      \"Pe\": 9336,\n      \"▁ISBN\": 9337,\n      \"irts\": 9338,\n      \"poses\": 9339,\n      \"})$\": 9340,\n      \"▁І\": 9341,\n      \"children\": 9342,\n      \"bles\": 9343,\n      \"ECT\": 9344,\n      \"▁iz\": 9345,\n      \"▁builder\": 9346,\n      \"▁Media\": 9347,\n      \"iat\": 9348,\n      \"▁contrast\": 9349,\n      \"”,\": 9350,\n      \"▁Link\": 9351,\n      \"▁Education\": 9352,\n      \"▁joint\": 9353,\n      \"▁external\": 9354,\n      \"▁роз\": 9355,\n      \"▁bits\": 9356,\n      \"FORM\": 9357,\n      \"erman\": 9358,\n      \"wp\": 9359,\n      \"▁Mike\": 9360,\n      \"▁Master\": 9361,\n      \"▁senior\": 9362,\n      \"▁Nav\": 9363,\n      \"▁recorded\": 9364,\n      \"eling\": 9365,\n      \"esh\": 9366,\n      \"fx\": 9367,\n      \"кан\": 9368,\n      \"▁tall\": 9369,\n      \"▁Johnson\": 9370,\n      \"▁sono\": 9371,\n      \"▁anche\": 9372,\n      \"icken\": 9373,\n      \"loop\": 9374,\n      \"iciency\": 9375,\n      \"emporary\": 9376,\n      \"▁Does\": 9377,\n      \"▁relation\": 9378,\n      \"мы\": 9379,\n      \"was\": 9380,\n      \"low\": 9381,\n      \"ichte\": 9382,\n      \"▁Jones\": 9383,\n      \"▁bedroom\": 9384,\n      \"DIS\": 9385,\n      \"▁magnet\": 9386,\n      \"▁Engine\": 9387,\n      \"▁feelings\": 9388,\n      \"GC\": 9389,\n      \"▁torn\": 9390,\n      \"▁relationships\": 9391,\n      \"▁Ре\": 9392,\n      \"▁proud\": 9393,\n      \"▁twe\": 9394,\n      \"oval\": 9395,\n      \"▁waste\": 9396,\n      \"▁reduced\": 9397,\n      \"ilton\": 9398,\n      \"BP\": 9399,\n      \"▁forgot\": 9400,\n      \"▁bodies\": 9401,\n      \"▁Haw\": 9402,\n      \"lag\": 9403,\n      \"▁www\": 9404,\n      \"door\": 9405,\n      \"▁sufficient\": 9406,\n      \"▁dollars\": 9407,\n      \"Len\": 9408,\n      \"▁talked\": 9409,\n      \"▁bond\": 9410,\n      \"▁Bor\": 9411,\n      \"}}{\": 9412,\n      \"rod\": 9413,\n      \"Password\": 9414,\n      \"quare\": 9415,\n      \"▁lights\": 9416,\n      \"eren\": 9417,\n      \"▁thirty\": 9418,\n      \"NC\": 9419,\n      \"▁TODO\": 9420,\n      \"▁respond\": 9421,\n      \"ких\": 9422,\n      \"direct\": 9423,\n      \"ação\": 9424,\n      \"▁heav\": 9425,\n      \"Media\": 9426,\n      \"exit\": 9427,\n      \"License\": 9428,\n      \"`.\": 9429,\n      \"▁mixed\": 9430,\n      \"▁desk\": 9431,\n      \"▁teaching\": 9432,\n      \"▁maj\": 9433,\n      \"▁nerv\": 9434,\n      \"inations\": 9435,\n      \"typeof\": 9436,\n      \"▁coast\": 9437,\n      \"▁же\": 9438,\n      \"▁beside\": 9439,\n      \"ummy\": 9440,\n      \"Doc\": 9441,\n      \"▁schedule\": 9442,\n      \"▁recover\": 9443,\n      \"▁Further\": 9444,\n      \"▁steel\": 9445,\n      \"boot\": 9446,\n      \"▁Perhaps\": 9447,\n      \"▁съ\": 9448,\n      \"▁Os\": 9449,\n      \"rick\": 9450,\n      \"▁Ви\": 9451,\n      \"Support\": 9452,\n      \"▁(_\": 9453,\n      \"nil\": 9454,\n      \"pis\": 9455,\n      \"xpected\": 9456,\n      \"▁processing\": 9457,\n      \"Build\": 9458,\n      \"arian\": 9459,\n      \"▁icon\": 9460,\n      \"▁CA\": 9461,\n      \"wick\": 9462,\n      \"=(\": 9463,\n      \"▁algorithm\": 9464,\n      \"▁Young\": 9465,\n      \"▁Management\": 9466,\n      \"▁ancient\": 9467,\n      \"ность\": 9468,\n      \"oti\": 9469,\n      \"▁combination\": 9470,\n      \"world\": 9471,\n      \"nn\": 9472,\n      \"▁dram\": 9473,\n      \"enabled\": 9474,\n      \"Ac\": 9475,\n      \"CCESS\": 9476,\n      \"aration\": 9477,\n      \"▁blocks\": 9478,\n      \"▁Angeles\": 9479,\n      \"▁Qual\": 9480,\n      \"▁succeed\": 9481,\n      \"network\": 9482,\n      \"▁oblig\": 9483,\n      \"springframework\": 9484,\n      \"▁Tre\": 9485,\n      \"okes\": 9486,\n      \"mun\": 9487,\n      \"▁Network\": 9488,\n      \"Del\": 9489,\n      \"▁estate\": 9490,\n      \"▁liqu\": 9491,\n      \"▁pob\": 9492,\n      \"▁dad\": 9493,\n      \"▁distinct\": 9494,\n      \"▁Tit\": 9495,\n      \"▁Lear\": 9496,\n      \"ferred\": 9497,\n      \"android\": 9498,\n      \"▁subsequ\": 9499,\n      \"▁Florida\": 9500,\n      \"subset\": 9501,\n      \"▁whisper\": 9502,\n      \"Vol\": 9503,\n      \"ulous\": 9504,\n      \"▁crew\": 9505,\n      \"▁lug\": 9506,\n      \"pid\": 9507,\n      \"ocity\": 9508,\n      \"skb\": 9509,\n      \"▁tea\": 9510,\n      \"ун\": 9511,\n      \"▁honor\": 9512,\n      \"▁Ins\": 9513,\n      \"▁gew\": 9514,\n      \"Details\": 9515,\n      \"eneath\": 9516,\n      \"atar\": 9517,\n      \"▁_{\": 9518,\n      \"amen\": 9519,\n      \"▁setup\": 9520,\n      \"Transaction\": 9521,\n      \"▁blank\": 9522,\n      \"Failed\": 9523,\n      \"job\": 9524,\n      \"▁pret\": 9525,\n      \"ße\": 9526,\n      \"loor\": 9527,\n      \"ří\": 9528,\n      \"ncia\": 9529,\n      \"▁anywhere\": 9530,\n      \"▁Light\": 9531,\n      \"▁Ak\": 9532,\n      \"BD\": 9533,\n      \"▁excited\": 9534,\n      \"agers\": 9535,\n      \"▁warning\": 9536,\n      \"▁processes\": 9537,\n      \"hu\": 9538,\n      \"▁youth\": 9539,\n      \"▁dogs\": 9540,\n      \"▁oct\": 9541,\n      \"▁nine\": 9542,\n      \"Writer\": 9543,\n      \"grid\": 9544,\n      \"▁importance\": 9545,\n      \"estic\": 9546,\n      \"▁carefully\": 9547,\n      \"master\": 9548,\n      \"▁decisions\": 9549,\n      \"▁pin\": 9550,\n      \"▁crack\": 9551,\n      \"TEST\": 9552,\n      \"▁Local\": 9553,\n      \"▁Right\": 9554,\n      \"▁vast\": 9555,\n      \"▁faster\": 9556,\n      \"▁institut\": 9557,\n      \"▁annual\": 9558,\n      \"LAN\": 9559,\n      \"▁episode\": 9560,\n      \"▁XV\": 9561,\n      \"▁delivery\": 9562,\n      \"tl\": 9563,\n      \"FP\": 9564,\n      \"circ\": 9565,\n      \"▁typically\": 9566,\n      \"igo\": 9567,\n      \"▁intel\": 9568,\n      \"nat\": 9569,\n      \"xb\": 9570,\n      \"стро\": 9571,\n      \")-\": 9572,\n      \"▁Bal\": 9573,\n      \"▁Jos\": 9574,\n      \"▁gonna\": 9575,\n      \"▁Rest\": 9576,\n      \"jor\": 9577,\n      \"onia\": 9578,\n      \"orship\": 9579,\n      \"overy\": 9580,\n      \"LINE\": 9581,\n      \"]:\": 9582,\n      \"Queue\": 9583,\n      \"▁compare\": 9584,\n      \"▁apartment\": 9585,\n      \"▁rul\": 9586,\n      \"Dr\": 9587,\n      \"gency\": 9588,\n      \"▁obviously\": 9589,\n      \"zie\": 9590,\n      \"ycl\": 9591,\n      \"fortunately\": 9592,\n      \"▁stepped\": 9593,\n      \"▁Seg\": 9594,\n      \"▁Which\": 9595,\n      \"▁PC\": 9596,\n      \"▁ast\": 9597,\n      \"endor\": 9598,\n      \"▁permission\": 9599,\n      \"COL\": 9600,\n      \"▁TEST\": 9601,\n      \"Pay\": 9602,\n      \"ères\": 9603,\n      \"▁studied\": 9604,\n      \"▁accompl\": 9605,\n      \"role\": 9606,\n      \"Where\": 9607,\n      \"protobuf\": 9608,\n      \"metadata\": 9609,\n      \"Job\": 9610,\n      \"▁Four\": 9611,\n      \"plements\": 9612,\n      \"disable\": 9613,\n      \"▁loud\": 9614,\n      \"▁happening\": 9615,\n      \"▁Using\": 9616,\n      \"rog\": 9617,\n      \"▁depends\": 9618,\n      \"ím\": 9619,\n      \"'\\\\\": 9620,\n      \"▁taught\": 9621,\n      \"shared\": 9622,\n      \"▁attributes\": 9623,\n      \"▁Action\": 9624,\n      \"▁dess\": 9625,\n      \"▁houses\": 9626,\n      \"▁reset\": 9627,\n      \"▁bien\": 9628,\n      \"▁explicit\": 9629,\n      \"LOW\": 9630,\n      \"->_\": 9631,\n      \"▁PM\": 9632,\n      \"Category\": 9633,\n      \"oice\": 9634,\n      \"into\": 9635,\n      \"▁mail\": 9636,\n      \"▁authority\": 9637,\n      \"▁unable\": 9638,\n      \"filename\": 9639,\n      \"ék\": 9640,\n      \"лей\": 9641,\n      \"▁sector\": 9642,\n      \"appoint\": 9643,\n      \"▁hang\": 9644,\n      \"▁cel\": 9645,\n      \"related\": 9646,\n      \"itate\": 9647,\n      \"▁'<\": 9648,\n      \"amber\": 9649,\n      \"▁cheap\": 9650,\n      \"▁enabled\": 9651,\n      \"▁division\": 9652,\n      \"Any\": 9653,\n      \"▁hier\": 9654,\n      \"▁Head\": 9655,\n      \"ntax\": 9656,\n      \"uda\": 9657,\n      \"▁limitations\": 9658,\n      \"▁studio\": 9659,\n      \"media\": 9660,\n      \"▁circle\": 9661,\n      \"нова\": 9662,\n      \"▁laug\": 9663,\n      \"acts\": 9664,\n      \"▁Во\": 9665,\n      \"ód\": 9666,\n      \"pled\": 9667,\n      \"LOC\": 9668,\n      \"Expr\": 9669,\n      \">:\": 9670,\n      \"▁prés\": 9671,\n      \"▁laughed\": 9672,\n      \"▁Three\": 9673,\n      \"лы\": 9674,\n      \"▁ends\": 9675,\n      \"▁fundament\": 9676,\n      \"▁inher\": 9677,\n      \"▁liv\": 9678,\n      \"bid\": 9679,\n      \"▁responsibility\": 9680,\n      \"▁checked\": 9681,\n      \"▁Pac\": 9682,\n      \"▁fault\": 9683,\n      \"▁yellow\": 9684,\n      \"▁salt\": 9685,\n      \"▁Francisco\": 9686,\n      \"▁^\": 9687,\n      \"▁ON\": 9688,\n      \"▁beauty\": 9689,\n      \"yg\": 9690,\n      \"▁Aff\": 9691,\n      \"▁Eq\": 9692,\n      \"▁magic\": 9693,\n      \"▁handler\": 9694,\n      \"xE\": 9695,\n      \"▁numerous\": 9696,\n      \"▁hole\": 9697,\n      \"▁rooms\": 9698,\n      \"cción\": 9699,\n      \"▁Arm\": 9700,\n      \"person\": 9701,\n      \"▁buildings\": 9702,\n      \"▁plate\": 9703,\n      \"bled\": 9704,\n      \"errors\": 9705,\n      \"▁Again\": 9706,\n      \"▁Default\": 9707,\n      \"▁Hard\": 9708,\n      \"tó\": 9709,\n      \"hus\": 9710,\n      \"▁dimension\": 9711,\n      \"iale\": 9712,\n      \"▁Mult\": 9713,\n      \"▁Government\": 9714,\n      \"Func\": 9715,\n      \"▁blow\": 9716,\n      \"▁rect\": 9717,\n      \"erra\": 9718,\n      \"connection\": 9719,\n      \"▁passing\": 9720,\n      \"ßen\": 9721,\n      \"phas\": 9722,\n      \"ensional\": 9723,\n      \"record\": 9724,\n      \"cohol\": 9725,\n      \"▁Harry\": 9726,\n      \"izontal\": 9727,\n      \"▁finger\": 9728,\n      \"▁younger\": 9729,\n      \"▁SC\": 9730,\n      \"operation\": 9731,\n      \"BY\": 9732,\n      \"heim\": 9733,\n      \"▁Bad\": 9734,\n      \"▁storm\": 9735,\n      \"▁Nat\": 9736,\n      \"▁buying\": 9737,\n      \"▁Sometimes\": 9738,\n      \"▁Ста\": 9739,\n      \"essed\": 9740,\n      \"▁damn\": 9741,\n      \"▁meg\": 9742,\n      \"umes\": 9743,\n      \"ünd\": 9744,\n      \"тра\": 9745,\n      \"▁silver\": 9746,\n      \"wd\": 9747,\n      \"hidden\": 9748,\n      \"ardo\": 9749,\n      \"▁communities\": 9750,\n      \"▁diet\": 9751,\n      \"otted\": 9752,\n      \"▁bat\": 9753,\n      \"ancer\": 9754,\n      \"▁fmt\": 9755,\n      \"▁Pen\": 9756,\n      \"▁til\": 9757,\n      \"Enum\": 9758,\n      \"PATH\": 9759,\n      \"▁matters\": 9760,\n      \"timeout\": 9761,\n      \"------------\": 9762,\n      \"kan\": 9763,\n      \"▁Corpor\": 9764,\n      \"=\\\"../../\": 9765,\n      \"▁Ale\": 9766,\n      \"hentication\": 9767,\n      \"▁complic\": 9768,\n      \"▁Security\": 9769,\n      \"OFF\": 9770,\n      \"Rad\": 9771,\n      \"apse\": 9772,\n      \"▁dance\": 9773,\n      \"▁permissions\": 9774,\n      \"▁warrant\": 9775,\n      \"▁lad\": 9776,\n      \"▁isol\": 9777,\n      \"dl\": 9778,\n      \"▁Au\": 9779,\n      \"yes\": 9780,\n      \"▁tv\": 9781,\n      \"▁provider\": 9782,\n      \"▁terrible\": 9783,\n      \"▁department\": 9784,\n      \"eral\": 9785,\n      \"▁implementation\": 9786,\n      \"SR\": 9787,\n      \"▁hearing\": 9788,\n      \"▁Kn\": 9789,\n      \"FR\": 9790,\n      \"tv\": 9791,\n      \"▁diss\": 9792,\n      \"FUN\": 9793,\n      \"▁durante\": 9794,\n      \"osis\": 9795,\n      \"▁tasks\": 9796,\n      \"▁Blo\": 9797,\n      \"вод\": 9798,\n      \"▁branch\": 9799,\n      \"▁politics\": 9800,\n      \"▁Elle\": 9801,\n      \"▁leadership\": 9802,\n      \"expr\": 9803,\n      \"▁techniques\": 9804,\n      \"prec\": 9805,\n      \"Sigma\": 9806,\n      \"imately\": 9807,\n      \"tk\": 9808,\n      \"achment\": 9809,\n      \"▁Enter\": 9810,\n      \"▁creative\": 9811,\n      \"▁зна\": 9812,\n      \"appy\": 9813,\n      \"unched\": 9814,\n      \"▁'',\": 9815,\n      \"onder\": 9816,\n      \"{-\": 9817,\n      \"NUM\": 9818,\n      \"▁narr\": 9819,\n      \"Memory\": 9820,\n      \"▁winning\": 9821,\n      \"▁Follow\": 9822,\n      \"*/\\r\": 9823,\n      \"vision\": 9824,\n      \"resents\": 9825,\n      \"zione\": 9826,\n      \"▁latter\": 9827,\n      \"▁requests\": 9828,\n      \"▁margin\": 9829,\n      \"▁{\\\"\": 9830,\n      \"video\": 9831,\n      \"cn\": 9832,\n      \"▁Image\": 9833,\n      \"Tim\": 9834,\n      \"CONFIG\": 9835,\n      \"▁allowing\": 9836,\n      \"▁combined\": 9837,\n      \"PUT\": 9838,\n      \"▁instanceof\": 9839,\n      \"igin\": 9840,\n      \"▁pero\": 9841,\n      \"▁''\": 9842,\n      \"▁confidence\": 9843,\n      \"▁equivalent\": 9844,\n      \"pad\": 9845,\n      \"effect\": 9846,\n      \"RX\": 9847,\n      \"▁lang\": 9848,\n      \"strong\": 9849,\n      \"▁bridge\": 9850,\n      \"aya\": 9851,\n      \"▁treated\": 9852,\n      \"▁forth\": 9853,\n      \"SW\": 9854,\n      \"▁accounts\": 9855,\n      \"▁PO\": 9856,\n      \"▁listening\": 9857,\n      \"Route\": 9858,\n      \"()))\": 9859,\n      \"cpy\": 9860,\n      \"▁reform\": 9861,\n      \"▁gate\": 9862,\n      \"▁Walk\": 9863,\n      \"▁somehow\": 9864,\n      \"tf\": 9865,\n      \"▁layout\": 9866,\n      \"umin\": 9867,\n      \"▁considering\": 9868,\n      \"▁premi\": 9869,\n      \"▁Mom\": 9870,\n      \"athan\": 9871,\n      \"Gen\": 9872,\n      \"▁planet\": 9873,\n      \"amples\": 9874,\n      \"▁MO\": 9875,\n      \"shop\": 9876,\n      \"▁premier\": 9877,\n      \"▁simpl\": 9878,\n      \"▁segu\": 9879,\n      \"LY\": 9880,\n      \"Sum\": 9881,\n      \"▁tables\": 9882,\n      \"ska\": 9883,\n      \"▁ž\": 9884,\n      \"pd\": 9885,\n      \"▁sous\": 9886,\n      \"▁conference\": 9887,\n      \"▁Dat\": 9888,\n      \"Scroll\": 9889,\n      \"▁standards\": 9890,\n      \"▁гру\": 9891,\n      \"esse\": 9892,\n      \"▁citizens\": 9893,\n      \"▁occurred\": 9894,\n      \"▁democr\": 9895,\n      \"▁elev\": 9896,\n      \"▁Sem\": 9897,\n      \"ensus\": 9898,\n      \"headers\": 9899,\n      \"▁Chris\": 9900,\n      \"imento\": 9901,\n      \"kom\": 9902,\n      \"Cor\": 9903,\n      \"MIN\": 9904,\n      \"usher\": 9905,\n      \"Database\": 9906,\n      \"▁formal\": 9907,\n      \"igne\": 9908,\n      \"▁organizations\": 9909,\n      \"▁Ire\": 9910,\n      \"Xml\": 9911,\n      \"из\": 9912,\n      \"▁pray\": 9913,\n      \"▁bomb\": 9914,\n      \"▁mand\": 9915,\n      \"erts\": 9916,\n      \"▁clock\": 9917,\n      \"▁buck\": 9918,\n      \"вали\": 9919,\n      \"ensch\": 9920,\n      \"▁volt\": 9921,\n      \"▁films\": 9922,\n      \"▁plants\": 9923,\n      \"inode\": 9924,\n      \"Boolean\": 9925,\n      \"▁restaurant\": 9926,\n      \"ían\": 9927,\n      \"▁debut\": 9928,\n      \"pages\": 9929,\n      \"▁wordt\": 9930,\n      \"▁Ба\": 9931,\n      \"▁greatest\": 9932,\n      \"(\\\"/\": 9933,\n      \"▁copyright\": 9934,\n      \"▁rit\": 9935,\n      \"sizeof\": 9936,\n      \"Trace\": 9937,\n      \"uent\": 9938,\n      \"тур\": 9939,\n      \"▁ko\": 9940,\n      \":\\\\\": 9941,\n      \"▁bigger\": 9942,\n      \"▁perfectly\": 9943,\n      \"tenance\": 9944,\n      \"MASK\": 9945,\n      \"ré\": 9946,\n      \"▁ett\": 9947,\n      \"▁nose\": 9948,\n      \"▁craft\": 9949,\n      \"iteral\": 9950,\n      \"▁discussed\": 9951,\n      \"▁Jewish\": 9952,\n      \"Cap\": 9953,\n      \"▁Unless\": 9954,\n      \"▁Jackson\": 9955,\n      \"Attributes\": 9956,\n      \"▁lunch\": 9957,\n      \"öl\": 9958,\n      \"atr\": 9959,\n      \"▁paying\": 9960,\n      \"Parse\": 9961,\n      \"()\\r\": 9962,\n      \"lad\": 9963,\n      \"▁rare\": 9964,\n      \"▁[];\": 9965,\n      \"stone\": 9966,\n      \"▁unc\": 9967,\n      \"▁defense\": 9968,\n      \"}+\": 9969,\n      \"▁Global\": 9970,\n      \"▁Soviet\": 9971,\n      \"▁Australian\": 9972,\n      \"▁gli\": 9973,\n      \"variant\": 9974,\n      \"▁Ron\": 9975,\n      \"▁loan\": 9976,\n      \"Step\": 9977,\n      \"member\": 9978,\n      \"Sch\": 9979,\n      \"▁Committee\": 9980,\n      \"▁spending\": 9981,\n      \"▁Tri\": 9982,\n      \"▁Journal\": 9983,\n      \"▁sugar\": 9984,\n      \"elly\": 9985,\n      \"HTML\": 9986,\n      \"▁advent\": 9987,\n      \"wing\": 9988,\n      \"▁Whether\": 9989,\n      \"oration\": 9990,\n      \"▁NE\": 9991,\n      \"iveness\": 9992,\n      \"▁hav\": 9993,\n      \"▁conscious\": 9994,\n      \"een\": 9995,\n      \"Symbol\": 9996,\n      \"▁ку\": 9997,\n      \"Logger\": 9998,\n      \"▁Little\": 9999,\n      \"widet\": 10000,\n      \"ocation\": 10001,\n      \"pin\": 10002,\n      \"▁symmet\": 10003,\n      \"▁AD\": 10004,\n      \"▁posts\": 10005,\n      \"shal\": 10006,\n      \"▁Conf\": 10007,\n      \"▁chose\": 10008,\n      \"mal\": 10009,\n      \"ulo\": 10010,\n      \"▁Method\": 10011,\n      \"▁missed\": 10012,\n      \"Remove\": 10013,\n      \"Auto\": 10014,\n      \"VALUE\": 10015,\n      \"thlet\": 10016,\n      \"▁Force\": 10017,\n      \"pf\": 10018,\n      \"▁Я\": 10019,\n      \"late\": 10020,\n      \"▁pul\": 10021,\n      \"Pop\": 10022,\n      \"▁advanced\": 10023,\n      \"aires\": 10024,\n      \"ressed\": 10025,\n      \"AME\": 10026,\n      \"bell\": 10027,\n      \"aching\": 10028,\n      \"ić\": 10029,\n      \"echo\": 10030,\n      \"HS\": 10031,\n      \"▁funny\": 10032,\n      \"рии\": 10033,\n      \"▁eer\": 10034,\n      \"▁veget\": 10035,\n      \"▁fourth\": 10036,\n      \"cf\": 10037,\n      \"transform\": 10038,\n      \"▁grown\": 10039,\n      \"▁McC\": 10040,\n      \"site\": 10041,\n      \"▁beneath\": 10042,\n      \"▁shell\": 10043,\n      \"xd\": 10044,\n      \"Play\": 10045,\n      \"short\": 10046,\n      \"Role\": 10047,\n      \"▁religion\": 10048,\n      \"inator\": 10049,\n      \"}</\": 10050,\n      \"▁Eliz\": 10051,\n      \"Microsoft\": 10052,\n      \"▁vez\": 10053,\n      \"▁рабо\": 10054,\n      \"reich\": 10055,\n      \"vet\": 10056,\n      \"enum\": 10057,\n      \"▁welcome\": 10058,\n      \"nament\": 10059,\n      \"▁jan\": 10060,\n      \"▁cycle\": 10061,\n      \"▁acknow\": 10062,\n      \"▁wound\": 10063,\n      \"idi\": 10064,\n      \"▁possibility\": 10065,\n      \"annotation\": 10066,\n      \"▁technical\": 10067,\n      \"▁fold\": 10068,\n      \"eh\": 10069,\n      \"istence\": 10070,\n      \"▁reply\": 10071,\n      \"etes\": 10072,\n      \"▁decades\": 10073,\n      \"wan\": 10074,\n      \"▁кра\": 10075,\n      \"▁Lab\": 10076,\n      \"▁unf\": 10077,\n      \"▁imper\": 10078,\n      \"▁bug\": 10079,\n      \"▁Though\": 10080,\n      \"throws\": 10081,\n      \"Visible\": 10082,\n      \"prev\": 10083,\n      \"▁Ty\": 10084,\n      \"▁depending\": 10085,\n      \"▁policies\": 10086,\n      \"andy\": 10087,\n      \"▁Italian\": 10088,\n      \"uma\": 10089,\n      \"▁signs\": 10090,\n      \"▁Through\": 10091,\n      \"бы\": 10092,\n      \"bot\": 10093,\n      \"▁publish\": 10094,\n      \")**\": 10095,\n      \"ATTR\": 10096,\n      \"iral\": 10097,\n      \"VT\": 10098,\n      \"▁recognized\": 10099,\n      \"▁Lind\": 10100,\n      \"ection\": 10101,\n      \"▁relatively\": 10102,\n      \"▁Ah\": 10103,\n      \"▁Dig\": 10104,\n      \"ць\": 10105,\n      \"icket\": 10106,\n      \"▁specifically\": 10107,\n      \"nost\": 10108,\n      \"▁grass\": 10109,\n      \"▁causes\": 10110,\n      \"тво\": 10111,\n      \"utter\": 10112,\n      \"▁Festival\": 10113,\n      \"greg\": 10114,\n      \"▁weapons\": 10115,\n      \"▁sir\": 10116,\n      \"▁Virginia\": 10117,\n      \"login\": 10118,\n      \"▁schedul\": 10119,\n      \"ського\": 10120,\n      \"▁losing\": 10121,\n      \"▁Europ\": 10122,\n      \"\\\"><\": 10123,\n      \"asp\": 10124,\n      \"ajo\": 10125,\n      \"exports\": 10126,\n      \"▁Node\": 10127,\n      \"▁jako\": 10128,\n      \"▁ya\": 10129,\n      \"▁successfully\": 10130,\n      \"▁friendly\": 10131,\n      \"buff\": 10132,\n      \"DEFAULT\": 10133,\n      \"▁pregn\": 10134,\n      \"Required\": 10135,\n      \"▁binary\": 10136,\n      \"isting\": 10137,\n      \"▁stared\": 10138,\n      \"▁circumstances\": 10139,\n      \"▁хо\": 10140,\n      \"rei\": 10141,\n      \"▁Го\": 10142,\n      \"Transform\": 10143,\n      \"cnt\": 10144,\n      \"▁Ext\": 10145,\n      \"report\": 10146,\n      \"VERSION\": 10147,\n      \"▁analy\": 10148,\n      \"▁Marg\": 10149,\n      \"▁alleg\": 10150,\n      \"builder\": 10151,\n      \"ToString\": 10152,\n      \"Layer\": 10153,\n      \"íst\": 10154,\n      \"Prop\": 10155,\n      \"▁Emp\": 10156,\n      \"}]\": 10157,\n      \"▁selling\": 10158,\n      \"▁queue\": 10159,\n      \"▁seriously\": 10160,\n      \"▁Lead\": 10161,\n      \"textit\": 10162,\n      \"testing\": 10163,\n      \"▁Пре\": 10164,\n      \"security\": 10165,\n      \"iał\": 10166,\n      \"ún\": 10167,\n      \"chip\": 10168,\n      \"▁candidate\": 10169,\n      \"▁minister\": 10170,\n      \"eria\": 10171,\n      \"▁Het\": 10172,\n      \"дин\": 10173,\n      \"▁Britain\": 10174,\n      \"▁barely\": 10175,\n      \"▁sty\": 10176,\n      \"▁Spanish\": 10177,\n      \"▁Ven\": 10178,\n      \"timer\": 10179,\n      \"ків\": 10180,\n      \"▁documents\": 10181,\n      \"('.\": 10182,\n      \"▁debug\": 10183,\n      \"▁contro\": 10184,\n      \"стоя\": 10185,\n      \"▁joy\": 10186,\n      \"Sn\": 10187,\n      \"Inv\": 10188,\n      \"▁protocol\": 10189,\n      \"▁faces\": 10190,\n      \"▁Despite\": 10191,\n      \"sed\": 10192,\n      \"Conf\": 10193,\n      \"ARG\": 10194,\n      \"▁evolution\": 10195,\n      \"▁tod\": 10196,\n      \"▁Promise\": 10197,\n      \"▁posted\": 10198,\n      \"Perm\": 10199,\n      \"bet\": 10200,\n      \"Ang\": 10201,\n      \"Just\": 10202,\n      \"▁rum\": 10203,\n      \"layer\": 10204,\n      \"▁behavi\": 10205,\n      \"ipping\": 10206,\n      \"▁dynam\": 10207,\n      \"▁scheme\": 10208,\n      \"▁proto\": 10209,\n      \")/\": 10210,\n      \"Collections\": 10211,\n      \"riev\": 10212,\n      \"▁Click\": 10213,\n      \"▁uns\": 10214,\n      \"widetilde\": 10215,\n      \"▁remembered\": 10216,\n      \"гі\": 10217,\n      \"inates\": 10218,\n      \"▁incorpor\": 10219,\n      \"▁Description\": 10220,\n      \"▁prepare\": 10221,\n      \"▁Final\": 10222,\n      \"uation\": 10223,\n      \"▁Queen\": 10224,\n      \">;\": 10225,\n      \"▁automatically\": 10226,\n      \"▁sharp\": 10227,\n      \"▁meat\": 10228,\n      \"ateur\": 10229,\n      \"astern\": 10230,\n      \"▁stuck\": 10231,\n      \"ASSERT\": 10232,\n      \"▁planned\": 10233,\n      \"dots\": 10234,\n      \"ookie\": 10235,\n      \"▁Histor\": 10236,\n      \"▁reviews\": 10237,\n      \"IMP\": 10238,\n      \"▁answered\": 10239,\n      \"Total\": 10240,\n      \"▁sau\": 10241,\n      \"▁Mexico\": 10242,\n      \"continue\": 10243,\n      \"▁Apple\": 10244,\n      \"likely\": 10245,\n      \"зва\": 10246,\n      \"users\": 10247,\n      \"▁identified\": 10248,\n      \"▁Lev\": 10249,\n      \"▁mol\": 10250,\n      \"▁Islam\": 10251,\n      \"▁committed\": 10252,\n      \"writ\": 10253,\n      \"бер\": 10254,\n      \"rift\": 10255,\n      \"▁interrupt\": 10256,\n      \"▁readonly\": 10257,\n      \"schema\": 10258,\n      \"Sm\": 10259,\n      \"Double\": 10260,\n      \"aza\": 10261,\n      \"▁Hal\": 10262,\n      \"Move\": 10263,\n      \"▁Series\": 10264,\n      \"inline\": 10265,\n      \"▁которы\": 10266,\n      \"soc\": 10267,\n      \"▁tent\": 10268,\n      \"▁amer\": 10269,\n      \"aki\": 10270,\n      \"▁lady\": 10271,\n      \"▁tired\": 10272,\n      \"ifi\": 10273,\n      \"▁même\": 10274,\n      \"ouver\": 10275,\n      \"▁aside\": 10276,\n      \"Did\": 10277,\n      \"',\\r\": 10278,\n      \"▁bringing\": 10279,\n      \"Drawing\": 10280,\n      \"aro\": 10281,\n      \"▁Rh\": 10282,\n      \"▁Naz\": 10283,\n      \"esso\": 10284,\n      \"▁reaction\": 10285,\n      \"mitted\": 10286,\n      \"▁absolute\": 10287,\n      \"haust\": 10288,\n      \"(()\": 10289,\n      \"▁Task\": 10290,\n      \"ERS\": 10291,\n      \"▁^{\": 10292,\n      \"VD\": 10293,\n      \"▁tone\": 10294,\n      \"dist\": 10295,\n      \"vs\": 10296,\n      \"▁wheel\": 10297,\n      \"▁administration\": 10298,\n      \"▁interests\": 10299,\n      \"▁pointer\": 10300,\n      \"▁encounter\": 10301,\n      \"aver\": 10302,\n      \"▁nord\": 10303,\n      \"ket\": 10304,\n      \"▁beach\": 10305,\n      \"▁enjoyed\": 10306,\n      \"contains\": 10307,\n      \"▁append\": 10308,\n      \"Wait\": 10309,\n      \"▁squad\": 10310,\n      \"zel\": 10311,\n      \"▁medium\": 10312,\n      \"▁sending\": 10313,\n      \"▁Lady\": 10314,\n      \"ções\": 10315,\n      \"▁destination\": 10316,\n      \"nych\": 10317,\n      \"▁conflict\": 10318,\n      \"▁Ly\": 10319,\n      \"▁vul\": 10320,\n      \"▁basically\": 10321,\n      \"reated\": 10322,\n      \"black\": 10323,\n      \"ugins\": 10324,\n      \"▁calm\": 10325,\n      \"érie\": 10326,\n      \"har\": 10327,\n      \"лан\": 10328,\n      \"▁Се\": 10329,\n      \"watch\": 10330,\n      \"▁Put\": 10331,\n      \"▁dump\": 10332,\n      \"acher\": 10333,\n      \"scroll\": 10334,\n      \"▁claimed\": 10335,\n      \"▁Control\": 10336,\n      \"▁blind\": 10337,\n      \"enti\": 10338,\n      \"▁Keep\": 10339,\n      \"▁Development\": 10340,\n      \"images\": 10341,\n      \"▁tough\": 10342,\n      \"gebra\": 10343,\n      \"▁sept\": 10344,\n      \"hew\": 10345,\n      \"▁skill\": 10346,\n      \"▁Tay\": 10347,\n      \"▁któ\": 10348,\n      \"owner\": 10349,\n      \"pare\": 10350,\n      \"▁fee\": 10351,\n      \"▁continues\": 10352,\n      \"▁kan\": 10353,\n      \"bes\": 10354,\n      \"▁cha\": 10355,\n      \"ovo\": 10356,\n      \"▁Night\": 10357,\n      \"icture\": 10358,\n      \"shire\": 10359,\n      \"▁essay\": 10360,\n      \"▁suppose\": 10361,\n      \"etic\": 10362,\n      \"Art\": 10363,\n      \"acon\": 10364,\n      \"lla\": 10365,\n      \"words\": 10366,\n      \"▁comparison\": 10367,\n      \"▁BE\": 10368,\n      \"▁challenges\": 10369,\n      \"▁ol\": 10370,\n      \"citep\": 10371,\n      \"▁Foot\": 10372,\n      \"▁Such\": 10373,\n      \"▁papers\": 10374,\n      \"activ\": 10375,\n      \"quer\": 10376,\n      \"тя\": 10377,\n      \"▁То\": 10378,\n      \"ський\": 10379,\n      \"thur\": 10380,\n      \"done\": 10381,\n      \"▁shock\": 10382,\n      \"▁dedicated\": 10383,\n      \"▁correspond\": 10384,\n      \"Second\": 10385,\n      \"▁bull\": 10386,\n      \"life\": 10387,\n      \"indent\": 10388,\n      \"▁figures\": 10389,\n      \"▁Andrew\": 10390,\n      \"isp\": 10391,\n      \"▁favour\": 10392,\n      \"зда\": 10393,\n      \"▁Elect\": 10394,\n      \"Full\": 10395,\n      \"▁nearby\": 10396,\n      \"▁Register\": 10397,\n      \"Scale\": 10398,\n      \"ications\": 10399,\n      \"ин\": 10400,\n      \"▁AM\": 10401,\n      \"pair\": 10402,\n      \"▁perspective\": 10403,\n      \"▁nos\": 10404,\n      \"apa\": 10405,\n      \"ostał\": 10406,\n      \"▁Pers\": 10407,\n      \"icer\": 10408,\n      \"▁plastic\": 10409,\n      \"дов\": 10410,\n      \"ciples\": 10411,\n      \"zą\": 10412,\n      \"clos\": 10413,\n      \"▁уча\": 10414,\n      \"▁Á\": 10415,\n      \"plugin\": 10416,\n      \"▁angle\": 10417,\n      \"▁commission\": 10418,\n      \"▁funds\": 10419,\n      \"▁indu\": 10420,\n      \"▁drawn\": 10421,\n      \"ám\": 10422,\n      \"▁developing\": 10423,\n      \"▁segment\": 10424,\n      \"isme\": 10425,\n      \"scr\": 10426,\n      \"▁lies\": 10427,\n      \"▁IL\": 10428,\n      \"▁api\": 10429,\n      \"Extension\": 10430,\n      \"▁scal\": 10431,\n      \"install\": 10432,\n      \"▁Week\": 10433,\n      \"▁gentle\": 10434,\n      \"▁Canadian\": 10435,\n      \"▁dialog\": 10436,\n      \"▁articles\": 10437,\n      \"Theme\": 10438,\n      \"SM\": 10439,\n      \"▁Bul\": 10440,\n      \"▁leur\": 10441,\n      \"▁stom\": 10442,\n      \"Plugin\": 10443,\n      \"▁после\": 10444,\n      \"▁stead\": 10445,\n      \"▁ś\": 10446,\n      \"ipher\": 10447,\n      \"▁prze\": 10448,\n      \"▁draft\": 10449,\n      \"bottom\": 10450,\n      \"▁{};\": 10451,\n      \"▁stayed\": 10452,\n      \"feature\": 10453,\n      \"▁vot\": 10454,\n      \"▁fabric\": 10455,\n      \"ça\": 10456,\n      \"('#\": 10457,\n      \"rea\": 10458,\n      \"▁reput\": 10459,\n      \"▁Cir\": 10460,\n      \"▁AL\": 10461,\n      \"▁assertEquals\": 10462,\n      \"results\": 10463,\n      \"▁Cross\": 10464,\n      \"ursday\": 10465,\n      \"▁audio\": 10466,\n      \"▁gap\": 10467,\n      \"▁streets\": 10468,\n      \"▁scientific\": 10469,\n      \"platform\": 10470,\n      \"▁auss\": 10471,\n      \"▁Cro\": 10472,\n      \"▁partial\": 10473,\n      \"unc\": 10474,\n      \"▁choices\": 10475,\n      \"▁или\": 10476,\n      \"pred\": 10477,\n      \"▁heads\": 10478,\n      \"terday\": 10479,\n      \"▁Nick\": 10480,\n      \"▁weird\": 10481,\n      \"asant\": 10482,\n      \"▁represented\": 10483,\n      \"▁пи\": 10484,\n      \"DP\": 10485,\n      \"orders\": 10486,\n      \"clock\": 10487,\n      \"▁Ho\": 10488,\n      \"arters\": 10489,\n      \"Cmd\": 10490,\n      \"oga\": 10491,\n      \"Keys\": 10492,\n      \"Report\": 10493,\n      \"▁Vill\": 10494,\n      \"▁Mu\": 10495,\n      \"▁owned\": 10496,\n      \"SUCCESS\": 10497,\n      \"▁typeof\": 10498,\n      \"hdr\": 10499,\n      \"uable\": 10500,\n      \"▁neighborhood\": 10501,\n      \"▁AP\": 10502,\n      \"▁resulting\": 10503,\n      \"▁shadow\": 10504,\n      \"STRING\": 10505,\n      \"▁videos\": 10506,\n      \"лення\": 10507,\n      \"expect\": 10508,\n      \"▁Valley\": 10509,\n      \"▁goto\": 10510,\n      \"▁Sher\": 10511,\n      \"frastr\": 10512,\n      \"▁operating\": 10513,\n      \"▁это\": 10514,\n      \"▁Licensed\": 10515,\n      \"Variable\": 10516,\n      \"▁PR\": 10517,\n      \"▁Hans\": 10518,\n      \"clone\": 10519,\n      \"▁Gesch\": 10520,\n      \"▁Band\": 10521,\n      \"........\": 10522,\n      \"uing\": 10523,\n      \"▁hundreds\": 10524,\n      \"▁ок\": 10525,\n      \"▁emotional\": 10526,\n      \"▁Indust\": 10527,\n      \")+\": 10528,\n      \"▁Egypt\": 10529,\n      \"▁franç\": 10530,\n      \"▁š\": 10531,\n      \"▁fasc\": 10532,\n      \"onto\": 10533,\n      \"▁Adam\": 10534,\n      \"▁laid\": 10535,\n      \"▁rig\": 10536,\n      \"▁detailed\": 10537,\n      \"▁implements\": 10538,\n      \"▁university\": 10539,\n      \"▁Hy\": 10540,\n      \"▁grid\": 10541,\n      \"▁regions\": 10542,\n      \"Stop\": 10543,\n      \"▁slot\": 10544,\n      \"▁angry\": 10545,\n      \"▁-=\": 10546,\n      \"▁waited\": 10547,\n      \"Vert\": 10548,\n      \"\\\":\\\"\": 10549,\n      \"▁elem\": 10550,\n      \"▁rég\": 10551,\n      \"owed\": 10552,\n      \"Member\": 10553,\n      \"▁ratio\": 10554,\n      \"isen\": 10555,\n      \"▁Lem\": 10556,\n      \"gery\": 10557,\n      \"▁cream\": 10558,\n      \"▁était\": 10559,\n      \"▁geb\": 10560,\n      \"unique\": 10561,\n      \"▁Deb\": 10562,\n      \"▁factory\": 10563,\n      \"że\": 10564,\n      \"dialog\": 10565,\n      \"▁Config\": 10566,\n      \"Sync\": 10567,\n      \"angers\": 10568,\n      \"▁governing\": 10569,\n      \"▁Hun\": 10570,\n      \"Space\": 10571,\n      \"▁jest\": 10572,\n      \"icious\": 10573,\n      \"▁emphas\": 10574,\n      \"umps\": 10575,\n      \"▁Esp\": 10576,\n      \"▁sul\": 10577,\n      \"▁historical\": 10578,\n      \"ija\": 10579,\n      \"▁lying\": 10580,\n      \"▁Steve\": 10581,\n      \"▁measures\": 10582,\n      \"osto\": 10583,\n      \"?”\": 10584,\n      \"▁pocket\": 10585,\n      \"▁Sat\": 10586,\n      \"▁pitch\": 10587,\n      \"▁natur\": 10588,\n      \"▁humans\": 10589,\n      \"▁Simon\": 10590,\n      \"adores\": 10591,\n      \"(\\\"\\\\\": 10592,\n      \"inking\": 10593,\n      \"▁expos\": 10594,\n      \"material\": 10595,\n      \"▁apparently\": 10596,\n      \"▁Camb\": 10597,\n      \"▁Box\": 10598,\n      \"▁spaces\": 10599,\n      \"exists\": 10600,\n      \"▁acting\": 10601,\n      \"ORY\": 10602,\n      \"зова\": 10603,\n      \"Good\": 10604,\n      \"ienne\": 10605,\n      \"▁Williams\": 10606,\n      \"▁fruit\": 10607,\n      \"iera\": 10608,\n      \"▁Lim\": 10609,\n      \"▁trait\": 10610,\n      \"▁artists\": 10611,\n      \"▁absor\": 10612,\n      \"rait\": 10613,\n      \"LOAD\": 10614,\n      \"▁movies\": 10615,\n      \"▁dynamic\": 10616,\n      \"asts\": 10617,\n      \"▁Integer\": 10618,\n      \"▁smoke\": 10619,\n      \"пі\": 10620,\n      \"angel\": 10621,\n      \">(\\\"\": 10622,\n      \"▁instrument\": 10623,\n      \"▁fuel\": 10624,\n      \"ної\": 10625,\n      \"atalogue\": 10626,\n      \"▁serial\": 10627,\n      \"Files\": 10628,\n      \"▁bathroom\": 10629,\n      \"ilo\": 10630,\n      \"esto\": 10631,\n      \"▁pm\": 10632,\n      \"entials\": 10633,\n      \"▁Online\": 10634,\n      \"white\": 10635,\n      \"▁tips\": 10636,\n      \"▁capable\": 10637,\n      \"Fig\": 10638,\n      \"TV\": 10639,\n      \"▁он\": 10640,\n      \"ké\": 10641,\n      \"bitr\": 10642,\n      \"Mapping\": 10643,\n      \"▁tak\": 10644,\n      \"ющи\": 10645,\n      \"вля\": 10646,\n      \")\\\",\": 10647,\n      \"▁Karl\": 10648,\n      \"▁Human\": 10649,\n      \"▁Pot\": 10650,\n      \"▁represents\": 10651,\n      \"▁consistent\": 10652,\n      \"_(\": 10653,\n      \"wen\": 10654,\n      \"▁Rose\": 10655,\n      \"law\": 10656,\n      \"▁FROM\": 10657,\n      \"▁begins\": 10658,\n      \"▁edit\": 10659,\n      \"▁mountain\": 10660,\n      \"▁chapter\": 10661,\n      \"▁wondered\": 10662,\n      \"▁industrial\": 10663,\n      \"▁Major\": 10664,\n      \"▁ges\": 10665,\n      \"▁directed\": 10666,\n      \"eros\": 10667,\n      \"▁Wild\": 10668,\n      \"liament\": 10669,\n      \"Book\": 10670,\n      \"username\": 10671,\n      \"hot\": 10672,\n      \"▁nam\": 10673,\n      \"▁league\": 10674,\n      \"bra\": 10675,\n      \"кон\": 10676,\n      \"▁Tal\": 10677,\n      \"▁Ва\": 10678,\n      \"▁exports\": 10679,\n      \"(@\": 10680,\n      \"▁sharing\": 10681,\n      \"▁Tro\": 10682,\n      \"ść\": 10683,\n      \"uesday\": 10684,\n      \"ylv\": 10685,\n      \"▁guitar\": 10686,\n      \"elen\": 10687,\n      \"Selection\": 10688,\n      \"▁confident\": 10689,\n      \"rypto\": 10690,\n      \"▁hors\": 10691,\n      \"editor\": 10692,\n      \"▁shoulders\": 10693,\n      \"getName\": 10694,\n      \"encing\": 10695,\n      \"SELECT\": 10696,\n      \"вши\": 10697,\n      \"▁kinds\": 10698,\n      \"▁Wel\": 10699,\n      \"▁purposes\": 10700,\n      \"Matrix\": 10701,\n      \"invalid\": 10702,\n      \"▁owners\": 10703,\n      \"▁Records\": 10704,\n      \"▁Process\": 10705,\n      \"▁chat\": 10706,\n      \"▁Dor\": 10707,\n      \"▁bin\": 10708,\n      \"redit\": 10709,\n      \"oire\": 10710,\n      \"▁Total\": 10711,\n      \"▁Family\": 10712,\n      \"ARY\": 10713,\n      \"▁bread\": 10714,\n      \"▁compre\": 10715,\n      \"▁shoes\": 10716,\n      \"▁raz\": 10717,\n      \"▁trace\": 10718,\n      \"nej\": 10719,\n      \"orted\": 10720,\n      \"hn\": 10721,\n      \"▁procedure\": 10722,\n      \"properties\": 10723,\n      \"plier\": 10724,\n      \"▁hero\": 10725,\n      \"panel\": 10726,\n      \"▁marked\": 10727,\n      \"▁worried\": 10728,\n      \"\\\\|\": 10729,\n      \"pts\": 10730,\n      \"▁Support\": 10731,\n      \"▁serving\": 10732,\n      \"Fail\": 10733,\n      \"▁disappoint\": 10734,\n      \"▁Scot\": 10735,\n      \"▁pleasure\": 10736,\n      \"▁judge\": 10737,\n      \"zeich\": 10738,\n      \"▁forever\": 10739,\n      \"▁Zeit\": 10740,\n      \"uous\": 10741,\n      \"inent\": 10742,\n      \"▁dw\": 10743,\n      \"▁waren\": 10744,\n      \"▁flash\": 10745,\n      \"▁troops\": 10746,\n      \"▁drugs\": 10747,\n      \"▁diam\": 10748,\n      \".~\": 10749,\n      \"imp\": 10750,\n      \"inned\": 10751,\n      \"▁EV\": 10752,\n      \"Struct\": 10753,\n      \"▁justice\": 10754,\n      \"▁officials\": 10755,\n      \"ffff\": 10756,\n      \"▁Common\": 10757,\n      \"▁Cat\": 10758,\n      \"▁tomorrow\": 10759,\n      \"▁él\": 10760,\n      \"Texture\": 10761,\n      \"qpoint\": 10762,\n      \"▁Fried\": 10763,\n      \"▁Term\": 10764,\n      \"pgfqpoint\": 10765,\n      \"▁nem\": 10766,\n      \"norm\": 10767,\n      \"▁hardly\": 10768,\n      \"oda\": 10769,\n      \"zeta\": 10770,\n      \"emic\": 10771,\n      \"▁полу\": 10772,\n      \"▁loaded\": 10773,\n      \"kes\": 10774,\n      \"ció\": 10775,\n      \"▁fool\": 10776,\n      \"▁trick\": 10777,\n      \"▁dst\": 10778,\n      \"Find\": 10779,\n      \"▁все\": 10780,\n      \"}},\": 10781,\n      \"▁framework\": 10782,\n      \"▁merely\": 10783,\n      \"▁union\": 10784,\n      \"▁Edward\": 10785,\n      \"rif\": 10786,\n      \"Flag\": 10787,\n      \"▁crisis\": 10788,\n      \"▁finite\": 10789,\n      \"▁lol\": 10790,\n      \"▁Kim\": 10791,\n      \"ната\": 10792,\n      \"since\": 10793,\n      \"▁compat\": 10794,\n      \"▁pert\": 10795,\n      \"ibilities\": 10796,\n      \"▁también\": 10797,\n      \"ibli\": 10798,\n      \"▁teen\": 10799,\n      \"▁sympt\": 10800,\n      \"oral\": 10801,\n      \"ders\": 10802,\n      \"otte\": 10803,\n      \"при\": 10804,\n      \"▁Jane\": 10805,\n      \"▁originally\": 10806,\n      \"▁throat\": 10807,\n      \"mag\": 10808,\n      \"sup\": 10809,\n      \"uni\": 10810,\n      \"$$\": 10811,\n      \"▁Library\": 10812,\n      \"▁attacks\": 10813,\n      \"ingen\": 10814,\n      \"('/\": 10815,\n      \"▁hes\": 10816,\n      \"coin\": 10817,\n      \"ounce\": 10818,\n      \"▁Academy\": 10819,\n      \"MODULE\": 10820,\n      \"isms\": 10821,\n      \"▁Adv\": 10822,\n      \"▁Bol\": 10823,\n      \"▁incident\": 10824,\n      \")^{\": 10825,\n      \"▁bij\": 10826,\n      \"▁Rome\": 10827,\n      \"▁Italy\": 10828,\n      \"events\": 10829,\n      \"▁Fern\": 10830,\n      \"▁ber\": 10831,\n      \"▁silent\": 10832,\n      \"▁pier\": 10833,\n      \"▁YO\": 10834,\n      \"▁plain\": 10835,\n      \"Bas\": 10836,\n      \"▁pill\": 10837,\n      \"rase\": 10838,\n      \"▁carrying\": 10839,\n      \"▁resp\": 10840,\n      \"ную\": 10841,\n      \"▁typical\": 10842,\n      \"Wrapper\": 10843,\n      \"▁gau\": 10844,\n      \"▁chemical\": 10845,\n      \"▁hal\": 10846,\n      \"throw\": 10847,\n      \"Cluster\": 10848,\n      \"▁Gab\": 10849,\n      \"▁Girl\": 10850,\n      \"quir\": 10851,\n      \"▁Arg\": 10852,\n      \"▁relief\": 10853,\n      \"▁Ве\": 10854,\n      \"dm\": 10855,\n      \"▁frustr\": 10856,\n      \"\\\\%\": 10857,\n      \"▁stores\": 10858,\n      \"▁bottle\": 10859,\n      \"▁Lew\": 10860,\n      \"two\": 10861,\n      \"stad\": 10862,\n      \"▁cheek\": 10863,\n      \"▁concerns\": 10864,\n      \"▁helpful\": 10865,\n      \"▁coverage\": 10866,\n      \"isi\": 10867,\n      \"ADD\": 10868,\n      \"async\": 10869,\n      \"▁approximately\": 10870,\n      \"iffer\": 10871,\n      \"hook\": 10872,\n      \"▁enum\": 10873,\n      \"ová\": 10874,\n      \"▁evil\": 10875,\n      \"▁constantly\": 10876,\n      \"apply\": 10877,\n      \"▁siè\": 10878,\n      \"▁practices\": 10879,\n      \"▁teachers\": 10880,\n      \"▁Sn\": 10881,\n      \"▁Awards\": 10882,\n      \"▁substant\": 10883,\n      \"▁$.\": 10884,\n      \"dk\": 10885,\n      \"▁mob\": 10886,\n      \"▁ingred\": 10887,\n      \"vere\": 10888,\n      \"Multi\": 10889,\n      \"пер\": 10890,\n      \"stal\": 10891,\n      \"yard\": 10892,\n      \"required\": 10893,\n      \"vement\": 10894,\n      \"▁intelligence\": 10895,\n      \"▁thinks\": 10896,\n      \"▁personally\": 10897,\n      \"▁trained\": 10898,\n      \"orney\": 10899,\n      \")</\": 10900,\n      \"gged\": 10901,\n      \"EINVAL\": 10902,\n      \"arna\": 10903,\n      \"▁Hamilton\": 10904,\n      \"merce\": 10905,\n      \"ekt\": 10906,\n      \"OF\": 10907,\n      \")[\": 10908,\n      \"rug\": 10909,\n      \"ición\": 10910,\n      \"▁survey\": 10911,\n      \"nesday\": 10912,\n      \"▁pag\": 10913,\n      \"▁boundary\": 10914,\n      \"▁quantum\": 10915,\n      \"▁drawing\": 10916,\n      \"▁volunte\": 10917,\n      \"▁Word\": 10918,\n      \"sky\": 10919,\n      \"▁Greg\": 10920,\n      \"coll\": 10921,\n      \"hide\": 10922,\n      \"▁swim\": 10923,\n      \"▁revealed\": 10924,\n      \"adv\": 10925,\n      \"дя\": 10926,\n      \".\\\");\": 10927,\n      \"▁explan\": 10928,\n      \"▁Current\": 10929,\n      \"▁gotten\": 10930,\n      \"▁falling\": 10931,\n      \"▁contained\": 10932,\n      \"UND\": 10933,\n      \"▁Should\": 10934,\n      \"▁killing\": 10935,\n      \"▁aspects\": 10936,\n      \"icted\": 10937,\n      \"▁Param\": 10938,\n      \"\\\",\\r\": 10939,\n      \"TION\": 10940,\n      \"));\\r\": 10941,\n      \"▁Iran\": 10942,\n      \"beit\": 10943,\n      \"▁Bu\": 10944,\n      \"▁[],\": 10945,\n      \"SSION\": 10946,\n      \"▁Mah\": 10947,\n      \"▁resolution\": 10948,\n      \"▁boss\": 10949,\n      \"lg\": 10950,\n      \"chor\": 10951,\n      \"▁Unter\": 10952,\n      \"▁debt\": 10953,\n      \"▁vid\": 10954,\n      \"gie\": 10955,\n      \"▁uno\": 10956,\n      \"CB\": 10957,\n      \"plom\": 10958,\n      \"LICENSE\": 10959,\n      \"▁Kenn\": 10960,\n      \"▁finns\": 10961,\n      \"ONG\": 10962,\n      \"▁somewhat\": 10963,\n      \"▁actor\": 10964,\n      \"▁Status\": 10965,\n      \"▁probability\": 10966,\n      \"fb\": 10967,\n      \"▁chart\": 10968,\n      \"▁stands\": 10969,\n      \"policy\": 10970,\n      \"▁onder\": 10971,\n      \"tabular\": 10972,\n      \"▁Ash\": 10973,\n      \"▁boost\": 10974,\n      \"▁desper\": 10975,\n      \"month\": 10976,\n      \"▁alert\": 10977,\n      \"▁suite\": 10978,\n      \"▁gén\": 10979,\n      \"▁vacc\": 10980,\n      \"▁Has\": 10981,\n      \"Mask\": 10982,\n      \"▁Thursday\": 10983,\n      \"▁proved\": 10984,\n      \"▁Nel\": 10985,\n      \"▁moral\": 10986,\n      \"▁ja\": 10987,\n      \"auer\": 10988,\n      \"codec\": 10989,\n      \"▁instant\": 10990,\n      \"amps\": 10991,\n      \"▁milk\": 10992,\n      \"WORD\": 10993,\n      \"▁Ö\": 10994,\n      \"Email\": 10995,\n      \"Elements\": 10996,\n      \"▁forma\": 10997,\n      \"Free\": 10998,\n      \"MAP\": 10999,\n      \"▁Ж\": 11000,\n      \"sym\": 11001,\n      \"▁ти\": 11002,\n      \"▁Econom\": 11003,\n      \"▁Vi\": 11004,\n      \"▁Columb\": 11005,\n      \"▁_,\": 11006,\n      \"oret\": 11007,\n      \"Sequ\": 11008,\n      \"plan\": 11009,\n      \"▁frequency\": 11010,\n      \"irement\": 11011,\n      \"▁assumed\": 11012,\n      \"▁Ca\": 11013,\n      \"▁Bit\": 11014,\n      \"▁коман\": 11015,\n      \"▁smell\": 11016,\n      \"Security\": 11017,\n      \"▁aqu\": 11018,\n      \"oor\": 11019,\n      \"price\": 11020,\n      \"inity\": 11021,\n      \"▁axis\": 11022,\n      \"release\": 11023,\n      \"▁resolve\": 11024,\n      \"▁tears\": 11025,\n      \"▁bother\": 11026,\n      \"▁Community\": 11027,\n      \"▁registered\": 11028,\n      \"▁revolution\": 11029,\n      \"?.\": 11030,\n      \"▁versions\": 11031,\n      \"%%%%\": 11032,\n      \"ydro\": 11033,\n      \"Success\": 11034,\n      \"▁Win\": 11035,\n      \"▁Boy\": 11036,\n      \"▁Dub\": 11037,\n      \"▁kw\": 11038,\n      \"▁noch\": 11039,\n      \"▁charges\": 11040,\n      \"arios\": 11041,\n      \"uar\": 11042,\n      \";&\": 11043,\n      \"▁había\": 11044,\n      \"(`\": 11045,\n      \"▁tx\": 11046,\n      \"elve\": 11047,\n      \"▁años\": 11048,\n      \"▁math\": 11049,\n      \"▁Alf\": 11050,\n      \"▁Fund\": 11051,\n      \"▁manifest\": 11052,\n      \"▁attached\": 11053,\n      \"▁spiritual\": 11054,\n      \"▁Alexander\": 11055,\n      \"unes\": 11056,\n      \"▁seed\": 11057,\n      \"▁Но\": 11058,\n      \"▁magazine\": 11059,\n      \"▁eigen\": 11060,\n      \"▁обра\": 11061,\n      \"ea\": 11062,\n      \"▁PH\": 11063,\n      \"swing\": 11064,\n      \"▁Asia\": 11065,\n      \"ју\": 11066,\n      \"▁KIND\": 11067,\n      \"Identifier\": 11068,\n      \"once\": 11069,\n      \"▁alcohol\": 11070,\n      \"ції\": 11071,\n      \"styles\": 11072,\n      \"assertEqual\": 11073,\n      \"▁Ra\": 11074,\n      \"графи\": 11075,\n      \"▁millions\": 11076,\n      \"▁chunk\": 11077,\n      \"дер\": 11078,\n      \"Package\": 11079,\n      \"UST\": 11080,\n      \"▁Nothing\": 11081,\n      \"(\\\"#\": 11082,\n      \"▁Mid\": 11083,\n      \"▁нача\": 11084,\n      \"ły\": 11085,\n      \"AAAA\": 11086,\n      \"▁launched\": 11087,\n      \"▁wake\": 11088,\n      \"▁guests\": 11089,\n      \"▁differences\": 11090,\n      \"udi\": 11091,\n      \"▁aid\": 11092,\n      \"▁Sport\": 11093,\n      \"ulator\": 11094,\n      \"execute\": 11095,\n      \"plot\": 11096,\n      \"ching\": 11097,\n      \"▁Norm\": 11098,\n      \"tm\": 11099,\n      \"\\\\+\": 11100,\n      \"ARD\": 11101,\n      \"▁beer\": 11102,\n      \"▁під\": 11103,\n      \"IAL\": 11104,\n      \"storage\": 11105,\n      \"▁Anna\": 11106,\n      \"▁yards\": 11107,\n      \"▁technique\": 11108,\n      \"▁où\": 11109,\n      \"atten\": 11110,\n      \"UNT\": 11111,\n      \"don\": 11112,\n      \"фор\": 11113,\n      \"▁hoping\": 11114,\n      \"▁victory\": 11115,\n      \"itat\": 11116,\n      \"▁significantly\": 11117,\n      \"▁practical\": 11118,\n      \"ije\": 11119,\n      \"▁expansion\": 11120,\n      \"JS\": 11121,\n      \"ixels\": 11122,\n      \"USER\": 11123,\n      \"Shape\": 11124,\n      \"▁extent\": 11125,\n      \"lio\": 11126,\n      \"▁pued\": 11127,\n      \"olid\": 11128,\n      \"▁gam\": 11129,\n      \"▁sevent\": 11130,\n      \"▁Ga\": 11131,\n      \"anguages\": 11132,\n      \"(((\": 11133,\n      \"ъл\": 11134,\n      \"▁Exper\": 11135,\n      \"asty\": 11136,\n      \"rieg\": 11137,\n      \"gio\": 11138,\n      \"odo\": 11139,\n      \"▁colle\": 11140,\n      \"▁stored\": 11141,\n      \"▁Sche\": 11142,\n      \"istant\": 11143,\n      \"▁lip\": 11144,\n      \"BR\": 11145,\n      \"▁aug\": 11146,\n      \"▁Search\": 11147,\n      \")=\\\\\": 11148,\n      \"▁Ur\": 11149,\n      \"▁sole\": 11150,\n      \"illo\": 11151,\n      \"▁mehr\": 11152,\n      \"kit\": 11153,\n      \"▁interior\": 11154,\n      \"LIST\": 11155,\n      \"adel\": 11156,\n      \"▁shopping\": 11157,\n      \"▁slä\": 11158,\n      \"Your\": 11159,\n      \"DITION\": 11160,\n      \"▁Http\": 11161,\n      \"raham\": 11162,\n      \"три\": 11163,\n      \"▁brings\": 11164,\n      \"Rev\": 11165,\n      \"▁propag\": 11166,\n      \"ityEngine\": 11167,\n      \"()),\": 11168,\n      \"▁ingår\": 11169,\n      \"▁Ireland\": 11170,\n      \"▁\\\"./\": 11171,\n      \"▁Harr\": 11172,\n      \"▁admin\": 11173,\n      \"eno\": 11174,\n      \"▁kr\": 11175,\n      \"▁está\": 11176,\n      \"▁props\": 11177,\n      \"tok\": 11178,\n      \"omorph\": 11179,\n      \"▁affected\": 11180,\n      \"Phone\": 11181,\n      \"▁degrees\": 11182,\n      \"some\": 11183,\n      \"▁nin\": 11184,\n      \"EVENT\": 11185,\n      \"▁interaction\": 11186,\n      \"▁Tuesday\": 11187,\n      \"iterator\": 11188,\n      \"▁Nob\": 11189,\n      \"▁scatter\": 11190,\n      \"ucket\": 11191,\n      \"complete\": 11192,\n      \"▁duty\": 11193,\n      \"▁answers\": 11194,\n      \"Progress\": 11195,\n      \"eed\": 11196,\n      \"рон\": 11197,\n      \"▁vie\": 11198,\n      \"▁depos\": 11199,\n      \"▁packet\": 11200,\n      \"▁tow\": 11201,\n      \"▁deleg\": 11202,\n      \"audio\": 11203,\n      \"▁vary\": 11204,\n      \"▁migr\": 11205,\n      \"фі\": 11206,\n      \"esa\": 11207,\n      \"Events\": 11208,\n      \"haus\": 11209,\n      \"▁Sav\": 11210,\n      \"▁Portug\": 11211,\n      \"▁сто\": 11212,\n      \"ilation\": 11213,\n      \"▁metadata\": 11214,\n      \"las\": 11215,\n      \"▁ai\": 11216,\n      \"▁anger\": 11217,\n      \"▁ham\": 11218,\n      \"▁Anal\": 11219,\n      \"▁frequently\": 11220,\n      \"▁FALSE\": 11221,\n      \"oche\": 11222,\n      \"rez\": 11223,\n      \"▁Viet\": 11224,\n      \"quis\": 11225,\n      \"▁charged\": 11226,\n      \"äs\": 11227,\n      \"▁Path\": 11228,\n      \"▁accurate\": 11229,\n      \"▁Plus\": 11230,\n      \"keit\": 11231,\n      \"▁Input\": 11232,\n      \"when\": 11233,\n      \"eras\": 11234,\n      \"▁воз\": 11235,\n      \"▁derived\": 11236,\n      \"aje\": 11237,\n      \"▁Had\": 11238,\n      \"uren\": 11239,\n      \"ór\": 11240,\n      \"}=\\\\\": 11241,\n      \"ureau\": 11242,\n      \"aland\": 11243,\n      \"Execution\": 11244,\n      \"eden\": 11245,\n      \"▁seeking\": 11246,\n      \"changed\": 11247,\n      \"▁trem\": 11248,\n      \"ску\": 11249,\n      \"▁Geme\": 11250,\n      \"inating\": 11251,\n      \"▁columns\": 11252,\n      \"EP\": 11253,\n      \"▁injury\": 11254,\n      \"endent\": 11255,\n      \"▁headed\": 11256,\n      \"ASE\": 11257,\n      \"▁Muslim\": 11258,\n      \"▁climate\": 11259,\n      \"▁fake\": 11260,\n      \"CMD\": 11261,\n      \"ји\": 11262,\n      \"▁Arts\": 11263,\n      \"fection\": 11264,\n      \"▁pit\": 11265,\n      \">\\\\\": 11266,\n      \"anal\": 11267,\n      \"Section\": 11268,\n      \"plus\": 11269,\n      \"üt\": 11270,\n      \"▁embed\": 11271,\n      \"▁strings\": 11272,\n      \"Before\": 11273,\n      \"proc\": 11274,\n      \"▁спо\": 11275,\n      \"trl\": 11276,\n      \"vr\": 11277,\n      \"Background\": 11278,\n      \"logger\": 11279,\n      \"agraph\": 11280,\n      \"iest\": 11281,\n      \"▁goods\": 11282,\n      \"batch\": 11283,\n      \"▁optional\": 11284,\n      \"▁Taylor\": 11285,\n      \"▁recognize\": 11286,\n      \"walk\": 11287,\n      \"▁Hit\": 11288,\n      \"▁Elizabeth\": 11289,\n      \"}:\": 11290,\n      \"▁careful\": 11291,\n      \"краї\": 11292,\n      \"▁locations\": 11293,\n      \"▁structures\": 11294,\n      \"▁disk\": 11295,\n      \"▁ships\": 11296,\n      \"▁suo\": 11297,\n      \"▁sowie\": 11298,\n      \"▁Ess\": 11299,\n      \"▁Hash\": 11300,\n      \"▁reasonable\": 11301,\n      \"▁Moreover\": 11302,\n      \"▁formula\": 11303,\n      \"▁Centre\": 11304,\n      \"▁residents\": 11305,\n      \"RS\": 11306,\n      \"Ids\": 11307,\n      \"▁Know\": 11308,\n      \"▁trib\": 11309,\n      \"▁rés\": 11310,\n      \"▁stable\": 11311,\n      \"▁Would\": 11312,\n      \"▁breaking\": 11313,\n      \"▁meal\": 11314,\n      \"▁phen\": 11315,\n      \"▁fel\": 11316,\n      \"▁Fred\": 11317,\n      \"Author\": 11318,\n      \"▁capture\": 11319,\n      \"opts\": 11320,\n      \"▁everywhere\": 11321,\n      \"▁sque\": 11322,\n      \"▁moder\": 11323,\n      \"setup\": 11324,\n      \"▁Supp\": 11325,\n      \"▁whenever\": 11326,\n      \"{(\": 11327,\n      \"wart\": 11328,\n      \"▁toe\": 11329,\n      \"Prefix\": 11330,\n      \"hou\": 11331,\n      \"gage\": 11332,\n      \">\\\"\": 11333,\n      \"▁frag\": 11334,\n      \"▁Theorem\": 11335,\n      \"memory\": 11336,\n      \"▁contents\": 11337,\n      \"docs\": 11338,\n      \"}'\": 11339,\n      \"▁Irish\": 11340,\n      \"Then\": 11341,\n      \"aats\": 11342,\n      \"Save\": 11343,\n      \"▁agency\": 11344,\n      \"▁име\": 11345,\n      \"дова\": 11346,\n      \"▁Function\": 11347,\n      \"NN\": 11348,\n      \"destroy\": 11349,\n      \"▁Message\": 11350,\n      \"▁cancel\": 11351,\n      \"▁superior\": 11352,\n      \"▁ec\": 11353,\n      \"▁literature\": 11354,\n      \"▁PART\": 11355,\n      \"Il\": 11356,\n      \"▁Cab\": 11357,\n      \"engine\": 11358,\n      \"▁basket\": 11359,\n      \"worth\": 11360,\n      \"▁Sel\": 11361,\n      \"fetch\": 11362,\n      \"▁Stadt\": 11363,\n      \"▁Ки\": 11364,\n      \"▁conj\": 11365,\n      \"▁seiner\": 11366,\n      \"▁confirmed\": 11367,\n      \"▁Argent\": 11368,\n      \"amar\": 11369,\n      \"pgfpath\": 11370,\n      \"▁struggle\": 11371,\n      \"Pattern\": 11372,\n      \"▁Middle\": 11373,\n      \"itan\": 11374,\n      \"▁moon\": 11375,\n      \"orough\": 11376,\n      \"▁Catholic\": 11377,\n      \"▁struck\": 11378,\n      \"]->\": 11379,\n      \"▁weapon\": 11380,\n      \"▁subst\": 11381,\n      \"▁instructions\": 11382,\n      \"▁occas\": 11383,\n      \"protected\": 11384,\n      \"▁Less\": 11385,\n      \"▁batch\": 11386,\n      \"▁contra\": 11387,\n      \"▁deck\": 11388,\n      \"▁ignored\": 11389,\n      \"▁refused\": 11390,\n      \"trigger\": 11391,\n      \"▁criminal\": 11392,\n      \"GA\": 11393,\n      \"olly\": 11394,\n      \"▁Bell\": 11395,\n      \"▁Ю\": 11396,\n      \"forward\": 11397,\n      \"▁prefix\": 11398,\n      \"▁immediate\": 11399,\n      \"▁assigned\": 11400,\n      \"▁elected\": 11401,\n      \"▁tonight\": 11402,\n      \"▁Dies\": 11403,\n      \"▁Beach\": 11404,\n      \"▁preced\": 11405,\n      \"ował\": 11406,\n      \"▁galax\": 11407,\n      \"▁logic\": 11408,\n      \"enza\": 11409,\n      \"▁Captain\": 11410,\n      \"▁Hay\": 11411,\n      \"▁facts\": 11412,\n      \"▁ни\": 11413,\n      \"té\": 11414,\n      \"▁sb\": 11415,\n      \"oped\": 11416,\n      \"▁combat\": 11417,\n      \"▁explore\": 11418,\n      \"▁(-\": 11419,\n      \"Loader\": 11420,\n      \"▁Wilson\": 11421,\n      \"▁locked\": 11422,\n      \":</\": 11423,\n      \"▁Od\": 11424,\n      \"▁Prote\": 11425,\n      \"▁disabled\": 11426,\n      \"▁hatte\": 11427,\n      \"▁shout\": 11428,\n      \"▁constructor\": 11429,\n      \"бі\": 11430,\n      \"▁tras\": 11431,\n      \"▁Father\": 11432,\n      \"▁adj\": 11433,\n      \"▁Carolina\": 11434,\n      \"▁Food\": 11435,\n      \"bad\": 11436,\n      \"atore\": 11437,\n      \"parameters\": 11438,\n      \"▁Full\": 11439,\n      \"[-\": 11440,\n      \"▁\\\"#\": 11441,\n      \"▁Try\": 11442,\n      \"ської\": 11443,\n      \"▁exhaust\": 11444,\n      \"▁scroll\": 11445,\n      \"_;\": 11446,\n      \"Who\": 11447,\n      \"▁delivered\": 11448,\n      \"▁referred\": 11449,\n      \"▁prospect\": 11450,\n      \"scan\": 11451,\n      \"▁modified\": 11452,\n      \"Generator\": 11453,\n      \"▁excess\": 11454,\n      \"▁kg\": 11455,\n      \"zet\": 11456,\n      \"icz\": 11457,\n      \"clipse\": 11458,\n      \"▁tank\": 11459,\n      \"▁guns\": 11460,\n      \"▁Ges\": 11461,\n      \"inton\": 11462,\n      \"▁Wednesday\": 11463,\n      \"▁mainly\": 11464,\n      \"parser\": 11465,\n      \"▁effectively\": 11466,\n      \"▁Ку\": 11467,\n      \"▁resident\": 11468,\n      \"▁Li\": 11469,\n      \"▁flying\": 11470,\n      \"▁mayor\": 11471,\n      \"üh\": 11472,\n      \"uta\": 11473,\n      \"▁colour\": 11474,\n      \"▁aircraft\": 11475,\n      \"terior\": 11476,\n      \"nr\": 11477,\n      \"▁keeps\": 11478,\n      \"fan\": 11479,\n      \"▁shirt\": 11480,\n      \"Compar\": 11481,\n      \"▁Eth\": 11482,\n      \"Mac\": 11483,\n      \"clean\": 11484,\n      \"slice\": 11485,\n      \"czy\": 11486,\n      \"▁gender\": 11487,\n      \"▁butter\": 11488,\n      \"AUT\": 11489,\n      \"▁Element\": 11490,\n      \"Fin\": 11491,\n      \"dma\": 11492,\n      \"sample\": 11493,\n      \"Registry\": 11494,\n      \"▁classic\": 11495,\n      \"▁drove\": 11496,\n      \"pb\": 11497,\n      \"defined\": 11498,\n      \"▁reward\": 11499,\n      \"yal\": 11500,\n      \"]),\": 11501,\n      \"▁BAS\": 11502,\n      \"▁hyper\": 11503,\n      \"▁Ни\": 11504,\n      \"▁).\": 11505,\n      \"Psi\": 11506,\n      \"▁entries\": 11507,\n      \"▁Kingdom\": 11508,\n      \"▁Song\": 11509,\n      \"▁prompt\": 11510,\n      \"centering\": 11511,\n      \"▁Holly\": 11512,\n      \"eman\": 11513,\n      \"▁painting\": 11514,\n      \"▁formation\": 11515,\n      \"▁Request\": 11516,\n      \"controller\": 11517,\n      \"Region\": 11518,\n      \"PY\": 11519,\n      \"idades\": 11520,\n      \"TL\": 11521,\n      \"▁disable\": 11522,\n      \"▁rein\": 11523,\n      \"rical\": 11524,\n      \"\\\"\\r\": 11525,\n      \"%)\": 11526,\n      \"▁Sab\": 11527,\n      \"▁Without\": 11528,\n      \"Serv\": 11529,\n      \"▁Short\": 11530,\n      \"▁ю\": 11531,\n      \"▁resc\": 11532,\n      \"▁patterns\": 11533,\n      \"▁ArrayList\": 11534,\n      \"symbol\": 11535,\n      \"aco\": 11536,\n      \"▁Hom\": 11537,\n      \"help\": 11538,\n      \"▁hasta\": 11539,\n      \"▁installed\": 11540,\n      \"atie\": 11541,\n      \"▁visited\": 11542,\n      \"▁Бе\": 11543,\n      \"){\\\\\": 11544,\n      \"▁desde\": 11545,\n      \"JECT\": 11546,\n      \"▁drew\": 11547,\n      \"▁Stock\": 11548,\n      \"▁Cru\": 11549,\n      \"DEF\": 11550,\n      \"obby\": 11551,\n      \"izable\": 11552,\n      \"ogether\": 11553,\n      \"▁aber\": 11554,\n      \"▁dan\": 11555,\n      \"alis\": 11556,\n      \"tail\": 11557,\n      \"▁expressed\": 11558,\n      \"▁Access\": 11559,\n      \"Seg\": 11560,\n      \"▁Lib\": 11561,\n      \"▁supports\": 11562,\n      \"background\": 11563,\n      \"▁commune\": 11564,\n      \"called\": 11565,\n      \"▁printf\": 11566,\n      \"▁Prince\": 11567,\n      \"ните\": 11568,\n      \"depend\": 11569,\n      \"▁dels\": 11570,\n      \"neur\": 11571,\n      \"▁recommended\": 11572,\n      \"▁founded\": 11573,\n      \"▁markets\": 11574,\n      \"▁destroyed\": 11575,\n      \"▁abstract\": 11576,\n      \"▁serie\": 11577,\n      \"▁Dun\": 11578,\n      \"Term\": 11579,\n      \"▁portion\": 11580,\n      \"adapter\": 11581,\n      \"isset\": 11582,\n      \"чески\": 11583,\n      \"▁integer\": 11584,\n      \"▁returning\": 11585,\n      \"enties\": 11586,\n      \"▁Fair\": 11587,\n      \"▁USB\": 11588,\n      \"▁Price\": 11589,\n      \"igate\": 11590,\n      \"▁settled\": 11591,\n      \"({\\\\\": 11592,\n      \"nek\": 11593,\n      \"▁therm\": 11594,\n      \"▁cig\": 11595,\n      \"ány\": 11596,\n      \"▁investigation\": 11597,\n      \"ometer\": 11598,\n      \"SUP\": 11599,\n      \"Some\": 11600,\n      \"sing\": 11601,\n      \"Constant\": 11602,\n      \"▁retail\": 11603,\n      \"ży\": 11604,\n      \"▁drinking\": 11605,\n      \"▁Invest\": 11606,\n      \"SV\": 11607,\n      \"iginal\": 11608,\n      \"▁Bow\": 11609,\n      \"{{\\\\\": 11610,\n      \"▁assistance\": 11611,\n      \"▁intellect\": 11612,\n      \"INIT\": 11613,\n      \"aug\": 11614,\n      \"▁Leon\": 11615,\n      \"Sur\": 11616,\n      \"▁admit\": 11617,\n      \"▁Command\": 11618,\n      \"illes\": 11619,\n      \"rov\": 11620,\n      \"▁oh\": 11621,\n      \"▁não\": 11622,\n      \"▁matching\": 11623,\n      \"▁genu\": 11624,\n      \"▁Ox\": 11625,\n      \"тся\": 11626,\n      \"notation\": 11627,\n      \"GO\": 11628,\n      \"▁Nap\": 11629,\n      \"▁verify\": 11630,\n      \"▁aussi\": 11631,\n      \"DateTime\": 11632,\n      \"▁suitable\": 11633,\n      \"▁indicate\": 11634,\n      \"▁Live\": 11635,\n      \"Feature\": 11636,\n      \"▁tracks\": 11637,\n      \"▁hasn\": 11638,\n      \"▁Java\": 11639,\n      \"▁closely\": 11640,\n      \"▁Dad\": 11641,\n      \"ceive\": 11642,\n      \"▁Market\": 11643,\n      \"agy\": 11644,\n      \"▁\\\"-\": 11645,\n      \"awn\": 11646,\n      \"stell\": 11647,\n      \"pton\": 11648,\n      \"zeit\": 11649,\n      \"▁Vector\": 11650,\n      \"▁MAX\": 11651,\n      \"▁Federal\": 11652,\n      \"wall\": 11653,\n      \"▁Jen\": 11654,\n      \"delay\": 11655,\n      \"▁limits\": 11656,\n      \"▁Quest\": 11657,\n      \"Cam\": 11658,\n      \"▁Fel\": 11659,\n      \"writer\": 11660,\n      \"LP\": 11661,\n      \"▁moves\": 11662,\n      \"▁Execut\": 11663,\n      \"▁DB\": 11664,\n      \"oker\": 11665,\n      \"scribe\": 11666,\n      \"elijk\": 11667,\n      \"Constants\": 11668,\n      \"Addr\": 11669,\n      \"▁}}\": 11670,\n      \"▁channels\": 11671,\n      \"iy\": 11672,\n      \"riority\": 11673,\n      \"▁trading\": 11674,\n      \"▁facilities\": 11675,\n      \"▁Pack\": 11676,\n      \"▁sys\": 11677,\n      \"▁meta\": 11678,\n      \"▁estimate\": 11679,\n      \"▁Later\": 11680,\n      \"issue\": 11681,\n      \"▁Having\": 11682,\n      \"▁guest\": 11683,\n      \"▁nobody\": 11684,\n      \"depth\": 11685,\n      \"▁został\": 11686,\n      \"пера\": 11687,\n      \")}\\\\\": 11688,\n      \"bg\": 11689,\n      \"▁Twitter\": 11690,\n      \"▁darkness\": 11691,\n      \"jpg\": 11692,\n      \"contr\": 11693,\n      \"kernel\": 11694,\n      \"]\\\\\": 11695,\n      \"▁extend\": 11696,\n      \"roc\": 11697,\n      \"NET\": 11698,\n      \"MSG\": 11699,\n      \"▁burst\": 11700,\n      \"▁repair\": 11701,\n      \"▁fetch\": 11702,\n      \"ieg\": 11703,\n      \"ús\": 11704,\n      \"Screen\": 11705,\n      \"blem\": 11706,\n      \"AppCompat\": 11707,\n      \"▁chap\": 11708,\n      \"ELD\": 11709,\n      \"▁Penn\": 11710,\n      \"▁promote\": 11711,\n      \"▁Ukr\": 11712,\n      \"arest\": 11713,\n      \"▁samples\": 11714,\n      \"▁Greek\": 11715,\n      \"▁constru\": 11716,\n      \"▁universe\": 11717,\n      \"elijke\": 11718,\n      \"▁preferred\": 11719,\n      \"▁Де\": 11720,\n      \"▁Ira\": 11721,\n      \"▁dow\": 11722,\n      \"agues\": 11723,\n      \"HERE\": 11724,\n      \"▁experts\": 11725,\n      \"Protocol\": 11726,\n      \"PIO\": 11727,\n      \"▁naz\": 11728,\n      \"▁Kh\": 11729,\n      \"hör\": 11730,\n      \"▁distingu\": 11731,\n      \"▁BY\": 11732,\n      \"▁seine\": 11733,\n      \"eping\": 11734,\n      \"▁fairly\": 11735,\n      \"▁Mean\": 11736,\n      \"ixer\": 11737,\n      \"insi\": 11738,\n      \"▁authors\": 11739,\n      \"**.\": 11740,\n      \"AI\": 11741,\n      \"▁edges\": 11742,\n      \"▁shooting\": 11743,\n      \"Admin\": 11744,\n      \"▁maps\": 11745,\n      \"chant\": 11746,\n      \"▁COVID\": 11747,\n      \"▁linked\": 11748,\n      \"▁ske\": 11749,\n      \"▁powers\": 11750,\n      \"ád\": 11751,\n      \"▁stomach\": 11752,\n      \"▁usage\": 11753,\n      \"▁defend\": 11754,\n      \"▁sustain\": 11755,\n      \"▁updates\": 11756,\n      \"▁assign\": 11757,\n      \"HL\": 11758,\n      \"▁Sea\": 11759,\n      \"▁discipl\": 11760,\n      \"Video\": 11761,\n      \"▁Chief\": 11762,\n      \"▁bunch\": 11763,\n      \"▁Obama\": 11764,\n      \"nis\": 11765,\n      \"vor\": 11766,\n      \"▁agents\": 11767,\n      \"cas\": 11768,\n      \"chter\": 11769,\n      \"▁glanced\": 11770,\n      \"supported\": 11771,\n      \"▁Consider\": 11772,\n      \"▁Everyone\": 11773,\n      \"▁lect\": 11774,\n      \"▁Stone\": 11775,\n      \"▁Jam\": 11776,\n      \"ogram\": 11777,\n      \"formance\": 11778,\n      \"▁\\\\\\\"\": 11779,\n      \"▁patch\": 11780,\n      \"▁vit\": 11781,\n      \"Power\": 11782,\n      \"▁harder\": 11783,\n      \"Anal\": 11784,\n      \"▁desired\": 11785,\n      \"▁jug\": 11786,\n      \"▁supporting\": 11787,\n      \"DU\": 11788,\n      \"]],\": 11789,\n      \"▁Administr\": 11790,\n      \"ucky\": 11791,\n      \"▁controller\": 11792,\n      \"▁issued\": 11793,\n      \"▁Sin\": 11794,\n      \"▁affili\": 11795,\n      \"▁partners\": 11796,\n      \"cdots\": 11797,\n      \"ctic\": 11798,\n      \"Car\": 11799,\n      \"▁NY\": 11800,\n      \"▁priority\": 11801,\n      \"original\": 11802,\n      \"Sql\": 11803,\n      \"▁declared\": 11804,\n      \"▁Hotel\": 11805,\n      \"▁browser\": 11806,\n      \"▁grande\": 11807,\n      \"}^\\\\\": 11808,\n      \"bow\": 11809,\n      \"▁accommod\": 11810,\n      \"Directory\": 11811,\n      \"▁suffering\": 11812,\n      \"▁logger\": 11813,\n      \"▁breakfast\": 11814,\n      \"uli\": 11815,\n      \"▁boot\": 11816,\n      \"▁contribution\": 11817,\n      \"NESS\": 11818,\n      \"▁Ten\": 11819,\n      \"semble\": 11820,\n      \"▁housing\": 11821,\n      \"Raw\": 11822,\n      \"ANCE\": 11823,\n      \"▁При\": 11824,\n      \"▁brit\": 11825,\n      \"essa\": 11826,\n      \"inson\": 11827,\n      \"▁Ball\": 11828,\n      \"entes\": 11829,\n      \"▁Bra\": 11830,\n      \"score\": 11831,\n      \"GER\": 11832,\n      \"route\": 11833,\n      \"apsed\": 11834,\n      \"рой\": 11835,\n      \"diff\": 11836,\n      \"▁broadcast\": 11837,\n      \"▁tar\": 11838,\n      \"▁delight\": 11839,\n      \")?\": 11840,\n      \"chester\": 11841,\n      \"Platform\": 11842,\n      \"▁emergency\": 11843,\n      \"▁ces\": 11844,\n      \"nership\": 11845,\n      \"▁situations\": 11846,\n      \"▁familjen\": 11847,\n      \"▁Geb\": 11848,\n      \"enta\": 11849,\n      \"úblic\": 11850,\n      \"▁Place\": 11851,\n      \"ILL\": 11852,\n      \"▁march\": 11853,\n      \"▁fundamental\": 11854,\n      \"attributes\": 11855,\n      \"кти\": 11856,\n      \"▁Fu\": 11857,\n      \"FD\": 11858,\n      \"▁рас\": 11859,\n      \"▁academic\": 11860,\n      \"pres\": 11861,\n      \"▁rising\": 11862,\n      \"▁Braz\": 11863,\n      \"▁receiving\": 11864,\n      \"WARN\": 11865,\n      \"▁judg\": 11866,\n      \"▁necessarily\": 11867,\n      \"]=\": 11868,\n      \"▁deeply\": 11869,\n      \"▁gray\": 11870,\n      \"Headers\": 11871,\n      \"▁coal\": 11872,\n      \"\\\\{\": 11873,\n      \"Mut\": 11874,\n      \"bach\": 11875,\n      \"▁profit\": 11876,\n      \"вого\": 11877,\n      \"igs\": 11878,\n      \"ograp\": 11879,\n      \"\\\";\\r\": 11880,\n      \"▁advoc\": 11881,\n      \"Generated\": 11882,\n      \"мери\": 11883,\n      \"▁Cond\": 11884,\n      \"▁agric\": 11885,\n      \"BASE\": 11886,\n      \"▁arrang\": 11887,\n      \"▁flowers\": 11888,\n      \"iw\": 11889,\n      \"▁];\": 11890,\n      \"▁вой\": 11891,\n      \"umerate\": 11892,\n      \"▁ihr\": 11893,\n      \"▁пар\": 11894,\n      \"▁mont\": 11895,\n      \"widehat\": 11896,\n      \"mg\": 11897,\n      \"▁btn\": 11898,\n      \"▁besk\": 11899,\n      \"▁acts\": 11900,\n      \"ós\": 11901,\n      \"~~~~\": 11902,\n      \"▁curve\": 11903,\n      \"language\": 11904,\n      \"▁TRUE\": 11905,\n      \"▁cleaning\": 11906,\n      \"Math\": 11907,\n      \"▁regional\": 11908,\n      \"▁estimated\": 11909,\n      \"arity\": 11910,\n      \"ierung\": 11911,\n      \"/{\": 11912,\n      \"jango\": 11913,\n      \"$_\": 11914,\n      \"▁threw\": 11915,\n      \"rq\": 11916,\n      \"cop\": 11917,\n      \"nergy\": 11918,\n      \"▁Account\": 11919,\n      \"pal\": 11920,\n      \"▁Nic\": 11921,\n      \"]))\": 11922,\n      \"▁awesome\": 11923,\n      \"▁Load\": 11924,\n      \"unnel\": 11925,\n      \"▁rows\": 11926,\n      \"▁foreach\": 11927,\n      \"▁Pod\": 11928,\n      \"▁EN\": 11929,\n      \"▁.=\": 11930,\n      \"uate\": 11931,\n      \"frastructure\": 11932,\n      \"▁Watch\": 11933,\n      \"Stand\": 11934,\n      \"▁routine\": 11935,\n      \"▁pic\": 11936,\n      \"helper\": 11937,\n      \"▁horses\": 11938,\n      \"▁requested\": 11939,\n      \"▁---\": 11940,\n      \"border\": 11941,\n      \"▁lifted\": 11942,\n      \"▁Ped\": 11943,\n      \"Import\": 11944,\n      \"ље\": 11945,\n      \"▁Ли\": 11946,\n      \"▁myst\": 11947,\n      \"THER\": 11948,\n      \"▁AC\": 11949,\n      \"Proxy\": 11950,\n      \"prov\": 11951,\n      \"▁Nik\": 11952,\n      \"hemat\": 11953,\n      \"ональ\": 11954,\n      \"▁\\\".\": 11955,\n      \"ului\": 11956,\n      \"▁improved\": 11957,\n      \"ieren\": 11958,\n      \"ocolate\": 11959,\n      \"Sche\": 11960,\n      \"unic\": 11961,\n      \"▁Professor\": 11962,\n      \"ieler\": 11963,\n      \"▁duration\": 11964,\n      \"▁timeout\": 11965,\n      \"hom\": 11966,\n      \"▁lux\": 11967,\n      \"▁trab\": 11968,\n      \"itary\": 11969,\n      \"ње\": 11970,\n      \"▁inspired\": 11971,\n      \"})\\\\\": 11972,\n      \"isely\": 11973,\n      \"ials\": 11974,\n      \"▁Vor\": 11975,\n      \"▁enhance\": 11976,\n      \"▁lucky\": 11977,\n      \"World\": 11978,\n      \"elo\": 11979,\n      \"ifiers\": 11980,\n      \"▁facing\": 11981,\n      \"▁appreciate\": 11982,\n      \"▁être\": 11983,\n      \"▁bench\": 11984,\n      \"atted\": 11985,\n      \"gence\": 11986,\n      \"course\": 11987,\n      \"▁tub\": 11988,\n      \"▁lors\": 11989,\n      \"▁mistake\": 11990,\n      \"nom\": 11991,\n      \"▁paus\": 11992,\n      \"▁\\\"\\\";\": 11993,\n      \"▁subs\": 11994,\n      \"▁stato\": 11995,\n      \"$)\": 11996,\n      \"▁gay\": 11997,\n      \"orry\": 11998,\n      \"▁vehicles\": 11999,\n      \"▁brill\": 12000,\n      \"may\": 12001,\n      \"resp\": 12002,\n      \"▁wore\": 12003,\n      \"ją\": 12004,\n      \"bp\": 12005,\n      \"onel\": 12006,\n      \"▁CR\": 12007,\n      \"▁diagn\": 12008,\n      \"mathsf\": 12009,\n      \"▁holiday\": 12010,\n      \"▁achieved\": 12011,\n      \"▁{'\": 12012,\n      \"▁Resource\": 12013,\n      \"▁hi\": 12014,\n      \"▁bra\": 12015,\n      \"▁CONDITION\": 12016,\n      \"ctr\": 12017,\n      \"▁Write\": 12018,\n      \"ishop\": 12019,\n      \"OLD\": 12020,\n      \"▁cpu\": 12021,\n      \"▁occurs\": 12022,\n      \"ół\": 12023,\n      \"straint\": 12024,\n      \"▁nuclear\": 12025,\n      \"Area\": 12026,\n      \"cluster\": 12027,\n      \"▁surrounding\": 12028,\n      \"▁Juan\": 12029,\n      \"▁prima\": 12030,\n      \"▁Southern\": 12031,\n      \"itty\": 12032,\n      \"▁Assembly\": 12033,\n      \"elem\": 12034,\n      \"adi\": 12035,\n      \"éral\": 12036,\n      \"▁Wat\": 12037,\n      \"▁Radio\": 12038,\n      \"▁gegen\": 12039,\n      \"▁Tony\": 12040,\n      \"pressed\": 12041,\n      \"▁Anne\": 12042,\n      \"▁NS\": 12043,\n      \"▁Pak\": 12044,\n      \"▁Civil\": 12045,\n      \"▁thrown\": 12046,\n      \"NONE\": 12047,\n      \"▁pump\": 12048,\n      \"▁solve\": 12049,\n      \"ENABLE\": 12050,\n      \"▁Phys\": 12051,\n      \"▁],\": 12052,\n      \"POSE\": 12053,\n      \"ktet\": 12054,\n      \"▁Fab\": 12055,\n      \"validate\": 12056,\n      \"Iterator\": 12057,\n      \"condition\": 12058,\n      \"redu\": 12059,\n      \"▁negoti\": 12060,\n      \"anno\": 12061,\n      \"▁sans\": 12062,\n      \"▁Ul\": 12063,\n      \"CHAR\": 12064,\n      \"▁edition\": 12065,\n      \"▁spectrum\": 12066,\n      \"orie\": 12067,\n      \"▁execution\": 12068,\n      \"Please\": 12069,\n      \"▁BO\": 12070,\n      \"URN\": 12071,\n      \"▁cow\": 12072,\n      \"стан\": 12073,\n      \"istribution\": 12074,\n      \"Domain\": 12075,\n      \"▁readers\": 12076,\n      \"▁consumer\": 12077,\n      \"▁styles\": 12078,\n      \"encode\": 12079,\n      \"▁Cy\": 12080,\n      \"Common\": 12081,\n      \"▁Prop\": 12082,\n      \"▁execute\": 12083,\n      \"▁eq\": 12084,\n      \"▁visitors\": 12085,\n      \"▁Amb\": 12086,\n      \"udad\": 12087,\n      \"qquad\": 12088,\n      \"▁Cert\": 12089,\n      \"▁trop\": 12090,\n      \"▁yesterday\": 12091,\n      \"tain\": 12092,\n      \"LD\": 12093,\n      \"atro\": 12094,\n      \"▁increases\": 12095,\n      \"▁Wars\": 12096,\n      \"ned\": 12097,\n      \"before\": 12098,\n      \"aupt\": 12099,\n      \"▁ERR\": 12100,\n      \"▁Ford\": 12101,\n      \"▁dalla\": 12102,\n      \"ULAR\": 12103,\n      \"▁strike\": 12104,\n      \"Arr\": 12105,\n      \"▁recovery\": 12106,\n      \"▁Response\": 12107,\n      \"▁strategies\": 12108,\n      \"▁ін\": 12109,\n      \"▁rear\": 12110,\n      \"▁adults\": 12111,\n      \"▁Не\": 12112,\n      \"windows\": 12113,\n      \"decl\": 12114,\n      \"olen\": 12115,\n      \"▁Jord\": 12116,\n      \"▁Kal\": 12117,\n      \"▁cui\": 12118,\n      \"▁Про\": 12119,\n      \"▁Sever\": 12120,\n      \"▁ale\": 12121,\n      \"▁peut\": 12122,\n      \"Stats\": 12123,\n      \"▁Ross\": 12124,\n      \"arten\": 12125,\n      \"shall\": 12126,\n      \"▁entertain\": 12127,\n      \"▁parking\": 12128,\n      \"нови\": 12129,\n      \"erre\": 12130,\n      \"▁funding\": 12131,\n      \"▁Cle\": 12132,\n      \"▁Ot\": 12133,\n      \"unst\": 12134,\n      \"assertEquals\": 12135,\n      \"▁cancell\": 12136,\n      \"TAG\": 12137,\n      \"▁Early\": 12138,\n      \"▁feedback\": 12139,\n      \"▁pand\": 12140,\n      \"yo\": 12141,\n      \"▁mirror\": 12142,\n      \"▁verb\": 12143,\n      \"▁highlight\": 12144,\n      \"erialize\": 12145,\n      \"▁grade\": 12146,\n      \"лась\": 12147,\n      \"▁Brook\": 12148,\n      \"▁LI\": 12149,\n      \"▁implies\": 12150,\n      \"▁enorm\": 12151,\n      \"ają\": 12152,\n      \"▁Wer\": 12153,\n      \"away\": 12154,\n      \"▁machines\": 12155,\n      \"▁dent\": 12156,\n      \"Idx\": 12157,\n      \"▁tid\": 12158,\n      \")\\\"\": 12159,\n      \"▁mole\": 12160,\n      \"bold\": 12161,\n      \"CONT\": 12162,\n      \"▁ép\": 12163,\n      \"▁cutting\": 12164,\n      \"▁Neg\": 12165,\n      \"▁tong\": 12166,\n      \"▁networks\": 12167,\n      \"▁Fall\": 12168,\n      \"generated\": 12169,\n      \"▁Pri\": 12170,\n      \"UEST\": 12171,\n      \"▁Belg\": 12172,\n      \"▁sheet\": 12173,\n      \"кси\": 12174,\n      \"▁†\": 12175,\n      \"▁yeah\": 12176,\n      \"▁Victor\": 12177,\n      \"▁Rub\": 12178,\n      \"▁candidates\": 12179,\n      \"prés\": 12180,\n      \"▁EU\": 12181,\n      \"etr\": 12182,\n      \"▁rolled\": 12183,\n      \"▁Pas\": 12184,\n      \"▁Arthur\": 12185,\n      \"Arch\": 12186,\n      \"▁Mann\": 12187,\n      \"American\": 12188,\n      \"zes\": 12189,\n      \"inners\": 12190,\n      \"▁Auto\": 12191,\n      \"▁professor\": 12192,\n      \"▁);\\r\": 12193,\n      \"▁addr\": 12194,\n      \"▁Medical\": 12195,\n      \"▁fired\": 12196,\n      \"▁Core\": 12197,\n      \"▁CONFIG\": 12198,\n      \"▁sql\": 12199,\n      \"▁Conserv\": 12200,\n      \"ichen\": 12201,\n      \"Vertex\": 12202,\n      \"▁HO\": 12203,\n      \"Yeah\": 12204,\n      \"Note\": 12205,\n      \"▁OK\": 12206,\n      \"mus\": 12207,\n      \"focus\": 12208,\n      \"aja\": 12209,\n      \"rá\": 12210,\n      \"▁hence\": 12211,\n      \"▁executive\": 12212,\n      \"▁liquid\": 12213,\n      \"uje\": 12214,\n      \"▁driven\": 12215,\n      \"igue\": 12216,\n      \"▁Wik\": 12217,\n      \"Rate\": 12218,\n      \"rand\": 12219,\n      \"Results\": 12220,\n      \"▁copies\": 12221,\n      \"▁tan\": 12222,\n      \"riteria\": 12223,\n      \"enen\": 12224,\n      \"}_\\\\\": 12225,\n      \"▁pobl\": 12226,\n      \"▁southern\": 12227,\n      \"eln\": 12228,\n      \"▁zwei\": 12229,\n      \"▁concrete\": 12230,\n      \"▁CONDITIONS\": 12231,\n      \"▁dreams\": 12232,\n      \"▁minim\": 12233,\n      \"▁employee\": 12234,\n      \"▁nap\": 12235,\n      \"▁suspect\": 12236,\n      \"Mouse\": 12237,\n      \"▁therapy\": 12238,\n      \"aval\": 12239,\n      \"▁Anth\": 12240,\n      \"START\": 12241,\n      \"sters\": 12242,\n      \"ishment\": 12243,\n      \"finite\": 12244,\n      \"WA\": 12245,\n      \"vy\": 12246,\n      \"▁mood\": 12247,\n      \"comfort\": 12248,\n      \"▁shr\": 12249,\n      \"▁decade\": 12250,\n      \"ября\": 12251,\n      \"▁'#\": 12252,\n      \"▁dot\": 12253,\n      \"▁hill\": 12254,\n      \"arry\": 12255,\n      \"catch\": 12256,\n      \"▁jQuery\": 12257,\n      \"▁corporate\": 12258,\n      \"▁BASIS\": 12259,\n      \"▁appointed\": 12260,\n      \"▁embar\": 12261,\n      \"ographie\": 12262,\n      \"▁pressed\": 12263,\n      \"▁champion\": 12264,\n      \"emit\": 12265,\n      \"▁Bed\": 12266,\n      \"вання\": 12267,\n      \"Gui\": 12268,\n      \"▁PUR\": 12269,\n      \"▁urban\": 12270,\n      \"▁sentence\": 12271,\n      \"bury\": 12272,\n      \"▁Video\": 12273,\n      \"▁regularly\": 12274,\n      \"vl\": 12275,\n      \"▁слу\": 12276,\n      \"ockey\": 12277,\n      \"evin\": 12278,\n      \"ultural\": 12279,\n      \"▁passage\": 12280,\n      \"▁состав\": 12281,\n      \"▁largely\": 12282,\n      \"orters\": 12283,\n      \"▁connections\": 12284,\n      \"▁surprising\": 12285,\n      \"bc\": 12286,\n      \"▁strongly\": 12287,\n      \"ansas\": 12288,\n      \"▁sist\": 12289,\n      \"▁extreme\": 12290,\n      \"whel\": 12291,\n      \"▁dealing\": 12292,\n      \"ographic\": 12293,\n      \"▁Republican\": 12294,\n      \"▁granted\": 12295,\n      \"▁CL\": 12296,\n      \"▁Hope\": 12297,\n      \"lessly\": 12298,\n      \"▁upload\": 12299,\n      \"▁-\\\\\": 12300,\n      \"нию\": 12301,\n      \"▁valuable\": 12302,\n      \"=[\": 12303,\n      \"Price\": 12304,\n      \"issance\": 12305,\n      \"iens\": 12306,\n      \"heit\": 12307,\n      \"▁suggests\": 12308,\n      \"сло\": 12309,\n      \"▁jur\": 12310,\n      \"}|\": 12311,\n      \"lp\": 12312,\n      \"▁invited\": 12313,\n      \"▁deriv\": 12314,\n      \"IMIT\": 12315,\n      \"rass\": 12316,\n      \"▁instruct\": 12317,\n      \"▁courses\": 12318,\n      \"äch\": 12319,\n      \"▁fifty\": 12320,\n      \"DEVICE\": 12321,\n      \"ASH\": 12322,\n      \"▁hip\": 12323,\n      \"Unknown\": 12324,\n      \"▁Catalogue\": 12325,\n      \"▁Roll\": 12326,\n      \"▁tensor\": 12327,\n      \"bec\": 12328,\n      \"été\": 12329,\n      \"Identity\": 12330,\n      \"&\\\\\": 12331,\n      \"▁Stephen\": 12332,\n      \"nodes\": 12333,\n      \"Dim\": 12334,\n      \"▁consists\": 12335,\n      \"▁normally\": 12336,\n      \"ubl\": 12337,\n      \"▁Police\": 12338,\n      \"▁Games\": 12339,\n      \"five\": 12340,\n      \"Have\": 12341,\n      \"▁padding\": 12342,\n      \"eres\": 12343,\n      \"anth\": 12344,\n      \"▁puts\": 12345,\n      \"uminate\": 12346,\n      \"ovie\": 12347,\n      \"▁Index\": 12348,\n      \"blue\": 12349,\n      \"Scal\": 12350,\n      \"▁giant\": 12351,\n      \"TF\": 12352,\n      \"pson\": 12353,\n      \"▁victim\": 12354,\n      \"serial\": 12355,\n      \"▁Sym\": 12356,\n      \"Single\": 12357,\n      \"▁md\": 12358,\n      \"▁attended\": 12359,\n      \"▁Stra\": 12360,\n      \"▁Dark\": 12361,\n      \")|\": 12362,\n      \"▁span\": 12363,\n      \"▁maintenance\": 12364,\n      \"▁bind\": 12365,\n      \"Bean\": 12366,\n      \"ilarly\": 12367,\n      \"▁convent\": 12368,\n      \"▁José\": 12369,\n      \"udd\": 12370,\n      \"▁poly\": 12371,\n      \"▁idx\": 12372,\n      \"▁asks\": 12373,\n      \"▁enthus\": 12374,\n      \"▁suck\": 12375,\n      \"▁Cou\": 12376,\n      \"▁Corporation\": 12377,\n      \"usions\": 12378,\n      \"opher\": 12379,\n      \"▁symptoms\": 12380,\n      \"▁Johann\": 12381,\n      \"▁пу\": 12382,\n      \"▁html\": 12383,\n      \"▁ps\": 12384,\n      \"earing\": 12385,\n      \"gesch\": 12386,\n      \"▁Mother\": 12387,\n      \"RET\": 12388,\n      \"▁furniture\": 12389,\n      \"PF\": 12390,\n      \"▁Guard\": 12391,\n      \"pattern\": 12392,\n      \"▁lovely\": 12393,\n      \"alg\": 12394,\n      \"edly\": 12395,\n      \"sex\": 12396,\n      \"▁finds\": 12397,\n      \"Buf\": 12398,\n      \"▁над\": 12399,\n      \"▁км\": 12400,\n      \"▁Por\": 12401,\n      \"СР\": 12402,\n      \"Enter\": 12403,\n      \"▁esta\": 12404,\n      \"▁тре\": 12405,\n      \"▁\\\"*\": 12406,\n      \"▁Fox\": 12407,\n      \"▁cock\": 12408,\n      \"Bundle\": 12409,\n      \"▁puis\": 12410,\n      \"▁announce\": 12411,\n      \"▁guid\": 12412,\n      \"checked\": 12413,\n      \"icide\": 12414,\n      \"neg\": 12415,\n      \"▁Gil\": 12416,\n      \"schen\": 12417,\n      \"ologist\": 12418,\n      \"iso\": 12419,\n      \"groups\": 12420,\n      \"▁somebody\": 12421,\n      \"Day\": 12422,\n      \"tras\": 12423,\n      \"▁compact\": 12424,\n      \"▁organized\": 12425,\n      \"▁roles\": 12426,\n      \"▁hint\": 12427,\n      \"▁så\": 12428,\n      \"▁pays\": 12429,\n      \"▁Си\": 12430,\n      \"▁hoped\": 12431,\n      \"▁sail\": 12432,\n      \"▁Vers\": 12433,\n      \"▁embr\": 12434,\n      \"▁bot\": 12435,\n      \"▁exceed\": 12436,\n      \"BACK\": 12437,\n      \"▁gaze\": 12438,\n      \"▁spons\": 12439,\n      \"AST\": 12440,\n      \"▁torch\": 12441,\n      \"▁newspaper\": 12442,\n      \"▁Dist\": 12443,\n      \"▁bass\": 12444,\n      \"▁hanging\": 12445,\n      \"▁ears\": 12446,\n      \"ńsk\": 12447,\n      \"getValue\": 12448,\n      \"▁unus\": 12449,\n      \"▁Ele\": 12450,\n      \"services\": 12451,\n      \"▁dressed\": 12452,\n      \"lav\": 12453,\n      \"▁пла\": 12454,\n      \"Private\": 12455,\n      \"mic\": 12456,\n      \"▁parser\": 12457,\n      \"▁sections\": 12458,\n      \"▁fo\": 12459,\n      \"Errorf\": 12460,\n      \"inz\": 12461,\n      \"örd\": 12462,\n      \"▁metric\": 12463,\n      \"URI\": 12464,\n      \"▁vice\": 12465,\n      \"RED\": 12466,\n      \"▁nue\": 12467,\n      \"revs\": 12468,\n      \"▁collected\": 12469,\n      \"oose\": 12470,\n      \"▁mond\": 12471,\n      \"▁nas\": 12472,\n      \"▁Насе\": 12473,\n      \"▁å\": 12474,\n      \"Drop\": 12475,\n      \"▁abuse\": 12476,\n      \"▁sees\": 12477,\n      \"▁Hence\": 12478,\n      \"exec\": 12479,\n      \"}\\\\,\": 12480,\n      \"▁arbitr\": 12481,\n      \"▁Application\": 12482,\n      \"family\": 12483,\n      \"üd\": 12484,\n      \"▁magnetic\": 12485,\n      \"▁newly\": 12486,\n      \"▁reprodu\": 12487,\n      \"▁writers\": 12488,\n      \"▁headers\": 12489,\n      \"ší\": 12490,\n      \"рт\": 12491,\n      \"YPE\": 12492,\n      \"▁schema\": 12493,\n      \"▁Ce\": 12494,\n      \"▁Jews\": 12495,\n      \"▁Record\": 12496,\n      \"present\": 12497,\n      \"▁также\": 12498,\n      \"▁labels\": 12499,\n      \"Socket\": 12500,\n      \"▁equations\": 12501,\n      \"▁medicine\": 12502,\n      \"▁authorities\": 12503,\n      \"}`\": 12504,\n      \"стви\": 12505,\n      \"▁Corn\": 12506,\n      \"▁environmental\": 12507,\n      \"WARE\": 12508,\n      \"Mer\": 12509,\n      \"▁само\": 12510,\n      \"▁Technology\": 12511,\n      \"▁Saf\": 12512,\n      \"▁conn\": 12513,\n      \"▁Um\": 12514,\n      \"▁Pacific\": 12515,\n      \"тел\": 12516,\n      \"jan\": 12517,\n      \"▁uncertain\": 12518,\n      \"▁belief\": 12519,\n      \"counter\": 12520,\n      \"toBe\": 12521,\n      \"INS\": 12522,\n      \"weet\": 12523,\n      \"Light\": 12524,\n      \"primary\": 12525,\n      \"▁featured\": 12526,\n      \"▁touched\": 12527,\n      \"HTTP\": 12528,\n      \"▁tact\": 12529,\n      \"pository\": 12530,\n      \"▁eines\": 12531,\n      \"lass\": 12532,\n      \"ська\": 12533,\n      \"▁przez\": 12534,\n      \"▁fuer\": 12535,\n      \"▁exciting\": 12536,\n      \"▁Cub\": 12537,\n      \"agan\": 12538,\n      \"VO\": 12539,\n      \"▁'%\": 12540,\n      \"▁\\\\{\": 12541,\n      \"ubble\": 12542,\n      \"▁Fol\": 12543,\n      \"▁Kong\": 12544,\n      \"▁versch\": 12545,\n      \"FAIL\": 12546,\n      \"▁naar\": 12547,\n      \"ös\": 12548,\n      \"speed\": 12549,\n      \"▁territor\": 12550,\n      \"▁wrap\": 12551,\n      \"▁Jahre\": 12552,\n      \"lee\": 12553,\n      \"▁crossed\": 12554,\n      \"resolve\": 12555,\n      \"▁stim\": 12556,\n      \"Native\": 12557,\n      \"ursor\": 12558,\n      \"NotNull\": 12559,\n      \"▁Albert\": 12560,\n      \"▁signature\": 12561,\n      \"▁Ru\": 12562,\n      \"idas\": 12563,\n      \"▁decent\": 12564,\n      \"▁faced\": 12565,\n      \"▁лю\": 12566,\n      \"▁Spain\": 12567,\n      \"▁resistance\": 12568,\n      \"▁Brian\": 12569,\n      \"kwargs\": 12570,\n      \"▁interval\": 12571,\n      \"▁Ле\": 12572,\n      \"▁explo\": 12573,\n      \"▁semi\": 12574,\n      \"▁widely\": 12575,\n      \"dx\": 12576,\n      \"kov\": 12577,\n      \"▁Come\": 12578,\n      \"▁knife\": 12579,\n      \"Asp\": 12580,\n      \"uno\": 12581,\n      \"lineto\": 12582,\n      \"▁Bund\": 12583,\n      \"Cert\": 12584,\n      \"▁todo\": 12585,\n      \"tags\": 12586,\n      \"▁guarantee\": 12587,\n      \"▁vital\": 12588,\n      \"▁fought\": 12589,\n      \"▁Env\": 12590,\n      \"HD\": 12591,\n      \"Lower\": 12592,\n      \"Tx\": 12593,\n      \"▁Fa\": 12594,\n      \"▁anticip\": 12595,\n      \"Timer\": 12596,\n      \"mediate\": 12597,\n      \"▁proven\": 12598,\n      \"▁partir\": 12599,\n      \"AE\": 12600,\n      \"cursor\": 12601,\n      \"▁wooden\": 12602,\n      \"▁Contact\": 12603,\n      \"regs\": 12604,\n      \"▁provinc\": 12605,\n      \"▁DC\": 12606,\n      \"▁memories\": 12607,\n      \"▁ft\": 12608,\n      \"▁battery\": 12609,\n      \"utenant\": 12610,\n      \"Login\": 12611,\n      \"ountry\": 12612,\n      \"▁compens\": 12613,\n      \"operatorname\": 12614,\n      \"▁Jacob\": 12615,\n      \"zed\": 12616,\n      \"ADDR\": 12617,\n      \"▁quad\": 12618,\n      \"*).\": 12619,\n      \"▁coat\": 12620,\n      \"▁fir\": 12621,\n      \"▁Michel\": 12622,\n      \"▁Standard\": 12623,\n      \"rf\": 12624,\n      \"mel\": 12625,\n      \"▁coeff\": 12626,\n      \"▁Iraq\": 12627,\n      \"▁Given\": 12628,\n      \"нима\": 12629,\n      \"▁FIT\": 12630,\n      \"▁peu\": 12631,\n      \"▁ig\": 12632,\n      \"▁Case\": 12633,\n      \"mé\": 12634,\n      \"▁parallel\": 12635,\n      \"cio\": 12636,\n      \"kow\": 12637,\n      \"▁institutions\": 12638,\n      \"ícul\": 12639,\n      \"aban\": 12640,\n      \"UX\": 12641,\n      \"▁Sarah\": 12642,\n      \"▁més\": 12643,\n      \"▁atmos\": 12644,\n      \"▁släktet\": 12645,\n      \"▁brothers\": 12646,\n      \"▁wanting\": 12647,\n      \"aaaa\": 12648,\n      \"▁fest\": 12649,\n      \"=-\": 12650,\n      \"▁forty\": 12651,\n      \"▁creates\": 12652,\n      \"hh\": 12653,\n      \"▁Android\": 12654,\n      \"anches\": 12655,\n      \"BT\": 12656,\n      \"upload\": 12657,\n      \"xis\": 12658,\n      \"Hz\": 12659,\n      \"бор\": 12660,\n      \"RAY\": 12661,\n      \"ntil\": 12662,\n      \"▁leaned\": 12663,\n      \"unda\": 12664,\n      \"▁ultimately\": 12665,\n      \"▁tok\": 12666,\n      \"neh\": 12667,\n      \"▁lawyer\": 12668,\n      \"hend\": 12669,\n      \"▁Vin\": 12670,\n      \"▁facility\": 12671,\n      \"▁likes\": 12672,\n      \"ento\": 12673,\n      \"Nodes\": 12674,\n      \"▁entrance\": 12675,\n      \"atto\": 12676,\n      \"rett\": 12677,\n      \"accept\": 12678,\n      \"theme\": 12679,\n      \"тан\": 12680,\n      \"osi\": 12681,\n      \"▁{},\": 12682,\n      \"pgfpathlineto\": 12683,\n      \"good\": 12684,\n      \"slot\": 12685,\n      \"▁innoc\": 12686,\n      \"▁proport\": 12687,\n      \"▁arrive\": 12688,\n      \"ého\": 12689,\n      \"▁pairs\": 12690,\n      \"▁wrapped\": 12691,\n      \"▁unw\": 12692,\n      \"▁explos\": 12693,\n      \"▁gel\": 12694,\n      \"Will\": 12695,\n      \"▁Zealand\": 12696,\n      \"ías\": 12697,\n      \"▁Jr\": 12698,\n      \"▁Fra\": 12699,\n      \"▁legit\": 12700,\n      \"▁illegal\": 12701,\n      \"клю\": 12702,\n      \"▁tort\": 12703,\n      \"▁pron\": 12704,\n      \"Fi\": 12705,\n      \"▁forg\": 12706,\n      \"export\": 12707,\n      \"▁Children\": 12708,\n      \"▁Abs\": 12709,\n      \"▁Send\": 12710,\n      \"▁discount\": 12711,\n      \"▁poster\": 12712,\n      \"ented\": 12713,\n      \"anim\": 12714,\n      \"verb\": 12715,\n      \"sto\": 12716,\n      \"▁Bible\": 12717,\n      \"pending\": 12718,\n      \"▁Phot\": 12719,\n      \"strap\": 12720,\n      \"ieron\": 12721,\n      \"PG\": 12722,\n      \"cular\": 12723,\n      \"crit\": 12724,\n      \"urd\": 12725,\n      \"ENO\": 12726,\n      \"▁northern\": 12727,\n      \"▁naturally\": 12728,\n      \"<'\": 12729,\n      \"weg\": 12730,\n      \"▁drunk\": 12731,\n      \"▁Dal\": 12732,\n      \"▁mouse\": 12733,\n      \"▁continuous\": 12734,\n      \"▁initially\": 12735,\n      \"agu\": 12736,\n      \"мпи\": 12737,\n      \"ANT\": 12738,\n      \"Div\": 12739,\n      \"▁recording\": 12740,\n      \"Bind\": 12741,\n      \"▁correctly\": 12742,\n      \"initial\": 12743,\n      \"▁Rights\": 12744,\n      \"▁debate\": 12745,\n      \"WRITE\": 12746,\n      \"built\": 12747,\n      \"▁permit\": 12748,\n      \"▁professionals\": 12749,\n      \"cv\": 12750,\n      \"▁DI\": 12751,\n      \"▁handed\": 12752,\n      \"▁Cu\": 12753,\n      \"▁Hospital\": 12754,\n      \"▁beskrevs\": 12755,\n      \"ней\": 12756,\n      \"ност\": 12757,\n      \"▁anxiety\": 12758,\n      \"▁heavily\": 12759,\n      \"▁Var\": 12760,\n      \"▁dispos\": 12761,\n      \"+\\\"\": 12762,\n      \"▁Ever\": 12763,\n      \"izon\": 12764,\n      \"▁operators\": 12765,\n      \"nego\": 12766,\n      \"▁Bry\": 12767,\n      \"▁votes\": 12768,\n      \"izione\": 12769,\n      \"▁рай\": 12770,\n      \"▁feat\": 12771,\n      \"▁western\": 12772,\n      \"▁confront\": 12773,\n      \"▁stronger\": 12774,\n      \"▁фа\": 12775,\n      \"stre\": 12776,\n      \"▁Valid\": 12777,\n      \"▁nad\": 12778,\n      \"▁checking\": 12779,\n      \"▁birds\": 12780,\n      \"▁Northern\": 12781,\n      \"▁intention\": 12782,\n      \"uce\": 12783,\n      \"▁covers\": 12784,\n      \"▁wondering\": 12785,\n      \"▁Optional\": 12786,\n      \"protocol\": 12787,\n      \"▁aggress\": 12788,\n      \"——\": 12789,\n      \"Vec\": 12790,\n      \"▁dates\": 12791,\n      \"quot\": 12792,\n      \"▁bom\": 12793,\n      \"▁scan\": 12794,\n      \"▁Item\": 12795,\n      \"▁Navy\": 12796,\n      \"▁Gran\": 12797,\n      \"▁everybody\": 12798,\n      \"▁unexpected\": 12799,\n      \"▁divor\": 12800,\n      \"▁ease\": 12801,\n      \"umbled\": 12802,\n      \"^+\": 12803,\n      \"cuss\": 12804,\n      \"▁pale\": 12805,\n      \"▁Inga\": 12806,\n      \"▁Broad\": 12807,\n      \"▁Medic\": 12808,\n      \"▁Roy\": 12809,\n      \"▁Inn\": 12810,\n      \"▁pens\": 12811,\n      \"PN\": 12812,\n      \".:\": 12813,\n      \"▁principle\": 12814,\n      \"▁letting\": 12815,\n      \"▁conducted\": 12816,\n      \"FALSE\": 12817,\n      \"▁OS\": 12818,\n      \"Focus\": 12819,\n      \"▁measured\": 12820,\n      \"▁Democratic\": 12821,\n      \"High\": 12822,\n      \"▁pré\": 12823,\n      \"ennes\": 12824,\n      \"▁indicates\": 12825,\n      \"▁ending\": 12826,\n      \"▁Small\": 12827,\n      \"▁<!--\": 12828,\n      \"▁encourage\": 12829,\n      \"▁Holy\": 12830,\n      \"loader\": 12831,\n      \"▁efficiency\": 12832,\n      \"▁\\\"${\": 12833,\n      \"tle\": 12834,\n      \"GEN\": 12835,\n      \"▁diverse\": 12836,\n      \"▁wallet\": 12837,\n      \"▁Edit\": 12838,\n      \"▁earned\": 12839,\n      \"▁Wol\": 12840,\n      \"uw\": 12841,\n      \"▁ui\": 12842,\n      \"ifs\": 12843,\n      \"atin\": 12844,\n      \"▁fees\": 12845,\n      \"▁pleased\": 12846,\n      \"▁suffered\": 12847,\n      \"closed\": 12848,\n      \"ánd\": 12849,\n      \"▁participants\": 12850,\n      \"▁legend\": 12851,\n      \"▁handling\": 12852,\n      \"CHANT\": 12853,\n      \"git\": 12854,\n      \"usters\": 12855,\n      \"clude\": 12856,\n      \"▁tap\": 12857,\n      \"▁assets\": 12858,\n      \"▁outer\": 12859,\n      \"▁Personal\": 12860,\n      \"▁blev\": 12861,\n      \"Condition\": 12862,\n      \"▁sleeping\": 12863,\n      \"▁warranty\": 12864,\n      \"eries\": 12865,\n      \"▁domestic\": 12866,\n      \"▁Eric\": 12867,\n      \"bie\": 12868,\n      \"▁searching\": 12869,\n      \"▁Liter\": 12870,\n      \"BM\": 12871,\n      \"▁underarter\": 12872,\n      \"pués\": 12873,\n      \"izar\": 12874,\n      \"▁Sure\": 12875,\n      \"▁Indeed\": 12876,\n      \"▁Tool\": 12877,\n      \"▁PURPOSE\": 12878,\n      \"▁approved\": 12879,\n      \"oned\": 12880,\n      \"▁compute\": 12881,\n      \"▁ridic\": 12882,\n      \"▁ki\": 12883,\n      \"igd\": 12884,\n      \"**)\": 12885,\n      \"▁conclusion\": 12886,\n      \"}}{\\\\\": 12887,\n      \"▁controlled\": 12888,\n      \"IZ\": 12889,\n      \"ität\": 12890,\n      \"rieve\": 12891,\n      \"▁birthday\": 12892,\n      \"▁lin\": 12893,\n      \"UG\": 12894,\n      \"assign\": 12895,\n      \"▁advertising\": 12896,\n      \"ussian\": 12897,\n      \"ionale\": 12898,\n      \"▁resid\": 12899,\n      \"}}(\": 12900,\n      \"▁inline\": 12901,\n      \"▁ки\": 12902,\n      \"▁informed\": 12903,\n      \"▁kter\": 12904,\n      \"▁documentation\": 12905,\n      \"▁Brad\": 12906,\n      \"▁regardless\": 12907,\n      \"▁statements\": 12908,\n      \"plications\": 12909,\n      \"▁attitude\": 12910,\n      \"pipe\": 12911,\n      \"zw\": 12912,\n      \"▁Cher\": 12913,\n      \"formed\": 12914,\n      \"ATCH\": 12915,\n      \"▁whispered\": 12916,\n      \"▁privacy\": 12917,\n      \"lights\": 12918,\n      \"\\\\'\": 12919,\n      \"▁persons\": 12920,\n      \"▁generic\": 12921,\n      \"amount\": 12922,\n      \"iences\": 12923,\n      \"▁paths\": 12924,\n      \"▁Tok\": 12925,\n      \"Services\": 12926,\n      \"dump\": 12927,\n      \"onymous\": 12928,\n      \"гла\": 12929,\n      \"▁pap\": 12930,\n      \"▁XX\": 12931,\n      \"chat\": 12932,\n      \"▁worker\": 12933,\n      \"Ign\": 12934,\n      \"▁Ге\": 12935,\n      \"Volume\": 12936,\n      \"▁pink\": 12937,\n      \"who\": 12938,\n      \"inar\": 12939,\n      \"archy\": 12940,\n      \"'));\": 12941,\n      \"▁PARTIC\": 12942,\n      \"▁donde\": 12943,\n      \"▁tags\": 12944,\n      \"▁loose\": 12945,\n      \"▁вер\": 12946,\n      \"▁reputation\": 12947,\n      \"▁Prom\": 12948,\n      \"allowed\": 12949,\n      \"▁rif\": 12950,\n      \"▁égal\": 12951,\n      \"▁county\": 12952,\n      \"lesh\": 12953,\n      \"Press\": 12954,\n      \"tober\": 12955,\n      \"omy\": 12956,\n      \"▁comprehens\": 12957,\n      \"▁transformation\": 12958,\n      \"прав\": 12959,\n      \"▁Being\": 12960,\n      \"mc\": 12961,\n      \"▁fallen\": 12962,\n      \"▁Marie\": 12963,\n      \"▁ib\": 12964,\n      \"umi\": 12965,\n      \"▁Hong\": 12966,\n      \"▁sink\": 12967,\n      \"▁цент\": 12968,\n      \"▁Feder\": 12969,\n      \">)\": 12970,\n      \"▁quel\": 12971,\n      \"▁Га\": 12972,\n      \"Ty\": 12973,\n      \"▁temps\": 12974,\n      \"▁ghost\": 12975,\n      \"Material\": 12976,\n      \"ERCHANT\": 12977,\n      \"pointer\": 12978,\n      \"жда\": 12979,\n      \"aha\": 12980,\n      \"ulf\": 12981,\n      \"▁supplement\": 12982,\n      \"▁dismiss\": 12983,\n      \"▁closing\": 12984,\n      \"▁vulner\": 12985,\n      \"▁après\": 12986,\n      \"▁overwhel\": 12987,\n      \"ское\": 12988,\n      \"▁disag\": 12989,\n      \"acia\": 12990,\n      \"oured\": 12991,\n      \"ruption\": 12992,\n      \"▁PS\": 12993,\n      \"Endpoint\": 12994,\n      \"Real\": 12995,\n      \"▁Tag\": 12996,\n      \"▁stairs\": 12997,\n      \"lyn\": 12998,\n      \"▁eleg\": 12999,\n      \"▁veter\": 13000,\n      \"factory\": 13001,\n      \"anne\": 13002,\n      \"▁Bat\": 13003,\n      \"▁franc\": 13004,\n      \"lung\": 13005,\n      \"▁\\\"'\": 13006,\n      \".',\": 13007,\n      \"▁Country\": 13008,\n      \"^{[\": 13009,\n      \"▁yours\": 13010,\n      \"ailability\": 13011,\n      \"Clear\": 13012,\n      \"ätt\": 13013,\n      \"пис\": 13014,\n      \"▁joke\": 13015,\n      \"▁annoy\": 13016,\n      \"▁rag\": 13017,\n      \"vari\": 13018,\n      \"лекс\": 13019,\n      \"▁Psy\": 13020,\n      \"ilty\": 13021,\n      \"mount\": 13022,\n      \"▁cual\": 13023,\n      \"▁solar\": 13024,\n      \"}^{(\": 13025,\n      \"Short\": 13026,\n      \"▁taxes\": 13027,\n      \"Append\": 13028,\n      \"Win\": 13029,\n      \"estyle\": 13030,\n      \"▁facil\": 13031,\n      \"вро\": 13032,\n      \"▁sought\": 13033,\n      \"▁bare\": 13034,\n      \"▁react\": 13035,\n      \"jar\": 13036,\n      \"MAC\": 13037,\n      \"lov\": 13038,\n      \"warn\": 13039,\n      \"▁crucial\": 13040,\n      \"▁museum\": 13041,\n      \"ниц\": 13042,\n      \"▁Kent\": 13043,\n      \"Maybe\": 13044,\n      \"▁bike\": 13045,\n      \"▁Address\": 13046,\n      \"XML\": 13047,\n      \"▁admitted\": 13048,\n      \"▁$(\\\\\": 13049,\n      \"▁spell\": 13050,\n      \"▁vic\": 13051,\n      \"gre\": 13052,\n      \"▁proc\": 13053,\n      \"theless\": 13054,\n      \"▁Nom\": 13055,\n      \"▁Rail\": 13056,\n      \"▁acceler\": 13057,\n      \"▁convin\": 13058,\n      \"▁Property\": 13059,\n      \"▁DA\": 13060,\n      \"▁clip\": 13061,\n      \"▁plugin\": 13062,\n      \"Limit\": 13063,\n      \"views\": 13064,\n      \"bru\": 13065,\n      \"▁pra\": 13066,\n      \"▁ak\": 13067,\n      \"▁ej\": 13068,\n      \"▁opts\": 13069,\n      \"▁slip\": 13070,\n      \"▁gang\": 13071,\n      \"asted\": 13072,\n      \"uals\": 13073,\n      \"▁dying\": 13074,\n      \"Coll\": 13075,\n      \"ammen\": 13076,\n      \"▁Policy\": 13077,\n      \"ERCHANTABILITY\": 13078,\n      \"▁Collection\": 13079,\n      \"▁vec\": 13080,\n      \"▁Dick\": 13081,\n      \"stud\": 13082,\n      \"▁layers\": 13083,\n      \"▁tied\": 13084,\n      \"}\\\\\\\\\": 13085,\n      \"▁alors\": 13086,\n      \"▁jou\": 13087,\n      \"▁chicken\": 13088,\n      \"▁permanent\": 13089,\n      \"▁Everything\": 13090,\n      \"▁Low\": 13091,\n      \"▁Cook\": 13092,\n      \"▁peak\": 13093,\n      \"▁PARTICULAR\": 13094,\n      \"▁dear\": 13095,\n      \"ič\": 13096,\n      \"▁introduce\": 13097,\n      \"▁causing\": 13098,\n      \"писа\": 13099,\n      \"Bound\": 13100,\n      \"hund\": 13101,\n      \"multi\": 13102,\n      \"▁pare\": 13103,\n      \"annt\": 13104,\n      \"▁breat\": 13105,\n      \"▁commitment\": 13106,\n      \"▁increasingly\": 13107,\n      \"кой\": 13108,\n      \"▁Friend\": 13109,\n      \"▁statistics\": 13110,\n      \"▁Manager\": 13111,\n      \"plicate\": 13112,\n      \"Cloud\": 13113,\n      \"aci\": 13114,\n      \"▁Conference\": 13115,\n      \"Span\": 13116,\n      \"▁CEO\": 13117,\n      \"▁Wait\": 13118,\n      \"▁Ober\": 13119,\n      \"ifting\": 13120,\n      \"imiento\": 13121,\n      \"getElement\": 13122,\n      \"▁gle\": 13123,\n      \"лия\": 13124,\n      \"▁wieder\": 13125,\n      \"▁instruction\": 13126,\n      \"gly\": 13127,\n      \"▁blame\": 13128,\n      \"▁listade\": 13129,\n      \"▁aapt\": 13130,\n      \"▁Lewis\": 13131,\n      \"Fragment\": 13132,\n      \"▁gear\": 13133,\n      \"mill\": 13134,\n      \"prod\": 13135,\n      \"▁burning\": 13136,\n      \"ється\": 13137,\n      \"▁mé\": 13138,\n      \"ène\": 13139,\n      \"▁complicated\": 13140,\n      \"bh\": 13141,\n      \"▁Justice\": 13142,\n      \"▁tested\": 13143,\n      \"▁staring\": 13144,\n      \"▁survive\": 13145,\n      \"▁cous\": 13146,\n      \"▁rib\": 13147,\n      \"aml\": 13148,\n      \"▁Trust\": 13149,\n      \"▁cad\": 13150,\n      \"▁Terr\": 13151,\n      \"▁mapping\": 13152,\n      \"▁twelve\": 13153,\n      \"▁grant\": 13154,\n      \"▁thorough\": 13155,\n      \"▁Ü\": 13156,\n      \"▁folks\": 13157,\n      \"▁Content\": 13158,\n      \"▁childhood\": 13159,\n      \"cker\": 13160,\n      \"сно\": 13161,\n      \"RECT\": 13162,\n      \"▁finale\": 13163,\n      \"▁shower\": 13164,\n      \"éric\": 13165,\n      \"▁spat\": 13166,\n      \"odge\": 13167,\n      \"рь\": 13168,\n      \"▁pes\": 13169,\n      \"eda\": 13170,\n      \"Db\": 13171,\n      \"▁Antonio\": 13172,\n      \"▁engaged\": 13173,\n      \"▁vess\": 13174,\n      \"vals\": 13175,\n      \"▁electronic\": 13176,\n      \"lemma\": 13177,\n      \"▁Wy\": 13178,\n      \"mad\": 13179,\n      \"merge\": 13180,\n      \"apon\": 13181,\n      \"▁privile\": 13182,\n      \"▁novembre\": 13183,\n      \"▁Sports\": 13184,\n      \"will\": 13185,\n      \"▁controls\": 13186,\n      \"▁categories\": 13187,\n      \"▁Georgia\": 13188,\n      \"ipedia\": 13189,\n      \"▁AV\": 13190,\n      \"atori\": 13191,\n      \"▁___\": 13192,\n      \"▁À\": 13193,\n      \"▁Ryan\": 13194,\n      \"▁Charlie\": 13195,\n      \"▁исто\": 13196,\n      \"▁emotion\": 13197,\n      \"▁cooking\": 13198,\n      \"▁attempts\": 13199,\n      \"▁FITNESS\": 13200,\n      \"äter\": 13201,\n      \"Enable\": 13202,\n      \"DT\": 13203,\n      \"▁Change\": 13204,\n      \"AspNet\": 13205,\n      \"▁га\": 13206,\n      \"▁ordinary\": 13207,\n      \"▁SQL\": 13208,\n      \"plane\": 13209,\n      \"%.\": 13210,\n      \"▁Summer\": 13211,\n      \"▁avait\": 13212,\n      \"upp\": 13213,\n      \"▁illness\": 13214,\n      \"UINT\": 13215,\n      \">{\": 13216,\n      \"▁zwischen\": 13217,\n      \"▁hardware\": 13218,\n      \"▁sounded\": 13219,\n      \"equiv\": 13220,\n      \"▁piano\": 13221,\n      \"uset\": 13222,\n      \"kn\": 13223,\n      \"TRY\": 13224,\n      \"▁bab\": 13225,\n      \"нен\": 13226,\n      \"▁reliable\": 13227,\n      \"▁Bronnen\": 13228,\n      \"▁Store\": 13229,\n      \"Az\": 13230,\n      \"▁»,\": 13231,\n      \"Static\": 13232,\n      \"dw\": 13233,\n      \"green\": 13234,\n      \"▁'';\": 13235,\n      \"lij\": 13236,\n      \"eva\": 13237,\n      \"ній\": 13238,\n      \"▁Syd\": 13239,\n      \"inois\": 13240,\n      \"convert\": 13241,\n      \"▁declare\": 13242,\n      \"bres\": 13243,\n      \"INK\": 13244,\n      \"itled\": 13245,\n      \"▁accord\": 13246,\n      \"▁mars\": 13247,\n      \"Sequence\": 13248,\n      \"zip\": 13249,\n      \"▁Brazil\": 13250,\n      \"▁meetings\": 13251,\n      \"▁accuracy\": 13252,\n      \"▁Machine\": 13253,\n      \"▁autor\": 13254,\n      \"▁ainsi\": 13255,\n      \"Simple\": 13256,\n      \"Resources\": 13257,\n      \"каза\": 13258,\n      \"▁MP\": 13259,\n      \"they\": 13260,\n      \"▁Bang\": 13261,\n      \"▁eing\": 13262,\n      \"ateful\": 13263,\n      \"▁Something\": 13264,\n      \"▁upset\": 13265,\n      \"History\": 13266,\n      \"dimensional\": 13267,\n      \"▁explanation\": 13268,\n      \"▁civ\": 13269,\n      \"▁conce\": 13270,\n      \"▁köz\": 13271,\n      \"▁promised\": 13272,\n      \"жду\": 13273,\n      \"wed\": 13274,\n      \"Fore\": 13275,\n      \"Amount\": 13276,\n      \"abb\": 13277,\n      \"▁clothing\": 13278,\n      \"лись\": 13279,\n      \"oen\": 13280,\n      \"▁Print\": 13281,\n      \"▁sizes\": 13282,\n      \"▁banks\": 13283,\n      \"ribed\": 13284,\n      \"▁'../\": 13285,\n      \"FIX\": 13286,\n      \"▁Hug\": 13287,\n      \"▁zn\": 13288,\n      \"▁INT\": 13289,\n      \"▁instances\": 13290,\n      \"▁alongside\": 13291,\n      \"Namespace\": 13292,\n      \"▁renew\": 13293,\n      \"▁asc\": 13294,\n      \"▁waves\": 13295,\n      \"▁pom\": 13296,\n      \"Duration\": 13297,\n      \"days\": 13298,\n      \"$(\": 13299,\n      \"▁grabbed\": 13300,\n      \"▁surgery\": 13301,\n      \"▁restore\": 13302,\n      \"Normal\": 13303,\n      \"▁Leb\": 13304,\n      \"▁analyt\": 13305,\n      \"Literal\": 13306,\n      \"HA\": 13307,\n      \"▁shares\": 13308,\n      \"illet\": 13309,\n      \"ols\": 13310,\n      \"▁Dog\": 13311,\n      \"orno\": 13312,\n      \"▁manip\": 13313,\n      \"jav\": 13314,\n      \"▁essentially\": 13315,\n      \"▁casual\": 13316,\n      \"opl\": 13317,\n      \"▁р\": 13318,\n      \"▁SU\": 13319,\n      \"▁engineering\": 13320,\n      \"▁Prime\": 13321,\n      \"▁SW\": 13322,\n      \"▁reaching\": 13323,\n      \"▁вла\": 13324,\n      \"▁Росси\": 13325,\n      \"▁Kre\": 13326,\n      \"erry\": 13327,\n      \"▁oppon\": 13328,\n      \"program\": 13329,\n      \"emper\": 13330,\n      \"isEmpty\": 13331,\n      \"▁Unit\": 13332,\n      \"INTER\": 13333,\n      \"ethe\": 13334,\n      \"zd\": 13335,\n      \"CUR\": 13336,\n      \"▁vm\": 13337,\n      \"conv\": 13338,\n      \"ropol\": 13339,\n      \"▁Coast\": 13340,\n      \"▁Select\": 13341,\n      \"▁была\": 13342,\n      \"▁Ve\": 13343,\n      \"owy\": 13344,\n      \"▁myth\": 13345,\n      \"ceptions\": 13346,\n      \"classes\": 13347,\n      \"▁worden\": 13348,\n      \"▁assault\": 13349,\n      \"▁dual\": 13350,\n      \"ORK\": 13351,\n      \"▁inches\": 13352,\n      \"▁FA\": 13353,\n      \"▁Station\": 13354,\n      \"▁personality\": 13355,\n      \"▁scar\": 13356,\n      \"▁regime\": 13357,\n      \"▁noten\": 13358,\n      \"▁rural\": 13359,\n      \"iza\": 13360,\n      \"Audio\": 13361,\n      \"▁disput\": 13362,\n      \"▁aver\": 13363,\n      \"▁obst\": 13364,\n      \"▁Region\": 13365,\n      \"utf\": 13366,\n      \"▁Cass\": 13367,\n      \"hspace\": 13368,\n      \"▁shipping\": 13369,\n      \"iko\": 13370,\n      \"icked\": 13371,\n      \"numer\": 13372,\n      \"дна\": 13373,\n      \"riel\": 13374,\n      \"disabled\": 13375,\n      \"opol\": 13376,\n      \"looking\": 13377,\n      \"▁classical\": 13378,\n      \"▁constructed\": 13379,\n      \"▁referenties\": 13380,\n      \"]+\": 13381,\n      \"▁captured\": 13382,\n      \"▁minimal\": 13383,\n      \"▁sock\": 13384,\n      \"father\": 13385,\n      \"isión\": 13386,\n      \"▁equally\": 13387,\n      \"▁reduction\": 13388,\n      \"Ant\": 13389,\n      \"aison\": 13390,\n      \"▁argue\": 13391,\n      \"circle\": 13392,\n      \"▁toler\": 13393,\n      \"}\\\",\": 13394,\n      \"▁primarily\": 13395,\n      \"usal\": 13396,\n      \"▁algebra\": 13397,\n      \"▁gathered\": 13398,\n      \"▁Remember\": 13399,\n      \"_);\": 13400,\n      \"UTE\": 13401,\n      \"▁Kit\": 13402,\n      \"Sy\": 13403,\n      \"HEAD\": 13404,\n      \"▁recipe\": 13405,\n      \"▁scenario\": 13406,\n      \"▁Following\": 13407,\n      \"VAR\": 13408,\n      \"▁yard\": 13409,\n      \"▁stad\": 13410,\n      \"*(\": 13411,\n      \"▁validate\": 13412,\n      \"DEX\": 13413,\n      \"▁committee\": 13414,\n      \"▁temporary\": 13415,\n      \"▁consequences\": 13416,\n      \"▁également\": 13417,\n      \"ктив\": 13418,\n      \"▁ra\": 13419,\n      \"▁displ\": 13420,\n      \"▁apps\": 13421,\n      \"▁Teil\": 13422,\n      \"▁».\": 13423,\n      \"▁adopted\": 13424,\n      \"tensor\": 13425,\n      \"▁femin\": 13426,\n      \"▁мар\": 13427,\n      \"логи\": 13428,\n      \"tech\": 13429,\n      \"▁Rot\": 13430,\n      \"▁knees\": 13431,\n      \"phys\": 13432,\n      \"owej\": 13433,\n      \"▁Oxford\": 13434,\n      \"анд\": 13435,\n      \"hell\": 13436,\n      \"ografia\": 13437,\n      \"▁exposed\": 13438,\n      \"ktop\": 13439,\n      \"oby\": 13440,\n      \"lower\": 13441,\n      \"▁Senate\": 13442,\n      \"▁sword\": 13443,\n      \"Flow\": 13444,\n      \"▁Unfortunately\": 13445,\n      \"▁boxes\": 13446,\n      \"▁cuando\": 13447,\n      \"▁pilot\": 13448,\n      \"▁Album\": 13449,\n      \"Bal\": 13450,\n      \"Sort\": 13451,\n      \"FIELD\": 13452,\n      \"▁desert\": 13453,\n      \"COMM\": 13454,\n      \"rons\": 13455,\n      \"adows\": 13456,\n      \"▁loyal\": 13457,\n      \"▁asset\": 13458,\n      \"▁mud\": 13459,\n      \"фа\": 13460,\n      \"▁secondary\": 13461,\n      \"▁Ар\": 13462,\n      \"▁cul\": 13463,\n      \"▁Asian\": 13464,\n      \"▁staying\": 13465,\n      \"▁dataset\": 13466,\n      \"▁USE\": 13467,\n      \"▁loves\": 13468,\n      \"▁velocity\": 13469,\n      \"áv\": 13470,\n      \"▁purchased\": 13471,\n      \"SOC\": 13472,\n      \"▁competitive\": 13473,\n      \"▁Football\": 13474,\n      \"iska\": 13475,\n      \"▁knock\": 13476,\n      \"stairs\": 13477,\n      \"azy\": 13478,\n      \"▁vend\": 13479,\n      \"▁arts\": 13480,\n      \"▁Bras\": 13481,\n      \"uela\": 13482,\n      \"кто\": 13483,\n      \"trim\": 13484,\n      \"▁dirty\": 13485,\n      \"▁websites\": 13486,\n      \"▁Indep\": 13487,\n      \"▁стра\": 13488,\n      \"sr\": 13489,\n      \"▁ticket\": 13490,\n      \"atile\": 13491,\n      \"▁implemented\": 13492,\n      \"▁время\": 13493,\n      \"▁bowl\": 13494,\n      \"DATE\": 13495,\n      \"▁alter\": 13496,\n      \"▁Space\": 13497,\n      \"▁accompan\": 13498,\n      \"ordon\": 13499,\n      \"▁doctors\": 13500,\n      \"istas\": 13501,\n      \"Cast\": 13502,\n      \"дом\": 13503,\n      \"CTL\": 13504,\n      \"urers\": 13505,\n      \"▁ingredients\": 13506,\n      \"▁calculated\": 13507,\n      \"▁leather\": 13508,\n      \"▁sensitive\": 13509,\n      \"▁suspic\": 13510,\n      \"stan\": 13511,\n      \"▁anni\": 13512,\n      \"await\": 13513,\n      \"▁Franç\": 13514,\n      \"▁abort\": 13515,\n      \"▁Spirit\": 13516,\n      \"▁Walter\": 13517,\n      \"unkt\": 13518,\n      \"▁vertical\": 13519,\n      \"ORS\": 13520,\n      \"best\": 13521,\n      \"▁Client\": 13522,\n      \"itated\": 13523,\n      \"▁ва\": 13524,\n      \"▁Č\": 13525,\n      \"▁ville\": 13526,\n      \"▁diplom\": 13527,\n      \"orne\": 13528,\n      \"▁bars\": 13529,\n      \"Uri\": 13530,\n      \"APTER\": 13531,\n      \"pons\": 13532,\n      \"utz\": 13533,\n      \"Proto\": 13534,\n      \"▁stir\": 13535,\n      \"▁це\": 13536,\n      \"▁primer\": 13537,\n      \"igible\": 13538,\n      \"extra\": 13539,\n      \"▁Books\": 13540,\n      \"▁Bos\": 13541,\n      \"▁Et\": 13542,\n      \"▁Welt\": 13543,\n      \"▁Korea\": 13544,\n      \"рито\": 13545,\n      \"▁vibr\": 13546,\n      \"Self\": 13547,\n      \"linear\": 13548,\n      \"об\": 13549,\n      \"▁Lang\": 13550,\n      \"▁deeper\": 13551,\n      \"▁termin\": 13552,\n      \"enschaft\": 13553,\n      \"▁році\": 13554,\n      \"ammed\": 13555,\n      \"visible\": 13556,\n      \"▁IOException\": 13557,\n      \"▁Wind\": 13558,\n      \"usqu\": 13559,\n      \"▁Stop\": 13560,\n      \"▁орга\": 13561,\n      \"INVALID\": 13562,\n      \"▁cub\": 13563,\n      \"▁jew\": 13564,\n      \"▁captain\": 13565,\n      \"зі\": 13566,\n      \"chunk\": 13567,\n      \"apture\": 13568,\n      \"ashboard\": 13569,\n      \"▁divided\": 13570,\n      \"▁extensive\": 13571,\n      \"▁suffer\": 13572,\n      \"▁heading\": 13573,\n      \"created\": 13574,\n      \"▁quietly\": 13575,\n      \"▁ny\": 13576,\n      \"▁пол\": 13577,\n      \"\\\"+\": 13578,\n      \"ikan\": 13579,\n      \"▁designs\": 13580,\n      \"zu\": 13581,\n      \"}+\\\\\": 13582,\n      \"Operator\": 13583,\n      \"▁Lemma\": 13584,\n      \"▁нау\": 13585,\n      \"acji\": 13586,\n      \"лове\": 13587,\n      \"Servlet\": 13588,\n      \"▁Kevin\": 13589,\n      \"stage\": 13590,\n      \"bn\": 13591,\n      \"textwidth\": 13592,\n      \"failed\": 13593,\n      \"▁Staff\": 13594,\n      \"▁enem\": 13595,\n      \"unde\": 13596,\n      \"ень\": 13597,\n      \"Packet\": 13598,\n      \"▁Als\": 13599,\n      \"kar\": 13600,\n      \"]['\": 13601,\n      \"ked\": 13602,\n      \"Pers\": 13603,\n      \">::\": 13604,\n      \"▁arc\": 13605,\n      \"▁synt\": 13606,\n      \"SPE\": 13607,\n      \"▁Да\": 13608,\n      \"▁Mi\": 13609,\n      \"▁Moh\": 13610,\n      \"▁Death\": 13611,\n      \"browser\": 13612,\n      \"▁Dave\": 13613,\n      \"▁succ\": 13614,\n      \"toggle\": 13615,\n      \"▁tack\": 13616,\n      \"Comment\": 13617,\n      \"eron\": 13618,\n      \"▁awareness\": 13619,\n      \"▁hug\": 13620,\n      \"▁contemporary\": 13621,\n      \"ulating\": 13622,\n      \"▁Title\": 13623,\n      \"▁THIS\": 13624,\n      \"havior\": 13625,\n      \"rank\": 13626,\n      \"▁dozen\": 13627,\n      \"▁cheese\": 13628,\n      \"coln\": 13629,\n      \"▁radius\": 13630,\n      \"▁dimensions\": 13631,\n      \"roduction\": 13632,\n      \"▁adds\": 13633,\n      \"▁household\": 13634,\n      \"▁Davis\": 13635,\n      \"pkg\": 13636,\n      \"{$\": 13637,\n      \"▁casino\": 13638,\n      \"▁Pierre\": 13639,\n      \"▁objective\": 13640,\n      \"train\": 13641,\n      \"▁Michigan\": 13642,\n      \"payload\": 13643,\n      \"▁rug\": 13644,\n      \"▁severe\": 13645,\n      \"mean\": 13646,\n      \"▁toss\": 13647,\n      \"▁embarrass\": 13648,\n      \"▁Very\": 13649,\n      \"▁appeal\": 13650,\n      \"▁Comput\": 13651,\n      \"▁forgotten\": 13652,\n      \"▁kernel\": 13653,\n      \"▁carbon\": 13654,\n      \"fw\": 13655,\n      \"▁Су\": 13656,\n      \"▁Empire\": 13657,\n      \"▁quote\": 13658,\n      \"etz\": 13659,\n      \"▁mini\": 13660,\n      \"▁pipe\": 13661,\n      \"▁nous\": 13662,\n      \"▁Move\": 13663,\n      \"▁ду\": 13664,\n      \"▁nervous\": 13665,\n      \"▁Мар\": 13666,\n      \"*\\r\": 13667,\n      \"▁Bush\": 13668,\n      \"▁peer\": 13669,\n      \"▁Writ\": 13670,\n      \"▁satisfied\": 13671,\n      \"▁pulling\": 13672,\n      \"▁Pur\": 13673,\n      \"▁Miller\": 13674,\n      \"▁FL\": 13675,\n      \"amaz\": 13676,\n      \"▁mile\": 13677,\n      \"▁Need\": 13678,\n      \"▁supplies\": 13679,\n      \"▁año\": 13680,\n      \"▁pace\": 13681,\n      \"▁Victoria\": 13682,\n      \"▁ought\": 13683,\n      \"▁Player\": 13684,\n      \"agnostic\": 13685,\n      \"▁viv\": 13686,\n      \"▁Patrick\": 13687,\n      \"▁Š\": 13688,\n      \"▁Story\": 13689,\n      \"aca\": 13690,\n      \"▁mountains\": 13691,\n      \"CLASS\": 13692,\n      \"▁fragment\": 13693,\n      \"▁settlement\": 13694,\n      \"▁Furthermore\": 13695,\n      \"▁drivers\": 13696,\n      \"▁Ju\": 13697,\n      \"▁были\": 13698,\n      \"Rows\": 13699,\n      \"▁impression\": 13700,\n      \"▁infer\": 13701,\n      \"▁Expl\": 13702,\n      \"olute\": 13703,\n      \"ovan\": 13704,\n      \"arance\": 13705,\n      \"CAP\": 13706,\n      \"▁enforce\": 13707,\n      \"▁Burn\": 13708,\n      \"Reset\": 13709,\n      \"mother\": 13710,\n      \"▁Battle\": 13711,\n      \"padding\": 13712,\n      \"iate\": 13713,\n      \"▁cried\": 13714,\n      \"AK\": 13715,\n      \"uns\": 13716,\n      \"▁siècle\": 13717,\n      \"▁Contin\": 13718,\n      \"bank\": 13719,\n      \"junit\": 13720,\n      \"objects\": 13721,\n      \"Rot\": 13722,\n      \"issa\": 13723,\n      \"▁begun\": 13724,\n      \"*-\": 13725,\n      \"▁visiting\": 13726,\n      \"жде\": 13727,\n      \"▁targets\": 13728,\n      \"▁Latin\": 13729,\n      \"ут\": 13730,\n      \"▁Esc\": 13731,\n      \"*;\": 13732,\n      \"ång\": 13733,\n      \"▁({\": 13734,\n      \"▁diagram\": 13735,\n      \"Models\": 13736,\n      \"▁partnership\": 13737,\n      \"▁från\": 13738,\n      \"ulty\": 13739,\n      \"Pod\": 13740,\n      \"CALL\": 13741,\n      \"modal\": 13742,\n      \"sig\": 13743,\n      \"itzer\": 13744,\n      \"itel\": 13745,\n      \"▁convinced\": 13746,\n      \"abl\": 13747,\n      \"стве\": 13748,\n      \"▁cot\": 13749,\n      \"▁repeat\": 13750,\n      \"▁lists\": 13751,\n      \"sound\": 13752,\n      \"▁royal\": 13753,\n      \"▁grace\": 13754,\n      \"▁oraz\": 13755,\n      \"Notification\": 13756,\n      \"prite\": 13757,\n      \"▁arrival\": 13758,\n      \"ancell\": 13759,\n      \"hentic\": 13760,\n      \"decode\": 13761,\n      \"▁fantastic\": 13762,\n      \"progress\": 13763,\n      \"proxy\": 13764,\n      \"ző\": 13765,\n      \"kel\": 13766,\n      \"▁convenient\": 13767,\n      \"aque\": 13768,\n      \"riet\": 13769,\n      \"▁Digital\": 13770,\n      \"iors\": 13771,\n      \"▁Budd\": 13772,\n      \"andra\": 13773,\n      \"addy\": 13774,\n      \"▁overs\": 13775,\n      \"▁consumers\": 13776,\n      \"pn\": 13777,\n      \"mouse\": 13778,\n      \"▁BC\": 13779,\n      \"deg\": 13780,\n      \"perm\": 13781,\n      \"ités\": 13782,\n      \"▁испо\": 13783,\n      \"heast\": 13784,\n      \"hour\": 13785,\n      \"PARAM\": 13786,\n      \"conscious\": 13787,\n      \"▁wing\": 13788,\n      \"▁atmosphere\": 13789,\n      \"▁gig\": 13790,\n      \"▁contre\": 13791,\n      \"▁drama\": 13792,\n      \"ят\": 13793,\n      \"▁Front\": 13794,\n      \"▁philosophy\": 13795,\n      \"▁Hart\": 13796,\n      \"▁nurs\": 13797,\n      \"uras\": 13798,\n      \"▁Tru\": 13799,\n      \"▁sud\": 13800,\n      \"▁performing\": 13801,\n      \"пы\": 13802,\n      \"▁confused\": 13803,\n      \"▁checks\": 13804,\n      \"amt\": 13805,\n      \"Make\": 13806,\n      \"▁RO\": 13807,\n      \"▁df\": 13808,\n      \"izations\": 13809,\n      \"▁degli\": 13810,\n      \"▁architecture\": 13811,\n      \"Renderer\": 13812,\n      \"▁Ла\": 13813,\n      \"▁ptr\": 13814,\n      \"▁dieser\": 13815,\n      \"submit\": 13816,\n      \"▁topics\": 13817,\n      \"▁principles\": 13818,\n      \"vars\": 13819,\n      \"sock\": 13820,\n      \"▁tongue\": 13821,\n      \"▁percentage\": 13822,\n      \"▁SS\": 13823,\n      \"▁dol\": 13824,\n      \"▁rice\": 13825,\n      \"ío\": 13826,\n      \"▁Eastern\": 13827,\n      \"▁recognition\": 13828,\n      \"▁Ern\": 13829,\n      \"▁Ut\": 13830,\n      \"▁caut\": 13831,\n      \"▁Cloud\": 13832,\n      \"▁conversion\": 13833,\n      \"▁Ohio\": 13834,\n      \"▁ME\": 13835,\n      \"▁surely\": 13836,\n      \"▁gard\": 13837,\n      \"puis\": 13838,\n      \"▁urg\": 13839,\n      \"imi\": 13840,\n      \"▁absence\": 13841,\n      \"▁winner\": 13842,\n      \"Language\": 13843,\n      \"▁HTTP\": 13844,\n      \"wt\": 13845,\n      \"▁translation\": 13846,\n      \"сс\": 13847,\n      \"▁Kind\": 13848,\n      \"Two\": 13849,\n      \"▁Revolution\": 13850,\n      \"Insert\": 13851,\n      \"Every\": 13852,\n      \"orient\": 13853,\n      \"▁тра\": 13854,\n      \"▁emotions\": 13855,\n      \"details\": 13856,\n      \"▁flu\": 13857,\n      \"▁operate\": 13858,\n      \"Ag\": 13859,\n      \"unning\": 13860,\n      \"▁partie\": 13861,\n      \"tri\": 13862,\n      \"▁golden\": 13863,\n      \"▁Би\": 13864,\n      \"▁foundation\": 13865,\n      \"isten\": 13866,\n      \"▁Carlos\": 13867,\n      \"Children\": 13868,\n      \"▁neighb\": 13869,\n      \"▁Cart\": 13870,\n      \"Begin\": 13871,\n      \"гда\": 13872,\n      \"▁scheduled\": 13873,\n      \"'>\": 13874,\n      \"▁observations\": 13875,\n      \"▁producer\": 13876,\n      \"athers\": 13877,\n      \"ному\": 13878,\n      \"▁expectations\": 13879,\n      \"oso\": 13880,\n      \"zh\": 13881,\n      \"mutable\": 13882,\n      \"▁writes\": 13883,\n      \"▁pushing\": 13884,\n      \"▁seats\": 13885,\n      \"▁breast\": 13886,\n      \"aping\": 13887,\n      \"▁Simple\": 13888,\n      \"▁socket\": 13889,\n      \"▁slave\": 13890,\n      \"iley\": 13891,\n      \"▁assistant\": 13892,\n      \"▁trim\": 13893,\n      \"▁landscape\": 13894,\n      \"▁association\": 13895,\n      \"quant\": 13896,\n      \"▁Palest\": 13897,\n      \"▁sweat\": 13898,\n      \"engers\": 13899,\n      \"?_\": 13900,\n      \"ép\": 13901,\n      \">.\": 13902,\n      \"▁curious\": 13903,\n      \"▁Component\": 13904,\n      \"▁replacement\": 13905,\n      \"раль\": 13906,\n      \"▁Track\": 13907,\n      \"▁Remove\": 13908,\n      \"▁Size\": 13909,\n      \"peror\": 13910,\n      \"▁calculate\": 13911,\n      \"▁sessions\": 13912,\n      \"▁typed\": 13913,\n      \"▁submit\": 13914,\n      \"!!!\": 13915,\n      \"▁partition\": 13916,\n      \"eding\": 13917,\n      \"-----\": 13918,\n      \"azioni\": 13919,\n      \"ließ\": 13920,\n      \"onal\": 13921,\n      \"▁shru\": 13922,\n      \"▁REG\": 13923,\n      \"▁Fac\": 13924,\n      \"configuration\": 13925,\n      \"▁было\": 13926,\n      \"▁Among\": 13927,\n      \"__);\": 13928,\n      \"▁Server\": 13929,\n      \"▁LOG\": 13930,\n      \"▁cand\": 13931,\n      \"']);\": 13932,\n      \"gov\": 13933,\n      \"▁Six\": 13934,\n      \"undefined\": 13935,\n      \"▁ty\": 13936,\n      \"asa\": 13937,\n      \"▁particles\": 13938,\n      \"▁фор\": 13939,\n      \"``\": 13940,\n      \"Tube\": 13941,\n      \"eland\": 13942,\n      \"fold\": 13943,\n      \"ogo\": 13944,\n      \"▁approaches\": 13945,\n      \"onda\": 13946,\n      \"agr\": 13947,\n      \",$\": 13948,\n      \"▁{{\": 13949,\n      \"▁Modern\": 13950,\n      \"▁Winter\": 13951,\n      \"available\": 13952,\n      \"▁Lud\": 13953,\n      \"▁casa\": 13954,\n      \"▁Could\": 13955,\n      \"▁fifteen\": 13956,\n      \"▁potentially\": 13957,\n      \"^^\": 13958,\n      \"▁seit\": 13959,\n      \"Animation\": 13960,\n      \"кого\": 13961,\n      \"Zone\": 13962,\n      \"elif\": 13963,\n      \"▁acknowled\": 13964,\n      \"▁ownership\": 13965,\n      \"▁describes\": 13966,\n      \"▁reverse\": 13967,\n      \"▁contest\": 13968,\n      \"▁scored\": 13969,\n      \"▁opposed\": 13970,\n      \"flex\": 13971,\n      \"kre\": 13972,\n      \"▁merge\": 13973,\n      \"▁covering\": 13974,\n      \"▁honestly\": 13975,\n      \"▁Mess\": 13976,\n      \"▁rarely\": 13977,\n      \"▁incredible\": 13978,\n      \"itage\": 13979,\n      \"▁victims\": 13980,\n      \"ными\": 13981,\n      \"wl\": 13982,\n      \"izza\": 13983,\n      \"dn\": 13984,\n      \"onde\": 13985,\n      \"▁przy\": 13986,\n      \"▁HTML\": 13987,\n      \"▁payload\": 13988,\n      \"Bus\": 13989,\n      \"usb\": 13990,\n      \"Fn\": 13991,\n      \"▁displayed\": 13992,\n      \"▁ocean\": 13993,\n      \"▁Avenue\": 13994,\n      \"acion\": 13995,\n      \"ghan\": 13996,\n      \"metric\": 13997,\n      \"ieties\": 13998,\n      \"▁attractive\": 13999,\n      \"▁fö\": 14000,\n      \"Creat\": 14001,\n      \"verter\": 14002,\n      \"▁Alice\": 14003,\n      \"пол\": 14004,\n      \"▁fraction\": 14005,\n      \"▁behaviour\": 14006,\n      \"▁Jersey\": 14007,\n      \"▁revenue\": 14008,\n      \"▁tres\": 14009,\n      \"ILD\": 14010,\n      \"▁Ét\": 14011,\n      \"▁sync\": 14012,\n      \"wich\": 14013,\n      \"▁ancest\": 14014,\n      \"ът\": 14015,\n      \"omo\": 14016,\n      \"▁Ide\": 14017,\n      \"▁gained\": 14018,\n      \"▁momentum\": 14019,\n      \"▁Ko\": 14020,\n      \"ieu\": 14021,\n      \"ielt\": 14022,\n      \"▁bonus\": 14023,\n      \"▁texture\": 14024,\n      \"Modal\": 14025,\n      \"NEXT\": 14026,\n      \"▁године\": 14027,\n      \"▁languages\": 14028,\n      \"vt\": 14029,\n      \"▁representing\": 14030,\n      \"▁Dream\": 14031,\n      \"curr\": 14032,\n      \"qual\": 14033,\n      \"▁js\": 14034,\n      \"burn\": 14035,\n      \"▁contributions\": 14036,\n      \"▁ric\": 14037,\n      \"}-\\\\\": 14038,\n      \"={{\": 14039,\n      \"cart\": 14040,\n      \"FB\": 14041,\n      \"jud\": 14042,\n      \"esp\": 14043,\n      \"▁electron\": 14044,\n      \"▁ell\": 14045,\n      \"▁Runtime\": 14046,\n      \"achel\": 14047,\n      \"\\\\_\": 14048,\n      \"week\": 14049,\n      \"packet\": 14050,\n      \"▁Secretary\": 14051,\n      \"▁Jahrhund\": 14052,\n      \"▁threshold\": 14053,\n      \"bage\": 14054,\n      \"▁concer\": 14055,\n      \"▁bone\": 14056,\n      \"▁Hollywood\": 14057,\n      \"Cursor\": 14058,\n      \"▁awarded\": 14059,\n      \"▁summary\": 14060,\n      \"aggio\": 14061,\n      \"▁stell\": 14062,\n      \"▁flesh\": 14063,\n      \"Pair\": 14064,\n      \"▁Age\": 14065,\n      \"ington\": 14066,\n      \"▁'.\": 14067,\n      \"aser\": 14068,\n      \"кова\": 14069,\n      \"▁quart\": 14070,\n      \"ryption\": 14071,\n      \"Alloc\": 14072,\n      \"ften\": 14073,\n      \"Operand\": 14074,\n      \"▁indicated\": 14075,\n      \"($_\": 14076,\n      \"getString\": 14077,\n      \"▁listener\": 14078,\n      \"spir\": 14079,\n      \")_\": 14080,\n      \"vens\": 14081,\n      \"▁foods\": 14082,\n      \"anza\": 14083,\n      \"teil\": 14084,\n      \"DESC\": 14085,\n      \"▁notion\": 14086,\n      \"▁employment\": 14087,\n      \"▁swing\": 14088,\n      \"nbsp\": 14089,\n      \"▁pounds\": 14090,\n      \"tools\": 14091,\n      \"▁participate\": 14092,\n      \"▁Tax\": 14093,\n      \"▁скла\": 14094,\n      \"apol\": 14095,\n      \"▁fost\": 14096,\n      \"compat\": 14097,\n      \"▁publication\": 14098,\n      \"▁rapidly\": 14099,\n      \"▁Wis\": 14100,\n      \"EventListener\": 14101,\n      \"▁première\": 14102,\n      \"uso\": 14103,\n      \"extend\": 14104,\n      \"▁MERCHANTABILITY\": 14105,\n      \"UTF\": 14106,\n      \"▁experiments\": 14107,\n      \"single\": 14108,\n      \"zk\": 14109,\n      \"▁naj\": 14110,\n      \"}}}\": 14111,\n      \"Lin\": 14112,\n      \"▁interact\": 14113,\n      \"▁cms\": 14114,\n      \"▁Roger\": 14115,\n      \"▁Ру\": 14116,\n      \">'\": 14117,\n      \"commit\": 14118,\n      \"лось\": 14119,\n      \"▁outcome\": 14120,\n      \"▁hits\": 14121,\n      \"▁им\": 14122,\n      \"▁spark\": 14123,\n      \"console\": 14124,\n      \"▁verw\": 14125,\n      \"▁като\": 14126,\n      \"agnostics\": 14127,\n      \"▁soci\": 14128,\n      \"▁dining\": 14129,\n      \"▁tech\": 14130,\n      \"št\": 14131,\n      \"folio\": 14132,\n      \"ultane\": 14133,\n      \"ктор\": 14134,\n      \"▁Brand\": 14135,\n      \"Join\": 14136,\n      \"▁ию\": 14137,\n      \"▁pros\": 14138,\n      \"▁posit\": 14139,\n      \"Public\": 14140,\n      \"AspNetCore\": 14141,\n      \"▁Shop\": 14142,\n      \"▁coinc\": 14143,\n      \"нием\": 14144,\n      \"▁references\": 14145,\n      \"about\": 14146,\n      \"namespace\": 14147,\n      \"DL\": 14148,\n      \"▁IR\": 14149,\n      \"▁cada\": 14150,\n      \"▁Jordan\": 14151,\n      \"▁gep\": 14152,\n      \"▁bron\": 14153,\n      \"andidate\": 14154,\n      \"EXPECT\": 14155,\n      \"amo\": 14156,\n      \"▁Deutsch\": 14157,\n      \"auc\": 14158,\n      \"▁райо\": 14159,\n      \"▁Labor\": 14160,\n      \"▁surrounded\": 14161,\n      \"тро\": 14162,\n      \"▁nome\": 14163,\n      \"▁underlying\": 14164,\n      \"▁educational\": 14165,\n      \"RIGHT\": 14166,\n      \"COUNT\": 14167,\n      \"inch\": 14168,\n      \"Typ\": 14169,\n      \"umph\": 14170,\n      \"four\": 14171,\n      \"Controls\": 14172,\n      \"▁cp\": 14173,\n      \"cost\": 14174,\n      \"▁mechanism\": 14175,\n      \"eness\": 14176,\n      \"équ\": 14177,\n      \"▁acquired\": 14178,\n      \"▁falls\": 14179,\n      \"▁Hou\": 14180,\n      \"▁LE\": 14181,\n      \"forEach\": 14182,\n      \"▁vertex\": 14183,\n      \"▁IF\": 14184,\n      \"curs\": 14185,\n      \"'=>\": 14186,\n      \"тери\": 14187,\n      \"▁SA\": 14188,\n      \"riers\": 14189,\n      \"▁uw\": 14190,\n      \"▁marks\": 14191,\n      \"▁energ\": 14192,\n      \"hof\": 14193,\n      \"ylvania\": 14194,\n      \"▁Allen\": 14195,\n      \"umpy\": 14196,\n      \"ого\": 14197,\n      \"ству\": 14198,\n      \"voice\": 14199,\n      \"▁engage\": 14200,\n      \"▁mant\": 14201,\n      \"orse\": 14202,\n      \"===\": 14203,\n      \"▁improvement\": 14204,\n      \"Opt\": 14205,\n      \"▁arrested\": 14206,\n      \"тия\": 14207,\n      \"▁сле\": 14208,\n      \"itched\": 14209,\n      \"socket\": 14210,\n      \"▁cycl\": 14211,\n      \"▁SM\": 14212,\n      \"▁Sex\": 14213,\n      \"▁neutral\": 14214,\n      \"вав\": 14215,\n      \"▁Jess\": 14216,\n      \"▁dip\": 14217,\n      \"▁opposition\": 14218,\n      \"▁borrow\": 14219,\n      \"спе\": 14220,\n      \"▁avant\": 14221,\n      \"кола\": 14222,\n      \"▁ta\": 14223,\n      \"Anim\": 14224,\n      \"▁Gall\": 14225,\n      \"rgb\": 14226,\n      \"▁guilty\": 14227,\n      \"▁buried\": 14228,\n      \"▁gy\": 14229,\n      \"Initial\": 14230,\n      \"▁accomp\": 14231,\n      \"▁breathing\": 14232,\n      \"berry\": 14233,\n      \"GRO\": 14234,\n      \"▁subsequent\": 14235,\n      \"roupe\": 14236,\n      \"ulpt\": 14237,\n      \"tb\": 14238,\n      \"▁ä\": 14239,\n      \"Pi\": 14240,\n      \"argv\": 14241,\n      \"▁Must\": 14242,\n      \":'\": 14243,\n      \"svg\": 14244,\n      \"oup\": 14245,\n      \"▁precisely\": 14246,\n      \"▁Ta\": 14247,\n      \"rena\": 14248,\n      \"▁folder\": 14249,\n      \"▁Channel\": 14250,\n      \"▁revol\": 14251,\n      \"Miss\": 14252,\n      \"лом\": 14253,\n      \"reddit\": 14254,\n      \"adelph\": 14255,\n      \"▁discrim\": 14256,\n      \"▁ave\": 14257,\n      \"pleted\": 14258,\n      \"▁gently\": 14259,\n      \"FFFF\": 14260,\n      \"ropy\": 14261,\n      \"▁dial\": 14262,\n      \"NotFound\": 14263,\n      \"▁\\\"[\": 14264,\n      \"Home\": 14265,\n      \"onte\": 14266,\n      \"▁relie\": 14267,\n      \"▁Context\": 14268,\n      \"▁stats\": 14269,\n      \"▁Energy\": 14270,\n      \"ounced\": 14271,\n      \"▁grave\": 14272,\n      \"▁recip\": 14273,\n      \"лин\": 14274,\n      \"blog\": 14275,\n      \"▁naam\": 14276,\n      \"▁wo\": 14277,\n      \"▁directions\": 14278,\n      \"▁Lincoln\": 14279,\n      \"!)\": 14280,\n      \"unci\": 14281,\n      \"neq\": 14282,\n      \"Tags\": 14283,\n      \"▁tum\": 14284,\n      \"▁saving\": 14285,\n      \"aille\": 14286,\n      \"itemize\": 14287,\n      \"▁Famil\": 14288,\n      \"msm\": 14289,\n      \"news\": 14290,\n      \"FFER\": 14291,\n      \"▁Dead\": 14292,\n      \"▁territory\": 14293,\n      \"▁Kat\": 14294,\n      \"ocker\": 14295,\n      \"integer\": 14296,\n      \"▁sne\": 14297,\n      \"▁fails\": 14298,\n      \"▁français\": 14299,\n      \"▁introduction\": 14300,\n      \"▁Grant\": 14301,\n      \"ycle\": 14302,\n      \"'].\": 14303,\n      \"▁vier\": 14304,\n      \"native\": 14305,\n      \"▁Kle\": 14306,\n      \"quote\": 14307,\n      \"Users\": 14308,\n      \"▁advis\": 14309,\n      \"▁gym\": 14310,\n      \"▁protein\": 14311,\n      \"ال\": 14312,\n      \"▁Mai\": 14313,\n      \"▁providers\": 14314,\n      \"▁soil\": 14315,\n      \"gui\": 14316,\n      \"▁Nation\": 14317,\n      \"reation\": 14318,\n      \"▁Tab\": 14319,\n      \"ensis\": 14320,\n      \"inas\": 14321,\n      \"▁Scotland\": 14322,\n      \"▁dispatch\": 14323,\n      \"union\": 14324,\n      \"▁bere\": 14325,\n      \"▁Pow\": 14326,\n      \"▁Hig\": 14327,\n      \"▁studying\": 14328,\n      \"REF\": 14329,\n      \"SSL\": 14330,\n      \"▁fright\": 14331,\n      \"▁SORT\": 14332,\n      \"▁compr\": 14333,\n      \"▁Madrid\": 14334,\n      \"rowned\": 14335,\n      \"opes\": 14336,\n      \"pdev\": 14337,\n      \"▁wash\": 14338,\n      \"▁'../../\": 14339,\n      \"}}_\": 14340,\n      \"▁accum\": 14341,\n      \"rolling\": 14342,\n      \"▁NC\": 14343,\n      \"▁fiction\": 14344,\n      \"ipt\": 14345,\n      \"connected\": 14346,\n      \"limits\": 14347,\n      \"▁lap\": 14348,\n      \"▁whereas\": 14349,\n      \"prom\": 14350,\n      \"▁appointment\": 14351,\n      \"Program\": 14352,\n      \"▁Пер\": 14353,\n      \"nah\": 14354,\n      \"Validation\": 14355,\n      \"icons\": 14356,\n      \"äll\": 14357,\n      \"▁radical\": 14358,\n      \"▁exclusive\": 14359,\n      \"emony\": 14360,\n      \"▁challenging\": 14361,\n      \"▁ms\": 14362,\n      \"▁Private\": 14363,\n      \"▁vida\": 14364,\n      \"▁други\": 14365,\n      \"▁campus\": 14366,\n      \"forms\": 14367,\n      \"дно\": 14368,\n      \"plaat\": 14369,\n      \"bst\": 14370,\n      \"ATED\": 14371,\n      \"▁Abstract\": 14372,\n      \"▁intense\": 14373,\n      \"▁Ltd\": 14374,\n      \"▁controvers\": 14375,\n      \"óg\": 14376,\n      \"▁să\": 14377,\n      \"▁landing\": 14378,\n      \"!=\": 14379,\n      \"▁scenes\": 14380,\n      \"▁Chap\": 14381,\n      \"▁spoken\": 14382,\n      \"cred\": 14383,\n      \"▁pride\": 14384,\n      \"quet\": 14385,\n      \"▁meter\": 14386,\n      \"▁deutsch\": 14387,\n      \"uum\": 14388,\n      \"▁bless\": 14389,\n      \"▁Hann\": 14390,\n      \"▁inputs\": 14391,\n      \"▁Row\": 14392,\n      \"▁withdraw\": 14393,\n      \"Pal\": 14394,\n      \"acles\": 14395,\n      \"assets\": 14396,\n      \"▁vl\": 14397,\n      \"веде\": 14398,\n      \"▁Got\": 14399,\n      \"▁airport\": 14400,\n      \"wind\": 14401,\n      \"▁Columbia\": 14402,\n      \"▁chocolate\": 14403,\n      \"▁hö\": 14404,\n      \"▁alarm\": 14405,\n      \"FTWARE\": 14406,\n      \"▁Jay\": 14407,\n      \"▁sake\": 14408,\n      \"▁registration\": 14409,\n      \"vid\": 14410,\n      \"▁lake\": 14411,\n      \"▁username\": 14412,\n      \"▁hack\": 14413,\n      \"indexOf\": 14414,\n      \"cx\": 14415,\n      \"▁festival\": 14416,\n      \"▁clubs\": 14417,\n      \"cases\": 14418,\n      \"CTRL\": 14419,\n      \"];\\r\": 14420,\n      \"▁Aud\": 14421,\n      \"▁primera\": 14422,\n      \"ват\": 14423,\n      \"▁brilliant\": 14424,\n      \"uther\": 14425,\n      \"▁difficulty\": 14426,\n      \"itals\": 14427,\n      \"▁scores\": 14428,\n      \"▁polít\": 14429,\n      \"database\": 14430,\n      \"aska\": 14431,\n      \"▁######\": 14432,\n      \"▁acid\": 14433,\n      \"aton\": 14434,\n      \"atomic\": 14435,\n      \"freq\": 14436,\n      \"▁WARRANTY\": 14437,\n      \"▁reporting\": 14438,\n      \".),\": 14439,\n      \"▁nights\": 14440,\n      \"▁programme\": 14441,\n      \")}{\": 14442,\n      \"xic\": 14443,\n      \"▁spo\": 14444,\n      \"lined\": 14445,\n      \"quarters\": 14446,\n      \"eree\": 14447,\n      \"mers\": 14448,\n      \"▁serves\": 14449,\n      \"cow\": 14450,\n      \"лько\": 14451,\n      \"enso\": 14452,\n      \"▁environ\": 14453,\n      \"Like\": 14454,\n      \"anche\": 14455,\n      \"▁crash\": 14456,\n      \"▁Kap\": 14457,\n      \"noindent\": 14458,\n      \"Conn\": 14459,\n      \"▁авто\": 14460,\n      \"▁infrastructure\": 14461,\n      \"IME\": 14462,\n      \"▁Room\": 14463,\n      \"need\": 14464,\n      \"orer\": 14465,\n      \"▁Dest\": 14466,\n      \"▁Domin\": 14467,\n      \"atherine\": 14468,\n      \"▁Sydney\": 14469,\n      \"▁gauge\": 14470,\n      \"▁jet\": 14471,\n      \"bably\": 14472,\n      \"▁commonly\": 14473,\n      \"▁stations\": 14474,\n      \"iah\": 14475,\n      \"nl\": 14476,\n      \"жу\": 14477,\n      \"eten\": 14478,\n      \"_)\": 14479,\n      \"iac\": 14480,\n      \"amos\": 14481,\n      \"nement\": 14482,\n      \"kon\": 14483,\n      \"Interval\": 14484,\n      \"▁cabin\": 14485,\n      \"▁eg\": 14486,\n      \"▁shots\": 14487,\n      \"▁Area\": 14488,\n      \"smith\": 14489,\n      \"parameter\": 14490,\n      \"'}\": 14491,\n      \"▁hem\": 14492,\n      \"▁singing\": 14493,\n      \"▁accessible\": 14494,\n      \"▁Prin\": 14495,\n      \"optional\": 14496,\n      \"ancial\": 14497,\n      \"ships\": 14498,\n      \"▁canvas\": 14499,\n      \"spe\": 14500,\n      \"▁addresses\": 14501,\n      \"▁xml\": 14502,\n      \"▁'\\\"\": 14503,\n      \"▁kar\": 14504,\n      \"öff\": 14505,\n      \"▁ages\": 14506,\n      \"ёр\": 14507,\n      \"zing\": 14508,\n      \"▁över\": 14509,\n      \"▁Clean\": 14510,\n      \"▁Silver\": 14511,\n      \"▁осо\": 14512,\n      \"health\": 14513,\n      \"Ali\": 14514,\n      \"▁ts\": 14515,\n      \"atern\": 14516,\n      \"▁choosing\": 14517,\n      \"▁burned\": 14518,\n      \"brid\": 14519,\n      \"rooms\": 14520,\n      \"ött\": 14521,\n      \"KERN\": 14522,\n      \"▁dish\": 14523,\n      \"Sa\": 14524,\n      \"Detail\": 14525,\n      \"▁Hind\": 14526,\n      \"▁Dans\": 14527,\n      \"ię\": 14528,\n      \"▁Jahren\": 14529,\n      \"extension\": 14530,\n      \"allas\": 14531,\n      \"▁Billy\": 14532,\n      \"usammen\": 14533,\n      \"itud\": 14534,\n      \"geon\": 14535,\n      \"Temp\": 14536,\n      \"Leg\": 14537,\n      \"ittel\": 14538,\n      \"addle\": 14539,\n      \"▁muscle\": 14540,\n      \"▁scared\": 14541,\n      \"sson\": 14542,\n      \"▁denote\": 14543,\n      \"ieurs\": 14544,\n      \"▁orange\": 14545,\n      \"▁hub\": 14546,\n      \"▁reb\": 14547,\n      \"edi\": 14548,\n      \"▁voices\": 14549,\n      \"Folder\": 14550,\n      \"▁suspend\": 14551,\n      \"▁Heart\": 14552,\n      \"▁scrap\": 14553,\n      \"▁aggreg\": 14554,\n      \"▁Guide\": 14555,\n      \"transaction\": 14556,\n      \"▁riding\": 14557,\n      \"▁vá\": 14558,\n      \"▁breed\": 14559,\n      \"▁concert\": 14560,\n      \"approx\": 14561,\n      \"▁chances\": 14562,\n      \"Tok\": 14563,\n      \"Eq\": 14564,\n      \"parts\": 14565,\n      \"▁scholar\": 14566,\n      \"offs\": 14567,\n      \"flush\": 14568,\n      \"!”\": 14569,\n      \"▁login\": 14570,\n      \"▁soort\": 14571,\n      \"▁Mand\": 14572,\n      \"▁functional\": 14573,\n      \"▁Bou\": 14574,\n      \"▁subjects\": 14575,\n      \"mys\": 14576,\n      \"▁extraord\": 14577,\n      \"▁Building\": 14578,\n      \"ikt\": 14579,\n      \"Bad\": 14580,\n      \"iami\": 14581,\n      \"Driver\": 14582,\n      \"ête\": 14583,\n      \"▁kv\": 14584,\n      \"▁timer\": 14585,\n      \"itionally\": 14586,\n      \"▁athlet\": 14587,\n      \"▁\\\");\": 14588,\n      \"wy\": 14589,\n      \"CFG\": 14590,\n      \"▁heaven\": 14591,\n      \"ов\": 14592,\n      \"▁experimental\": 14593,\n      \"▁bounds\": 14594,\n      \"ICK\": 14595,\n      \"▁excit\": 14596,\n      \"▁quit\": 14597,\n      \"▁universal\": 14598,\n      \"дь\": 14599,\n      \"▁SP\": 14600,\n      \"▁stub\": 14601,\n      \"▁kle\": 14602,\n      \"▁Bart\": 14603,\n      \"▁\\\"@\": 14604,\n      \"pel\": 14605,\n      \"▁(!(\": 14606,\n      \"▁selector\": 14607,\n      \"EB\": 14608,\n      \"▁coc\": 14609,\n      \"eted\": 14610,\n      \"ють\": 14611,\n      \"▁possess\": 14612,\n      \"▁Rick\": 14613,\n      \"▁unusual\": 14614,\n      \"termin\": 14615,\n      \"▁bags\": 14616,\n      \"▁loading\": 14617,\n      \"▁tf\": 14618,\n      \"▁)\\r\": 14619,\n      \"provider\": 14620,\n      \"pletion\": 14621,\n      \"▁cursor\": 14622,\n      \"▁paused\": 14623,\n      \"им\": 14624,\n      \"▁counsel\": 14625,\n      \"]<\": 14626,\n      \"zech\": 14627,\n      \"▁tie\": 14628,\n      \"▁Moon\": 14629,\n      \"▁armed\": 14630,\n      \"▁observe\": 14631,\n      \"▁permet\": 14632,\n      \"▁Job\": 14633,\n      \"för\": 14634,\n      \"argument\": 14635,\n      \"▁eggs\": 14636,\n      \"ást\": 14637,\n      \"▁incredibly\": 14638,\n      \"werken\": 14639,\n      \"izard\": 14640,\n      \"▁painted\": 14641,\n      \"▁Vietnam\": 14642,\n      \"▁violent\": 14643,\n      \"Est\": 14644,\n      \"ierra\": 14645,\n      \"reader\": 14646,\n      \"weise\": 14647,\n      \"▁Josh\": 14648,\n      \"▁Him\": 14649,\n      \"ashes\": 14650,\n      \"origin\": 14651,\n      \"▁spir\": 14652,\n      \"▁Tree\": 14653,\n      \"▁niet\": 14654,\n      \"WIN\": 14655,\n      \"margin\": 14656,\n      \"▁involves\": 14657,\n      \"▁organis\": 14658,\n      \"▁Nacional\": 14659,\n      \"bara\": 14660,\n      \"▁depuis\": 14661,\n      \"pio\": 14662,\n      \"features\": 14663,\n      \"stru\": 14664,\n      \"▁Disney\": 14665,\n      \"▁restaurants\": 14666,\n      \"Mill\": 14667,\n      \"))\\r\": 14668,\n      \"сла\": 14669,\n      \"remote\": 14670,\n      \"▁Third\": 14671,\n      \"▁baseball\": 14672,\n      \"▁algun\": 14673,\n      \"]$\": 14674,\n      \"▁employed\": 14675,\n      \"pot\": 14676,\n      \"▁UnityEngine\": 14677,\n      \"▁integration\": 14678,\n      \"▁risks\": 14679,\n      \"▁stro\": 14680,\n      \"▁agosto\": 14681,\n      \"including\": 14682,\n      \"▁Mind\": 14683,\n      \"▁stroke\": 14684,\n      \"▁deals\": 14685,\n      \"ajax\": 14686,\n      \"ёт\": 14687,\n      \"▁\\\\|\": 14688,\n      \"tar\": 14689,\n      \"adelphia\": 14690,\n      \"▁sab\": 14691,\n      \"pur\": 14692,\n      \"▁screw\": 14693,\n      \"▁inev\": 14694,\n      \"▁\\\\;\": 14695,\n      \"▁Donald\": 14696,\n      \"öd\": 14697,\n      \"cca\": 14698,\n      \"esis\": 14699,\n      \"▁separated\": 14700,\n      \"DBG\": 14701,\n      \"agent\": 14702,\n      \"▁packed\": 14703,\n      \"ння\": 14704,\n      \"intern\": 14705,\n      \"▁Monte\": 14706,\n      \"▁province\": 14707,\n      \"▁expanded\": 14708,\n      \"▁approached\": 14709,\n      \"▁Ep\": 14710,\n      \"CLK\": 14711,\n      \"▁ore\": 14712,\n      \"Batch\": 14713,\n      \"▁impressive\": 14714,\n      \"RM\": 14715,\n      \"▁Location\": 14716,\n      \"▁shame\": 14717,\n      \"wrapper\": 14718,\n      \"unwrap\": 14719,\n      \"peer\": 14720,\n      \"Bits\": 14721,\n      \"▁SN\": 14722,\n      \"scar\": 14723,\n      \"Come\": 14724,\n      \"▁council\": 14725,\n      \"▁shouted\": 14726,\n      \"making\": 14727,\n      \"▁Maur\": 14728,\n      \"▁wis\": 14729,\n      \"LETE\": 14730,\n      \"▁fs\": 14731,\n      \"▁dz\": 14732,\n      \"unque\": 14733,\n      \"uego\": 14734,\n      \"Random\": 14735,\n      \"Html\": 14736,\n      \"zem\": 14737,\n      \"▁Dutch\": 14738,\n      \"▁Golden\": 14739,\n      \"▁Tar\": 14740,\n      \"▁Herm\": 14741,\n      \"▁stretch\": 14742,\n      \"vard\": 14743,\n      \"▁tries\": 14744,\n      \"WI\": 14745,\n      \"▁disappeared\": 14746,\n      \"▁crusher\": 14747,\n      \"▁Kan\": 14748,\n      \"Mag\": 14749,\n      \"ør\": 14750,\n      \"▁Cambridge\": 14751,\n      \"▁dopo\": 14752,\n      \"atura\": 14753,\n      \"heart\": 14754,\n      \"▁Spiel\": 14755,\n      \"/**\\r\": 14756,\n      \"Direction\": 14757,\n      \"atting\": 14758,\n      \"wig\": 14759,\n      \"▁codes\": 14760,\n      \"▁powder\": 14761,\n      \"alert\": 14762,\n      \"sembl\": 14763,\n      \"▁ye\": 14764,\n      \"Star\": 14765,\n      \"▁roots\": 14766,\n      \"▁Holl\": 14767,\n      \"Rele\": 14768,\n      \"▁constitu\": 14769,\n      \"nc\": 14770,\n      \"“.\": 14771,\n      \"reference\": 14772,\n      \"ificial\": 14773,\n      \"closure\": 14774,\n      \"▁figured\": 14775,\n      \"▁assumption\": 14776,\n      \"getElementById\": 14777,\n      \"▁AG\": 14778,\n      \"oses\": 14779,\n      \"▁_\\\"\": 14780,\n      \"epper\": 14781,\n      \"obre\": 14782,\n      \"enumerate\": 14783,\n      \"ографи\": 14784,\n      \"▁lessons\": 14785,\n      \"▁qualified\": 14786,\n      \"Person\": 14787,\n      \"anse\": 14788,\n      \"▁Mort\": 14789,\n      \"sylvania\": 14790,\n      \"▁cré\": 14791,\n      \"Binding\": 14792,\n      \"іс\": 14793,\n      \"▁Vari\": 14794,\n      \"▁reminded\": 14795,\n      \"▁membership\": 14796,\n      \"iper\": 14797,\n      \"zte\": 14798,\n      \"▁cref\": 14799,\n      \"▁PA\": 14800,\n      \"plaatst\": 14801,\n      \"▁Environment\": 14802,\n      \"boy\": 14803,\n      \"▁phrase\": 14804,\n      \"rivial\": 14805,\n      \"rag\": 14806,\n      \"води\": 14807,\n      \"▁pse\": 14808,\n      \"▁tournament\": 14809,\n      \")},\": 14810,\n      \"▁Sound\": 14811,\n      \"▁Vel\": 14812,\n      \"▁Berg\": 14813,\n      \"elson\": 14814,\n      \"▁refuge\": 14815,\n      \"▁elsewhere\": 14816,\n      \"quality\": 14817,\n      \"▁abandoned\": 14818,\n      \"▁Flo\": 14819,\n      \"ibil\": 14820,\n      \"UAL\": 14821,\n      \"▁Platz\": 14822,\n      \"▁delta\": 14823,\n      \"▁Buy\": 14824,\n      \"rière\": 14825,\n      \"▁flour\": 14826,\n      \"▁laughing\": 14827,\n      \"▁Looking\": 14828,\n      \"Agent\": 14829,\n      \"▁wx\": 14830,\n      \"▁Wales\": 14831,\n      \"Ctx\": 14832,\n      \"▁cake\": 14833,\n      \"▁crate\": 14834,\n      \"▁кла\": 14835,\n      \"anga\": 14836,\n      \"Zero\": 14837,\n      \"▁amounts\": 14838,\n      \"Tra\": 14839,\n      \"ometric\": 14840,\n      \"▁constraints\": 14841,\n      \"▁temple\": 14842,\n      \"▁installation\": 14843,\n      \"stroke\": 14844,\n      \"▁Neder\": 14845,\n      \"ți\": 14846,\n      \"▁Ibid\": 14847,\n      \"▁obs\": 14848,\n      \"entries\": 14849,\n      \"▁jusqu\": 14850,\n      \"ORM\": 14851,\n      \"▁Sky\": 14852,\n      \"ikes\": 14853,\n      \"nak\": 14854,\n      \"▁modes\": 14855,\n      \"▁Hitler\": 14856,\n      \"▁belt\": 14857,\n      \"▁pointing\": 14858,\n      \"▁Ban\": 14859,\n      \"ignore\": 14860,\n      \"▁persu\": 14861,\n      \"▁Besides\": 14862,\n      \"ynom\": 14863,\n      \"▁legis\": 14864,\n      \"▁CPU\": 14865,\n      \"anded\": 14866,\n      \"uis\": 14867,\n      \"bsite\": 14868,\n      \"▁Euro\": 14869,\n      \"▁utter\": 14870,\n      \"eclipse\": 14871,\n      \"▁irre\": 14872,\n      \"▁Document\": 14873,\n      \"▁Meanwhile\": 14874,\n      \"▁familie\": 14875,\n      \"verify\": 14876,\n      \"▁Jason\": 14877,\n      \"▁Ort\": 14878,\n      \"▁ciudad\": 14879,\n      \"▁technologies\": 14880,\n      \"▁части\": 14881,\n      \"nica\": 14882,\n      \"cancel\": 14883,\n      \"Virtual\": 14884,\n      \"▁evident\": 14885,\n      \"aman\": 14886,\n      \"▁Supreme\": 14887,\n      \"atoes\": 14888,\n      \"▁steady\": 14889,\n      \"▁monthly\": 14890,\n      \"▁SOFTWARE\": 14891,\n      \"Die\": 14892,\n      \"▁applying\": 14893,\n      \"Dig\": 14894,\n      \"vier\": 14895,\n      \"▁горо\": 14896,\n      \"▁WH\": 14897,\n      \"▁minds\": 14898,\n      \"▁kam\": 14899,\n      \"▁expertise\": 14900,\n      \"▁notification\": 14901,\n      \".-\": 14902,\n      \"▁deliber\": 14903,\n      \"▁HE\": 14904,\n      \"▁resist\": 14905,\n      \"outes\": 14906,\n      \"▁Howard\": 14907,\n      \"special\": 14908,\n      \"▁presentation\": 14909,\n      \"▁YouTube\": 14910,\n      \"mir\": 14911,\n      \"▁rust\": 14912,\n      \"▁nations\": 14913,\n      \"▁Gets\": 14914,\n      \"▁responses\": 14915,\n      \"arded\": 14916,\n      \"immer\": 14917,\n      \"▁reveal\": 14918,\n      \"▁Meg\": 14919,\n      \"▁todos\": 14920,\n      \"▁ade\": 14921,\n      \"ategories\": 14922,\n      \"▁payments\": 14923,\n      \"ôt\": 14924,\n      \"Enumer\": 14925,\n      \"▁platforms\": 14926,\n      \"▁lifetime\": 14927,\n      \"Complete\": 14928,\n      \"Quest\": 14929,\n      \"enders\": 14930,\n      \"▁cum\": 14931,\n      \"pler\": 14932,\n      \"▁appl\": 14933,\n      \"ährend\": 14934,\n      \"зь\": 14935,\n      \"enez\": 14936,\n      \"overty\": 14937,\n      \"ynchron\": 14938,\n      \"▁argued\": 14939,\n      \"▁Kath\": 14940,\n      \"▁synchron\": 14941,\n      \"▁Builder\": 14942,\n      \"Border\": 14943,\n      \"Plan\": 14944,\n      \"rieb\": 14945,\n      \"nm\": 14946,\n      \"FORMAT\": 14947,\n      \"usk\": 14948,\n      \"▁jumped\": 14949,\n      \"charg\": 14950,\n      \"▁contribute\": 14951,\n      \"Mesh\": 14952,\n      \"Univers\": 14953,\n      \"rell\": 14954,\n      \"▁polar\": 14955,\n      \"▁trois\": 14956,\n      \"icio\": 14957,\n      \"Groups\": 14958,\n      \"▁(%\": 14959,\n      \"Loop\": 14960,\n      \"▁gaz\": 14961,\n      \"dbg\": 14962,\n      \"LAY\": 14963,\n      \"John\": 14964,\n      \"blocks\": 14965,\n      \"▁lung\": 14966,\n      \"▁kön\": 14967,\n      \"through\": 14968,\n      \"▁fifth\": 14969,\n      \"lisher\": 14970,\n      \"▁involving\": 14971,\n      \"▁Deep\": 14972,\n      \"▁области\": 14973,\n      \"▁sull\": 14974,\n      \"Export\": 14975,\n      \"▁Kate\": 14976,\n      \"period\": 14977,\n      \"charge\": 14978,\n      \"GT\": 14979,\n      \"\\\">\\r\": 14980,\n      \"тин\": 14981,\n      \"▁Ott\": 14982,\n      \"▁interactions\": 14983,\n      \"▁Toronto\": 14984,\n      \"TRACE\": 14985,\n      \"▁difer\": 14986,\n      \"▁liberal\": 14987,\n      \"▁particle\": 14988,\n      \"▁surve\": 14989,\n      \"alous\": 14990,\n      \"reason\": 14991,\n      \"▁depression\": 14992,\n      \"ал\": 14993,\n      \"▁flower\": 14994,\n      \"▁waar\": 14995,\n      \"▁hade\": 14996,\n      \"▁centuries\": 14997,\n      \"uty\": 14998,\n      \"party\": 14999,\n      \"▁approval\": 15000,\n      \"generate\": 15001,\n      \"▁Barn\": 15002,\n      \"▁marg\": 15003,\n      \"▁monde\": 15004,\n      \"▁ook\": 15005,\n      \"▁Clark\": 15006,\n      \"▁theoret\": 15007,\n      \"viously\": 15008,\n      \"?)\": 15009,\n      \"▁Rud\": 15010,\n      \"stmt\": 15011,\n      \"inction\": 15012,\n      \"▁tun\": 15013,\n      \"▁roads\": 15014,\n      \"▁rotation\": 15015,\n      \"ppen\": 15016,\n      \"sensor\": 15017,\n      \"▁Kol\": 15018,\n      \"idelines\": 15019,\n      \"▁є\": 15020,\n      \"▁composed\": 15021,\n      \"▁virus\": 15022,\n      \"'$\": 15023,\n      \"SN\": 15024,\n      \"▁Von\": 15025,\n      \"mont\": 15026,\n      \"lar\": 15027,\n      \"▁opinions\": 15028,\n      \"uction\": 15029,\n      \"rupal\": 15030,\n      \"underline\": 15031,\n      \"▁horror\": 15032,\n      \"Must\": 15033,\n      \"otto\": 15034,\n      \"Should\": 15035,\n      \"▁statist\": 15036,\n      \"▁gem\": 15037,\n      \"▁secre\": 15038,\n      \"▁strip\": 15039,\n      \"▁dirt\": 15040,\n      \"amazon\": 15041,\n      \"▁Round\": 15042,\n      \"▁discovery\": 15043,\n      \"▁GO\": 15044,\n      \"▁substantial\": 15045,\n      \"ibt\": 15046,\n      \"▁demands\": 15047,\n      \"▁everyday\": 15048,\n      \"▁besch\": 15049,\n      \"▁Bridge\": 15050,\n      \"▁HD\": 15051,\n      \"▁Dol\": 15052,\n      \"▁très\": 15053,\n      \"anni\": 15054,\n      \"roit\": 15055,\n      \"());\\r\": 15056,\n      \"far\": 15057,\n      \"timestamp\": 15058,\n      \"▁bulk\": 15059,\n      \"Black\": 15060,\n      \"▁gan\": 15061,\n      \"setting\": 15062,\n      \"retval\": 15063,\n      \"ване\": 15064,\n      \"nung\": 15065,\n      \"▁talks\": 15066,\n      \"▁scientists\": 15067,\n      \"▁vig\": 15068,\n      \"▁quantity\": 15069,\n      \"▁Gard\": 15070,\n      \"▁movements\": 15071,\n      \"ähr\": 15072,\n      \"lings\": 15073,\n      \"▁Те\": 15074,\n      \"team\": 15075,\n      \"rito\": 15076,\n      \"▁assembly\": 15077,\n      \"ilst\": 15078,\n      \"▁happiness\": 15079,\n      \"▁leaf\": 15080,\n      \"▁assessment\": 15081,\n      \"Coord\": 15082,\n      \"irs\": 15083,\n      \"sam\": 15084,\n      \"▁attorney\": 15085,\n      \"▁geme\": 15086,\n      \"IDE\": 15087,\n      \"▁Vere\": 15088,\n      \"▁Anthony\": 15089,\n      \"amiento\": 15090,\n      \"▁Ast\": 15091,\n      \"▁circul\": 15092,\n      \"▁Frances\": 15093,\n      \"▁pent\": 15094,\n      \"▁mate\": 15095,\n      \"▁Transport\": 15096,\n      \"owo\": 15097,\n      \"чу\": 15098,\n      \"istes\": 15099,\n      \"TRAN\": 15100,\n      \"IMPORT\": 15101,\n      \"▁Break\": 15102,\n      \"▁sons\": 15103,\n      \"▁investors\": 15104,\n      \"▁Philipp\": 15105,\n      \"THOD\": 15106,\n      \"▁panic\": 15107,\n      \"▁:)\": 15108,\n      \"▁detection\": 15109,\n      \"▁simultane\": 15110,\n      \"nte\": 15111,\n      \"▁listened\": 15112,\n      \"кре\": 15113,\n      \"▁Brig\": 15114,\n      \"Optional\": 15115,\n      \"▁abund\": 15116,\n      \"▁criteria\": 15117,\n      \"▁chip\": 15118,\n      \"▁окру\": 15119,\n      \"▁Constant\": 15120,\n      \"▁mining\": 15121,\n      \"тал\": 15122,\n      \"mates\": 15123,\n      \"▁worship\": 15124,\n      \"router\": 15125,\n      \"CN\": 15126,\n      \"▁Match\": 15127,\n      \"▁Cole\": 15128,\n      \"▁downt\": 15129,\n      \"▁holes\": 15130,\n      \"▁grateful\": 15131,\n      \"RESULT\": 15132,\n      \"▁Europa\": 15133,\n      \"▁consent\": 15134,\n      \"lä\": 15135,\n      \"opter\": 15136,\n      \"▁colleagues\": 15137,\n      \"orous\": 15138,\n      \"▁enemies\": 15139,\n      \"hang\": 15140,\n      \"actual\": 15141,\n      \"Objects\": 15142,\n      \"▁як\": 15143,\n      \"▁fluid\": 15144,\n      \"fixed\": 15145,\n      \"▁Graph\": 15146,\n      \"▁scratch\": 15147,\n      \"cers\": 15148,\n      \"ribu\": 15149,\n      \"▁validation\": 15150,\n      \"▁completion\": 15151,\n      \"▁Begin\": 15152,\n      \"endpoint\": 15153,\n      \"rient\": 15154,\n      \"CM\": 15155,\n      \"▁Site\": 15156,\n      \"▁explains\": 15157,\n      \"tres\": 15158,\n      \"▁anybody\": 15159,\n      \"foreach\": 15160,\n      \"lon\": 15161,\n      \"Chain\": 15162,\n      \"▁Buff\": 15163,\n      \"ocal\": 15164,\n      \"▁Morgan\": 15165,\n      \"▁sang\": 15166,\n      \"▁passes\": 15167,\n      \"@@\": 15168,\n      \"ijd\": 15169,\n      \"Word\": 15170,\n      \"▁Hung\": 15171,\n      \"▁Fer\": 15172,\n      \"▁vý\": 15173,\n      \"bast\": 15174,\n      \"▁entertainment\": 15175,\n      \"hin\": 15176,\n      \"▁grat\": 15177,\n      \"▁Member\": 15178,\n      \"▁Minn\": 15179,\n      \"▁printed\": 15180,\n      \"▁Franklin\": 15181,\n      \"▁Imp\": 15182,\n      \"Machine\": 15183,\n      \"columns\": 15184,\n      \"▁deleted\": 15185,\n      \"▁manufacturing\": 15186,\n      \"▁rely\": 15187,\n      \"▁conse\": 15188,\n      \"▁fishing\": 15189,\n      \"blo\": 15190,\n      \"-$\": 15191,\n      \"▁.\\\"\": 15192,\n      \"▁clinical\": 15193,\n      \"▁Studies\": 15194,\n      \"▁Бу\": 15195,\n      \"definition\": 15196,\n      \"▁evaluation\": 15197,\n      \"▁attacked\": 15198,\n      \"▁frozen\": 15199,\n      \"zent\": 15200,\n      \"▁últ\": 15201,\n      \"▁rational\": 15202,\n      \"othe\": 15203,\n      \"Cancel\": 15204,\n      \"history\": 15205,\n      \"setText\": 15206,\n      \"▁alc\": 15207,\n      \"▁hydro\": 15208,\n      \"▁Theatre\": 15209,\n      \"▁Material\": 15210,\n      \"IOException\": 15211,\n      \"******/\": 15212,\n      \"spl\": 15213,\n      \"NODE\": 15214,\n      \"attrs\": 15215,\n      \"▁mie\": 15216,\n      \"▁offices\": 15217,\n      \"ró\": 15218,\n      \"▁jam\": 15219,\n      \"▁Ident\": 15220,\n      \"vé\": 15221,\n      \"Setting\": 15222,\n      \"▁Several\": 15223,\n      \"▁decay\": 15224,\n      \"Android\": 15225,\n      \"▁Save\": 15226,\n      \"unted\": 15227,\n      \"▁Mountain\": 15228,\n      \"usc\": 15229,\n      \"▁marzo\": 15230,\n      \"▁asleep\": 15231,\n      \"▁soldier\": 15232,\n      \"▁Double\": 15233,\n      \"PK\": 15234,\n      \"▁contrad\": 15235,\n      \"▁wins\": 15236,\n      \"ceiver\": 15237,\n      \"▁seasons\": 15238,\n      \"▁Chall\": 15239,\n      \"▁healthcare\": 15240,\n      \"ład\": 15241,\n      \"от\": 15242,\n      \"▁Five\": 15243,\n      \"▁Hell\": 15244,\n      \"▁worldwide\": 15245,\n      \"▁',\": 15246,\n      \"ян\": 15247,\n      \"made\": 15248,\n      \"▁responded\": 15249,\n      \"▁ay\": 15250,\n      \"▁procedures\": 15251,\n      \"тера\": 15252,\n      \"▁cleared\": 15253,\n      \"\\\"].\": 15254,\n      \"▁Target\": 15255,\n      \"▁Side\": 15256,\n      \"omin\": 15257,\n      \"▁deploy\": 15258,\n      \"▁Tell\": 15259,\n      \"▁ongoing\": 15260,\n      \"floor\": 15261,\n      \"▁bones\": 15262,\n      \"▁Delete\": 15263,\n      \"▁shrugged\": 15264,\n      \"Our\": 15265,\n      \"Der\": 15266,\n      \"▁initialize\": 15267,\n      \"▁Ted\": 15268,\n      \"MAGE\": 15269,\n      \"▁hire\": 15270,\n      \"▁tracking\": 15271,\n      \"▁ash\": 15272,\n      \"▁ceiling\": 15273,\n      \"ках\": 15274,\n      \"etti\": 15275,\n      \"▁courage\": 15276,\n      \"enschapp\": 15277,\n      \"ются\": 15278,\n      \"More\": 15279,\n      \"▁folg\": 15280,\n      \"▁Grace\": 15281,\n      \"▁Kelly\": 15282,\n      \"▁reven\": 15283,\n      \"▁Ali\": 15284,\n      \"▁disp\": 15285,\n      \"▁defeat\": 15286,\n      \"▁creature\": 15287,\n      \"▁Kennedy\": 15288,\n      \"▁Diego\": 15289,\n      \"EMP\": 15290,\n      \"▁steam\": 15291,\n      \"endance\": 15292,\n      \"rig\": 15293,\n      \"▁ignor\": 15294,\n      \"emen\": 15295,\n      \"▁Gru\": 15296,\n      \"▁proposal\": 15297,\n      \"▁weiter\": 15298,\n      \"▁лі\": 15299,\n      \"ibles\": 15300,\n      \"▁consideration\": 15301,\n      \"▁believes\": 15302,\n      \"▁Soph\": 15303,\n      \"“,\": 15304,\n      \"▁Matthew\": 15305,\n      \"▁circuit\": 15306,\n      \"▁singer\": 15307,\n      \"▁Square\": 15308,\n      \"ço\": 15309,\n      \"Edge\": 15310,\n      \"▁astr\": 15311,\n      \"▁representative\": 15312,\n      \"▁comprehensive\": 15313,\n      \"liga\": 15314,\n      \"▁mere\": 15315,\n      \"tbl\": 15316,\n      \"▁continuing\": 15317,\n      \"ographer\": 15318,\n      \"LED\": 15319,\n      \"▁/***/\": 15320,\n      \"▁sear\": 15321,\n      \"▁enormous\": 15322,\n      \"izi\": 15323,\n      \"Dit\": 15324,\n      \"there\": 15325,\n      \"ін\": 15326,\n      \"сите\": 15327,\n      \"▁guerra\": 15328,\n      \"▁endpoint\": 15329,\n      \"▁lesson\": 15330,\n      \"zon\": 15331,\n      \"variable\": 15332,\n      \"ис\": 15333,\n      \"▁researchers\": 15334,\n      \"▁attempted\": 15335,\n      \"▁enf\": 15336,\n      \"тура\": 15337,\n      \"▁defin\": 15338,\n      \"вест\": 15339,\n      \"▁awful\": 15340,\n      \"▁lowest\": 15341,\n      \"rules\": 15342,\n      \"▁unlike\": 15343,\n      \"interval\": 15344,\n      \"▁producing\": 15345,\n      \"▁Kam\": 15346,\n      \"▁IMP\": 15347,\n      \"General\": 15348,\n      \"▁faire\": 15349,\n      \"▁maxim\": 15350,\n      \"assemb\": 15351,\n      \"acent\": 15352,\n      \"?>\": 15353,\n      \"plica\": 15354,\n      \"▁ram\": 15355,\n      \"mate\": 15356,\n      \"цу\": 15357,\n      \"mn\": 15358,\n      \"▁Hi\": 15359,\n      \"▁stages\": 15360,\n      \"▁Editor\": 15361,\n      \"▁tang\": 15362,\n      \"RD\": 15363,\n      \"▁ich\": 15364,\n      \"▁dependent\": 15365,\n      \"lifer\": 15366,\n      \"ascript\": 15367,\n      \"▁exposure\": 15368,\n      \"рез\": 15369,\n      \"▁mart\": 15370,\n      \"▁Barcel\": 15371,\n      \"xspace\": 15372,\n      \"SESSION\": 15373,\n      \"▁prest\": 15374,\n      \"URCE\": 15375,\n      \"-.\": 15376,\n      \"▁село\": 15377,\n      \"have\": 15378,\n      \"▁observation\": 15379,\n      \"▁commands\": 15380,\n      \"▁eager\": 15381,\n      \"▁outdoor\": 15382,\n      \"▁DEBUG\": 15383,\n      \"▁hr\": 15384,\n      \"AX\": 15385,\n      \"▁puzz\": 15386,\n      \"blank\": 15387,\n      \"бур\": 15388,\n      \"▁kennis\": 15389,\n      \"▁regarded\": 15390,\n      \"▁}),\": 15391,\n      \"volume\": 15392,\n      \"▁произ\": 15393,\n      \"▁Training\": 15394,\n      \"añ\": 15395,\n      \"▁fois\": 15396,\n      \"▁три\": 15397,\n      \"вня\": 15398,\n      \"▁optimal\": 15399,\n      \"▁subscription\": 15400,\n      \"bridge\": 15401,\n      \"imental\": 15402,\n      \"▁Think\": 15403,\n      \"▁\\\";\": 15404,\n      \"▁legisl\": 15405,\n      \"▁Hop\": 15406,\n      \"▁branches\": 15407,\n      \"▁Veg\": 15408,\n      \"▁sprint\": 15409,\n      \"▁flux\": 15410,\n      \"▁Freder\": 15411,\n      \"sis\": 15412,\n      \"notify\": 15413,\n      \"▁Фран\": 15414,\n      \"som\": 15415,\n      \"nym\": 15416,\n      \"▁Ré\": 15417,\n      \"lett\": 15418,\n      \"ingham\": 15419,\n      \"▁Farm\": 15420,\n      \"DOM\": 15421,\n      \"▁shield\": 15422,\n      \"Here\": 15423,\n      \"▁Treat\": 15424,\n      \"▁Luke\": 15425,\n      \"▁unsafe\": 15426,\n      \"anton\": 15427,\n      \"▁Imper\": 15428,\n      \"▁telephone\": 15429,\n      \"▁unlock\": 15430,\n      \"Owner\": 15431,\n      \"collection\": 15432,\n      \"▁snd\": 15433,\n      \"▁suiv\": 15434,\n      \"▁entering\": 15435,\n      \"шен\": 15436,\n      \"▁Label\": 15437,\n      \"selector\": 15438,\n      \"▁GET\": 15439,\n      \"▁quando\": 15440,\n      \"▁fed\": 15441,\n      \"jQuery\": 15442,\n      \"Origin\": 15443,\n      \"▁Alan\": 15444,\n      \"mathscr\": 15445,\n      \"▁pregnant\": 15446,\n      \"Expect\": 15447,\n      \"resources\": 15448,\n      \"▁ersten\": 15449,\n      \"alia\": 15450,\n      \"▁retired\": 15451,\n      \"ût\": 15452,\n      \"Cred\": 15453,\n      \"▁méd\": 15454,\n      \"▁erh\": 15455,\n      \"Framework\": 15456,\n      \"Slot\": 15457,\n      \"duration\": 15458,\n      \"sal\": 15459,\n      \"▁composition\": 15460,\n      \"article\": 15461,\n      \"gpu\": 15462,\n      \"▁permitted\": 15463,\n      \"▁Font\": 15464,\n      \"▁Much\": 15465,\n      \"▁pending\": 15466,\n      \"▁agencies\": 15467,\n      \"Columns\": 15468,\n      \"▁klik\": 15469,\n      \"▁rating\": 15470,\n      \"mind\": 15471,\n      \"▁Pennsylvania\": 15472,\n      \"Java\": 15473,\n      \"abstract\": 15474,\n      \"▁dumb\": 15475,\n      \"▁VI\": 15476,\n      \"usa\": 15477,\n      \"Remote\": 15478,\n      \"▁YOU\": 15479,\n      \"▁Creek\": 15480,\n      \"мати\": 15481,\n      \"Bottom\": 15482,\n      \"▁rolling\": 15483,\n      \"▁bundle\": 15484,\n      \"▁golf\": 15485,\n      \"gpio\": 15486,\n      \"▁Chair\": 15487,\n      \"▁cls\": 15488,\n      \"$}\": 15489,\n      \"▁Parliament\": 15490,\n      \"führ\": 15491,\n      \"Many\": 15492,\n      \"▁Sep\": 15493,\n      \"▁badly\": 15494,\n      \"igi\": 15495,\n      \"▁Gemeinde\": 15496,\n      \"Ill\": 15497,\n      \"▁Ан\": 15498,\n      \"uart\": 15499,\n      \"itempty\": 15500,\n      \"▁Niger\": 15501,\n      \"▁immigr\": 15502,\n      \"Super\": 15503,\n      \"vá\": 15504,\n      \"istribute\": 15505,\n      \"Helpers\": 15506,\n      \"▁waters\": 15507,\n      \"▁joining\": 15508,\n      \"omitempty\": 15509,\n      \"▁Otherwise\": 15510,\n      \"▁Host\": 15511,\n      \"▁redd\": 15512,\n      \"▁dy\": 15513,\n      \"▁converted\": 15514,\n      \"▁prayer\": 15515,\n      \"▁Украї\": 15516,\n      \"▁elections\": 15517,\n      \"reb\": 15518,\n      \"erie\": 15519,\n      \"▁свя\": 15520,\n      \"Abs\": 15521,\n      \"iembre\": 15522,\n      \"holders\": 15523,\n      \"▁Rol\": 15524,\n      \"utschen\": 15525,\n      \"▁Gh\": 15526,\n      \"tery\": 15527,\n      \"анг\": 15528,\n      \"▁narrative\": 15529,\n      \"minus\": 15530,\n      \"▁Iron\": 15531,\n      \"=\\\"#\": 15532,\n      \"▁wand\": 15533,\n      \"▁wished\": 15534,\n      \"icode\": 15535,\n      \"orr\": 15536,\n      \"[[\": 15537,\n      \"▁detected\": 15538,\n      \"▁municipal\": 15539,\n      \"▁Pour\": 15540,\n      \"▁Serv\": 15541,\n      \"citet\": 15542,\n      \"▁grey\": 15543,\n      \"▁Rap\": 15544,\n      \"▁voy\": 15545,\n      \"▁lleg\": 15546,\n      \"▁currency\": 15547,\n      \"▁Script\": 15548,\n      \"strument\": 15549,\n      \"▁expecting\": 15550,\n      \"▁tickets\": 15551,\n      \"▁bucket\": 15552,\n      \"egr\": 15553,\n      \"▁jacket\": 15554,\n      \"drv\": 15555,\n      \"▁loans\": 15556,\n      \"▁kann\": 15557,\n      \"▁integral\": 15558,\n      \"▁characteristics\": 15559,\n      \"(\\\".\": 15560,\n      \"▁manual\": 15561,\n      \"▁dynamics\": 15562,\n      \":*\": 15563,\n      \"sha\": 15564,\n      \"reens\": 15565,\n      \"onical\": 15566,\n      \"▁toile\": 15567,\n      \"aña\": 15568,\n      \"▁distant\": 15569,\n      \"▁handled\": 15570,\n      \"Bool\": 15571,\n      \"▁penal\": 15572,\n      \"▁Things\": 15573,\n      \"▁prominent\": 15574,\n      \"▁exped\": 15575,\n      \"▁Help\": 15576,\n      \"▁asp\": 15577,\n      \"lap\": 15578,\n      \"▁Auth\": 15579,\n      \"Basic\": 15580,\n      \"achuset\": 15581,\n      \"▁Bild\": 15582,\n      \"▁entitled\": 15583,\n      \"▁jag\": 15584,\n      \"▁rejected\": 15585,\n      \"▁memor\": 15586,\n      \"orts\": 15587,\n      \"▁applies\": 15588,\n      \"▁Language\": 15589,\n      \"specific\": 15590,\n      \"achusetts\": 15591,\n      \"HAND\": 15592,\n      \"▁Route\": 15593,\n      \"market\": 15594,\n      \"▁Ky\": 15595,\n      \"▁pose\": 15596,\n      \"ACHE\": 15597,\n      \"poll\": 15598,\n      \"▁rocks\": 15599,\n      \"bone\": 15600,\n      \"▁DIS\": 15601,\n      \"Watch\": 15602,\n      \"▁smiling\": 15603,\n      \"рио\": 15604,\n      \"Month\": 15605,\n      \"▁efter\": 15606,\n      \"construct\": 15607,\n      \"▁bands\": 15608,\n      \"▁collaboration\": 15609,\n      \"ними\": 15610,\n      \"glas\": 15611,\n      \"▁vy\": 15612,\n      \"▁engagement\": 15613,\n      \"__)\": 15614,\n      \"▁wings\": 15615,\n      \"ким\": 15616,\n      \"netje\": 15617,\n      \"ativa\": 15618,\n      \"▁Duke\": 15619,\n      \"лее\": 15620,\n      \"▁Within\": 15621,\n      \"▁dove\": 15622,\n      \"▁cb\": 15623,\n      \"yers\": 15624,\n      \"pow\": 15625,\n      \"[(\": 15626,\n      \"▁evaluate\": 15627,\n      \"Points\": 15628,\n      \"▁рі\": 15629,\n      \"odigd\": 15630,\n      \"onomy\": 15631,\n      \"▁Illinois\": 15632,\n      \"▁Typ\": 15633,\n      \"▁coordinates\": 15634,\n      \"pisode\": 15635,\n      \"ucked\": 15636,\n      \"▁flav\": 15637,\n      \"▁brands\": 15638,\n      \"▁calendar\": 15639,\n      \"Lib\": 15640,\n      \"▁uitgen\": 15641,\n      \"▁tale\": 15642,\n      \"▁briefly\": 15643,\n      \"▁mic\": 15644,\n      \"RESS\": 15645,\n      \"▁später\": 15646,\n      \"▁integrated\": 15647,\n      \"▁cookies\": 15648,\n      \"▁uitgenodigd\": 15649,\n      \"▁Priv\": 15650,\n      \"▁phenomen\": 15651,\n      \"▁voegen\": 15652,\n      \"Supp\": 15653,\n      \"▁refers\": 15654,\n      \"пад\": 15655,\n      \"▁Clinton\": 15656,\n      \"▁assignment\": 15657,\n      \"inals\": 15658,\n      \"▁asym\": 15659,\n      \"cycle\": 15660,\n      \"▁Anderson\": 15661,\n      \"▁binding\": 15662,\n      \"rique\": 15663,\n      \"hind\": 15664,\n      \"▁behalf\": 15665,\n      \"▁Fle\": 15666,\n      \"▁breaks\": 15667,\n      \"▁soap\": 15668,\n      \"вар\": 15669,\n      \"▁vä\": 15670,\n      \"▁crying\": 15671,\n      \"▁→\": 15672,\n      \"▁msm\": 15673,\n      \"▁boots\": 15674,\n      \"owing\": 15675,\n      \"▁bell\": 15676,\n      \"suite\": 15677,\n      \"▁Bundes\": 15678,\n      \"Year\": 15679,\n      \"ndef\": 15680,\n      \"Other\": 15681,\n      \"▁google\": 15682,\n      \"ENCE\": 15683,\n      \"WER\": 15684,\n      \"Les\": 15685,\n      \"Shared\": 15686,\n      \"▁ED\": 15687,\n      \"IFT\": 15688,\n      \"▁floating\": 15689,\n      \"ým\": 15690,\n      \"{},\": 15691,\n      \"Binary\": 15692,\n      \"▁roce\": 15693,\n      \"raj\": 15694,\n      \"▁bewerken\": 15695,\n      \"BF\": 15696,\n      \"▁Hur\": 15697,\n      \"cen\": 15698,\n      \"▁ere\": 15699,\n      \"▁camb\": 15700,\n      \"▁Pakistan\": 15701,\n      \"▁greatly\": 15702,\n      \"▁logging\": 15703,\n      \"/.\": 15704,\n      \"Tensor\": 15705,\n      \"▁opens\": 15706,\n      \"▁Rio\": 15707,\n      \"▁klikken\": 15708,\n      \"▁sculpt\": 15709,\n      \"apore\": 15710,\n      \"wx\": 15711,\n      \"▁Nich\": 15712,\n      \"nan\": 15713,\n      \"▁injured\": 15714,\n      \"compare\": 15715,\n      \"tha\": 15716,\n      \"Sample\": 15717,\n      \"Shell\": 15718,\n      \"▁commander\": 15719,\n      \"▁receiver\": 15720,\n      \"▁hopes\": 15721,\n      \"▁byl\": 15722,\n      \"▁proxy\": 15723,\n      \"▁gall\": 15724,\n      \"getId\": 15725,\n      \"▁Bab\": 15726,\n      \"feld\": 15727,\n      \"▁\\\"_\": 15728,\n      \"▁Hab\": 15729,\n      \"simple\": 15730,\n      \"▁executed\": 15731,\n      \"▁ate\": 15732,\n      \"▁animation\": 15733,\n      \"▁inhab\": 15734,\n      \"▁боль\": 15735,\n      \"▁router\": 15736,\n      \"▁glob\": 15737,\n      \"Geplaatst\": 15738,\n      \"▁beginnetje\": 15739,\n      \"▁Kur\": 15740,\n      \"▁Ха\": 15741,\n      \"aligned\": 15742,\n      \"▁certificate\": 15743,\n      \"▁Å\": 15744,\n      \".).\": 15745,\n      \"▁soll\": 15746,\n      \"▁Import\": 15747,\n      \"реди\": 15748,\n      \"▁pandemic\": 15749,\n      \"▁nic\": 15750,\n      \"vä\": 15751,\n      \"▁Gree\": 15752,\n      \"▁Say\": 15753,\n      \"▁ді\": 15754,\n      \"▁Num\": 15755,\n      \"▁roughly\": 15756,\n      \"▁después\": 15757,\n      \"▁​\": 15758,\n      \"▁specify\": 15759,\n      \"Mapper\": 15760,\n      \"licht\": 15761,\n      \"▁thumb\": 15762,\n      \"wie\": 15763,\n      \"▁unlikely\": 15764,\n      \"▁Edd\": 15765,\n      \"Hey\": 15766,\n      \"▁Opt\": 15767,\n      \"BLOCK\": 15768,\n      \"вор\": 15769,\n      \"▁×\": 15770,\n      \"▁ba\": 15771,\n      \"▁periods\": 15772,\n      \"▁titles\": 15773,\n      \"Med\": 15774,\n      \"▁fon\": 15775,\n      \"▁bast\": 15776,\n      \"▁Forest\": 15777,\n      \"▁№\": 15778,\n      \"onds\": 15779,\n      \"▁fal\": 15780,\n      \"▁gesch\": 15781,\n      \"direction\": 15782,\n      \"IFY\": 15783,\n      \"▁LA\": 15784,\n      \"▁(((\": 15785,\n      \"GTH\": 15786,\n      \"itudes\": 15787,\n      \"▁destruction\": 15788,\n      \"▁Ja\": 15789,\n      \"▁stake\": 15790,\n      \"ifferent\": 15791,\n      \"▁identical\": 15792,\n      \"▁fog\": 15793,\n      \"▁Reb\": 15794,\n      \"ские\": 15795,\n      \"ступ\": 15796,\n      \"jax\": 15797,\n      \"▁Mars\": 15798,\n      \"▁historic\": 15799,\n      \"▁Vo\": 15800,\n      \"▁entrepre\": 15801,\n      \"▁tension\": 15802,\n      \"▁WHERE\": 15803,\n      \"▁Philadelphia\": 15804,\n      \"Counter\": 15805,\n      \"▁frames\": 15806,\n      \"▁muy\": 15807,\n      \"ej\": 15808,\n      \"öt\": 15809,\n      \"eu\": 15810,\n      \"▁челове\": 15811,\n      \"PROC\": 15812,\n      \"▁resolved\": 15813,\n      \"▁tape\": 15814,\n      \"цион\": 15815,\n      \"▁singular\": 15816,\n      \"▁personnel\": 15817,\n      \"▁Mun\": 15818,\n      \"▁Occ\": 15819,\n      \"▁scalar\": 15820,\n      \"dess\": 15821,\n      \"▁cable\": 15822,\n      \"being\": 15823,\n      \"▁Jenn\": 15824,\n      \"▁erst\": 15825,\n      \"Actions\": 15826,\n      \"Environment\": 15827,\n      \"via\": 15828,\n      \"▁struggling\": 15829,\n      \"▁DVD\": 15830,\n      \"whe\": 15831,\n      \"▁throwing\": 15832,\n      \"Bounds\": 15833,\n      \"▁MD\": 15834,\n      \"▁\\\"../\": 15835,\n      \"▁satisfy\": 15836,\n      \"▁Colorado\": 15837,\n      \"▁Active\": 15838,\n      \"Tasks\": 15839,\n      \"<>();\": 15840,\n      \"▁slipped\": 15841,\n      \"▁poison\": 15842,\n      \"zb\": 15843,\n      \"Dispatch\": 15844,\n      \"warning\": 15845,\n      \"▁ultimate\": 15846,\n      \"picture\": 15847,\n      \"expression\": 15848,\n      \"▁Talk\": 15849,\n      \"▁flick\": 15850,\n      \"▁raising\": 15851,\n      \"▁transactions\": 15852,\n      \"▁glance\": 15853,\n      \"▁gri\": 15854,\n      \"▁през\": 15855,\n      \"selection\": 15856,\n      \"ња\": 15857,\n      \"endl\": 15858,\n      \"▁Abb\": 15859,\n      \"▁bold\": 15860,\n      \"▁maintained\": 15861,\n      \"Exists\": 15862,\n      \"▁encouraged\": 15863,\n      \"Qual\": 15864,\n      \"▁essere\": 15865,\n      \"▁hired\": 15866,\n      \"letter\": 15867,\n      \"itches\": 15868,\n      \"others\": 15869,\n      \"▁woj\": 15870,\n      \"▁injuries\": 15871,\n      \"▁dil\": 15872,\n      \"execut\": 15873,\n      \"▁Steel\": 15874,\n      \"▁Garden\": 15875,\n      \"зя\": 15876,\n      \"\\\\,\\\\\": 15877,\n      \"▁Angel\": 15878,\n      \"prim\": 15879,\n      \">:]<\": 15880,\n      \"gb\": 15881,\n      \"peat\": 15882,\n      \"inte\": 15883,\n      \"▁apolog\": 15884,\n      \"▁regulations\": 15885,\n      \"Src\": 15886,\n      \"kh\": 15887,\n      \"Upload\": 15888,\n      \"mapping\": 15889,\n      \"▁presents\": 15890,\n      \"▁poetry\": 15891,\n      \"▁stops\": 15892,\n      \"▁Tol\": 15893,\n      \"▁tower\": 15894,\n      \"▁OUT\": 15895,\n      \"Thank\": 15896,\n      \"▁organic\": 15897,\n      \"▁drei\": 15898,\n      \"▁pound\": 15899,\n      \"century\": 15900,\n      \"▁modules\": 15901,\n      \"▁дере\": 15902,\n      \"▁worn\": 15903,\n      \"▁parad\": 15904,\n      \"▁Cos\": 15905,\n      \"fic\": 15906,\n      \"▁без\": 15907,\n      \"▁Jimmy\": 15908,\n      \"▁lands\": 15909,\n      \"▁minist\": 15910,\n      \"vspace\": 15911,\n      \"▁lighting\": 15912,\n      \"▁naked\": 15913,\n      \"▁designer\": 15914,\n      \"▁Stream\": 15915,\n      \"TMP\": 15916,\n      \"Center\": 15917,\n      \"resentation\": 15918,\n      \"ONT\": 15919,\n      \"▁ers\": 15920,\n      \"▁measurement\": 15921,\n      \"▁muscles\": 15922,\n      \"▁Ign\": 15923,\n      \"▁COM\": 15924,\n      \"▁fru\": 15925,\n      \"▁genre\": 15926,\n      \"▁alpha\": 15927,\n      \"▁retirement\": 15928,\n      \"▁Gon\": 15929,\n      \"ől\": 15930,\n      \"contents\": 15931,\n      \"▁healing\": 15932,\n      \"▁sido\": 15933,\n      \"incipal\": 15934,\n      \"Permission\": 15935,\n      \"рак\": 15936,\n      \"▁Gordon\": 15937,\n      \"▁Rank\": 15938,\n      \"▁Autom\": 15939,\n      \"Constructor\": 15940,\n      \"wiki\": 15941,\n      \"▁concerning\": 15942,\n      \"rizona\": 15943,\n      \"▁variant\": 15944,\n      \"▁arranged\": 15945,\n      \"▁Spr\": 15946,\n      \"BPACK\": 15947,\n      \"Timestamp\": 15948,\n      \"restore\": 15949,\n      \"aware\": 15950,\n      \"▁Observ\": 15951,\n      \"▁SV\": 15952,\n      \"ipp\": 15953,\n      \"▁Executive\": 15954,\n      \"▁colleg\": 15955,\n      \"▁explicitly\": 15956,\n      \"written\": 15957,\n      \"▁Kön\": 15958,\n      \"irus\": 15959,\n      \"▁Hold\": 15960,\n      \"▁Pract\": 15961,\n      \"Character\": 15962,\n      \"▁redistribute\": 15963,\n      \"uerto\": 15964,\n      \"▁Student\": 15965,\n      \"▁elder\": 15966,\n      \"▁Dop\": 15967,\n      \"vp\": 15968,\n      \"▁Hub\": 15969,\n      \"▁grounds\": 15970,\n      \"▁Ry\": 15971,\n      \"▁signals\": 15972,\n      \"▁gifts\": 15973,\n      \"▁strengthen\": 15974,\n      \"▁Lyn\": 15975,\n      \"commun\": 15976,\n      \"▁най\": 15977,\n      \"▁finance\": 15978,\n      \"noc\": 15979,\n      \"helm\": 15980,\n      \"▁cuts\": 15981,\n      \"▁adventure\": 15982,\n      \"▁Ric\": 15983,\n      \"▁intellectual\": 15984,\n      \"▁Output\": 15985,\n      \"▁awk\": 15986,\n      \"▁concentration\": 15987,\n      \"▁guidance\": 15988,\n      \"Buff\": 15989,\n      \"▁filling\": 15990,\n      \"▁regul\": 15991,\n      \"▁delicious\": 15992,\n      \"([]\": 15993,\n      \"ших\": 15994,\n      \"▁tons\": 15995,\n      \"activity\": 15996,\n      \"GP\": 15997,\n      \"LOB\": 15998,\n      \"stadt\": 15999,\n      \"tal\": 16000,\n      \"▁img\": 16001,\n      \"▁rush\": 16002,\n      \"attice\": 16003,\n      \"▁pok\": 16004,\n      \"steps\": 16005,\n      \"▁lid\": 16006,\n      \"▁DNA\": 16007,\n      \"Browser\": 16008,\n      \"▁ladies\": 16009,\n      \"▁années\": 16010,\n      \"▁rescue\": 16011,\n      \"avity\": 16012,\n      \"rock\": 16013,\n      \"▁glasses\": 16014,\n      \"▁Bey\": 16015,\n      \")}$\": 16016,\n      \"detail\": 16017,\n      \"▁dés\": 16018,\n      \"tax\": 16019,\n      \"▁favourite\": 16020,\n      \"▁precision\": 16021,\n      \"▁conoc\": 16022,\n      \"Ms\": 16023,\n      \"▁Native\": 16024,\n      \"▁Pil\": 16025,\n      \"InputStream\": 16026,\n      \"orp\": 16027,\n      \"▁Pap\": 16028,\n      \"▁picking\": 16029,\n      \"iph\": 16030,\n      \"Loading\": 16031,\n      \"▁priest\": 16032,\n      \"Hook\": 16033,\n      \"▁pist\": 16034,\n      \"▁Une\": 16035,\n      \"%,\": 16036,\n      \"▁bil\": 16037,\n      \"▁conservative\": 16038,\n      \"eval\": 16039,\n      \"iking\": 16040,\n      \"'},\": 16041,\n      \"▁sauce\": 16042,\n      \"▁Due\": 16043,\n      \"assen\": 16044,\n      \"▁occasionally\": 16045,\n      \"▁Дж\": 16046,\n      \"unknown\": 16047,\n      \"DED\": 16048,\n      \"▁drum\": 16049,\n      \"▁dub\": 16050,\n      \"ATURE\": 16051,\n      \"usage\": 16052,\n      \"getType\": 16053,\n      \"reply\": 16054,\n      \"▁strategic\": 16055,\n      \"▁kap\": 16056,\n      \"design\": 16057,\n      \"datetime\": 16058,\n      \"▁Prim\": 16059,\n      \"Master\": 16060,\n      \"▁Corps\": 16061,\n      \"▁considerable\": 16062,\n      \"▁Tu\": 16063,\n      \"▁ла\": 16064,\n      \"▁tous\": 16065,\n      \"▁clar\": 16066,\n      \"▁poem\": 16067,\n      \"album\": 16068,\n      \"]*\": 16069,\n      \"loaded\": 16070,\n      \"▁traveling\": 16071,\n      \"вые\": 16072,\n      \"▁Ferr\": 16073,\n      \"▁pharm\": 16074,\n      \"abi\": 16075,\n      \"▁}\\\\\": 16076,\n      \"collect\": 16077,\n      \"▁Bour\": 16078,\n      \"OC\": 16079,\n      \"▁measurements\": 16080,\n      \"▁Professional\": 16081,\n      \"▁sensor\": 16082,\n      \"utsche\": 16083,\n      \"▁demanded\": 16084,\n      \"▁accompanied\": 16085,\n      \"▁prend\": 16086,\n      \"▁encoding\": 16087,\n      \"▁Geschichte\": 16088,\n      \"▁mig\": 16089,\n      \"▁Gib\": 16090,\n      \"▁Reich\": 16091,\n      \"▁myster\": 16092,\n      \"▁Mock\": 16093,\n      \"▁physically\": 16094,\n      \"▁Bau\": 16095,\n      \"▁Single\": 16096,\n      \"▁managing\": 16097,\n      \"▁Kil\": 16098,\n      \"▁Temple\": 16099,\n      \"▁lev\": 16100,\n      \"▁lí\": 16101,\n      \"CPU\": 16102,\n      \"▁Premier\": 16103,\n      \"▁Give\": 16104,\n      \"iri\": 16105,\n      \"NV\": 16106,\n      \"▁AI\": 16107,\n      \"▁fp\": 16108,\n      \"лександ\": 16109,\n      \"▁tant\": 16110,\n      \"▁fot\": 16111,\n      \"Nullable\": 16112,\n      \"▁guards\": 16113,\n      \"Once\": 16114,\n      \"▁chamber\": 16115,\n      \"film\": 16116,\n      \"▁bias\": 16117,\n      \"▁Tai\": 16118,\n      \"insic\": 16119,\n      \"▁ml\": 16120,\n      \"▁Ka\": 16121,\n      \"вал\": 16122,\n      \"▁SER\": 16123,\n      \"▁Someone\": 16124,\n      \"}}_{\": 16125,\n      \"Fixed\": 16126,\n      \"▁bent\": 16127,\n      \"▁prohib\": 16128,\n      \"▁bid\": 16129,\n      \"▁fewer\": 16130,\n      \"кры\": 16131,\n      \"▁lugar\": 16132,\n      \"▁deserve\": 16133,\n      \"ssl\": 16134,\n      \"▁cfg\": 16135,\n      \"reck\": 16136,\n      \"▁stability\": 16137,\n      \"resize\": 16138,\n      \"▁assertThat\": 16139,\n      \"Trigger\": 16140,\n      \"▁станов\": 16141,\n      \"plugins\": 16142,\n      \"▁lets\": 16143,\n      \"хід\": 16144,\n      \"▁Laura\": 16145,\n      \"нер\": 16146,\n      \"▁brut\": 16147,\n      \"▁FI\": 16148,\n      \"isons\": 16149,\n      \"▁dyn\": 16150,\n      \"icher\": 16151,\n      \"rayed\": 16152,\n      \"▁frequent\": 16153,\n      \"▁jedoch\": 16154,\n      \"▁Marine\": 16155,\n      \"strings\": 16156,\n      \"▁Util\": 16157,\n      \"▁bos\": 16158,\n      \"Mus\": 16159,\n      \"▁Portugal\": 16160,\n      \"Strategy\": 16161,\n      \"▁посе\": 16162,\n      \"▁slice\": 16163,\n      \"▁insight\": 16164,\n      \"▁widget\": 16165,\n      \"▁général\": 16166,\n      \"messages\": 16167,\n      \"▁Hu\": 16168,\n      \"▁requirement\": 16169,\n      \"Side\": 16170,\n      \"emplates\": 16171,\n      \"▁ceremony\": 16172,\n      \"▁physics\": 16173,\n      \"▁graduate\": 16174,\n      \"para\": 16175,\n      \"▁preserv\": 16176,\n      \"▁shops\": 16177,\n      \"zek\": 16178,\n      \"▁ub\": 16179,\n      \"prepare\": 16180,\n      \"▁Oil\": 16181,\n      \"▁fib\": 16182,\n      \"▁runtime\": 16183,\n      \"▁hogy\": 16184,\n      \"Warning\": 16185,\n      \"▁Convert\": 16186,\n      \"bourne\": 16187,\n      \"▁emerged\": 16188,\n      \"▁Ди\": 16189,\n      \"ighth\": 16190,\n      \"guard\": 16191,\n      \"kal\": 16192,\n      \"validation\": 16193,\n      \"ência\": 16194,\n      \"▁drinks\": 16195,\n      \"theorem\": 16196,\n      \"HR\": 16197,\n      \"iev\": 16198,\n      \"ployee\": 16199,\n      \"Usage\": 16200,\n      \"▁спе\": 16201,\n      \"dispatch\": 16202,\n      \"▁instantly\": 16203,\n      \"obi\": 16204,\n      \"▁justify\": 16205,\n      \"▁Nev\": 16206,\n      \"▁явля\": 16207,\n      \"agra\": 16208,\n      \"▁transmission\": 16209,\n      \"fly\": 16210,\n      \";</\": 16211,\n      \"▁symbols\": 16212,\n      \"ówn\": 16213,\n      \"▁corps\": 16214,\n      \"▁jail\": 16215,\n      \"▁Len\": 16216,\n      \"▁craw\": 16217,\n      \"▁lifestyle\": 16218,\n      \"▁redirect\": 16219,\n      \"▁Download\": 16220,\n      \"▁osc\": 16221,\n      \"▁insisted\": 16222,\n      \"▁jaw\": 16223,\n      \"inda\": 16224,\n      \"▁LICENSE\": 16225,\n      \"MR\": 16226,\n      \"вен\": 16227,\n      \"library\": 16228,\n      \"▁knee\": 16229,\n      \"Hello\": 16230,\n      \"▁defeated\": 16231,\n      \"▁mixture\": 16232,\n      \"encer\": 16233,\n      \"вати\": 16234,\n      \"TT\": 16235,\n      \"inher\": 16236,\n      \"Old\": 16237,\n      \"comments\": 16238,\n      \"develop\": 16239,\n      \"▁suicide\": 16240,\n      \"ologia\": 16241,\n      \"▁deaths\": 16242,\n      \"▁listing\": 16243,\n      \"▁processed\": 16244,\n      \"omer\": 16245,\n      \"▁tokens\": 16246,\n      \"▁ге\": 16247,\n      \"▁nú\": 16248,\n      \"▁év\": 16249,\n      \"▁Body\": 16250,\n      \"▁giorn\": 16251,\n      \"▁elabor\": 16252,\n      \"▁Rand\": 16253,\n      \"▁Notes\": 16254,\n      \"▁Massachusetts\": 16255,\n      \"(%\": 16256,\n      \"Information\": 16257,\n      \"▁Wr\": 16258,\n      \"mk\": 16259,\n      \"▁Schw\": 16260,\n      \"asting\": 16261,\n      \"▁tiene\": 16262,\n      \"▁dirig\": 16263,\n      \"▁rim\": 16264,\n      \"вый\": 16265,\n      \"▁transferred\": 16266,\n      \"odi\": 16267,\n      \"▁hunting\": 16268,\n      \"▁enjoying\": 16269,\n      \"pk\": 16270,\n      \"MAG\": 16271,\n      \"Axis\": 16272,\n      \"integr\": 16273,\n      \"Failure\": 16274,\n      \"▁losses\": 16275,\n      \"▁loving\": 16276,\n      \"Consum\": 16277,\n      \"рий\": 16278,\n      \"▁inspect\": 16279,\n      \"Put\": 16280,\n      \"avia\": 16281,\n      \"▁hated\": 16282,\n      \"ью\": 16283,\n      \"▁brush\": 16284,\n      \"▁uncomfort\": 16285,\n      \"▁Thread\": 16286,\n      \"▁communicate\": 16287,\n      \"жно\": 16288,\n      \"INST\": 16289,\n      \"▁Mach\": 16290,\n      \"Ignore\": 16291,\n      \"▁programming\": 16292,\n      \"cí\": 16293,\n      \"=\\\"<?\": 16294,\n      \"Req\": 16295,\n      \"▁Fif\": 16296,\n      \"inely\": 16297,\n      \"▁consumption\": 16298,\n      \"erial\": 16299,\n      \"▁communications\": 16300,\n      \"таль\": 16301,\n      \"iere\": 16302,\n      \"▁Living\": 16303,\n      \"▁Alfred\": 16304,\n      \"die\": 16305,\n      \"▁prost\": 16306,\n      \"▁fier\": 16307,\n      \"▁CF\": 16308,\n      \"▁BBC\": 16309,\n      \"Weight\": 16310,\n      \"Convert\": 16311,\n      \"▁featuring\": 16312,\n      \"arte\": 16313,\n      \"'_\": 16314,\n      \"▁JS\": 16315,\n      \"стави\": 16316,\n      \"▁premium\": 16317,\n      \"zig\": 16318,\n      \"▁deze\": 16319,\n      \"▁Afghan\": 16320,\n      \"hythm\": 16321,\n      \"mot\": 16322,\n      \"USB\": 16323,\n      \"▁UI\": 16324,\n      \"fake\": 16325,\n      \"anco\": 16326,\n      \"EF\": 16327,\n      \"Asset\": 16328,\n      \"▁Details\": 16329,\n      \"gorithms\": 16330,\n      \"▁sighed\": 16331,\n      \"▁Лу\": 16332,\n      \"чки\": 16333,\n      \"▁Cit\": 16334,\n      \"channels\": 16335,\n      \"▁reads\": 16336,\n      \"▁automatic\": 16337,\n      \"▁medal\": 16338,\n      \"pod\": 16339,\n      \"▁Mik\": 16340,\n      \"▁lon\": 16341,\n      \"liver\": 16342,\n      \"▁Atlantic\": 16343,\n      \"omi\": 16344,\n      \"ání\": 16345,\n      \"creat\": 16346,\n      \"▁assuming\": 16347,\n      \"rå\": 16348,\n      \"▁();\": 16349,\n      \"mine\": 16350,\n      \"aler\": 16351,\n      \"HW\": 16352,\n      \"▁undert\": 16353,\n      \"Switch\": 16354,\n      \"his\": 16355,\n      \"▁flew\": 16356,\n      \"MAN\": 16357,\n      \"INDEX\": 16358,\n      \"▁Kaz\": 16359,\n      \"▁между\": 16360,\n      \"▁bol\": 16361,\n      \"станов\": 16362,\n      \"ход\": 16363,\n      \"APP\": 16364,\n      \"▁tiem\": 16365,\n      \"▁attach\": 16366,\n      \"▁safely\": 16367,\n      \"FUNCTION\": 16368,\n      \"▁lag\": 16369,\n      \"ници\": 16370,\n      \"shit\": 16371,\n      \"▁tempt\": 16372,\n      \"RIP\": 16373,\n      \"atta\": 16374,\n      \"▁identifier\": 16375,\n      \"ebook\": 16376,\n      \"▁Sales\": 16377,\n      \"▁eerst\": 16378,\n      \"▁reson\": 16379,\n      \"▁accused\": 16380,\n      \"...)\": 16381,\n      \"▁basketball\": 16382,\n      \"▁ERROR\": 16383,\n      \"Abstract\": 16384,\n      \"▁perf\": 16385,\n      \"▁tempo\": 16386,\n      \"▁Mol\": 16387,\n      \"▁logo\": 16388,\n      \"льта\": 16389,\n      \"▁incorrect\": 16390,\n      \"▁girlfriend\": 16391,\n      \"▁Nar\": 16392,\n      \"▁clouds\": 16393,\n      \"▁йо\": 16394,\n      \"▁fits\": 16395,\n      \"REQUEST\": 16396,\n      \"▁Pear\": 16397,\n      \"METHOD\": 16398,\n      \"▁CHAPTER\": 16399,\n      \"Cpp\": 16400,\n      \"▁ampl\": 16401,\n      \"icking\": 16402,\n      \"▁realiz\": 16403,\n      \"|^\": 16404,\n      \"nas\": 16405,\n      \"BUFFER\": 16406,\n      \"ця\": 16407,\n      \"nier\": 16408,\n      \"keep\": 16409,\n      \"▁sistema\": 16410,\n      \"▁Cer\": 16411,\n      \"▁Draw\": 16412,\n      \"getInstance\": 16413,\n      \"VEL\": 16414,\n      \"▁beliefs\": 16415,\n      \"▁MC\": 16416,\n      \"----------\": 16417,\n      \"▁irrit\": 16418,\n      \"▁Nations\": 16419,\n      \"ensitive\": 16420,\n      \"▁nouve\": 16421,\n      \"▁elif\": 16422,\n      \"▁meals\": 16423,\n      \"▁closest\": 16424,\n      \"▁routes\": 16425,\n      \"▁поли\": 16426,\n      \"▁fulfill\": 16427,\n      \"дина\": 16428,\n      \"cout\": 16429,\n      \"▁Mobile\": 16430,\n      \"▁inequ\": 16431,\n      \"▁pelo\": 16432,\n      \"']))\": 16433,\n      \"▁shortly\": 16434,\n      \"▁imagined\": 16435,\n      \"unden\": 16436,\n      \"▁trusted\": 16437,\n      \"▁estimates\": 16438,\n      \"▁rod\": 16439,\n      \"issenschaft\": 16440,\n      \"▁logical\": 16441,\n      \"unter\": 16442,\n      \"▁Ont\": 16443,\n      \"▁compass\": 16444,\n      \"bud\": 16445,\n      \"▁wise\": 16446,\n      \"▁ger\": 16447,\n      \"▁Iss\": 16448,\n      \"had\": 16449,\n      \"▁HA\": 16450,\n      \"▁rang\": 16451,\n      \"▁trap\": 16452,\n      \"▁inject\": 16453,\n      \"feed\": 16454,\n      \"pection\": 16455,\n      \"▁satisfaction\": 16456,\n      \"NI\": 16457,\n      \"▁robust\": 16458,\n      \"TABLE\": 16459,\n      \"▁zurück\": 16460,\n      \"▁Charlotte\": 16461,\n      \"itative\": 16462,\n      \"▁inspiration\": 16463,\n      \"orious\": 16464,\n      \"eurs\": 16465,\n      \"ган\": 16466,\n      \"слу\": 16467,\n      \"▁analog\": 16468,\n      \"alias\": 16469,\n      \"▁racing\": 16470,\n      \"stock\": 16471,\n      \"ustral\": 16472,\n      \"▁+\\\\\": 16473,\n      \"uuid\": 16474,\n      \"emente\": 16475,\n      \"assembly\": 16476,\n      \"GroupName\": 16477,\n      \"yout\": 16478,\n      \"▁rab\": 16479,\n      \"three\": 16480,\n      \"▁Ther\": 16481,\n      \"▁BUT\": 16482,\n      \"fish\": 16483,\n      \"▁nell\": 16484,\n      \"Gate\": 16485,\n      \"▁preparing\": 16486,\n      \"стер\": 16487,\n      \"Okay\": 16488,\n      \"▁concluded\": 16489,\n      \"pars\": 16490,\n      \"▁loro\": 16491,\n      \"▁gut\": 16492,\n      \"▁bitter\": 16493,\n      \"▁Wi\": 16494,\n      \"▁eastern\": 16495,\n      \"▁weekly\": 16496,\n      \"▁tear\": 16497,\n      \".\\\"\\\"\\\"\": 16498,\n      \"▁demonstrate\": 16499,\n      \"▁soph\": 16500,\n      \"▁Rus\": 16501,\n      \"▁obsc\": 16502,\n      \"мерикан\": 16503,\n      \"bean\": 16504,\n      \"▁Doctor\": 16505,\n      \"▁Lawrence\": 16506,\n      \"third\": 16507,\n      \"▁consciousness\": 16508,\n      \"▁races\": 16509,\n      \"elements\": 16510,\n      \"▁mismo\": 16511,\n      \"▁occupied\": 16512,\n      \"▁slide\": 16513,\n      \"▁Andy\": 16514,\n      \"tcp\": 16515,\n      \"▁stiff\": 16516,\n      \"▁Leben\": 16517,\n      \"▁upgrade\": 16518,\n      \"Throw\": 16519,\n      \"▁Guy\": 16520,\n      \"Camera\": 16521,\n      \"ACH\": 16522,\n      \"▁puede\": 16523,\n      \"WEBPACK\": 16524,\n      \"жение\": 16525,\n      \"──\": 16526,\n      \"ША\": 16527,\n      \"лова\": 16528,\n      \"visor\": 16529,\n      \"signal\": 16530,\n      \"▁Alber\": 16531,\n      \"MBOL\": 16532,\n      \"▁pt\": 16533,\n      \"▁romantic\": 16534,\n      \"▁corresponds\": 16535,\n      \"▁Operation\": 16536,\n      \"▁XML\": 16537,\n      \"▁infinite\": 16538,\n      \"gew\": 16539,\n      \"▁Argentina\": 16540,\n      \"SUB\": 16541,\n      \"▁wip\": 16542,\n      \"▁Level\": 16543,\n      \"▁coin\": 16544,\n      \"▁Own\": 16545,\n      \"dv\": 16546,\n      \"uspend\": 16547,\n      \"▁judgment\": 16548,\n      \"▁Mais\": 16549,\n      \"*:\": 16550,\n      \"usted\": 16551,\n      \"(/\": 16552,\n      \"▁\\\"+\": 16553,\n      \"crement\": 16554,\n      \"▁Photo\": 16555,\n      \"Messages\": 16556,\n      \"▁Success\": 16557,\n      \"href\": 16558,\n      \"▁fert\": 16559,\n      \"Holder\": 16560,\n      \"emperature\": 16561,\n      \"OFFSET\": 16562,\n      \"▁dall\": 16563,\n      \"▁rival\": 16564,\n      \"▁conform\": 16565,\n      \"subject\": 16566,\n      \"TING\": 16567,\n      \"▁vest\": 16568,\n      \"▁Additionally\": 16569,\n      \"contact\": 16570,\n      \"▁CP\": 16571,\n      \"▁COP\": 16572,\n      \"HC\": 16573,\n      \"▁exclus\": 16574,\n      \"▁bru\": 16575,\n      \"license\": 16576,\n      \"▁Buck\": 16577,\n      \"▁gods\": 16578,\n      \"▁Unidos\": 16579,\n      \"▁Query\": 16580,\n      \"сов\": 16581,\n      \"▁concepts\": 16582,\n      \"▁mild\": 16583,\n      \"▁supplied\": 16584,\n      \"▁capabilities\": 16585,\n      \"▁marry\": 16586,\n      \"Snapshot\": 16587,\n      \"▁etwa\": 16588,\n      \"▁Alt\": 16589,\n      \"ví\": 16590,\n      \"ktion\": 16591,\n      \"kol\": 16592,\n      \"▁grip\": 16593,\n      \"▁CS\": 16594,\n      \"▁Samuel\": 16595,\n      \"▁Beck\": 16596,\n      \"▁Gallery\": 16597,\n      \"richt\": 16598,\n      \"▁dt\": 16599,\n      \"peg\": 16600,\n      \"▁Too\": 16601,\n      \"amment\": 16602,\n      \"▁faint\": 16603,\n      \"virtual\": 16604,\n      \"▁plug\": 16605,\n      \"Hor\": 16606,\n      \"iele\": 16607,\n      \"ники\": 16608,\n      \"▁cov\": 16609,\n      \"ět\": 16610,\n      \"▁encuent\": 16611,\n      \"abc\": 16612,\n      \"CLUD\": 16613,\n      \"▁symmetry\": 16614,\n      \"ailing\": 16615,\n      \"▁Moore\": 16616,\n      \"chart\": 16617,\n      \"▁shifted\": 16618,\n      \"▁damaged\": 16619,\n      \"▁testim\": 16620,\n      \"~$\": 16621,\n      \"▁hiding\": 16622,\n      \"***\": 16623,\n      \"▁horn\": 16624,\n      \"▁Token\": 16625,\n      \"▁pixels\": 16626,\n      \"Eval\": 16627,\n      \"ály\": 16628,\n      \"▁тако\": 16629,\n      \"▁confusion\": 16630,\n      \"etta\": 16631,\n      \"rypted\": 16632,\n      \"emat\": 16633,\n      \"CLUDING\": 16634,\n      \"lookup\": 16635,\n      \"TIM\": 16636,\n      \"▁allem\": 16637,\n      \"rp\": 16638,\n      \"atio\": 16639,\n      \"ení\": 16640,\n      \"metry\": 16641,\n      \"idays\": 16642,\n      \"Theta\": 16643,\n      \"Connect\": 16644,\n      \"▁assass\": 16645,\n      \"\\\"\\\\\": 16646,\n      \"▁beam\": 16647,\n      \"▁Customer\": 16648,\n      \"▁pela\": 16649,\n      \"sleep\": 16650,\n      \"▁Fal\": 16651,\n      \"▁Quick\": 16652,\n      \"▁Indones\": 16653,\n      \"▁Ukraine\": 16654,\n      \"YY\": 16655,\n      \"▁Jonathan\": 16656,\n      \"ATOR\": 16657,\n      \"▁Governor\": 16658,\n      \"imeter\": 16659,\n      \"▁Visit\": 16660,\n      \"▁Krist\": 16661,\n      \"▁affordable\": 16662,\n      \";/\": 16663,\n      \"▁hay\": 16664,\n      \"unto\": 16665,\n      \"▁cargo\": 16666,\n      \"▁Zwe\": 16667,\n      \"▁Bruce\": 16668,\n      \"лем\": 16669,\n      \"▁emit\": 16670,\n      \"зд\": 16671,\n      \"шу\": 16672,\n      \"▁коро\": 16673,\n      \"ohl\": 16674,\n      \"MenuItem\": 16675,\n      \"▁Clear\": 16676,\n      \"▁Altern\": 16677,\n      \"▁dawn\": 16678,\n      \"▁wisdom\": 16679,\n      \"цій\": 16680,\n      \"börd\": 16681,\n      \"Decimal\": 16682,\n      \"filled\": 16683,\n      \"arguments\": 16684,\n      \"▁fet\": 16685,\n      \"▁Beaut\": 16686,\n      \"▁dens\": 16687,\n      \"Returns\": 16688,\n      \"attach\": 16689,\n      \"▁Вели\": 16690,\n      \"▁filed\": 16691,\n      \"▁Harris\": 16692,\n      \"▁Example\": 16693,\n      \"▁Learn\": 16694,\n      \"Resolver\": 16695,\n      \"▁complement\": 16696,\n      \"pref\": 16697,\n      \"▁intens\": 16698,\n      \"▁garage\": 16699,\n      \"aient\": 16700,\n      \"▁etern\": 16701,\n      \"кта\": 16702,\n      \"▁denied\": 16703,\n      \"▁LL\": 16704,\n      \"sequence\": 16705,\n      \"▁ridiculous\": 16706,\n      \"öm\": 16707,\n      \"atti\": 16708,\n      \"▁questo\": 16709,\n      \"▁determin\": 16710,\n      \"▁arbitrary\": 16711,\n      \"ilia\": 16712,\n      \"clusion\": 16713,\n      \"currency\": 16714,\n      \"▁addressed\": 16715,\n      \"▁interpretation\": 16716,\n      \"NL\": 16717,\n      \"rä\": 16718,\n      \"▁&#\": 16719,\n      \"▁bou\": 16720,\n      \"▁pants\": 16721,\n      \"▁Express\": 16722,\n      \"cls\": 16723,\n      \"tagHelper\": 16724,\n      \"▁Natural\": 16725,\n      \"▁submitted\": 16726,\n      \"secret\": 16727,\n      \"ilib\": 16728,\n      \"chell\": 16729,\n      \"▁Haupt\": 16730,\n      \"heid\": 16731,\n      \"▁cord\": 16732,\n      \"▁poverty\": 16733,\n      \"amped\": 16734,\n      \"tests\": 16735,\n      \"▁Handle\": 16736,\n      \"▁Estados\": 16737,\n      \"Validator\": 16738,\n      \"atom\": 16739,\n      \"lope\": 16740,\n      \"▁tile\": 16741,\n      \"Contract\": 16742,\n      \"RF\": 16743,\n      \"▁preparation\": 16744,\n      \"▁Maj\": 16745,\n      \"▁Кар\": 16746,\n      \"судар\": 16747,\n      \"▁woods\": 16748,\n      \"▁chef\": 16749,\n      \"▁Sad\": 16750,\n      \"FLAGS\": 16751,\n      \"▁improving\": 16752,\n      \"compute\": 16753,\n      \"RETURN\": 16754,\n      \"Metrics\": 16755,\n      \"▁Squad\": 16756,\n      \"▁Sets\": 16757,\n      \"▁SPE\": 16758,\n      \"▁blink\": 16759,\n      \"▁actors\": 16760,\n      \"▁survived\": 16761,\n      \"▁Emer\": 16762,\n      \"▁'-\": 16763,\n      \"▁Rachel\": 16764,\n      \"▁deutscher\": 16765,\n      \"▁sop\": 16766,\n      \"▁vil\": 16767,\n      \"falls\": 16768,\n      \"refer\": 16769,\n      \"dark\": 16770,\n      \"▁promotion\": 16771,\n      \":%.*\": 16772,\n      \"▁Crit\": 16773,\n      \"▁Sto\": 16774,\n      \"#{\": 16775,\n      \"▁classification\": 16776,\n      \"alen\": 16777,\n      \"Under\": 16778,\n      \"▁cort\": 16779,\n      \"quate\": 16780,\n      \"concat\": 16781,\n      \"▁Effect\": 16782,\n      \"▁officially\": 16783,\n      \"▁Bernard\": 16784,\n      \"usr\": 16785,\n      \"▁Mé\": 16786,\n      \"▁landed\": 16787,\n      \"sent\": 16788,\n      \"interpret\": 16789,\n      \"▁Exp\": 16790,\n      \"ulum\": 16791,\n      \"loading\": 16792,\n      \"Fire\": 16793,\n      \"▁porn\": 16794,\n      \"▁Airport\": 16795,\n      \"▁tard\": 16796,\n      \"▁Officer\": 16797,\n      \"ggreg\": 16798,\n      \"сли\": 16799,\n      \"▁intensity\": 16800,\n      \"ând\": 16801,\n      \"zza\": 16802,\n      \"▁excuse\": 16803,\n      \"ASK\": 16804,\n      \"▁Senior\": 16805,\n      \"▁generations\": 16806,\n      \"ouses\": 16807,\n      \"▁warned\": 16808,\n      \"▁capit\": 16809,\n      \"▁основ\": 16810,\n      \"▁chop\": 16811,\n      \"omed\": 16812,\n      \"▁prosecut\": 16813,\n      \"▁alg\": 16814,\n      \"▁retain\": 16815,\n      \"agine\": 16816,\n      \"werk\": 16817,\n      \"▁Raj\": 16818,\n      \"BER\": 16819,\n      \"itutional\": 16820,\n      \"іб\": 16821,\n      \"▁сер\": 16822,\n      \"▁instinct\": 16823,\n      \"▁boundaries\": 16824,\n      \"▁median\": 16825,\n      \"▁horrible\": 16826,\n      \"▁innovative\": 16827,\n      \"▁EP\": 16828,\n      \"▁vacation\": 16829,\n      \"▁walks\": 16830,\n      \"▁recalled\": 16831,\n      \"лле\": 16832,\n      \"▁ад\": 16833,\n      \"▁série\": 16834,\n      \"▁Barcelona\": 16835,\n      \"olas\": 16836,\n      \"▁legislation\": 16837,\n      \"▁franch\": 16838,\n      \"Touch\": 16839,\n      \"Dict\": 16840,\n      \"▁differently\": 16841,\n      \"▁imagination\": 16842,\n      \"▁bills\": 16843,\n      \"▁reception\": 16844,\n      \"zá\": 16845,\n      \"IMPORTED\": 16846,\n      \"lab\": 16847,\n      \"(\\\"[\": 16848,\n      \"illon\": 16849,\n      \"--;\": 16850,\n      \"▁Mär\": 16851,\n      \"▁balls\": 16852,\n      \"Promise\": 16853,\n      \"▁institution\": 16854,\n      \"bau\": 16855,\n      \"▁survival\": 16856,\n      \"▁Drive\": 16857,\n      \"joint\": 16858,\n      \"▁flavor\": 16859,\n      \"▁computed\": 16860,\n      \"▁viewed\": 16861,\n      \"▁swimming\": 16862,\n      \"▁innovation\": 16863,\n      \"share\": 16864,\n      \"rollers\": 16865,\n      \"▁Serge\": 16866,\n      \"filters\": 16867,\n      \"itivity\": 16868,\n      \"▁corn\": 16869,\n      \"▁Ms\": 16870,\n      \"телей\": 16871,\n      \"▁mathemat\": 16872,\n      \"▁Labour\": 16873,\n      \"рей\": 16874,\n      \"▁punt\": 16875,\n      \"▁revers\": 16876,\n      \"▁nowhere\": 16877,\n      \"rific\": 16878,\n      \"▁HAL\": 16879,\n      \"▁Email\": 16880,\n      \"▁Cover\": 16881,\n      \"▁monitoring\": 16882,\n      \"▁pc\": 16883,\n      \"SED\": 16884,\n      \"nv\": 16885,\n      \"▁Years\": 16886,\n      \"▁Season\": 16887,\n      \"▁stabil\": 16888,\n      \"acco\": 16889,\n      \"beat\": 16890,\n      \"oric\": 16891,\n      \"▁pipeline\": 16892,\n      \"▁radi\": 16893,\n      \"ulus\": 16894,\n      \"▁celebrate\": 16895,\n      \"▁Ci\": 16896,\n      \"▁OTHER\": 16897,\n      \"ję\": 16898,\n      \"▁lu\": 16899,\n      \"▁CC\": 16900,\n      \"agonal\": 16901,\n      \"äd\": 16902,\n      \"▁може\": 16903,\n      \"▁Houston\": 16904,\n      \"▁beings\": 16905,\n      \"▁vous\": 16906,\n      \"Router\": 16907,\n      \"▁Nam\": 16908,\n      \"▁wetenschapp\": 16909,\n      \"<\\\\\": 16910,\n      \"▁Turk\": 16911,\n      \"country\": 16912,\n      \"hm\": 16913,\n      \"culate\": 16914,\n      \"▁SK\": 16915,\n      \"▁secretary\": 16916,\n      \"ventory\": 16917,\n      \"▁insect\": 16918,\n      \"ITH\": 16919,\n      \"velt\": 16920,\n      \"▁encore\": 16921,\n      \"Google\": 16922,\n      \"▁Chart\": 16923,\n      \"▁dude\": 16924,\n      \"▁lapt\": 16925,\n      \"fen\": 16926,\n      \"\\\\[\": 16927,\n      \"▁championship\": 16928,\n      \"Appe\": 16929,\n      \"prot\": 16930,\n      \"▁seva\": 16931,\n      \"▁Miami\": 16932,\n      \"▁matched\": 16933,\n      \"lb\": 16934,\n      \"encil\": 16935,\n      \"▁diese\": 16936,\n      \"▁ng\": 16937,\n      \"мени\": 16938,\n      \"uggest\": 16939,\n      \"ubern\": 16940,\n      \"▁Emily\": 16941,\n      \"▁fate\": 16942,\n      \"');\\r\": 16943,\n      \"esty\": 16944,\n      \"▁Luis\": 16945,\n      \"Fill\": 16946,\n      \"▁existed\": 16947,\n      \"▁expressions\": 16948,\n      \"\\\")\\r\": 16949,\n      \"rud\": 16950,\n      \"Nd\": 16951,\n      \"iddleware\": 16952,\n      \"POS\": 16953,\n      \"▁Кон\": 16954,\n      \"▁Daily\": 16955,\n      \"▁literary\": 16956,\n      \"▁Audio\": 16957,\n      \"Errors\": 16958,\n      \"▁remarkable\": 16959,\n      \"▁resulted\": 16960,\n      \"▁spots\": 16961,\n      \"large\": 16962,\n      \"urations\": 16963,\n      \"ongo\": 16964,\n      \"rose\": 16965,\n      \"Components\": 16966,\n      \"jes\": 16967,\n      \"▁genuine\": 16968,\n      \"▁Mut\": 16969,\n      \"▁Made\": 16970,\n      \"▁sorts\": 16971,\n      \"▁expenses\": 16972,\n      \"▁Whatever\": 16973,\n      \"constant\": 16974,\n      \"▁singles\": 16975,\n      \"ografie\": 16976,\n      \"GM\": 16977,\n      \"удо\": 16978,\n      \"▁Aqu\": 16979,\n      \"▁theorem\": 16980,\n      \"swer\": 16981,\n      \"riving\": 16982,\n      \"anas\": 16983,\n      \"gles\": 16984,\n      \"▁operated\": 16985,\n      \"▁ved\": 16986,\n      \"owski\": 16987,\n      \"rium\": 16988,\n      \"Dem\": 16989,\n      \"Split\": 16990,\n      \"▁infect\": 16991,\n      \"▁Inv\": 16992,\n      \"kle\": 16993,\n      \"▁год\": 16994,\n      \"▁Italia\": 16995,\n      \"▁dollar\": 16996,\n      \"▁Pra\": 16997,\n      \"▁Bull\": 16998,\n      \"▁buttons\": 16999,\n      \"лий\": 17000,\n      \"▁metrics\": 17001,\n      \"▁participation\": 17002,\n      \"PLAY\": 17003,\n      \"▁bio\": 17004,\n      \"straints\": 17005,\n      \"\\\\}$\": 17006,\n      \"ourt\": 17007,\n      \"▁precise\": 17008,\n      \"▁иг\": 17009,\n      \"тен\": 17010,\n      \"HasColumn\": 17011,\n      \"FRA\": 17012,\n      \"▁inch\": 17013,\n      \"▁neighbors\": 17014,\n      \"Expected\": 17015,\n      \"▁Democrats\": 17016,\n      \"kc\": 17017,\n      \"▁Lam\": 17018,\n      \"Azure\": 17019,\n      \"irtschaft\": 17020,\n      \">';\": 17021,\n      \"▁cousin\": 17022,\n      \"createElement\": 17023,\n      \"Could\": 17024,\n      \"▁capac\": 17025,\n      \"▁pause\": 17026,\n      \"ArrayList\": 17027,\n      \"kte\": 17028,\n      \"ordered\": 17029,\n      \"▁shaking\": 17030,\n      \"labels\": 17031,\n      \"▁reducing\": 17032,\n      \"вых\": 17033,\n      \"USED\": 17034,\n      \"▁voting\": 17035,\n      \"▁Ministry\": 17036,\n      \"▁Mig\": 17037,\n      \"▁Chen\": 17038,\n      \"▁accompany\": 17039,\n      \"ulle\": 17040,\n      \"▁ga\": 17041,\n      \"▁equipped\": 17042,\n      \"▁nun\": 17043,\n      \"Bet\": 17044,\n      \"▁licensed\": 17045,\n      \"ARCH\": 17046,\n      \"FN\": 17047,\n      \"▁engines\": 17048,\n      \"▁ster\": 17049,\n      \"▁locale\": 17050,\n      \"▁въ\": 17051,\n      \"links\": 17052,\n      \"▁Capital\": 17053,\n      \"▁alien\": 17054,\n      \"Wr\": 17055,\n      \"ръ\": 17056,\n      \"Cart\": 17057,\n      \"▁Marketing\": 17058,\n      \"▁RT\": 17059,\n      \"FileName\": 17060,\n      \"▁ti\": 17061,\n      \"iji\": 17062,\n      \"▁versus\": 17063,\n      \"live\": 17064,\n      \"Sym\": 17065,\n      \"kor\": 17066,\n      \"▁emission\": 17067,\n      \"umm\": 17068,\n      \"ycz\": 17069,\n      \"▁climbed\": 17070,\n      \"▁plusieurs\": 17071,\n      \"кри\": 17072,\n      \"yar\": 17073,\n      \"osten\": 17074,\n      \"▁usb\": 17075,\n      \"▁crossing\": 17076,\n      \"▁polynom\": 17077,\n      \"▁removal\": 17078,\n      \"▁Adams\": 17079,\n      \"▁ihre\": 17080,\n      \"anden\": 17081,\n      \"▁Benj\": 17082,\n      \"▁Phill\": 17083,\n      \"▁wounded\": 17084,\n      \"▁Castle\": 17085,\n      \"bild\": 17086,\n      \"Annotation\": 17087,\n      \"Processor\": 17088,\n      \"▁tin\": 17089,\n      \"folg\": 17090,\n      \"▁Students\": 17091,\n      \"▁Mexican\": 17092,\n      \"▁administrative\": 17093,\n      \"ILED\": 17094,\n      \"▁conqu\": 17095,\n      \"▁cheer\": 17096,\n      \"▁Ces\": 17097,\n      \"Because\": 17098,\n      \"▁Juni\": 17099,\n      \"▁encontr\": 17100,\n      \"avi\": 17101,\n      \"VI\": 17102,\n      \"aku\": 17103,\n      \"▁Ton\": 17104,\n      \"▁smoking\": 17105,\n      \"▁bay\": 17106,\n      \"works\": 17107,\n      \"ат\": 17108,\n      \"attered\": 17109,\n      \"▁Boolean\": 17110,\n      \"▁Balt\": 17111,\n      \"defer\": 17112,\n      \"pathy\": 17113,\n      \"Ah\": 17114,\n      \"▁akt\": 17115,\n      \"▁governor\": 17116,\n      \"Pad\": 17117,\n      \"▁sisters\": 17118,\n      \"Lat\": 17119,\n      \"▁revel\": 17120,\n      \"▁SY\": 17121,\n      \"itos\": 17122,\n      \"▁filters\": 17123,\n      \"Chunk\": 17124,\n      \"consum\": 17125,\n      \"▁removing\": 17126,\n      \"▁Herr\": 17127,\n      \"▁generator\": 17128,\n      \"▁Cra\": 17129,\n      \"▁farmers\": 17130,\n      \"▁Members\": 17131,\n      \"▁overcome\": 17132,\n      \"▁Cin\": 17133,\n      \"igkeit\": 17134,\n      \"criptions\": 17135,\n      \"Tests\": 17136,\n      \"▁клу\": 17137,\n      \"▁shake\": 17138,\n      \"▁yy\": 17139,\n      \"placement\": 17140,\n      \"▁awards\": 17141,\n      \"▁episodes\": 17142,\n      \"▁Blood\": 17143,\n      \"▁bullet\": 17144,\n      \"▁viene\": 17145,\n      \"▁Financial\": 17146,\n      \"Future\": 17147,\n      \"▁rou\": 17148,\n      \"▁biologie\": 17149,\n      \"▁useState\": 17150,\n      \"iani\": 17151,\n      \"piece\": 17152,\n      \"▁speaker\": 17153,\n      \"▁refr\": 17154,\n      \"ARK\": 17155,\n      \"▁MIT\": 17156,\n      \"▁Tan\": 17157,\n      \"▁Based\": 17158,\n      \"▁cultiv\": 17159,\n      \"▁hungry\": 17160,\n      \"▁Ay\": 17161,\n      \"▁Hey\": 17162,\n      \"▁excitement\": 17163,\n      \"ibraries\": 17164,\n      \"Hit\": 17165,\n      \"▁Ende\": 17166,\n      \"NG\": 17167,\n      \"FIL\": 17168,\n      \".\\\")\": 17169,\n      \"Family\": 17170,\n      \"inery\": 17171,\n      \"necess\": 17172,\n      \"velope\": 17173,\n      \"▁Bot\": 17174,\n      \"porter\": 17175,\n      \"▁climb\": 17176,\n      \"▁Eli\": 17177,\n      \"urent\": 17178,\n      \"▁mistakes\": 17179,\n      \"ában\": 17180,\n      \"marks\": 17181,\n      \"pkt\": 17182,\n      \"Library\": 17183,\n      \"sted\": 17184,\n      \"ublice\": 17185,\n      \"▁Administration\": 17186,\n      \"▁shapes\": 17187,\n      \"публи\": 17188,\n      \"God\": 17189,\n      \"innen\": 17190,\n      \"коло\": 17191,\n      \"<<<<\": 17192,\n      \"ibe\": 17193,\n      \"ês\": 17194,\n      \"▁США\": 17195,\n      \"▁Foreign\": 17196,\n      \"▁Margaret\": 17197,\n      \"▁gene\": 17198,\n      \"▁disturb\": 17199,\n      \"▁тер\": 17200,\n      \"▁onClick\": 17201,\n      \"▁Engineering\": 17202,\n      \"▁stopping\": 17203,\n      \"▁restrictions\": 17204,\n      \",*\": 17205,\n      \"BUF\": 17206,\n      \"▁shadows\": 17207,\n      \"hci\": 17208,\n      \"▁Christians\": 17209,\n      \"▁fence\": 17210,\n      \"▁luxury\": 17211,\n      \"akh\": 17212,\n      \"coord\": 17213,\n      \"▁investigate\": 17214,\n      \"▁conventional\": 17215,\n      \"\\\"—\": 17216,\n      \"▁visits\": 17217,\n      \"isé\": 17218,\n      \"▁Sac\": 17219,\n      \"className\": 17220,\n      \"▁Psych\": 17221,\n      \"▁reflected\": 17222,\n      \"▁пло\": 17223,\n      \"▁Vice\": 17224,\n      \"ław\": 17225,\n      \"________________\": 17226,\n      \"▁Wolf\": 17227,\n      \"rente\": 17228,\n      \"▁Champion\": 17229,\n      \"▁simulation\": 17230,\n      \"esota\": 17231,\n      \"▁Soon\": 17232,\n      \"▁Cel\": 17233,\n      \"▁theories\": 17234,\n      \"▁STR\": 17235,\n      \"▁collective\": 17236,\n      \"▁coordinate\": 17237,\n      \"querySelector\": 17238,\n      \"emed\": 17239,\n      \"Break\": 17240,\n      \"▁gef\": 17241,\n      \"▁electricity\": 17242,\n      \"▁gathering\": 17243,\n      \"aters\": 17244,\n      \"exper\": 17245,\n      \"▁Roma\": 17246,\n      \"▁Cooper\": 17247,\n      \"SYMBOL\": 17248,\n      \"vd\": 17249,\n      \"iversary\": 17250,\n      \"aines\": 17251,\n      \"▁Grad\": 17252,\n      \"▁independence\": 17253,\n      \"woh\": 17254,\n      \"▁consequence\": 17255,\n      \"▁conversations\": 17256,\n      \"▁Rou\": 17257,\n      \"▁andere\": 17258,\n      \"▁Systems\": 17259,\n      \"гар\": 17260,\n      \"▁moist\": 17261,\n      \"flu\": 17262,\n      \"ція\": 17263,\n      \"ниш\": 17264,\n      \"▁rode\": 17265,\n      \"▁perd\": 17266,\n      \"▁szer\": 17267,\n      \"▁flood\": 17268,\n      \"▁intim\": 17269,\n      \"stderr\": 17270,\n      \"▁reflection\": 17271,\n      \"Scan\": 17272,\n      \"▁disaster\": 17273,\n      \"akespe\": 17274,\n      \"▁Invalid\": 17275,\n      \"▁humor\": 17276,\n      \"▁Friedrich\": 17277,\n      \"▁suggestions\": 17278,\n      \"uvud\": 17279,\n      \"Delay\": 17280,\n      \"brief\": 17281,\n      \"▁ис\": 17282,\n      \"glied\": 17283,\n      \"fas\": 17284,\n      \"▁Smart\": 17285,\n      \"▁medi\": 17286,\n      \"sdk\": 17287,\n      \"▁seus\": 17288,\n      \"▁Arizona\": 17289,\n      \"▁innocent\": 17290,\n      \"Warn\": 17291,\n      \"acious\": 17292,\n      \"▁Moscow\": 17293,\n      \"▁caps\": 17294,\n      \"Delegate\": 17295,\n      \"▁dramatic\": 17296,\n      \"books\": 17297,\n      \"▁shore\": 17298,\n      \"uki\": 17299,\n      \"▁Russell\": 17300,\n      \"▁correlation\": 17301,\n      \"Help\": 17302,\n      \"▁pubblic\": 17303,\n      \"zym\": 17304,\n      \"comb\": 17305,\n      \"EY\": 17306,\n      \"LENGTH\": 17307,\n      \"▁Mün\": 17308,\n      \"▁_.\": 17309,\n      \"▁ferm\": 17310,\n      \"▁Ian\": 17311,\n      \"▁Studio\": 17312,\n      \"▁affairs\": 17313,\n      \"los\": 17314,\n      \"Rules\": 17315,\n      \"running\": 17316,\n      \"▁Posted\": 17317,\n      \"Pixel\": 17318,\n      \"▁dancing\": 17319,\n      \"▁agreements\": 17320,\n      \"▁Pic\": 17321,\n      \"ancia\": 17322,\n      \"▁má\": 17323,\n      \"ationToken\": 17324,\n      \"descriptor\": 17325,\n      \"▁Carter\": 17326,\n      \"Release\": 17327,\n      \"************\": 17328,\n      \"▁outstanding\": 17329,\n      \"changes\": 17330,\n      \"ARRAY\": 17331,\n      \"▁Barbara\": 17332,\n      \"▁nurse\": 17333,\n      \"(\\r\": 17334,\n      \"▁Douglas\": 17335,\n      \"▁nucle\": 17336,\n      \"ouri\": 17337,\n      \"▁Style\": 17338,\n      \"avo\": 17339,\n      \"▁painful\": 17340,\n      \"▁slic\": 17341,\n      \"▁seinem\": 17342,\n      \"SUPPORT\": 17343,\n      \"ogene\": 17344,\n      \"▁satell\": 17345,\n      \"tagon\": 17346,\n      \"▁collapse\": 17347,\n      \"velle\": 17348,\n      \"MON\": 17349,\n      \"aughters\": 17350,\n      \"▁threatened\": 17351,\n      \"▁Illegal\": 17352,\n      \"▁desperate\": 17353,\n      \"strict\": 17354,\n      \"rus\": 17355,\n      \"ститу\": 17356,\n      \"\\\\\\\":\": 17357,\n      \"▁conflic\": 17358,\n      \"download\": 17359,\n      \"atos\": 17360,\n      \"▁Position\": 17361,\n      \".*;\": 17362,\n      \"▁theater\": 17363,\n      \"▁pleasant\": 17364,\n      \"▁Cette\": 17365,\n      \"▁Singapore\": 17366,\n      \"heet\": 17367,\n      \"▁pir\": 17368,\n      \"▁acquis\": 17369,\n      \"▁назва\": 17370,\n      \"теля\": 17371,\n      \"▁recru\": 17372,\n      \"жения\": 17373,\n      \"ёл\": 17374,\n      \"версите\": 17375,\n      \"▁respective\": 17376,\n      \"▁tunnel\": 17377,\n      \"▁Dean\": 17378,\n      \"Du\": 17379,\n      \"▁uncle\": 17380,\n      \"▁offensive\": 17381,\n      \"colo\": 17382,\n      \"▁Unlike\": 17383,\n      \"series\": 17384,\n      \"▁Arn\": 17385,\n      \"minute\": 17386,\n      \"▁descriptor\": 17387,\n      \"▁stones\": 17388,\n      \"ICATION\": 17389,\n      \"▁Pad\": 17390,\n      \"▁iPhone\": 17391,\n      \"ei\": 17392,\n      \"▁fantasy\": 17393,\n      \"▁Korean\": 17394,\n      \"\\\"}\": 17395,\n      \"▁orth\": 17396,\n      \"halten\": 17397,\n      \"deep\": 17398,\n      \"▁Kay\": 17399,\n      \"requency\": 17400,\n      \"▁duties\": 17401,\n      \"awt\": 17402,\n      \"▁nearest\": 17403,\n      \"▁disorder\": 17404,\n      \"стру\": 17405,\n      \"▁Chile\": 17406,\n      \"▁seq\": 17407,\n      \"▁transportation\": 17408,\n      \"OO\": 17409,\n      \"▁Dez\": 17410,\n      \"iju\": 17411,\n      \"▁Results\": 17412,\n      \"jed\": 17413,\n      \"ivel\": 17414,\n      \"HOST\": 17415,\n      \"▁€\": 17416,\n      \"▁Î\": 17417,\n      \"▁chin\": 17418,\n      \"▁matt\": 17419,\n      \"▁voted\": 17420,\n      \"▁gehör\": 17421,\n      \"▁▁▁▁▁▁▁▁▁▁▁\": 17422,\n      \"▁sue\": 17423,\n      \"▁legacy\": 17424,\n      \"вся\": 17425,\n      \"SOURCE\": 17426,\n      \"WORK\": 17427,\n      \"itis\": 17428,\n      \"▁$|\": 17429,\n      \"▁обо\": 17430,\n      \"▁nr\": 17431,\n      \"▁Tamb\": 17432,\n      \"▁snap\": 17433,\n      \"▁impressed\": 17434,\n      \"▁deposit\": 17435,\n      \"▁divid\": 17436,\n      \"Segment\": 17437,\n      \"▁кар\": 17438,\n      \"▁Gas\": 17439,\n      \"▁crimes\": 17440,\n      \"▁insult\": 17441,\n      \"▁Hum\": 17442,\n      \"▁bounded\": 17443,\n      \"▁kicked\": 17444,\n      \"▁Му\": 17445,\n      \"▁|\\\\\": 17446,\n      \"added\": 17447,\n      \"Produ\": 17448,\n      \"▁./\": 17449,\n      \"▁awkward\": 17450,\n      \"▁Кра\": 17451,\n      \"▁ї\": 17452,\n      \"▁CONTR\": 17453,\n      \"▁beim\": 17454,\n      \"▁placeholder\": 17455,\n      \"spi\": 17456,\n      \"▁Bei\": 17457,\n      \"▁Pf\": 17458,\n      \"ientes\": 17459,\n      \"disk\": 17460,\n      \"blk\": 17461,\n      \"neo\": 17462,\n      \"itarian\": 17463,\n      \"▁cogn\": 17464,\n      \"▁sout\": 17465,\n      \"▁trash\": 17466,\n      \"▁Rab\": 17467,\n      \"▁decline\": 17468,\n      \"tat\": 17469,\n      \"▁combine\": 17470,\n      \"▁Tot\": 17471,\n      \"▁drops\": 17472,\n      \"Times\": 17473,\n      \"cheduler\": 17474,\n      \"▁governments\": 17475,\n      \"Tex\": 17476,\n      \"▁Used\": 17477,\n      \"зан\": 17478,\n      \"▁pd\": 17479,\n      \"мет\": 17480,\n      \"▁&=&\": 17481,\n      \"▁Nag\": 17482,\n      \"▁дол\": 17483,\n      \"▁Always\": 17484,\n      \"rtc\": 17485,\n      \"ске\": 17486,\n      \"▁performances\": 17487,\n      \"rupted\": 17488,\n      \"▁два\": 17489,\n      \"▁managers\": 17490,\n      \"▁Pitt\": 17491,\n      \"▁mystery\": 17492,\n      \"▁settle\": 17493,\n      \"ulse\": 17494,\n      \"cross\": 17495,\n      \"question\": 17496,\n      \"asha\": 17497,\n      \"seed\": 17498,\n      \"urable\": 17499,\n      \"Final\": 17500,\n      \"++++\": 17501,\n      \"inputs\": 17502,\n      \"▁backup\": 17503,\n      \"▁Learning\": 17504,\n      \"▁*,\": 17505,\n      \"logo\": 17506,\n      \"▁seinen\": 17507,\n      \"▁vulnerable\": 17508,\n      \"directory\": 17509,\n      \"ië\": 17510,\n      \"▁friendship\": 17511,\n      \"tu\": 17512,\n      \"▁Vec\": 17513,\n      \"rifice\": 17514,\n      \"▁бра\": 17515,\n      \"▁involve\": 17516,\n      \"TON\": 17517,\n      \"▁corrid\": 17518,\n      \"separ\": 17519,\n      \"Destroy\": 17520,\n      \"▁jul\": 17521,\n      \"▁inequality\": 17522,\n      \"▁ain\": 17523,\n      \"hex\": 17524,\n      \"▁wider\": 17525,\n      \"тели\": 17526,\n      \"▁jack\": 17527,\n      \"▁quot\": 17528,\n      \"▁Glen\": 17529,\n      \"initely\": 17530,\n      \"ihood\": 17531,\n      \"▁waist\": 17532,\n      \"▁Manchester\": 17533,\n      \"regular\": 17534,\n      \"▁(&\": 17535,\n      \"▁masses\": 17536,\n      \"▁DEFAULT\": 17537,\n      \"▁chairs\": 17538,\n      \"▁Fast\": 17539,\n      \"▁citt\": 17540,\n      \"_{{\\\\\": 17541,\n      \"oa\": 17542,\n      \"▁$\\\\{\": 17543,\n      \"▁seeds\": 17544,\n      \"▁Ald\": 17545,\n      \"▁Batt\": 17546,\n      \"fab\": 17547,\n      \"▁democracy\": 17548,\n      \"DTO\": 17549,\n      \"▁Hij\": 17550,\n      \"PTR\": 17551,\n      \"Na\": 17552,\n      \"▁Harvard\": 17553,\n      \"sid\": 17554,\n      \"Pred\": 17555,\n      \"fers\": 17556,\n      \"▁spare\": 17557,\n      \"AMP\": 17558,\n      \"▁groupe\": 17559,\n      \"▁sender\": 17560,\n      \"▁Christopher\": 17561,\n      \"▁prisoners\": 17562,\n      \"▁Ker\": 17563,\n      \"▁Crist\": 17564,\n      \"▁ALL\": 17565,\n      \"rice\": 17566,\n      \"▁antes\": 17567,\n      \"natural\": 17568,\n      \"▁Susan\": 17569,\n      \"▁Juli\": 17570,\n      \"▁diab\": 17571,\n      \"ixon\": 17572,\n      \"icator\": 17573,\n      \"▁flexible\": 17574,\n      \"▁reserve\": 17575,\n      \"Contains\": 17576,\n      \"▁Hil\": 17577,\n      \"▁Isa\": 17578,\n      \"▁towns\": 17579,\n      \"GS\": 17580,\n      \"▁Trad\": 17581,\n      \"▁Lock\": 17582,\n      \"▁Grund\": 17583,\n      \"▁criticism\": 17584,\n      \"ню\": 17585,\n      \"▁că\": 17586,\n      \"▁politician\": 17587,\n      \"stable\": 17588,\n      \"Accept\": 17589,\n      \"Summary\": 17590,\n      \"▁também\": 17591,\n      \"}^{-\": 17592,\n      \"▁IM\": 17593,\n      \"idal\": 17594,\n      \"мор\": 17595,\n      \"Blue\": 17596,\n      \"GROUP\": 17597,\n      \"▁terminal\": 17598,\n      \"▁complexity\": 17599,\n      \"▁locally\": 17600,\n      \"DOWN\": 17601,\n      \"▁Near\": 17602,\n      \"Depth\": 17603,\n      \"▁pole\": 17604,\n      \"▁equality\": 17605,\n      \"Site\": 17606,\n      \"▁isinstance\": 17607,\n      \"Speed\": 17608,\n      \"ippi\": 17609,\n      \",&\": 17610,\n      \"▁Enc\": 17611,\n      \"щен\": 17612,\n      \"▁mater\": 17613,\n      \"▁slaves\": 17614,\n      \"ACTION\": 17615,\n      \"usalem\": 17616,\n      \"▁haz\": 17617,\n      \"▁Beat\": 17618,\n      \"▁wrest\": 17619,\n      \"▁llam\": 17620,\n      \"Ins\": 17621,\n      \"мина\": 17622,\n      \"▁був\": 17623,\n      \"▁Frame\": 17624,\n      \"ushes\": 17625,\n      \"▁virtually\": 17626,\n      \"▁Perm\": 17627,\n      \"▁weights\": 17628,\n      \"▁llvm\": 17629,\n      \"▁cave\": 17630,\n      \"states\": 17631,\n      \"DMA\": 17632,\n      \"ellt\": 17633,\n      \"ifact\": 17634,\n      \"vendor\": 17635,\n      \"▁Emma\": 17636,\n      \"Locale\": 17637,\n      \"▁SET\": 17638,\n      \"▁geometry\": 17639,\n      \"Styles\": 17640,\n      \"▁Referee\": 17641,\n      \"▁weit\": 17642,\n      \"fica\": 17643,\n      \"▁ads\": 17644,\n      \"gray\": 17645,\n      \"▁Burg\": 17646,\n      \"iona\": 17647,\n      \"dagger\": 17648,\n      \"▁Januar\": 17649,\n      \"дей\": 17650,\n      \"isterschaft\": 17651,\n      \"ppo\": 17652,\n      \"oids\": 17653,\n      \"▁départ\": 17654,\n      \"Shader\": 17655,\n      \"▁constraint\": 17656,\n      \"Secret\": 17657,\n      \"▁Peters\": 17658,\n      \"▁eyeb\": 17659,\n      \"▁mesh\": 17660,\n      \"▁cookie\": 17661,\n      \"▁Pick\": 17662,\n      \"▁nick\": 17663,\n      \"bye\": 17664,\n      \"▁savings\": 17665,\n      \"Try\": 17666,\n      \"python\": 17667,\n      \"▁patri\": 17668,\n      \"▁multip\": 17669,\n      \"▁kinda\": 17670,\n      \"▁'_\": 17671,\n      \"▁Franz\": 17672,\n      \"▁cloth\": 17673,\n      \"зульта\": 17674,\n      \"▁fleet\": 17675,\n      \"▁humanity\": 17676,\n      \"resa\": 17677,\n      \"blob\": 17678,\n      \"▁TX\": 17679,\n      \"▁Buch\": 17680,\n      \"▁Lond\": 17681,\n      \"▁valley\": 17682,\n      \"▁murm\": 17683,\n      \"▁Trade\": 17684,\n      \"linewidth\": 17685,\n      \"▁especial\": 17686,\n      \"upper\": 17687,\n      \"▁hosp\": 17688,\n      \"▁tanto\": 17689,\n      \"▁oldest\": 17690,\n      \"▁Roose\": 17691,\n      \"▁hitting\": 17692,\n      \"dog\": 17693,\n      \"ovi\": 17694,\n      \"},\\r\": 17695,\n      \"▁compatible\": 17696,\n      \"▁Website\": 17697,\n      \"poch\": 17698,\n      \"▁Bag\": 17699,\n      \"▁accomplish\": 17700,\n      \"Christ\": 17701,\n      \"asset\": 17702,\n      \"▁Until\": 17703,\n      \"▁geld\": 17704,\n      \"Listen\": 17705,\n      \"SB\": 17706,\n      \"Setup\": 17707,\n      \"icia\": 17708,\n      \"▁lum\": 17709,\n      \"▁janvier\": 17710,\n      \"PAGE\": 17711,\n      \"▁Nu\": 17712,\n      \"/\\\"\": 17713,\n      \"▁divorce\": 17714,\n      \"Execute\": 17715,\n      \"Depend\": 17716,\n      \"▁Scottish\": 17717,\n      \"▁Ts\": 17718,\n      \"ruppe\": 17719,\n      \"▁refuse\": 17720,\n      \"▁Oktober\": 17721,\n      \"ijk\": 17722,\n      \"▁Amy\": 17723,\n      \"▁dimin\": 17724,\n      \"▁gross\": 17725,\n      \"▁trat\": 17726,\n      \"isible\": 17727,\n      \"mixer\": 17728,\n      \"▁autres\": 17729,\n      \"▁neat\": 17730,\n      \"▁otros\": 17731,\n      \"Void\": 17732,\n      \"▁schol\": 17733,\n      \"▁Walker\": 17734,\n      \"▁tube\": 17735,\n      \"ologists\": 17736,\n      \"▁груп\": 17737,\n      \"▁haben\": 17738,\n      \"uber\": 17739,\n      \"ACTIVE\": 17740,\n      \"▁Attendance\": 17741,\n      \"▁оп\": 17742,\n      \"▁blade\": 17743,\n      \"oplus\": 17744,\n      \"▁Original\": 17745,\n      \"▁manufacturer\": 17746,\n      \"asz\": 17747,\n      \"âte\": 17748,\n      \"rer\": 17749,\n      \"▁Json\": 17750,\n      \"▁succeeded\": 17751,\n      \"uffle\": 17752,\n      \"▁backed\": 17753,\n      \"esian\": 17754,\n      \"tick\": 17755,\n      \"External\": 17756,\n      \"▁XIX\": 17757,\n      \"▁hearts\": 17758,\n      \"▁После\": 17759,\n      \"olu\": 17760,\n      \"▁лет\": 17761,\n      \"VICE\": 17762,\n      \"ário\": 17763,\n      \"▁fraud\": 17764,\n      \"edu\": 17765,\n      \"Primary\": 17766,\n      \"▁gaming\": 17767,\n      \"▁plt\": 17768,\n      \"igator\": 17769,\n      \"IES\": 17770,\n      \"Compiler\": 17771,\n      \"▁monument\": 17772,\n      \"agem\": 17773,\n      \"▁Rain\": 17774,\n      \"▁moins\": 17775,\n      \"oku\": 17776,\n      \"osex\": 17777,\n      \"▁Kansas\": 17778,\n      \"▁gepublice\": 17779,\n      \"▁Joy\": 17780,\n      \"Scene\": 17781,\n      \"▁kingdom\": 17782,\n      \"rices\": 17783,\n      \"▁juin\": 17784,\n      \"▁uncomfortable\": 17785,\n      \"▁Money\": 17786,\n      \"obb\": 17787,\n      \"expl\": 17788,\n      \"strcmp\": 17789,\n      \"▁dread\": 17790,\n      \"rition\": 17791,\n      \"▁Chi\": 17792,\n      \"▁demonstrated\": 17793,\n      \"▁vertices\": 17794,\n      \"чо\": 17795,\n      \"▁Culture\": 17796,\n      \"FX\": 17797,\n      \"Dictionary\": 17798,\n      \"▁Dru\": 17799,\n      \"trm\": 17800,\n      \"▁examine\": 17801,\n      \"▁therap\": 17802,\n      \"ième\": 17803,\n      \"мини\": 17804,\n      \"▁produces\": 17805,\n      \"▁photographs\": 17806,\n      \"▁threads\": 17807,\n      \"▁MI\": 17808,\n      \"▁extraordinary\": 17809,\n      \"ским\": 17810,\n      \"▁gepubliceerd\": 17811,\n      \"▁Poland\": 17812,\n      \"▁guaranteed\": 17813,\n      \"RG\": 17814,\n      \"osc\": 17815,\n      \"али\": 17816,\n      \"▁тех\": 17817,\n      \"errno\": 17818,\n      \"science\": 17819,\n      \"iffs\": 17820,\n      \"▁Tam\": 17821,\n      \"▁Beth\": 17822,\n      \"▁Travel\": 17823,\n      \"▁translate\": 17824,\n      \"ché\": 17825,\n      \"▁ling\": 17826,\n      \"▁belongs\": 17827,\n      \"▁electrical\": 17828,\n      \"ensk\": 17829,\n      \"▁Compet\": 17830,\n      \"cg\": 17831,\n      \"VC\": 17832,\n      \"topic\": 17833,\n      \"▁presum\": 17834,\n      \"вета\": 17835,\n      \"▁approximation\": 17836,\n      \"▁grim\": 17837,\n      \"▁Из\": 17838,\n      \"_{(\": 17839,\n      \"вин\": 17840,\n      \"ution\": 17841,\n      \"owych\": 17842,\n      \"åg\": 17843,\n      \"sterreich\": 17844,\n      \"▁characteristic\": 17845,\n      \"oming\": 17846,\n      \"▁/*!\": 17847,\n      \"▁prize\": 17848,\n      \"▁Minnesota\": 17849,\n      \"ted\": 17850,\n      \"цы\": 17851,\n      \"▁Om\": 17852,\n      \"▁indices\": 17853,\n      \"▁stem\": 17854,\n      \"regon\": 17855,\n      \"ниче\": 17856,\n      \"▁Salv\": 17857,\n      \"ése\": 17858,\n      \"▁aged\": 17859,\n      \"▁Past\": 17860,\n      \"▁internation\": 17861,\n      \"▁Vic\": 17862,\n      \"▁resume\": 17863,\n      \"akespeare\": 17864,\n      \"▁estado\": 17865,\n      \"▁abilities\": 17866,\n      \"▁brow\": 17867,\n      \"▁NFL\": 17868,\n      \"▁trends\": 17869,\n      \"▁Austin\": 17870,\n      \"▁LIMIT\": 17871,\n      \"▁Kor\": 17872,\n      \"▁folk\": 17873,\n      \"▁ward\": 17874,\n      \"▁nest\": 17875,\n      \"▁Junior\": 17876,\n      \"▁maintaining\": 17877,\n      \"Pub\": 17878,\n      \"OBJECT\": 17879,\n      \"▁bloody\": 17880,\n      \"▁sj\": 17881,\n      \"▁dtype\": 17882,\n      \"Pane\": 17883,\n      \"▁bacter\": 17884,\n      \"▁gradually\": 17885,\n      \"mr\": 17886,\n      \"Team\": 17887,\n      \"▁indicating\": 17888,\n      \"▁decrease\": 17889,\n      \"tek\": 17890,\n      \"▁Represent\": 17891,\n      \"▁developers\": 17892,\n      \"Guid\": 17893,\n      \"▁Diet\": 17894,\n      \"▁retr\": 17895,\n      \"Navigation\": 17896,\n      \"esi\": 17897,\n      \"▁lazy\": 17898,\n      \"Standard\": 17899,\n      \"Er\": 17900,\n      \"AW\": 17901,\n      \"▁États\": 17902,\n      \"▁assured\": 17903,\n      \"San\": 17904,\n      \"▁Andre\": 17905,\n      \"’,\": 17906,\n      \"fang\": 17907,\n      \"ération\": 17908,\n      \"▁industries\": 17909,\n      \"▁incon\": 17910,\n      \"Emit\": 17911,\n      \"▁где\": 17912,\n      \"▁retriev\": 17913,\n      \"eni\": 17914,\n      \"▁Turkey\": 17915,\n      \"izers\": 17916,\n      \"Angle\": 17917,\n      \"▁oc\": 17918,\n      \"▁palm\": 17919,\n      \"▁stan\": 17920,\n      \"льно\": 17921,\n      \"▁CSS\": 17922,\n      \"▁frances\": 17923,\n      \"▁grin\": 17924,\n      \"▁tiempo\": 17925,\n      \"▁Prix\": 17926,\n      \"]).\": 17927,\n      \"▁deput\": 17928,\n      \"▁Pin\": 17929,\n      \"▁sixt\": 17930,\n      \"▁predicted\": 17931,\n      \"azure\": 17932,\n      \"▁Motor\": 17933,\n      \"▁ihm\": 17934,\n      \"▁manus\": 17935,\n      \"apos\": 17936,\n      \"▁instruments\": 17937,\n      \"▁counts\": 17938,\n      \"▁aimed\": 17939,\n      \"profit\": 17940,\n      \"▁dok\": 17941,\n      \"обра\": 17942,\n      \"▁estud\": 17943,\n      \"iesz\": 17944,\n      \"▁piss\": 17945,\n      \"▁inaug\": 17946,\n      \"▁voters\": 17947,\n      \"▁packages\": 17948,\n      \"▁cute\": 17949,\n      \"▁fitness\": 17950,\n      \"▁leurs\": 17951,\n      \"▁sorted\": 17952,\n      \"phant\": 17953,\n      \"OPT\": 17954,\n      \"▁zip\": 17955,\n      \"season\": 17956,\n      \"emi\": 17957,\n      \"encoding\": 17958,\n      \"won\": 17959,\n      \"elect\": 17960,\n      \"▁tooth\": 17961,\n      \"▁upcoming\": 17962,\n      \"▁Graham\": 17963,\n      \"nut\": 17964,\n      \"▁Ark\": 17965,\n      \"ält\": 17966,\n      \"▁precious\": 17967,\n      \"agle\": 17968,\n      \"née\": 17969,\n      \"ница\": 17970,\n      \"aris\": 17971,\n      \"▁pile\": 17972,\n      \"cole\": 17973,\n      \"▁WITH\": 17974,\n      \"routing\": 17975,\n      \"▁***\": 17976,\n      \"Appearance\": 17977,\n      \"llvm\": 17978,\n      \"▁Oliver\": 17979,\n      \"▁PL\": 17980,\n      \"ifndef\": 17981,\n      \"etzt\": 17982,\n      \"skiego\": 17983,\n      \"▁pon\": 17984,\n      \"ARGET\": 17985,\n      \"kö\": 17986,\n      \"alled\": 17987,\n      \"▁=\\\\\": 17988,\n      \"sure\": 17989,\n      \"matches\": 17990,\n      \"▁temperatures\": 17991,\n      \"SEL\": 17992,\n      \"▁clone\": 17993,\n      \"▁eller\": 17994,\n      \"erna\": 17995,\n      \"▁поло\": 17996,\n      \"Management\": 17997,\n      \"company\": 17998,\n      \"▁lun\": 17999,\n      \"▁streaming\": 18000,\n      \"▁Ni\": 18001,\n      \"▁sí\": 18002,\n      \"Contact\": 18003,\n      \"▁Credit\": 18004,\n      \"▁Oak\": 18005,\n      \"▁представ\": 18006,\n      \"radius\": 18007,\n      \"cli\": 18008,\n      \"IENT\": 18009,\n      \"▁Lucy\": 18010,\n      \"▁calculation\": 18011,\n      \"▁pixel\": 18012,\n      \"▁mul\": 18013,\n      \"▁outcomes\": 18014,\n      \"▁centers\": 18015,\n      \"▁residence\": 18016,\n      \"Constraint\": 18017,\n      \"▁preserve\": 18018,\n      \"peon\": 18019,\n      \"uffix\": 18020,\n      \"▁Roberts\": 18021,\n      \"▁promot\": 18022,\n      \"?!\": 18023,\n      \"balance\": 18024,\n      \"▁courts\": 18025,\n      \"▁disg\": 18026,\n      \"PRINT\": 18027,\n      \"▁их\": 18028,\n      \"elfare\": 18029,\n      \"▁retreat\": 18030,\n      \"▁Ав\": 18031,\n      \"Cost\": 18032,\n      \"also\": 18033,\n      \"▁Für\": 18034,\n      \"▁März\": 18035,\n      \"DIO\": 18036,\n      \"▁bez\": 18037,\n      \"AUTH\": 18038,\n      \"Den\": 18039,\n      \"▁atom\": 18040,\n      \"▁roman\": 18041,\n      \"▁Pel\": 18042,\n      \"▁Roosevelt\": 18043,\n      \"▁Plant\": 18044,\n      \"Contents\": 18045,\n      \"▁Between\": 18046,\n      \"▁coupling\": 18047,\n      \"structure\": 18048,\n      \"▁Marshall\": 18049,\n      \"▁Career\": 18050,\n      \"▁railway\": 18051,\n      \"▁Bureau\": 18052,\n      \"▁possibilities\": 18053,\n      \"▁kor\": 18054,\n      \"){\\r\": 18055,\n      \"mero\": 18056,\n      \"mov\": 18057,\n      \"англ\": 18058,\n      \"AIN\": 18059,\n      \"mund\": 18060,\n      \"lette\": 18061,\n      \"▁summar\": 18062,\n      \"▁describing\": 18063,\n      \"▁NAS\": 18064,\n      \"▁Emb\": 18065,\n      \"Instruction\": 18066,\n      \"liest\": 18067,\n      \"▁Sig\": 18068,\n      \"Bill\": 18069,\n      \"▁verd\": 18070,\n      \"plant\": 18071,\n      \"▁galaxies\": 18072,\n      \"\\\"])\": 18073,\n      \"▁PyObject\": 18074,\n      \"▁Gy\": 18075,\n      \"▁mě\": 18076,\n      \"▁organisation\": 18077,\n      \"Her\": 18078,\n      \"Sep\": 18079,\n      \"ocom\": 18080,\n      \"▁Same\": 18081,\n      \"▁bite\": 18082,\n      \"▁Seattle\": 18083,\n      \"зыва\": 18084,\n      \"Observer\": 18085,\n      \"’.\": 18086,\n      \"▁morph\": 18087,\n      \"urches\": 18088,\n      \"alph\": 18089,\n      \"reement\": 18090,\n      \"consin\": 18091,\n      \"^-\": 18092,\n      \"▁dann\": 18093,\n      \"translate\": 18094,\n      \"вих\": 18095,\n      \"React\": 18096,\n      \"▁cats\": 18097,\n      \"▁brew\": 18098,\n      \"▁ds\": 18099,\n      \"▁circles\": 18100,\n      \"▁drift\": 18101,\n      \"agma\": 18102,\n      \"▁Valent\": 18103,\n      \"PIN\": 18104,\n      \"ARM\": 18105,\n      \"▁surviv\": 18106,\n      \"alin\": 18107,\n      \"Pref\": 18108,\n      \"friendly\": 18109,\n      \"▁uncertainty\": 18110,\n      \"▁fd\": 18111,\n      \"▁engineer\": 18112,\n      \"Ben\": 18113,\n      \"icular\": 18114,\n      \"orest\": 18115,\n      \"▁horizontal\": 18116,\n      \"UTC\": 18117,\n      \"textrm\": 18118,\n      \"Live\": 18119,\n      \"Score\": 18120,\n      \"▁Germans\": 18121,\n      \"distance\": 18122,\n      \"uti\": 18123,\n      \"▁équ\": 18124,\n      \"▁numerical\": 18125,\n      \"▁reass\": 18126,\n      \"Activ\": 18127,\n      \"▁cod\": 18128,\n      \"bullet\": 18129,\n      \"ensing\": 18130,\n      \"▁Gem\": 18131,\n      \"▁navigation\": 18132,\n      \"addClass\": 18133,\n      \"▁simultaneously\": 18134,\n      \"вий\": 18135,\n      \"▁його\": 18136,\n      \"▁Hö\": 18137,\n      \"▁harsh\": 18138,\n      \"precated\": 18139,\n      \"ССР\": 18140,\n      \"▁Equip\": 18141,\n      \"adget\": 18142,\n      \"▁TYPE\": 18143,\n      \"▁mg\": 18144,\n      \"IGH\": 18145,\n      \"▁vin\": 18146,\n      \"▁findings\": 18147,\n      \"ivan\": 18148,\n      \"▁possession\": 18149,\n      \"▁того\": 18150,\n      \"▁parsed\": 18151,\n      \"riors\": 18152,\n      \"zeichnet\": 18153,\n      \"ников\": 18154,\n      \"Worker\": 18155,\n      \"▁enables\": 18156,\n      \"▁($\\\\\": 18157,\n      \"▁Copy\": 18158,\n      \"▁orientation\": 18159,\n      \"стре\": 18160,\n      \"▁Indians\": 18161,\n      \"▁Gary\": 18162,\n      \"▁Insurance\": 18163,\n      \"isan\": 18164,\n      \"Chat\": 18165,\n      \"▁comun\": 18166,\n      \"▁coron\": 18167,\n      \"ография\": 18168,\n      \"updated\": 18169,\n      \"▁Ин\": 18170,\n      \"These\": 18171,\n      \"SEC\": 18172,\n      \"▁boyfriend\": 18173,\n      \"Diagnostics\": 18174,\n      \"Hint\": 18175,\n      \"mul\": 18176,\n      \"▁inode\": 18177,\n      \"xA\": 18178,\n      \"eft\": 18179,\n      \"OPTION\": 18180,\n      \"unct\": 18181,\n      \"annon\": 18182,\n      \"ENS\": 18183,\n      \"strip\": 18184,\n      \"▁enthusi\": 18185,\n      \"▁Whit\": 18186,\n      \"▁Фи\": 18187,\n      \"aude\": 18188,\n      \"▁disagree\": 18189,\n      \"▁snapped\": 18190,\n      \"Phys\": 18191,\n      \"▁Syn\": 18192,\n      \"▁sour\": 18193,\n      \"▁Lux\": 18194,\n      \"ugar\": 18195,\n      \"tile\": 18196,\n      \"▁infection\": 18197,\n      \"▁Feb\": 18198,\n      \"▁Chem\": 18199,\n      \"dataset\": 18200,\n      \"chts\": 18201,\n      \"Dynamic\": 18202,\n      \"▁сред\": 18203,\n      \"▁queen\": 18204,\n      \"worker\": 18205,\n      \"swap\": 18206,\n      \"▁timestamp\": 18207,\n      \"▁Integr\": 18208,\n      \"▁interviews\": 18209,\n      \"such\": 18210,\n      \"▁laughter\": 18211,\n      \"prof\": 18212,\n      \"▁Bird\": 18213,\n      \"(|\": 18214,\n      \"ân\": 18215,\n      \"▁gra\": 18216,\n      \"&=\": 18217,\n      \"zens\": 18218,\n      \"getMessage\": 18219,\n      \"▁Ost\": 18220,\n      \"▁gab\": 18221,\n      \"▁mortgage\": 18222,\n      \"multicol\": 18223,\n      \"LEVEL\": 18224,\n      \"partition\": 18225,\n      \"seen\": 18226,\n      \"▁declar\": 18227,\n      \"AU\": 18228,\n      \"▁ox\": 18229,\n      \"▁ligger\": 18230,\n      \"▁Carm\": 18231,\n      \"geme\": 18232,\n      \"▁Vegas\": 18233,\n      \"▁Eug\": 18234,\n      \"orus\": 18235,\n      \"▁brick\": 18236,\n      \"▁así\": 18237,\n      \"▁Magazine\": 18238,\n      \"HasColumnType\": 18239,\n      \"VR\": 18240,\n      \"licher\": 18241,\n      \"▁Future\": 18242,\n      \"▁Jug\": 18243,\n      \"attan\": 18244,\n      \"constructor\": 18245,\n      \"VP\": 18246,\n      \"▁тур\": 18247,\n      \"чина\": 18248,\n      \"Comparator\": 18249,\n      \"▁authentic\": 18250,\n      \"▁monster\": 18251,\n      \"▁transformed\": 18252,\n      \"▁firms\": 18253,\n      \"FW\": 18254,\n      \"▁catalog\": 18255,\n      \"boards\": 18256,\n      \"▁diseases\": 18257,\n      \"▁Benjamin\": 18258,\n      \"▁horizon\": 18259,\n      \"▁Available\": 18260,\n      \"Mvc\": 18261,\n      \"Stud\": 18262,\n      \"▁lord\": 18263,\n      \"general\": 18264,\n      \"пар\": 18265,\n      \"▁cabinet\": 18266,\n      \"▁Basic\": 18267,\n      \"TestCase\": 18268,\n      \"ansk\": 18269,\n      \"▁Snow\": 18270,\n      \"ierten\": 18271,\n      \"▁vocal\": 18272,\n      \"Padding\": 18273,\n      \"halt\": 18274,\n      \"▁Alexand\": 18275,\n      \"▁Colomb\": 18276,\n      \"ivamente\": 18277,\n      \"▁artificial\": 18278,\n      \"▁Atlanta\": 18279,\n      \"▁mentre\": 18280,\n      \"▁estaba\": 18281,\n      \"jekt\": 18282,\n      \"▁slept\": 18283,\n      \"▁endless\": 18284,\n      \"éro\": 18285,\n      \"attery\": 18286,\n      \"uur\": 18287,\n      \"▁weakness\": 18288,\n      \"▁attempting\": 18289,\n      \"BYTE\": 18290,\n      \"▁founder\": 18291,\n      \"▁salv\": 18292,\n      \"▁Medicine\": 18293,\n      \"tid\": 18294,\n      \"▁Schwe\": 18295,\n      \"raction\": 18296,\n      \"▁¿\": 18297,\n      \"crate\": 18298,\n      \"SERVER\": 18299,\n      \"▁compound\": 18300,\n      \"▁conve\": 18301,\n      \"▁caf\": 18302,\n      \"▁handful\": 18303,\n      \"onne\": 18304,\n      \"ública\": 18305,\n      \"▁defensive\": 18306,\n      \"Alignment\": 18307,\n      \"▁préc\": 18308,\n      \"▁significance\": 18309,\n      \"élé\": 18310,\n      \"arta\": 18311,\n      \"Dam\": 18312,\n      \"▁perpet\": 18313,\n      \"▁caller\": 18314,\n      \"icients\": 18315,\n      \"cep\": 18316,\n      \"▁Multi\": 18317,\n      \"▁stolen\": 18318,\n      \"▁focusing\": 18319,\n      \"embed\": 18320,\n      \"▁bree\": 18321,\n      \"▁AB\": 18322,\n      \"▁occasions\": 18323,\n      \"sea\": 18324,\n      \"Prov\": 18325,\n      \"чение\": 18326,\n      \"▁Category\": 18327,\n      \"▁sq\": 18328,\n      \"▁Фе\": 18329,\n      \"VA\": 18330,\n      \"Diff\": 18331,\n      \"Tri\": 18332,\n      \"issement\": 18333,\n      \"▁actress\": 18334,\n      \"▁Пе\": 18335,\n      \"▁jej\": 18336,\n      \"▁twisted\": 18337,\n      \"▁Nicol\": 18338,\n      \"▁junior\": 18339,\n      \"Sound\": 18340,\n      \"▁Brasil\": 18341,\n      \"▁juice\": 18342,\n      \"▁>>>\": 18343,\n      \"▁Alb\": 18344,\n      \"▁softly\": 18345,\n      \"▁McK\": 18346,\n      \"▁Gren\": 18347,\n      \"▁italiano\": 18348,\n      \"▁creatures\": 18349,\n      \"▁residential\": 18350,\n      \"▁Instagram\": 18351,\n      \"ucks\": 18352,\n      \"▁killer\": 18353,\n      \"▁Johnny\": 18354,\n      \"▁enterprise\": 18355,\n      \"Dto\": 18356,\n      \"chestra\": 18357,\n      \"▁Tel\": 18358,\n      \"▁Activ\": 18359,\n      \"factor\": 18360,\n      \"oust\": 18361,\n      \"▁vacuum\": 18362,\n      \"рал\": 18363,\n      \"')->\": 18364,\n      \"▁Left\": 18365,\n      \"▁defect\": 18366,\n      \"▁ninete\": 18367,\n      \"fare\": 18368,\n      \"▁regret\": 18369,\n      \"▁shar\": 18370,\n      \"ctrine\": 18371,\n      \"mesh\": 18372,\n      \"city\": 18373,\n      \"icit\": 18374,\n      \"▁Fem\": 18375,\n      \"limited\": 18376,\n      \"oka\": 18377,\n      \"!\\\\!\\\\\": 18378,\n      \"Donald\": 18379,\n      \"зно\": 18380,\n      \"▁provision\": 18381,\n      \"▁discussions\": 18382,\n      \"Drag\": 18383,\n      \"▁Incl\": 18384,\n      \"Exit\": 18385,\n      \"▁Abd\": 18386,\n      \"story\": 18387,\n      \"ieve\": 18388,\n      \"▁był\": 18389,\n      \"olving\": 18390,\n      \"wohner\": 18391,\n      \"▁guidelines\": 18392,\n      \"▁straw\": 18393,\n      \"üss\": 18394,\n      \"▁було\": 18395,\n      \"▁burden\": 18396,\n      \"▁spatial\": 18397,\n      \"▁stretched\": 18398,\n      \"▁Inf\": 18399,\n      \"▁typedef\": 18400,\n      \"▁robot\": 18401,\n      \"▁Doc\": 18402,\n      \"pliers\": 18403,\n      \"wal\": 18404,\n      \"camp\": 18405,\n      \"▁diffé\": 18406,\n      \"▁McG\": 18407,\n      \"▁tel\": 18408,\n      \"arette\": 18409,\n      \"▁subsequently\": 18410,\n      \"▁honey\": 18411,\n      \"FUNC\": 18412,\n      \"▁establishment\": 18413,\n      \"tesy\": 18414,\n      \"▁który\": 18415,\n      \"▁сель\": 18416,\n      \"▁FO\": 18417,\n      \"▁Islands\": 18418,\n      \"▁mp\": 18419,\n      \"Scalar\": 18420,\n      \"▁Yan\": 18421,\n      \"cken\": 18422,\n      \"▁variation\": 18423,\n      \"ią\": 18424,\n      \"optim\": 18425,\n      \"azor\": 18426,\n      \"tuple\": 18427,\n      \"▁gravity\": 18428,\n      \"▁conclude\": 18429,\n      \"▁collections\": 18430,\n      \"ész\": 18431,\n      \"▁Liver\": 18432,\n      \"▁ethnic\": 18433,\n      \"compile\": 18434,\n      \"▁parl\": 18435,\n      \"Surface\": 18436,\n      \"{'\": 18437,\n      \"▁paragraph\": 18438,\n      \"posite\": 18439,\n      \"ítulo\": 18440,\n      \"oba\": 18441,\n      \"binary\": 18442,\n      \"rob\": 18443,\n      \"▁Pedro\": 18444,\n      \"▁fis\": 18445,\n      \"▁Grande\": 18446,\n      \"odox\": 18447,\n      \"▁posting\": 18448,\n      \"<!--\": 18449,\n      \"▁racial\": 18450,\n      \"COM\": 18451,\n      \"ём\": 18452,\n      \"▁AUT\": 18453,\n      \"▁dishes\": 18454,\n      \"assertTrue\": 18455,\n      \"▁Grow\": 18456,\n      \"▁slid\": 18457,\n      \"▁juillet\": 18458,\n      \"ссо\": 18459,\n      \"Runner\": 18460,\n      \"Sal\": 18461,\n      \"Same\": 18462,\n      \"▁Study\": 18463,\n      \"▁Colonel\": 18464,\n      \"▁Join\": 18465,\n      \"arms\": 18466,\n      \"▁ly\": 18467,\n      \"▁cooper\": 18468,\n      \"▁curves\": 18469,\n      \"Health\": 18470,\n      \"▁MOD\": 18471,\n      \"▁primo\": 18472,\n      \"ockets\": 18473,\n      \"multicolumn\": 18474,\n      \"▁Сан\": 18475,\n      \"▁Hunter\": 18476,\n      \"Customer\": 18477,\n      \"othy\": 18478,\n      \"Design\": 18479,\n      \"mass\": 18480,\n      \"▁famille\": 18481,\n      \"▁fueron\": 18482,\n      \"äm\": 18483,\n      \"▁headquarters\": 18484,\n      \"▁dign\": 18485,\n      \"▁Robin\": 18486,\n      \"▁meets\": 18487,\n      \"▁soit\": 18488,\n      \"пада\": 18489,\n      \")\\\");\": 18490,\n      \"▁wrapper\": 18491,\n      \"▁theoretical\": 18492,\n      \"▁ud\": 18493,\n      \"plicity\": 18494,\n      \"▁wp\": 18495,\n      \"▁исполь\": 18496,\n      \"▁camps\": 18497,\n      \"▁Agency\": 18498,\n      \"gc\": 18499,\n      \"hum\": 18500,\n      \"ATT\": 18501,\n      \"Btn\": 18502,\n      \"Cent\": 18503,\n      \"▁Helen\": 18504,\n      \"▁amplit\": 18505,\n      \"▁Memorial\": 18506,\n      \"undial\": 18507,\n      \"SHIFT\": 18508,\n      \"wik\": 18509,\n      \"▁Lieutenant\": 18510,\n      \"VALID\": 18511,\n      \"▁Bath\": 18512,\n      \"▁Jefferson\": 18513,\n      \"▁Cut\": 18514,\n      \"▁servers\": 18515,\n      \"lyph\": 18516,\n      \"▁COPY\": 18517,\n      \"▁computers\": 18518,\n      \"construction\": 18519,\n      \"▁PDF\": 18520,\n      \"▁protagon\": 18521,\n      \"▁forehead\": 18522,\n      \"customer\": 18523,\n      \"Unis\": 18524,\n      \"▁signing\": 18525,\n      \".’\": 18526,\n      \"Fetch\": 18527,\n      \"▁Score\": 18528,\n      \"human\": 18529,\n      \"▁downtown\": 18530,\n      \"Intern\": 18531,\n      \"▁besides\": 18532,\n      \"▁дво\": 18533,\n      \"▁прави\": 18534,\n      \"▁cc\": 18535,\n      \"▁Debug\": 18536,\n      \"▁Close\": 18537,\n      \"elihood\": 18538,\n      \"▁algorithms\": 18539,\n      \"▁Hamb\": 18540,\n      \"чна\": 18541,\n      \"▁cust\": 18542,\n      \"▁mounted\": 18543,\n      \"paren\": 18544,\n      \"▁isolated\": 18545,\n      \"▁Agr\": 18546,\n      \"▁orbit\": 18547,\n      \"printk\": 18548,\n      \"▁turb\": 18549,\n      \"▁grupo\": 18550,\n      \"мии\": 18551,\n      \"\\\"\\\"\\\"\": 18552,\n      \"▁hills\": 18553,\n      \"ряд\": 18554,\n      \"▁Bod\": 18555,\n      \"▁обще\": 18556,\n      \"estone\": 18557,\n      \"▁satisfying\": 18558,\n      \"▁Ivan\": 18559,\n      \"▁associate\": 18560,\n      \"named\": 18561,\n      \"occup\": 18562,\n      \"GPIO\": 18563,\n      \"hit\": 18564,\n      \"▁distract\": 18565,\n      \"▁barrel\": 18566,\n      \"▁invariant\": 18567,\n      \"did\": 18568,\n      \"▁lieu\": 18569,\n      \"scene\": 18570,\n      \"UNK\": 18571,\n      \"▁Ontario\": 18572,\n      \"▁Mission\": 18573,\n      \"zial\": 18574,\n      \"▁compete\": 18575,\n      \"▁couples\": 18576,\n      \"SHA\": 18577,\n      \"▁sei\": 18578,\n      \"▁migration\": 18579,\n      \"acked\": 18580,\n      \"▁barn\": 18581,\n      \"half\": 18582,\n      \"▁neighbour\": 18583,\n      \"fte\": 18584,\n      \"▁odds\": 18585,\n      \"▁optimization\": 18586,\n      \"▁IC\": 18587,\n      \"▁Hend\": 18588,\n      \"payment\": 18589,\n      \"Mr\": 18590,\n      \"'):\": 18591,\n      \"voir\": 18592,\n      \"▁Range\": 18593,\n      \"▁politicians\": 18594,\n      \"▁Khan\": 18595,\n      \"▁shelter\": 18596,\n      \"▁timing\": 18597,\n      \"Created\": 18598,\n      \"▁septembre\": 18599,\n      \"lit\": 18600,\n      \"▁Shel\": 18601,\n      \"▁couch\": 18602,\n      \"▁där\": 18603,\n      \"ultur\": 18604,\n      \"▁Giov\": 18605,\n      \"ôle\": 18606,\n      \"REAM\": 18607,\n      \"▁Ocean\": 18608,\n      \"▁MB\": 18609,\n      \"▁liegt\": 18610,\n      \"▁ov\": 18611,\n      \"▁carpet\": 18612,\n      \"тар\": 18613,\n      \"▁година\": 18614,\n      \"▁São\": 18615,\n      \"▁отно\": 18616,\n      \"abling\": 18617,\n      \"inth\": 18618,\n      \"▁pursue\": 18619,\n      \"▁Constitution\": 18620,\n      \"anj\": 18621,\n      \"▁FBI\": 18622,\n      \"▁arrow\": 18623,\n      \"phones\": 18624,\n      \"▁knocked\": 18625,\n      \"▁decom\": 18626,\n      \"iek\": 18627,\n      \"ье\": 18628,\n      \"Strip\": 18629,\n      \"▁Venez\": 18630,\n      \"▁pupp\": 18631,\n      \"bian\": 18632,\n      \"▁cotton\": 18633,\n      \"hp\": 18634,\n      \"▁theatre\": 18635,\n      \"▁acceptable\": 18636,\n      \"cussion\": 18637,\n      \"▁rounds\": 18638,\n      \"▁actively\": 18639,\n      \"▁amongst\": 18640,\n      \"▁abc\": 18641,\n      \"FM\": 18642,\n      \"Popup\": 18643,\n      \"▁diversity\": 18644,\n      \"usz\": 18645,\n      \"▁employer\": 18646,\n      \"specially\": 18647,\n      \"▁suspected\": 18648,\n      \"▁crypt\": 18649,\n      \"▁Oscar\": 18650,\n      \"nor\": 18651,\n      \"▁babies\": 18652,\n      \"вом\": 18653,\n      \"▁mundo\": 18654,\n      \"▁libert\": 18655,\n      \"SG\": 18656,\n      \"ahren\": 18657,\n      \"▁magnitude\": 18658,\n      \"TM\": 18659,\n      \"'+\": 18660,\n      \"▁объ\": 18661,\n      \"▁Gust\": 18662,\n      \"▁grain\": 18663,\n      \"мент\": 18664,\n      \"toEqual\": 18665,\n      \"▁mos\": 18666,\n      \"▁consistently\": 18667,\n      \"ху\": 18668,\n      \"▁dominant\": 18669,\n      \"Converter\": 18670,\n      \"atable\": 18671,\n      \"▁Jag\": 18672,\n      \"scriptions\": 18673,\n      \"xB\": 18674,\n      \"▁©\": 18675,\n      \"folder\": 18676,\n      \"▁substance\": 18677,\n      \"▁пос\": 18678,\n      \"Lo\": 18679,\n      \"BUS\": 18680,\n      \"basic\": 18681,\n      \"ussen\": 18682,\n      \"▁coins\": 18683,\n      \":-\": 18684,\n      \"▁Nelson\": 18685,\n      \"Inner\": 18686,\n      \"ografía\": 18687,\n      \"▁exempl\": 18688,\n      \"chg\": 18689,\n      \"▁synd\": 18690,\n      \"dynamic\": 18691,\n      \"verted\": 18692,\n      \"▁EVENT\": 18693,\n      \"seek\": 18694,\n      \"avier\": 18695,\n      \"▁prot\": 18696,\n      \"------\": 18697,\n      \"▁convention\": 18698,\n      \"▁становника\": 18699,\n      \"gling\": 18700,\n      \"hora\": 18701,\n      \"ший\": 18702,\n      \"▁whilst\": 18703,\n      \"serialize\": 18704,\n      \"▁Ring\": 18705,\n      \"(['\": 18706,\n      \"▁cher\": 18707,\n      \"ські\": 18708,\n      \"▁Danny\": 18709,\n      \"▁reaches\": 18710,\n      \"▁eligible\": 18711,\n      \"▁Parent\": 18712,\n      \"▁cameras\": 18713,\n      \"▁discipline\": 18714,\n      \"▁silly\": 18715,\n      \"rets\": 18716,\n      \"ytics\": 18717,\n      \"▁Regional\": 18718,\n      \"▁Baby\": 18719,\n      \"tele\": 18720,\n      \"WARNING\": 18721,\n      \"supp\": 18722,\n      \"▁referring\": 18723,\n      \"▁merch\": 18724,\n      \"olves\": 18725,\n      \"emet\": 18726,\n      \"cke\": 18727,\n      \"▁Municip\": 18728,\n      \"White\": 18729,\n      \"▁Ś\": 18730,\n      \"rios\": 18731,\n      \"logging\": 18732,\n      \"▁dx\": 18733,\n      \"▁susp\": 18734,\n      \"external\": 18735,\n      \"▁Liberal\": 18736,\n      \"▁Initialize\": 18737,\n      \"▁exhibition\": 18738,\n      \"▁extensions\": 18739,\n      \"keeper\": 18740,\n      \"SYS\": 18741,\n      \"▁Jake\": 18742,\n      \"footer\": 18743,\n      \"▁phones\": 18744,\n      \"▁realm\": 18745,\n      \"▁contributed\": 18746,\n      \"MESS\": 18747,\n      \"▁Format\": 18748,\n      \"Period\": 18749,\n      \"▁hid\": 18750,\n      \"▁metres\": 18751,\n      \"▁Dim\": 18752,\n      \"achelor\": 18753,\n      \"▁Tak\": 18754,\n      \"▁вели\": 18755,\n      \"▁gram\": 18756,\n      \"▁MY\": 18757,\n      \"onders\": 18758,\n      \"';\\r\": 18759,\n      \"▁Fro\": 18760,\n      \"▁advantages\": 18761,\n      \"iov\": 18762,\n      \"▁sheets\": 18763,\n      \"cembre\": 18764,\n      \"že\": 18765,\n      \"]\\r\": 18766,\n      \"▁DJ\": 18767,\n      \"subseteq\": 18768,\n      \"UPDATE\": 18769,\n      \"▁blocked\": 18770,\n      \"▁panels\": 18771,\n      \"EA\": 18772,\n      \"nde\": 18773,\n      \"êt\": 18774,\n      \"Bul\": 18775,\n      \"▁meters\": 18776,\n      \"jour\": 18777,\n      \"▁rapport\": 18778,\n      \"▁Jak\": 18779,\n      \"▁VAL\": 18780,\n      \"▁pup\": 18781,\n      \"▁ka\": 18782,\n      \"forced\": 18783,\n      \"▁авгу\": 18784,\n      \"energy\": 18785,\n      \"▁Va\": 18786,\n      \"notes\": 18787,\n      \"▁relaxed\": 18788,\n      \"Cr\": 18789,\n      \"idding\": 18790,\n      \"▁defines\": 18791,\n      \"▁kissed\": 18792,\n      \"▁invasion\": 18793,\n      \"▁screens\": 18794,\n      \"Ctrl\": 18795,\n      \"▁passengers\": 18796,\n      \"▁Хо\": 18797,\n      \"ationship\": 18798,\n      \"percent\": 18799,\n      \"\\\\}\": 18800,\n      \"▁beating\": 18801,\n      \"liferay\": 18802,\n      \"▁VM\": 18803,\n      \"▁Gabriel\": 18804,\n      \"▁gallery\": 18805,\n      \"▁Ло\": 18806,\n      \"ivot\": 18807,\n      \"▁rental\": 18808,\n      \"▁shocked\": 18809,\n      \"▁Stein\": 18810,\n      \"▁Bh\": 18811,\n      \"▁ло\": 18812,\n      \"Une\": 18813,\n      \"ген\": 18814,\n      \"▁kommun\": 18815,\n      \"anka\": 18816,\n      \"▁Cape\": 18817,\n      \"Ready\": 18818,\n      \"▁кри\": 18819,\n      \"trag\": 18820,\n      \"Align\": 18821,\n      \"▁hosted\": 18822,\n      \"▁\\\\(\": 18823,\n      \"▁Session\": 18824,\n      \"ysk\": 18825,\n      \"Pending\": 18826,\n      \"elligence\": 18827,\n      \"▁Nevertheless\": 18828,\n      \"bitro\": 18829,\n      \"holm\": 18830,\n      \"quiry\": 18831,\n      \"▁mechanical\": 18832,\n      \"▁Dé\": 18833,\n      \"aneous\": 18834,\n      \"▁psychological\": 18835,\n      \"▁abroad\": 18836,\n      \"▁avoir\": 18837,\n      \"▁separation\": 18838,\n      \"▁Hawai\": 18839,\n      \"iejsc\": 18840,\n      \"▁Nether\": 18841,\n      \"▁subtle\": 18842,\n      \"bird\": 18843,\n      \"▁marker\": 18844,\n      \"▁созда\": 18845,\n      \"вала\": 18846,\n      \"▁Working\": 18847,\n      \"▁hover\": 18848,\n      \"%%%%%%%%\": 18849,\n      \"▁мат\": 18850,\n      \"▁soup\": 18851,\n      \"Alert\": 18852,\n      \"chr\": 18853,\n      \"▁PCI\": 18854,\n      \"▁mús\": 18855,\n      \"ientras\": 18856,\n      \"▁Storage\": 18857,\n      \"▁availability\": 18858,\n      \"▁opera\": 18859,\n      \"▁Production\": 18860,\n      \"iane\": 18861,\n      \"▁Better\": 18862,\n      \"▁Button\": 18863,\n      \"▁Peace\": 18864,\n      \"▁Morris\": 18865,\n      \"▁sib\": 18866,\n      \"▁fiber\": 18867,\n      \"Intent\": 18868,\n      \"▁Desc\": 18869,\n      \"ningen\": 18870,\n      \"zej\": 18871,\n      \"avan\": 18872,\n      \"covered\": 18873,\n      \"▁syst\": 18874,\n      \"_+\": 18875,\n      \"▁органи\": 18876,\n      \"▁Relig\": 18877,\n      \"циаль\": 18878,\n      \"▁spite\": 18879,\n      \"▁représ\": 18880,\n      \"▁~~\": 18881,\n      \"▁toxic\": 18882,\n      \"▁apro\": 18883,\n      \"XY\": 18884,\n      \"▁trips\": 18885,\n      \"▁plaats\": 18886,\n      \"▁convey\": 18887,\n      \"Prim\": 18888,\n      \"▁оста\": 18889,\n      \"oko\": 18890,\n      \"▁lobby\": 18891,\n      \"▁recommendations\": 18892,\n      \"SPACE\": 18893,\n      \"▁overwhelming\": 18894,\n      \"ennessee\": 18895,\n      \"▁acquire\": 18896,\n      \"wm\": 18897,\n      \"LOBAL\": 18898,\n      \"▁DEF\": 18899,\n      \"jer\": 18900,\n      \"▁recur\": 18901,\n      \"ommen\": 18902,\n      \"▁jog\": 18903,\n      \"▁nast\": 18904,\n      \"▁LP\": 18905,\n      \"jon\": 18906,\n      \"▁wishes\": 18907,\n      \"▁Nancy\": 18908,\n      \"▁supporters\": 18909,\n      \"^{-\\\\\": 18910,\n      \"▁Trib\": 18911,\n      \"▁Ä\": 18912,\n      \"▁disappointed\": 18913,\n      \"▁уни\": 18914,\n      \"xD\": 18915,\n      \"lint\": 18916,\n      \"Ip\": 18917,\n      \"▁Islamic\": 18918,\n      \"ände\": 18919,\n      \"endment\": 18920,\n      \"dtype\": 18921,\n      \"▁digest\": 18922,\n      \"▁Settings\": 18923,\n      \"éra\": 18924,\n      \"▁aggressive\": 18925,\n      \"▁intelligent\": 18926,\n      \"ederbörd\": 18927,\n      \"sterdam\": 18928,\n      \"pci\": 18929,\n      \"▁overflow\": 18930,\n      \"imb\": 18931,\n      \"reach\": 18932,\n      \"ceptor\": 18933,\n      \"▁yields\": 18934,\n      \"▁Sebast\": 18935,\n      \"▁utility\": 18936,\n      \"▁ри\": 18937,\n      \"▁faculty\": 18938,\n      \"▁Internal\": 18939,\n      \"▁attracted\": 18940,\n      \"рів\": 18941,\n      \"▁mixing\": 18942,\n      \"▁Ruth\": 18943,\n      \"▁escaped\": 18944,\n      \"▁Easy\": 18945,\n      \"▁drain\": 18946,\n      \"▁rings\": 18947,\n      \"quire\": 18948,\n      \"Available\": 18949,\n      \"▁ци\": 18950,\n      \"▁convince\": 18951,\n      \"orsch\": 18952,\n      \"утбо\": 18953,\n      \"CPP\": 18954,\n      \"rage\": 18955,\n      \"чі\": 18956,\n      \"▁prod\": 18957,\n      \"▁pig\": 18958,\n      \"▁Catal\": 18959,\n      \"▁alias\": 18960,\n      \"▁чемпи\": 18961,\n      \"Place\": 18962,\n      \"▁gorge\": 18963,\n      \"▁dependence\": 18964,\n      \"▁cruel\": 18965,\n      \"▁thermal\": 18966,\n      \"utdown\": 18967,\n      \"refresh\": 18968,\n      \"▁resort\": 18969,\n      \"▁SHA\": 18970,\n      \"тий\": 18971,\n      \"food\": 18972,\n      \"▁Nad\": 18973,\n      \"▁pregnancy\": 18974,\n      \"▁projection\": 18975,\n      \"▁país\": 18976,\n      \"▁получи\": 18977,\n      \"▁themes\": 18978,\n      \"▁funeral\": 18979,\n      \"▁caso\": 18980,\n      \"лект\": 18981,\n      \"Extra\": 18982,\n      \"▁tissue\": 18983,\n      \"▁dragon\": 18984,\n      \"▁lig\": 18985,\n      \"▁nei\": 18986,\n      \"▁comedy\": 18987,\n      \"тем\": 18988,\n      \"слав\": 18989,\n      \"▁passenger\": 18990,\n      \"Clone\": 18991,\n      \"ição\": 18992,\n      \"ygon\": 18993,\n      \"▁Half\": 18994,\n      \"▁labour\": 18995,\n      \"▁villages\": 18996,\n      \"▁вій\": 18997,\n      \"▁От\": 18998,\n      \"▁Lisa\": 18999,\n      \"_[\": 19000,\n      \"bag\": 19001,\n      \"▁diver\": 19002,\n      \"▁ML\": 19003,\n      \"▁translated\": 19004,\n      \"▁però\": 19005,\n      \"abama\": 19006,\n      \"▁castle\": 19007,\n      \"*\\\\\": 19008,\n      \"▁regia\": 19009,\n      \"!!!!\": 19010,\n      \"*>(\": 19011,\n      \"▁Works\": 19012,\n      \"▁Nature\": 19013,\n      \"NEL\": 19014,\n      \"▁Pom\": 19015,\n      \"tta\": 19016,\n      \"▁Jamie\": 19017,\n      \"▁punch\": 19018,\n      \"tainment\": 19019,\n      \"▁Krieg\": 19020,\n      \"▁restricted\": 19021,\n      \"mobile\": 19022,\n      \"▁grandmother\": 19023,\n      \"Arguments\": 19024,\n      \"▁sinc\": 19025,\n      \"▁Month\": 19026,\n      \"escape\": 19027,\n      \"▁optical\": 19028,\n      \"▁Lane\": 19029,\n      \"▁Deutschland\": 19030,\n      \"▁Saison\": 19031,\n      \"▁Virtual\": 19032,\n      \"pez\": 19033,\n      \"Inline\": 19034,\n      \"owany\": 19035,\n      \"radio\": 19036,\n      \"öß\": 19037,\n      \"▁Others\": 19038,\n      \"MAIN\": 19039,\n      \"scal\": 19040,\n      \"▁Dallas\": 19041,\n      \"▁anchor\": 19042,\n      \"encias\": 19043,\n      \"▁reporter\": 19044,\n      \"▁vegetables\": 19045,\n      \"▁enforcement\": 19046,\n      \"▁Wisconsin\": 19047,\n      \"▁condem\": 19048,\n      \"▁eb\": 19049,\n      \"▁sits\": 19050,\n      \"▁calculations\": 19051,\n      \"▁\\\"--\": 19052,\n      \"uelle\": 19053,\n      \"▁tipo\": 19054,\n      \"▁PAR\": 19055,\n      \"cord\": 19056,\n      \"▁років\": 19057,\n      \"phan\": 19058,\n      \"▁konnte\": 19059,\n      \"▁zap\": 19060,\n      \"writing\": 19061,\n      \"engu\": 19062,\n      \"▁perturb\": 19063,\n      \"Face\": 19064,\n      \"agog\": 19065,\n      \"▁Decl\": 19066,\n      \"estly\": 19067,\n      \"▁Warren\": 19068,\n      \"▁Hills\": 19069,\n      \"▁refresh\": 19070,\n      \"▁flip\": 19071,\n      \"iop\": 19072,\n      \"▁keyboard\": 19073,\n      \"isto\": 19074,\n      \"▁promoted\": 19075,\n      \"backs\": 19076,\n      \"Encoding\": 19077,\n      \"▁ال\": 19078,\n      \"▁gmin\": 19079,\n      \"роб\": 19080,\n      \"▁followers\": 19081,\n      \"▁pepper\": 19082,\n      \"umble\": 19083,\n      \"▁spray\": 19084,\n      \"▁drives\": 19085,\n      \"Push\": 19086,\n      \"cookie\": 19087,\n      \"▁geldig\": 19088,\n      \"igung\": 19089,\n      \"visit\": 19090,\n      \"▁atomic\": 19091,\n      \"▁Athlet\": 19092,\n      \"▁Origin\": 19093,\n      \"▁Happy\": 19094,\n      \"▁Gra\": 19095,\n      \"▁attribut\": 19096,\n      \"▁пов\": 19097,\n      \"▁nost\": 19098,\n      \"uru\": 19099,\n      \"▁Neither\": 19100,\n      \"▁maar\": 19101,\n      \"jections\": 19102,\n      \"▁renov\": 19103,\n      \"finity\": 19104,\n      \"generic\": 19105,\n      \"initialize\": 19106,\n      \"pgfset\": 19107,\n      \"▁hypothes\": 19108,\n      \"▁macro\": 19109,\n      \"maps\": 19110,\n      \"▁fare\": 19111,\n      \"Best\": 19112,\n      \"ucht\": 19113,\n      \"cod\": 19114,\n      \"▁horm\": 19115,\n      \"▁Poll\": 19116,\n      \"▁hosting\": 19117,\n      \"▁Reading\": 19118,\n      \"Certificate\": 19119,\n      \"▁има\": 19120,\n      \"▁Cov\": 19121,\n      \"▁Pred\": 19122,\n      \"redirect\": 19123,\n      \"▁lattice\": 19124,\n      \"▁portfolio\": 19125,\n      \"▁oven\": 19126,\n      \"ielen\": 19127,\n      \"subscribe\": 19128,\n      \"footnote\": 19129,\n      \"ною\": 19130,\n      \"▁momento\": 19131,\n      \"▁dich\": 19132,\n      \"▁entert\": 19133,\n      \"▁gé\": 19134,\n      \"▁connecting\": 19135,\n      \"▁nacional\": 19136,\n      \"▁ott\": 19137,\n      \"нів\": 19138,\n      \"▁racist\": 19139,\n      \"▁penalty\": 19140,\n      \"ült\": 19141,\n      \"▁Israeli\": 19142,\n      \"▁(†\": 19143,\n      \"▁descend\": 19144,\n      \"▁осіб\": 19145,\n      \"▁belly\": 19146,\n      \"ність\": 19147,\n      \"▁encountered\": 19148,\n      \"Tip\": 19149,\n      \"▁guilt\": 19150,\n      \"▁damp\": 19151,\n      \"zeug\": 19152,\n      \"▁Memory\": 19153,\n      \"Checked\": 19154,\n      \"▁Shakespeare\": 19155,\n      \"hill\": 19156,\n      \"▁woke\": 19157,\n      \"▁salary\": 19158,\n      \"etheless\": 19159,\n      \"▁Ти\": 19160,\n      \"erde\": 19161,\n      \"▁Hein\": 19162,\n      \"▁git\": 19163,\n      \"=\\\"\\\"\": 19164,\n      \"üll\": 19165,\n      \"geben\": 19166,\n      \"Pres\": 19167,\n      \"ieval\": 19168,\n      \"marker\": 19169,\n      \"▁дан\": 19170,\n      \"▁octobre\": 19171,\n      \"ROL\": 19172,\n      \"▁janu\": 19173,\n      \"▁):\": 19174,\n      \"branch\": 19175,\n      \"▁Jerry\": 19176,\n      \"kehr\": 19177,\n      \"▁contracts\": 19178,\n      \"▁affair\": 19179,\n      \"▁России\": 19180,\n      \"jack\": 19181,\n      \"ANG\": 19182,\n      \"▁dropping\": 19183,\n      \"▁dic\": 19184,\n      \"school\": 19185,\n      \"▁Finland\": 19186,\n      \"▁dort\": 19187,\n      \"▁Kings\": 19188,\n      \"▁Argument\": 19189,\n      \"▁Similarly\": 19190,\n      \"▁Verm\": 19191,\n      \"▁pretend\": 19192,\n      \"!_\": 19193,\n      \"ług\": 19194,\n      \"ження\": 19195,\n      \"dating\": 19196,\n      \"csv\": 19197,\n      \"▁dialogue\": 19198,\n      \"STRU\": 19199,\n      \"▁publicly\": 19200,\n      \"wedge\": 19201,\n      \"▁Hoch\": 19202,\n      \"▁speaks\": 19203,\n      \"▁compensation\": 19204,\n      \"anca\": 19205,\n      \"texttt\": 19206,\n      \"▁Filter\": 19207,\n      \"▁partly\": 19208,\n      \"▁useless\": 19209,\n      \"▁гу\": 19210,\n      \"▁deter\": 19211,\n      \"IEW\": 19212,\n      \"▁consecut\": 19213,\n      \"▁holy\": 19214,\n      \"▁graduated\": 19215,\n      \"andal\": 19216,\n      \"ție\": 19217,\n      \"▁Want\": 19218,\n      \"▁Austria\": 19219,\n      \"orden\": 19220,\n      \"frag\": 19221,\n      \"▁foo\": 19222,\n      \"claimed\": 19223,\n      \"вое\": 19224,\n      \"▁notable\": 19225,\n      \"▁journalist\": 19226,\n      \"▁Mail\": 19227,\n      \"!(\\\"\": 19228,\n      \"pse\": 19229,\n      \"▁Clay\": 19230,\n      \"ivi\": 19231,\n      \"▁scales\": 19232,\n      \"▁erste\": 19233,\n      \"DataType\": 19234,\n      \"▁Diam\": 19235,\n      \"ír\": 19236,\n      \"locale\": 19237,\n      \"▁reluct\": 19238,\n      \"ienst\": 19239,\n      \"astro\": 19240,\n      \"actly\": 19241,\n      \"ях\": 19242,\n      \"▁Village\": 19243,\n      \"▁daughters\": 19244,\n      \"▁manufacturers\": 19245,\n      \"▁printing\": 19246,\n      \"чка\": 19247,\n      \"NdEx\": 19248,\n      \"Changes\": 19249,\n      \"▁/******/\": 19250,\n      \"vertex\": 19251,\n      \"▁brows\": 19252,\n      \"▁Kö\": 19253,\n      \"notations\": 19254,\n      \"▁ils\": 19255,\n      \"atel\": 19256,\n      \"Cir\": 19257,\n      \"▁meaningful\": 19258,\n      \"qa\": 19259,\n      \"▁Cold\": 19260,\n      \"ueto\": 19261,\n      \"your\": 19262,\n      \"mf\": 19263,\n      \"мов\": 19264,\n      \"▁Über\": 19265,\n      \"▁familia\": 19266,\n      \"▁steep\": 19267,\n      \"▁presidential\": 19268,\n      \"▁zá\": 19269,\n      \"▁wars\": 19270,\n      \"▁Cre\": 19271,\n      \"▁afterwards\": 19272,\n      \"halb\": 19273,\n      \"▁struggled\": 19274,\n      \"Chart\": 19275,\n      \"UserId\": 19276,\n      \"acular\": 19277,\n      \"ivia\": 19278,\n      \"▁ugly\": 19279,\n      \"▁Kunst\": 19280,\n      \"Es\": 19281,\n      \"▁QString\": 19282,\n      \"▁Cow\": 19283,\n      \"Radius\": 19284,\n      \"▁Griff\": 19285,\n      \"▁Vas\": 19286,\n      \"HAL\": 19287,\n      \"Modified\": 19288,\n      \"rale\": 19289,\n      \"memcpy\": 19290,\n      \"▁вклю\": 19291,\n      \"▁rs\": 19292,\n      \"▁halt\": 19293,\n      \"▁Mississ\": 19294,\n      \"▁huvud\": 19295,\n      \"eca\": 19296,\n      \"▁Jahrhundert\": 19297,\n      \"Europe\": 19298,\n      \"Signature\": 19299,\n      \"▁grandfather\": 19300,\n      \"▁Oregon\": 19301,\n      \"gue\": 19302,\n      \"xygen\": 19303,\n      \"frames\": 19304,\n      \"▁habits\": 19305,\n      \"Supported\": 19306,\n      \"▁lowered\": 19307,\n      \"▁radiation\": 19308,\n      \"aben\": 19309,\n      \"▁Progress\": 19310,\n      \"▁Costa\": 19311,\n      \"▁devoted\": 19312,\n      \"▁gesture\": 19313,\n      \"▁Dezember\": 19314,\n      \"▁quoted\": 19315,\n      \"▁difficulties\": 19316,\n      \"тре\": 19317,\n      \"▁sustainable\": 19318,\n      \"▁dense\": 19319,\n      \"▁ihrer\": 19320,\n      \"▁firmly\": 19321,\n      \"ât\": 19322,\n      \"oment\": 19323,\n      \"▁cout\": 19324,\n      \"▁poi\": 19325,\n      \"django\": 19326,\n      \"▁profound\": 19327,\n      \"▁Wilhelm\": 19328,\n      \"▁flush\": 19329,\n      \"▁avril\": 19330,\n      \"LAB\": 19331,\n      \"▁Brow\": 19332,\n      \"▁propose\": 19333,\n      \"▁ranks\": 19334,\n      \"WID\": 19335,\n      \"▁mutual\": 19336,\n      \"▁texts\": 19337,\n      \"▁Sale\": 19338,\n      \"▁quasi\": 19339,\n      \"▁nog\": 19340,\n      \"▁nouveau\": 19341,\n      \"▁cv\": 19342,\n      \"▁noble\": 19343,\n      \"▁décembre\": 19344,\n      \"▁clever\": 19345,\n      \"▁Pir\": 19346,\n      \"▁graphics\": 19347,\n      \"▁GR\": 19348,\n      \"ческой\": 19349,\n      \"▁sag\": 19350,\n      \"ictions\": 19351,\n      \"nant\": 19352,\n      \"▁thé\": 19353,\n      \"CG\": 19354,\n      \"▁Jacques\": 19355,\n      \"WM\": 19356,\n      \"▁Finn\": 19357,\n      \"▁devast\": 19358,\n      \"зом\": 19359,\n      \"хов\": 19360,\n      \"▁Entre\": 19361,\n      \".;\": 19362,\n      \"▁fluct\": 19363,\n      \"▁Sciences\": 19364,\n      \"▁ту\": 19365,\n      \"paths\": 19366,\n      \"▁shorter\": 19367,\n      \"▁suggestion\": 19368,\n      \"ERY\": 19369,\n      \"▁Dire\": 19370,\n      \"ateurs\": 19371,\n      \"▁rounded\": 19372,\n      \"▁tart\": 19373,\n      \"юще\": 19374,\n      \"uper\": 19375,\n      \"▁secrets\": 19376,\n      \"▁companion\": 19377,\n      \"▁KEY\": 19378,\n      \"Tile\": 19379,\n      \"▁Bibli\": 19380,\n      \"xs\": 19381,\n      \"▁angular\": 19382,\n      \"pag\": 19383,\n      \"erness\": 19384,\n      \"▁Sorry\": 19385,\n      \"▁prediction\": 19386,\n      \"▁Making\": 19387,\n      \"народ\": 19388,\n      \"olare\": 19389,\n      \"rpc\": 19390,\n      \"▁tens\": 19391,\n      \"enas\": 19392,\n      \"▁Really\": 19393,\n      \"HI\": 19394,\n      \"portal\": 19395,\n      \"▁forme\": 19396,\n      \"gang\": 19397,\n      \"▁lane\": 19398,\n      \"▁stag\": 19399,\n      \"▁Marx\": 19400,\n      \"▁LLC\": 19401,\n      \"▁dare\": 19402,\n      \"▁Olympic\": 19403,\n      \"▁pant\": 19404,\n      \"building\": 19405,\n      \";;\": 19406,\n      \"▁cops\": 19407,\n      \"▁rushed\": 19408,\n      \"▁Lot\": 19409,\n      \"▁initiative\": 19410,\n      \"▁invite\": 19411,\n      \"▁Safety\": 19412,\n      \"FAILED\": 19413,\n      \"▁habitants\": 19414,\n      \"ensen\": 19415,\n      \"▁lég\": 19416,\n      \"▁Welcome\": 19417,\n      \"Validate\": 19418,\n      \"▁quatre\": 19419,\n      \"▁Gray\": 19420,\n      \"▁Eve\": 19421,\n      \"▁Comb\": 19422,\n      \"▁pendant\": 19423,\n      \"aqu\": 19424,\n      \"configure\": 19425,\n      \"▁Adm\": 19426,\n      \"▁rifle\": 19427,\n      \"▁Experience\": 19428,\n      \"Declaration\": 19429,\n      \"▁år\": 19430,\n      \"illery\": 19431,\n      \"ospel\": 19432,\n      \"▁Arena\": 19433,\n      \"▁boards\": 19434,\n      \"▁purple\": 19435,\n      \"▁pills\": 19436,\n      \"uetooth\": 19437,\n      \"lique\": 19438,\n      \"▁populations\": 19439,\n      \"▁accent\": 19440,\n      \"▁ranges\": 19441,\n      \"▁Analysis\": 19442,\n      \"▁dictionary\": 19443,\n      \"▁Dragon\": 19444,\n      \"rection\": 19445,\n      \"▁visitor\": 19446,\n      \"segment\": 19447,\n      \"▁др\": 19448,\n      \"▁Fuck\": 19449,\n      \"дж\": 19450,\n      \"▁identification\": 19451,\n      \"ClassName\": 19452,\n      \"bootstrap\": 19453,\n      \"▁surfaces\": 19454,\n      \"▁screaming\": 19455,\n      \"кту\": 19456,\n      \"plain\": 19457,\n      \"shadow\": 19458,\n      \"includes\": 19459,\n      \"▁jazz\": 19460,\n      \"▁ál\": 19461,\n      \"rika\": 19462,\n      \"hop\": 19463,\n      \"▁ion\": 19464,\n      \"vre\": 19465,\n      \"▁newspapers\": 19466,\n      \"▁ihn\": 19467,\n      \"▁Parse\": 19468,\n      \"По\": 19469,\n      \"▁strictly\": 19470,\n      \"▁recovered\": 19471,\n      \"▁Una\": 19472,\n      \"▁erre\": 19473,\n      \"issues\": 19474,\n      \"▁expense\": 19475,\n      \"чения\": 19476,\n      \"▁donc\": 19477,\n      \"Bin\": 19478,\n      \"▁Comment\": 19479,\n      \"▁sacrifice\": 19480,\n      \"Tuple\": 19481,\n      \"()[\": 19482,\n      \"▁travers\": 19483,\n      \"Imp\": 19484,\n      \"Je\": 19485,\n      \"▁Linux\": 19486,\n      \"▁её\": 19487,\n      \"▁Pi\": 19488,\n      \"▁curios\": 19489,\n      \"▁rage\": 19490,\n      \"▁escal\": 19491,\n      \"▁alignment\": 19492,\n      \"▁pentru\": 19493,\n      \"▁curr\": 19494,\n      \"▁beste\": 19495,\n      \"[],\": 19496,\n      \"▁//!\": 19497,\n      \"Hub\": 19498,\n      \"Visibility\": 19499,\n      \"▁Ask\": 19500,\n      \"abul\": 19501,\n      \"colon\": 19502,\n      \"▁Days\": 19503,\n      \"Authentication\": 19504,\n      \"віт\": 19505,\n      \"▁lod\": 19506,\n      \"xFC\": 19507,\n      \"Lookup\": 19508,\n      \"jsce\": 19509,\n      \"Alpha\": 19510,\n      \"▁harmony\": 19511,\n      \"▁Ward\": 19512,\n      \"transfer\": 19513,\n      \"▁Horn\": 19514,\n      \"▁sd\": 19515,\n      \"soap\": 19516,\n      \"▁zich\": 19517,\n      \"▁Console\": 19518,\n      \"▁коли\": 19519,\n      \"▁Phone\": 19520,\n      \"paper\": 19521,\n      \"йн\": 19522,\n      \"▁zm\": 19523,\n      \"Done\": 19524,\n      \"phase\": 19525,\n      \"▁Julia\": 19526,\n      \"▁edited\": 19527,\n      \"affe\": 19528,\n      \"Syntax\": 19529,\n      \"yll\": 19530,\n      \"▁Lucas\": 19531,\n      \"▁anderen\": 19532,\n      \"[<\": 19533,\n      \"▁Database\": 19534,\n      \"▁spectral\": 19535,\n      \"assador\": 19536,\n      \"ската\": 19537,\n      \"▁importante\": 19538,\n      \"▁ха\": 19539,\n      \"tz\": 19540,\n      \"▁stere\": 19541,\n      \"▁melt\": 19542,\n      \"▁Crow\": 19543,\n      \"шка\": 19544,\n      \"itutes\": 19545,\n      \"▁satisfies\": 19546,\n      \"▁Liga\": 19547,\n      \"▁tomb\": 19548,\n      \"▁führ\": 19549,\n      \"▁solely\": 19550,\n      \"▁Either\": 19551,\n      \"▁tennis\": 19552,\n      \"▁sigh\": 19553,\n      \"serde\": 19554,\n      \"uba\": 19555,\n      \"ęd\": 19556,\n      \"lez\": 19557,\n      \"Fact\": 19558,\n      \"▁squeez\": 19559,\n      \"▁Thompson\": 19560,\n      \"▁NL\": 19561,\n      \"▁Para\": 19562,\n      \"▁??\": 19563,\n      \"▁finishing\": 19564,\n      \"Sheet\": 19565,\n      \"LINK\": 19566,\n      \"▁бро\": 19567,\n      \"▁lover\": 19568,\n      \"machine\": 19569,\n      \"▁Lesser\": 19570,\n      \"pond\": 19571,\n      \"▁paintings\": 19572,\n      \"▁assumptions\": 19573,\n      \"▁modification\": 19574,\n      \"fre\": 19575,\n      \"▁Ult\": 19576,\n      \"▁AF\": 19577,\n      \"RV\": 19578,\n      \"binding\": 19579,\n      \"▁toilet\": 19580,\n      \"rar\": 19581,\n      \"▁ange\": 19582,\n      \"▁sheep\": 19583,\n      \"PROTO\": 19584,\n      \"actic\": 19585,\n      \"▁Speed\": 19586,\n      \"▁Ice\": 19587,\n      \"gnu\": 19588,\n      \"owned\": 19589,\n      \"Subscription\": 19590,\n      \"yrics\": 19591,\n      \"▁backward\": 19592,\n      \">\\\".\": 19593,\n      \"pit\": 19594,\n      \"▁realistic\": 19595,\n      \"öffent\": 19596,\n      \"azi\": 19597,\n      \"DER\": 19598,\n      \"bucket\": 19599,\n      \"ény\": 19600,\n      \"xFE\": 19601,\n      \"▁fancy\": 19602,\n      \"except\": 19603,\n      \"▁Sul\": 19604,\n      \"▁laser\": 19605,\n      \"Monitor\": 19606,\n      \"▁comic\": 19607,\n      \"▁Architect\": 19608,\n      \"▁expr\": 19609,\n      \"ounters\": 19610,\n      \"▁Melbourne\": 19611,\n      \"complex\": 19612,\n      \"'.$\": 19613,\n      \"omot\": 19614,\n      \"▁Menu\": 19615,\n      \"asticsearch\": 19616,\n      \"▁editing\": 19617,\n      \"Present\": 19618,\n      \"oples\": 19619,\n      \"ència\": 19620,\n      \"▁вто\": 19621,\n      \"glise\": 19622,\n      \"sheet\": 19623,\n      \"▁helic\": 19624,\n      \"▁stranger\": 19625,\n      \"▁exec\": 19626,\n      \"FER\": 19627,\n      \"inian\": 19628,\n      \"SETTING\": 19629,\n      \"▁Mix\": 19630,\n      \"▁complain\": 19631,\n      \"▁increment\": 19632,\n      \"CSS\": 19633,\n      \"mma\": 19634,\n      \"slide\": 19635,\n      \"▁против\": 19636,\n      \"▁Limited\": 19637,\n      \"Console\": 19638,\n      \"▁engaging\": 19639,\n      \"uler\": 19640,\n      \"▁Options\": 19641,\n      \"▁lens\": 19642,\n      \"Mail\": 19643,\n      \"▁barrier\": 19644,\n      \"transport\": 19645,\n      \"▁cups\": 19646,\n      \"iterr\": 19647,\n      \"▁constants\": 19648,\n      \"▁Tech\": 19649,\n      \"izio\": 19650,\n      \"ступа\": 19651,\n      \"▁Sweden\": 19652,\n      \"athon\": 19653,\n      \"▁Magn\": 19654,\n      \"transition\": 19655,\n      \"дела\": 19656,\n      \"esk\": 19657,\n      \"Soft\": 19658,\n      \"functions\": 19659,\n      \"nea\": 19660,\n      \"Implement\": 19661,\n      \"every\": 19662,\n      \"▁Manufact\": 19663,\n      \"▁improvements\": 19664,\n      \"▁Indiana\": 19665,\n      \"▁hosts\": 19666,\n      \"CV\": 19667,\n      \"West\": 19668,\n      \"town\": 19669,\n      \"canvas\": 19670,\n      \"▁шко\": 19671,\n      \"▁Column\": 19672,\n      \"▁Parker\": 19673,\n      \"▁espa\": 19674,\n      \"▁Publish\": 19675,\n      \"▁который\": 19676,\n      \"avis\": 19677,\n      \"▁Zw\": 19678,\n      \"▁emphasis\": 19679,\n      \"olv\": 19680,\n      \"▁recurs\": 19681,\n      \"itaire\": 19682,\n      \"▁Bishop\": 19683,\n      \"nero\": 19684,\n      \"▁deny\": 19685,\n      \"▁doub\": 19686,\n      \"peonato\": 19687,\n      \"▁Course\": 19688,\n      \"▁Queens\": 19689,\n      \"▁blur\": 19690,\n      \"eled\": 19691,\n      \"izo\": 19692,\n      \"▁début\": 19693,\n      \"▁Module\": 19694,\n      \"▁anxious\": 19695,\n      \"▁stare\": 19696,\n      \"▁Proposition\": 19697,\n      \"▁Ku\": 19698,\n      \"▁ic\": 19699,\n      \"Percent\": 19700,\n      \"Quant\": 19701,\n      \"▁Исто\": 19702,\n      \"▁hex\": 19703,\n      \"associ\": 19704,\n      \"▁arrangement\": 19705,\n      \"▁boats\": 19706,\n      \"Und\": 19707,\n      \"▁slots\": 19708,\n      \"сен\": 19709,\n      \"necessary\": 19710,\n      \"▁appearing\": 19711,\n      \"▁Rule\": 19712,\n      \"▁GT\": 19713,\n      \"Force\": 19714,\n      \"etto\": 19715,\n      \"zenia\": 19716,\n      \"▁outs\": 19717,\n      \"▁variations\": 19718,\n      \"▁whites\": 19719,\n      \"▁glo\": 19720,\n      \"▁BR\": 19721,\n      \"icky\": 19722,\n      \"▁jury\": 19723,\n      \"▁treatments\": 19724,\n      \"▁Theater\": 19725,\n      \"know\": 19726,\n      \"▁profiles\": 19727,\n      \"▁conspir\": 19728,\n      \"▁classroom\": 19729,\n      \"▁Bass\": 19730,\n      \"▁lawyers\": 19731,\n      \"vue\": 19732,\n      \"▁Arc\": 19733,\n      \"▁sla\": 19734,\n      \"▁attending\": 19735,\n      \"nx\": 19736,\n      \"mx\": 19737,\n      \"TOP\": 19738,\n      \"▁bored\": 19739,\n      \"previous\": 19740,\n      \"rw\": 19741,\n      \"ptic\": 19742,\n      \"љу\": 19743,\n      \"▁appar\": 19744,\n      \"▁Pont\": 19745,\n      \":_\": 19746,\n      \"iii\": 19747,\n      \"▁jerk\": 19748,\n      \"hedral\": 19749,\n      \"сса\": 19750,\n      \"▁Prize\": 19751,\n      \"▁Ри\": 19752,\n      \"бре\": 19753,\n      \"▁handles\": 19754,\n      \"▁jak\": 19755,\n      \"▁Afghanistan\": 19756,\n      \"▁boring\": 19757,\n      \"ifik\": 19758,\n      \"▁shade\": 19759,\n      \"airo\": 19760,\n      \"oday\": 19761,\n      \"▁plates\": 19762,\n      \"▁Championships\": 19763,\n      \"▁cheeks\": 19764,\n      \"rike\": 19765,\n      \"▁können\": 19766,\n      \"▁apple\": 19767,\n      \"▁Eddie\": 19768,\n      \"▁sod\": 19769,\n      \"▁trains\": 19770,\n      \"panic\": 19771,\n      \"▁Advent\": 19772,\n      \"ubre\": 19773,\n      \"▁då\": 19774,\n      \"▁Symbol\": 19775,\n      \"▁сте\": 19776,\n      \"Sam\": 19777,\n      \"inherit\": 19778,\n      \"camera\": 19779,\n      \"▁cours\": 19780,\n      \"▁makeup\": 19781,\n      \"regex\": 19782,\n      \"▁UE\": 19783,\n      \"▁Detroit\": 19784,\n      \"▁Weight\": 19785,\n      \"▁Piet\": 19786,\n      \"▁aria\": 19787,\n      \"DIRECT\": 19788,\n      \"aceae\": 19789,\n      \"▁Info\": 19790,\n      \"anya\": 19791,\n      \"backend\": 19792,\n      \"▁Tennessee\": 19793,\n      \"picker\": 19794,\n      \"▁Leo\": 19795,\n      \"▁Poss\": 19796,\n      \"prises\": 19797,\n      \"▁mature\": 19798,\n      \"ських\": 19799,\n      \"▁Fant\": 19800,\n      \"Reason\": 19801,\n      \"▁moy\": 19802,\n      \"▁Baker\": 19803,\n      \"▁subset\": 19804,\n      \"▁Stanley\": 19805,\n      \"▁eleven\": 19806,\n      \"olate\": 19807,\n      \"▁fortune\": 19808,\n      \"StatusCode\": 19809,\n      \"▁entities\": 19810,\n      \"▁Okay\": 19811,\n      \"цо\": 19812,\n      \"anos\": 19813,\n      \"relative\": 19814,\n      \"▁ordering\": 19815,\n      \"▁Nobody\": 19816,\n      \"▁strlen\": 19817,\n      \"▁rope\": 19818,\n      \"▁cigarette\": 19819,\n      \"holds\": 19820,\n      \"irable\": 19821,\n      \"valueOf\": 19822,\n      \"Stub\": 19823,\n      \"▁photography\": 19824,\n      \"estra\": 19825,\n      \"▁cultures\": 19826,\n      \"▁declaration\": 19827,\n      \"mercial\": 19828,\n      \"LIED\": 19829,\n      \"aute\": 19830,\n      \"alter\": 19831,\n      \"Submit\": 19832,\n      \"▁Magic\": 19833,\n      \"▁rhythm\": 19834,\n      \"Payment\": 19835,\n      \"nih\": 19836,\n      \"▁intersection\": 19837,\n      \"lé\": 19838,\n      \"ENTRY\": 19839,\n      \"/)\": 19840,\n      \"▁mog\": 19841,\n      \"rust\": 19842,\n      \"▁threats\": 19843,\n      \"▁Military\": 19844,\n      \"apor\": 19845,\n      \"▁sigu\": 19846,\n      \"setminus\": 19847,\n      \"▁Ing\": 19848,\n      \"station\": 19849,\n      \"Take\": 19850,\n      \"▁shed\": 19851,\n      \"▁Francia\": 19852,\n      \"posts\": 19853,\n      \"Marker\": 19854,\n      \"LowerCase\": 19855,\n      \"▁befind\": 19856,\n      \"▁Czech\": 19857,\n      \"ícula\": 19858,\n      \"▁Performance\": 19859,\n      \"▁Wes\": 19860,\n      \"▁Larry\": 19861,\n      \"▁ost\": 19862,\n      \"▁emails\": 19863,\n      \"▁Release\": 19864,\n      \"▁adapter\": 19865,\n      \"▁padre\": 19866,\n      \"acio\": 19867,\n      \"▁зем\": 19868,\n      \"▁genetic\": 19869,\n      \"▁Und\": 19870,\n      \"▁acceptance\": 19871,\n      \"дан\": 19872,\n      \"▁Girls\": 19873,\n      \"compiler\": 19874,\n      \"sun\": 19875,\n      \"▁wheels\": 19876,\n      \"▁thoroughly\": 19877,\n      \"grund\": 19878,\n      \"unction\": 19879,\n      \"▁ella\": 19880,\n      \"XFF\": 19881,\n      \"ugs\": 19882,\n      \"ientos\": 19883,\n      \"▁DM\": 19884,\n      \"▁politique\": 19885,\n      \"▁campaigns\": 19886,\n      \"▁Tokyo\": 19887,\n      \"▁albums\": 19888,\n      \"KERNEL\": 19889,\n      \"pdata\": 19890,\n      \"▁laptop\": 19891,\n      \"▁vál\": 19892,\n      \"▁fou\": 19893,\n      \"orb\": 19894,\n      \"▁Tower\": 19895,\n      \"▁Getting\": 19896,\n      \"▁corners\": 19897,\n      \"pless\": 19898,\n      \"▁specialist\": 19899,\n      \"▁iv\": 19900,\n      \"Uint\": 19901,\n      \"▁namely\": 19902,\n      \"▁scaling\": 19903,\n      \"Extensions\": 19904,\n      \"▁centro\": 19905,\n      \"omorphism\": 19906,\n      \"▁déf\": 19907,\n      \"),\\\\\": 19908,\n      \"▁contrary\": 19909,\n      \"▁striking\": 19910,\n      \"▁Bere\": 19911,\n      \"▁forecast\": 19912,\n      \"▁zones\": 19913,\n      \"smart\": 19914,\n      \"ashi\": 19915,\n      \"rin\": 19916,\n      \"NEW\": 19917,\n      \"▁simulations\": 19918,\n      \"▁Rather\": 19919,\n      \"▁Writing\": 19920,\n      \"▁$[\": 19921,\n      \"▁assh\": 19922,\n      \"▁failing\": 19923,\n      \"▁manif\": 19924,\n      \"▁Bog\": 19925,\n      \"▁Dir\": 19926,\n      \"▁influenced\": 19927,\n      \"confirm\": 19928,\n      \"▁weigh\": 19929,\n      \"▁inventory\": 19930,\n      \"▁apare\": 19931,\n      \"▁eu\": 19932,\n      \"character\": 19933,\n      \"iom\": 19934,\n      \"▁orb\": 19935,\n      \"devices\": 19936,\n      \"▁LED\": 19937,\n      \"▁proportion\": 19938,\n      \"▁Honor\": 19939,\n      \"▁approaching\": 19940,\n      \"deleg\": 19941,\n      \"▁BB\": 19942,\n      \"helpers\": 19943,\n      \"repository\": 19944,\n      \"▁бере\": 19945,\n      \"▁inhabit\": 19946,\n      \"▁são\": 19947,\n      \"▁traveled\": 19948,\n      \"nex\": 19949,\n      \"▁Clin\": 19950,\n      \"CEPT\": 19951,\n      \"▁offense\": 19952,\n      \"▁incent\": 19953,\n      \"IDS\": 19954,\n      \"▁coefficients\": 19955,\n      \"▁lp\": 19956,\n      \"чного\": 19957,\n      \"▁cd\": 19958,\n      \"must\": 19959,\n      \"▁sooner\": 19960,\n      \"eze\": 19961,\n      \"Cat\": 19962,\n      \"maker\": 19963,\n      \"▁ranked\": 19964,\n      \"fulness\": 19965,\n      \"▁partially\": 19966,\n      \"Prom\": 19967,\n      \"▁фон\": 19968,\n      \"▁Probably\": 19969,\n      \"▁cached\": 19970,\n      \"▁balanced\": 19971,\n      \"ahoma\": 19972,\n      \"▁Murray\": 19973,\n      \"▁ali\": 19974,\n      \"ivos\": 19975,\n      \"▁bark\": 19976,\n      \"ITEM\": 19977,\n      \"▁Kirche\": 19978,\n      \"▁allocated\": 19979,\n      \"Alt\": 19980,\n      \"▁améric\": 19981,\n      \"ília\": 19982,\n      \"▁cens\": 19983,\n      \"▁licenses\": 19984,\n      \"acz\": 19985,\n      \"▁Gate\": 19986,\n      \"▁BL\": 19987,\n      \"▁republic\": 19988,\n      \"ROW\": 19989,\n      \"▁составля\": 19990,\n      \"▁Filip\": 19991,\n      \"▁Individ\": 19992,\n      \"▁trials\": 19993,\n      \"/*!\": 19994,\n      \"▁GP\": 19995,\n      \"nika\": 19996,\n      \"▁exem\": 19997,\n      \"▁advers\": 19998,\n      \"umped\": 19999,\n      \"▁Device\": 20000,\n      \"wake\": 20001,\n      \"Exec\": 20002,\n      \"arding\": 20003,\n      \"▁población\": 20004,\n      \"▁keen\": 20005,\n      \"▁bitch\": 20006,\n      \"▁embedded\": 20007,\n      \"▁Bond\": 20008,\n      \"rides\": 20009,\n      \"▁Woman\": 20010,\n      \".[\": 20011,\n      \"éré\": 20012,\n      \"▁HashMap\": 20013,\n      \"▁counting\": 20014,\n      \"▁Initial\": 20015,\n      \"▁verse\": 20016,\n      \"▁Verein\": 20017,\n      \">\\\",\": 20018,\n      \"▁anth\": 20019,\n      \"cid\": 20020,\n      \"▁hunt\": 20021,\n      \"нал\": 20022,\n      \"cies\": 20023,\n      \"Pin\": 20024,\n      \"▁#!\": 20025,\n      \"вая\": 20026,\n      \"snd\": 20027,\n      \"▁uk\": 20028,\n      \"▁swift\": 20029,\n      \"▁temporada\": 20030,\n      \"▁environments\": 20031,\n      \"claimer\": 20032,\n      \"emetery\": 20033,\n      \"jär\": 20034,\n      \"▁част\": 20035,\n      \"Transport\": 20036,\n      \"▁Arr\": 20037,\n      \"▁Paper\": 20038,\n      \"▁bew\": 20039,\n      \"▁harvest\": 20040,\n      \"▁-----\": 20041,\n      \"products\": 20042,\n      \"лет\": 20043,\n      \"identifier\": 20044,\n      \"ROOT\": 20045,\n      \"▁Mak\": 20046,\n      \"▁Appro\": 20047,\n      \"ieri\": 20048,\n      \"▁Fly\": 20049,\n      \"▁isset\": 20050,\n      \"▁determination\": 20051,\n      \"Geometry\": 20052,\n      \"▁emerging\": 20053,\n      \"subscription\": 20054,\n      \"oly\": 20055,\n      \"▁Race\": 20056,\n      \"▁Bah\": 20057,\n      \"▁Configuration\": 20058,\n      \"▁Interest\": 20059,\n      \"сков\": 20060,\n      \"istrz\": 20061,\n      \"▁Shan\": 20062,\n      \"▁Pain\": 20063,\n      \"CONNE\": 20064,\n      \"major\": 20065,\n      \"▁Stay\": 20066,\n      \"▁bronze\": 20067,\n      \"▁fitting\": 20068,\n      \"▁Jar\": 20069,\n      \"mgr\": 20070,\n      \"▁Shar\": 20071,\n      \"FLO\": 20072,\n      \"uter\": 20073,\n      \"сы\": 20074,\n      \"▁contacts\": 20075,\n      \"▁firing\": 20076,\n      \"нан\": 20077,\n      \"▁profes\": 20078,\n      \"ské\": 20079,\n      \"▁ruled\": 20080,\n      \"=\\\"/\": 20081,\n      \"andro\": 20082,\n      \"▁ensuring\": 20083,\n      \"izen\": 20084,\n      \"▁через\": 20085,\n      \"isecond\": 20086,\n      \"obil\": 20087,\n      \"▁reck\": 20088,\n      \")}(\": 20089,\n      \"bitmap\": 20090,\n      \"▁Brun\": 20091,\n      \"▁Jerusalem\": 20092,\n      \"▁Wo\": 20093,\n      \"▁Republicans\": 20094,\n      \"matic\": 20095,\n      \"▁Earl\": 20096,\n      \"▁dock\": 20097,\n      \"▁Mall\": 20098,\n      \"kk\": 20099,\n      \"▁Й\": 20100,\n      \"▁COL\": 20101,\n      \"▁latach\": 20102,\n      \"UInt\": 20103,\n      \"циональ\": 20104,\n      \"▁segments\": 20105,\n      \"▁refund\": 20106,\n      \"fac\": 20107,\n      \"▁Article\": 20108,\n      \"▁Born\": 20109,\n      \"².\": 20110,\n      \"brand\": 20111,\n      \"{$\\\\\": 20112,\n      \"▁ss\": 20113,\n      \"▁Resources\": 20114,\n      \"▁recycl\": 20115,\n      \"▁$$\\\\\": 20116,\n      \"▁Connection\": 20117,\n      \"▁imperial\": 20118,\n      \"▁practically\": 20119,\n      \"▁–,\": 20120,\n      \"▁Display\": 20121,\n      \"ierno\": 20122,\n      \"mouth\": 20123,\n      \"edes\": 20124,\n      \"bahn\": 20125,\n      \"▁Catherine\": 20126,\n      \"▁highway\": 20127,\n      \"unting\": 20128,\n      \"▁Anyway\": 20129,\n      \"Spell\": 20130,\n      \"▁Liste\": 20131,\n      \"▁retrieve\": 20132,\n      \"▁zd\": 20133,\n      \"straße\": 20134,\n      \"▁dominated\": 20135,\n      \"touch\": 20136,\n      \"▁mb\": 20137,\n      \"LONG\": 20138,\n      \"asures\": 20139,\n      \"TLS\": 20140,\n      \"▁accomplished\": 20141,\n      \"▁fears\": 20142,\n      \"▁seemingly\": 20143,\n      \"▁dag\": 20144,\n      \"▁bureau\": 20145,\n      \"▁Groß\": 20146,\n      \"▁accordance\": 20147,\n      \".]\": 20148,\n      \"oux\": 20149,\n      \"▁colonial\": 20150,\n      \"▁compassion\": 20151,\n      \"thumb\": 20152,\n      \"▁swo\": 20153,\n      \"online\": 20154,\n      \"▁Ji\": 20155,\n      \"▁workshop\": 20156,\n      \"▁lub\": 20157,\n      \"évrier\": 20158,\n      \"ші\": 20159,\n      \">\\\";\": 20160,\n      \"▁generous\": 20161,\n      \"rous\": 20162,\n      \"avid\": 20163,\n      \"igenous\": 20164,\n      \"▁Raw\": 20165,\n      \"▁swap\": 20166,\n      \"hc\": 20167,\n      \"javascript\": 20168,\n      \"Factor\": 20169,\n      \"▁garbage\": 20170,\n      \"▁Micro\": 20171,\n      \"cou\": 20172,\n      \"über\": 20173,\n      \"▁fatal\": 20174,\n      \"▁transparent\": 20175,\n      \"▁bearing\": 20176,\n      \"▁celebrated\": 20177,\n      \"VIS\": 20178,\n      \"▁BM\": 20179,\n      \"▁prince\": 20180,\n      \"tol\": 20181,\n      \"▁'</\": 20182,\n      \"вед\": 20183,\n      \"Into\": 20184,\n      \"▁convenience\": 20185,\n      \"▁mattress\": 20186,\n      \"▁invisible\": 20187,\n      \"▁claiming\": 20188,\n      \"▁Uncle\": 20189,\n      \"Pipeline\": 20190,\n      \"▁Robinson\": 20191,\n      \"▁notamment\": 20192,\n      \"Qt\": 20193,\n      \"▁PHP\": 20194,\n      \"▁ink\": 20195,\n      \"texture\": 20196,\n      \"▁surf\": 20197,\n      \"▁?></\": 20198,\n      \"▁acknowledge\": 20199,\n      \"▁lawn\": 20200,\n      \"▁bases\": 20201,\n      \"▁exceptional\": 20202,\n      \"▁Ос\": 20203,\n      \"Wrap\": 20204,\n      \"abei\": 20205,\n      \"▁Append\": 20206,\n      \"▁quien\": 20207,\n      \"ové\": 20208,\n      \"mare\": 20209,\n      \"▁bullshit\": 20210,\n      \"▁Along\": 20211,\n      \"▁dragged\": 20212,\n      \"abet\": 20213,\n      \"▁Entertainment\": 20214,\n      \"▁Bert\": 20215,\n      \"▁JO\": 20216,\n      \"▁Александ\": 20217,\n      \"▁cyl\": 20218,\n      \"uzione\": 20219,\n      \"▁Karen\": 20220,\n      \"sembled\": 20221,\n      \"▁dose\": 20222,\n      \"▁suggesting\": 20223,\n      \"▁--(\": 20224,\n      \"▁Clar\": 20225,\n      \"imir\": 20226,\n      \"▁plac\": 20227,\n      \"tokens\": 20228,\n      \"▁arrangements\": 20229,\n      \"Allow\": 20230,\n      \"Illuminate\": 20231,\n      \"NON\": 20232,\n      \"wear\": 20233,\n      \"cido\": 20234,\n      \"mysql\": 20235,\n      \"alion\": 20236,\n      \"▁'')\": 20237,\n      \"▁ath\": 20238,\n      \"▁bg\": 20239,\n      \"idle\": 20240,\n      \"яви\": 20241,\n      \"▁dl\": 20242,\n      \"cin\": 20243,\n      \"▁IE\": 20244,\n      \"▁тем\": 20245,\n      \"listen\": 20246,\n      \"▁Hud\": 20247,\n      \"▁ents\": 20248,\n      \"▁vé\": 20249,\n      \"ellschaft\": 20250,\n      \"▁fucked\": 20251,\n      \"oline\": 20252,\n      \"▁repeatedly\": 20253,\n      \"▁Cry\": 20254,\n      \"LEMENT\": 20255,\n      \"▁heating\": 20256,\n      \"▁Steven\": 20257,\n      \"▁NA\": 20258,\n      \"ENOMEM\": 20259,\n      \"▁BU\": 20260,\n      \"▁Maryland\": 20261,\n      \"тно\": 20262,\n      \"▁\\\")\": 20263,\n      \"ток\": 20264,\n      \"hole\": 20265,\n      \"COLOR\": 20266,\n      \"dup\": 20267,\n      \"▁Ny\": 20268,\n      \"spot\": 20269,\n      \"StackTrace\": 20270,\n      \"▁Dow\": 20271,\n      \"pus\": 20272,\n      \"▁modo\": 20273,\n      \"▁tanks\": 20274,\n      \"Example\": 20275,\n      \"▁Intel\": 20276,\n      \"▁Throw\": 20277,\n      \"▁elite\": 20278,\n      \"▁targeted\": 20279,\n      \"▁lou\": 20280,\n      \"▁Newton\": 20281,\n      \"▁IMPLIED\": 20282,\n      \"▁dried\": 20283,\n      \"▁fixture\": 20284,\n      \"▁profits\": 20285,\n      \"Fac\": 20286,\n      \"▁dispar\": 20287,\n      \"▁intervention\": 20288,\n      \"▁functionality\": 20289,\n      \"▁Actually\": 20290,\n      \"tere\": 20291,\n      \"▁перио\": 20292,\n      \"borg\": 20293,\n      \"▁wrist\": 20294,\n      \"▁sta\": 20295,\n      \"getAttribute\": 20296,\n      \"san\": 20297,\n      \"acions\": 20298,\n      \"▁\\\":\": 20299,\n      \"Adv\": 20300,\n      \"▁guerre\": 20301,\n      \"▁novels\": 20302,\n      \"дия\": 20303,\n      \"▁snapshot\": 20304,\n      \"▁государ\": 20305,\n      \"▁triumph\": 20306,\n      \"chiat\": 20307,\n      \"▁RES\": 20308,\n      \"INPUT\": 20309,\n      \"▁scoring\": 20310,\n      \"▁absent\": 20311,\n      \"▁Zone\": 20312,\n      \"▁replacing\": 20313,\n      \"ENC\": 20314,\n      \"▁Sid\": 20315,\n      \"neath\": 20316,\n      \"multip\": 20317,\n      \"▁embrace\": 20318,\n      \"▁overse\": 20319,\n      \"▁carrier\": 20320,\n      \"arono\": 20321,\n      \"cery\": 20322,\n      \"ilor\": 20323,\n      \"▁poco\": 20324,\n      \"▁Din\": 20325,\n      \"▁cheaper\": 20326,\n      \"▁sophistic\": 20327,\n      \"tera\": 20328,\n      \"▁Polish\": 20329,\n      \"▁nah\": 20330,\n      \"▁varied\": 20331,\n      \"rott\": 20332,\n      \"destination\": 20333,\n      \"▁freak\": 20334,\n      \"LES\": 20335,\n      \"ALE\": 20336,\n      \"▁europe\": 20337,\n      \"▁bust\": 20338,\n      \"▁Alabama\": 20339,\n      \"nten\": 20340,\n      \"umen\": 20341,\n      \"▁neuro\": 20342,\n      \"▁definitions\": 20343,\n      \"▁Boys\": 20344,\n      \"▁forming\": 20345,\n      \"iolet\": 20346,\n      \"▁Nederland\": 20347,\n      \"▁Musik\": 20348,\n      \"Payload\": 20349,\n      \"bidden\": 20350,\n      \"▁classe\": 20351,\n      \"HashMap\": 20352,\n      \"▁bottles\": 20353,\n      \"held\": 20354,\n      \"▁Cell\": 20355,\n      \"▁Edition\": 20356,\n      \"denly\": 20357,\n      \"):\\r\": 20358,\n      \"gos\": 20359,\n      \"▁titre\": 20360,\n      \"▁straightforward\": 20361,\n      \"liv\": 20362,\n      \"asets\": 20363,\n      \"▁opponent\": 20364,\n      \"▁generating\": 20365,\n      \"ulu\": 20366,\n      \"▁patron\": 20367,\n      \"▁Rodr\": 20368,\n      \"probe\": 20369,\n      \"▁Events\": 20370,\n      \"identity\": 20371,\n      \"▁zo\": 20372,\n      \"▁Fat\": 20373,\n      \"▁Henri\": 20374,\n      \"▁SL\": 20375,\n      \"▁Byte\": 20376,\n      \"▁città\": 20377,\n      \"annotations\": 20378,\n      \"▁Independent\": 20379,\n      \"ucker\": 20380,\n      \"EEE\": 20381,\n      \"▁grows\": 20382,\n      \"acre\": 20383,\n      \"▁acted\": 20384,\n      \"бро\": 20385,\n      \"niej\": 20386,\n      \"▁planes\": 20387,\n      \"▁chronic\": 20388,\n      \"apolis\": 20389,\n      \"indices\": 20390,\n      \"▁washing\": 20391,\n      \"oning\": 20392,\n      \"▁Barry\": 20393,\n      \"▁spirits\": 20394,\n      \"▁Consult\": 20395,\n      \"▁recruit\": 20396,\n      \"▁muj\": 20397,\n      \"▁Rah\": 20398,\n      \"▁Cruz\": 20399,\n      \"▁explaining\": 20400,\n      \"▁gouver\": 20401,\n      \"▁août\": 20402,\n      \"▁Vincent\": 20403,\n      \"gas\": 20404,\n      \"GPL\": 20405,\n      \"нин\": 20406,\n      \"▁punishment\": 20407,\n      \"nels\": 20408,\n      \"NR\": 20409,\n      \"six\": 20410,\n      \"][<\": 20411,\n      \"ktr\": 20412,\n      \"upt\": 20413,\n      \"locked\": 20414,\n      \"parents\": 20415,\n      \"▁Wright\": 20416,\n      \"Inf\": 20417,\n      \"▁/**\\r\": 20418,\n      \"▁vectors\": 20419,\n      \"▁banned\": 20420,\n      \"▁touching\": 20421,\n      \"Serializer\": 20422,\n      \"▁ese\": 20423,\n      \"polit\": 20424,\n      \"hattan\": 20425,\n      \"ată\": 20426,\n      \"▁barr\": 20427,\n      \"▁divine\": 20428,\n      \"▁aest\": 20429,\n      \"kill\": 20430,\n      \")_{\": 20431,\n      \"▁Soul\": 20432,\n      \"erves\": 20433,\n      \"CTOR\": 20434,\n      \"Partition\": 20435,\n      \"▁Iter\": 20436,\n      \"▁Mack\": 20437,\n      \"▁Greece\": 20438,\n      \"▁circular\": 20439,\n      \"inden\": 20440,\n      \"alling\": 20441,\n      \"▁mascul\": 20442,\n      \"rz\": 20443,\n      \"▁designated\": 20444,\n      \"▁breathe\": 20445,\n      \"oard\": 20446,\n      \"▁involvement\": 20447,\n      \"Ut\": 20448,\n      \"▁publishing\": 20449,\n      \"зер\": 20450,\n      \"▁Economic\": 20451,\n      \"▁rubber\": 20452,\n      \"▁pint\": 20453,\n      \"Download\": 20454,\n      \"▁Mississippi\": 20455,\n      \"èce\": 20456,\n      \"evt\": 20457,\n      \"▁progressive\": 20458,\n      \"▁Electric\": 20459,\n      \"▁Additional\": 20460,\n      \"bourg\": 20461,\n      \"▁аль\": 20462,\n      \"WO\": 20463,\n      \"Toggle\": 20464,\n      \"▁Entity\": 20465,\n      \"▁Computer\": 20466,\n      \"▁zusammen\": 20467,\n      \"▁Sean\": 20468,\n      \"▁battles\": 20469,\n      \"pires\": 20470,\n      \"Stmt\": 20471,\n      \"▁número\": 20472,\n      \"▁massage\": 20473,\n      \")){\": 20474,\n      \"because\": 20475,\n      \"notification\": 20476,\n      \"etc\": 20477,\n      \"mand\": 20478,\n      \"▁Tob\": 20479,\n      \"▁adjacent\": 20480,\n      \"imore\": 20481,\n      \"▁España\": 20482,\n      \"цию\": 20483,\n      \"▁chi\": 20484,\n      \"prison\": 20485,\n      \"▁Aaron\": 20486,\n      \"lua\": 20487,\n      \"мей\": 20488,\n      \"▁integrity\": 20489,\n      \"jas\": 20490,\n      \"London\": 20491,\n      \"kfree\": 20492,\n      \"▁bras\": 20493,\n      \"Ma\": 20494,\n      \"сты\": 20495,\n      \"▁chains\": 20496,\n      \"▁stunning\": 20497,\n      \"ools\": 20498,\n      \"idges\": 20499,\n      \"▁poder\": 20500,\n      \"▁clusters\": 20501,\n      \"youtube\": 20502,\n      \"▁Madison\": 20503,\n      \"▁forcing\": 20504,\n      \"Copyright\": 20505,\n      \"SIGN\": 20506,\n      \"▁Bobby\": 20507,\n      \"▁poured\": 20508,\n      \"stellung\": 20509,\n      \"Does\": 20510,\n      \"▁María\": 20511,\n      \"▁mint\": 20512,\n      \"▁футбо\": 20513,\n      \"▁Nathan\": 20514,\n      \"tem\": 20515,\n      \"▁Thor\": 20516,\n      \"▁wherever\": 20517,\n      \"▁Creates\": 20518,\n      \"▁stair\": 20519,\n      \"Even\": 20520,\n      \"▁blend\": 20521,\n      \"renderer\": 20522,\n      \"inks\": 20523,\n      \"rav\": 20524,\n      \"▁feeding\": 20525,\n      \"▁Netherlands\": 20526,\n      \"netic\": 20527,\n      \"LEFT\": 20528,\n      \"metic\": 20529,\n      \"За\": 20530,\n      \"▁Lis\": 20531,\n      \"▁kur\": 20532,\n      \"▁protecting\": 20533,\n      \"▁Nova\": 20534,\n      \"▁volumes\": 20535,\n      \"WH\": 20536,\n      \"lage\": 20537,\n      \"▁Especially\": 20538,\n      \"▁galaxy\": 20539,\n      \"emás\": 20540,\n      \"….\": 20541,\n      \"▁Lad\": 20542,\n      \"▁saison\": 20543,\n      \"hba\": 20544,\n      \"▁eliminate\": 20545,\n      \"ремен\": 20546,\n      \"▁Сер\": 20547,\n      \"Bel\": 20548,\n      \"мир\": 20549,\n      \"ucc\": 20550,\n      \"▁Vlad\": 20551,\n      \"eny\": 20552,\n      \"fel\": 20553,\n      \"▁sufficiently\": 20554,\n      \"▁tremend\": 20555,\n      \"▁Kos\": 20556,\n      \"▁critics\": 20557,\n      \"▁сту\": 20558,\n      \"▁representatives\": 20559,\n      \")--\": 20560,\n      \"▁havia\": 20561,\n      \"▁Mens\": 20562,\n      \"ubernetes\": 20563,\n      \"▁Mario\": 20564,\n      \"bia\": 20565,\n      \"▁aims\": 20566,\n      \"hpp\": 20567,\n      \"]));\": 20568,\n      \"urchase\": 20569,\n      \"newcommand\": 20570,\n      \"▁grief\": 20571,\n      \"▁вико\": 20572,\n      \"Canvas\": 20573,\n      \"ERO\": 20574,\n      \"▁Random\": 20575,\n      \"dal\": 20576,\n      \"▁categor\": 20577,\n      \"рин\": 20578,\n      \"▁educated\": 20579,\n      \"▁много\": 20580,\n      \"▁unh\": 20581,\n      \"Original\": 20582,\n      \"▁elegant\": 20583,\n      \"łu\": 20584,\n      \"Pyx\": 20585,\n      \"▁Este\": 20586,\n      \"standard\": 20587,\n      \"ollar\": 20588,\n      \"isti\": 20589,\n      \"information\": 20590,\n      \"Methods\": 20591,\n      \"▁дей\": 20592,\n      \"FRAME\": 20593,\n      \"▁abril\": 20594,\n      \"▁accounting\": 20595,\n      \"▁predictions\": 20596,\n      \"ienen\": 20597,\n      \"▁charity\": 20598,\n      \"arroll\": 20599,\n      \"▁thrust\": 20600,\n      \"ANY\": 20601,\n      \"▁tender\": 20602,\n      \"emb\": 20603,\n      \"▁endl\": 20604,\n      \"▁Saud\": 20605,\n      \"ują\": 20606,\n      \"ісля\": 20607,\n      \"intr\": 20608,\n      \"▁König\": 20609,\n      \"pcm\": 20610,\n      \"▁Missouri\": 20611,\n      \"▁Quality\": 20612,\n      \"▁inflation\": 20613,\n      \"▁\\\"\\\")\": 20614,\n      \"sched\": 20615,\n      \"▁Joan\": 20616,\n      \"▁waved\": 20617,\n      \"Testing\": 20618,\n      \"▁Els\": 20619,\n      \"▁vu\": 20620,\n      \"grow\": 20621,\n      \"▁departure\": 20622,\n      \"Bitmap\": 20623,\n      \"ништво\": 20624,\n      \"Sprintf\": 20625,\n      \"▁promises\": 20626,\n      \"▁hopefully\": 20627,\n      \"reib\": 20628,\n      \"Commit\": 20629,\n      \"Unmar\": 20630,\n      \"▁folded\": 20631,\n      \"▁placing\": 20632,\n      \"▁discussing\": 20633,\n      \"Graphics\": 20634,\n      \"hover\": 20635,\n      \"▁occasional\": 20636,\n      \"▁Palace\": 20637,\n      \"▁autre\": 20638,\n      \"▁CV\": 20639,\n      \"▁passionate\": 20640,\n      \"▁воен\": 20641,\n      \"▁citizen\": 20642,\n      \"▁swept\": 20643,\n      \"▁игра\": 20644,\n      \"▁Scient\": 20645,\n      \"▁popularity\": 20646,\n      \"▁acres\": 20647,\n      \"▁Taking\": 20648,\n      \"Nothing\": 20649,\n      \"vez\": 20650,\n      \"▁Sold\": 20651,\n      \"\\\"];\": 20652,\n      \"▁Authority\": 20653,\n      \"▁certified\": 20654,\n      \"▁Gun\": 20655,\n      \"▁район\": 20656,\n      \"▁chron\": 20657,\n      \"▁authentication\": 20658,\n      \"▁té\": 20659,\n      \"Dao\": 20660,\n      \"mans\": 20661,\n      \"Proc\": 20662,\n      \"▁nelle\": 20663,\n      \"ieden\": 20664,\n      \"mart\": 20665,\n      \"▁Switch\": 20666,\n      \"OutputStream\": 20667,\n      \"anqu\": 20668,\n      \"▁SSL\": 20669,\n      \"poon\": 20670,\n      \"▁Mayor\": 20671,\n      \"members\": 20672,\n      \"▁utiliz\": 20673,\n      \"▁место\": 20674,\n      \"setAttribute\": 20675,\n      \"▁Almost\": 20676,\n      \"▁distinction\": 20677,\n      \"ческих\": 20678,\n      \"▁overhead\": 20679,\n      \"▁Durante\": 20680,\n      \"▁Stewart\": 20681,\n      \"Mal\": 20682,\n      \"PACK\": 20683,\n      \"secure\": 20684,\n      \"hire\": 20685,\n      \"codegen\": 20686,\n      \"▁pont\": 20687,\n      \"ITS\": 20688,\n      \"▁transmit\": 20689,\n      \"▁indirect\": 20690,\n      \"▁bek\": 20691,\n      \"▁},\\r\": 20692,\n      \"▁nursing\": 20693,\n      \"▁*\\\"\": 20694,\n      \"▁palace\": 20695,\n      \"▁gambling\": 20696,\n      \"gres\": 20697,\n      \"▁Ori\": 20698,\n      \"bio\": 20699,\n      \"former\": 20700,\n      \"Distance\": 20701,\n      \"▁doorway\": 20702,\n      \"lle\": 20703,\n      \"▁tren\": 20704,\n      \"▁dere\": 20705,\n      \"▁ante\": 20706,\n      \"▁praise\": 20707,\n      \"Transfer\": 20708,\n      \"▁Emperor\": 20709,\n      \"▁crystal\": 20710,\n      \"▁Youth\": 20711,\n      \"▁hammer\": 20712,\n      \"▁EXPORT\": 20713,\n      \"▁(**\": 20714,\n      \"▁insights\": 20715,\n      \"apis\": 20716,\n      \"скую\": 20717,\n      \"▁Iowa\": 20718,\n      \"Criteria\": 20719,\n      \"▁дея\": 20720,\n      \"aty\": 20721,\n      \"▁Hier\": 20722,\n      \"▁brig\": 20723,\n      \"▁wealthy\": 20724,\n      \"того\": 20725,\n      \"▁Inside\": 20726,\n      \"▁pizza\": 20727,\n      \"arently\": 20728,\n      \"rera\": 20729,\n      \"Unique\": 20730,\n      \"▁CRC\": 20731,\n      \"eyed\": 20732,\n      \"▁restart\": 20733,\n      \"IDENT\": 20734,\n      \")',\": 20735,\n      \"Series\": 20736,\n      \"▁jewel\": 20737,\n      \"oser\": 20738,\n      \"▁sixty\": 20739,\n      \"issen\": 20740,\n      \"kir\": 20741,\n      \"▁worlds\": 20742,\n      \"▁haul\": 20743,\n      \"▁celebration\": 20744,\n      \"▁popula\": 20745,\n      \"▁twist\": 20746,\n      \"rile\": 20747,\n      \"▁ties\": 20748,\n      \"QUE\": 20749,\n      \"ifica\": 20750,\n      \"▁trag\": 20751,\n      \"▁ARE\": 20752,\n      \"▁stark\": 20753,\n      \"▁Apart\": 20754,\n      \"ligt\": 20755,\n      \"▁glory\": 20756,\n      \"▁phenomenon\": 20757,\n      \"▁agenda\": 20758,\n      \"▁quotes\": 20759,\n      \"▁Campbell\": 20760,\n      \"▁Manuel\": 20761,\n      \"priority\": 20762,\n      \"Special\": 20763,\n      \"▁churches\": 20764,\n      \"▁analyze\": 20765,\n      \"Alias\": 20766,\n      \"▁expanding\": 20767,\n      \"▁також\": 20768,\n      \"▁СССР\": 20769,\n      \"▁steal\": 20770,\n      \"egu\": 20771,\n      \"▁находи\": 20772,\n      \"fif\": 20773,\n      \"▁Defense\": 20774,\n      \"▁Boot\": 20775,\n      \"▁компа\": 20776,\n      \"▁affects\": 20777,\n      \"OPEN\": 20778,\n      \"▁distributions\": 20779,\n      \"▁trunk\": 20780,\n      \"▁eran\": 20781,\n      \"drag\": 20782,\n      \"Stage\": 20783,\n      \"ulp\": 20784,\n      \"omon\": 20785,\n      \",(\": 20786,\n      \"encoder\": 20787,\n      \"poly\": 20788,\n      \"▁vocals\": 20789,\n      \"▁(«\": 20790,\n      \"▁presc\": 20791,\n      \"icus\": 20792,\n      \"▁attrs\": 20793,\n      \"gebiet\": 20794,\n      \"without\": 20795,\n      \"▁propriet\": 20796,\n      \"ampa\": 20797,\n      \"**************\": 20798,\n      \"▁skilled\": 20799,\n      \"▁qualities\": 20800,\n      \"MY\": 20801,\n      \"Front\": 20802,\n      \"leans\": 20803,\n      \"apest\": 20804,\n      \"▁Ор\": 20805,\n      \"▁Dre\": 20806,\n      \"▁Serie\": 20807,\n      \"ExecutionContext\": 20808,\n      \"Si\": 20809,\n      \"▁Sv\": 20810,\n      \"▁Below\": 20811,\n      \"pragma\": 20812,\n      \"▁causa\": 20813,\n      \"▁prosper\": 20814,\n      \"▁SR\": 20815,\n      \"localhost\": 20816,\n      \"▁Claire\": 20817,\n      \"burgh\": 20818,\n      \"▁literal\": 20819,\n      \"▁Vik\": 20820,\n      \"getText\": 20821,\n      \"▁coup\": 20822,\n      \"osexual\": 20823,\n      \"▁STAT\": 20824,\n      \"▁Eventually\": 20825,\n      \"▁volunteers\": 20826,\n      \"▁Hero\": 20827,\n      \"▁Certain\": 20828,\n      \"цен\": 20829,\n      \"adesh\": 20830,\n      \"▁гене\": 20831,\n      \"larg\": 20832,\n      \"▁{$\": 20833,\n      \"▁Liverpool\": 20834,\n      \"interest\": 20835,\n      \"▁augment\": 20836,\n      \"ingo\": 20837,\n      \"sized\": 20838,\n      \"▁Tib\": 20839,\n      \"▁dys\": 20840,\n      \"▁fled\": 20841,\n      \"▁strain\": 20842,\n      \"▁Pok\": 20843,\n      \"▁Prior\": 20844,\n      \"nitt\": 20845,\n      \"▁processor\": 20846,\n      \"Verify\": 20847,\n      \"▁parliament\": 20848,\n      \"▁notify\": 20849,\n      \"ichten\": 20850,\n      \"ulative\": 20851,\n      \"Seconds\": 20852,\n      \"▁tym\": 20853,\n      \"substring\": 20854,\n      \"▁investments\": 20855,\n      \"GIN\": 20856,\n      \"ielle\": 20857,\n      \"▁exercises\": 20858,\n      \"▁medication\": 20859,\n      \"▁Holmes\": 20860,\n      \"▁Circ\": 20861,\n      \"▁posterior\": 20862,\n      \",,,,\": 20863,\n      \"руп\": 20864,\n      \"▁sixth\": 20865,\n      \"evalu\": 20866,\n      \"working\": 20867,\n      \"▁trapped\": 20868,\n      \"▁manuscript\": 20869,\n      \"ismus\": 20870,\n      \"▁Affairs\": 20871,\n      \"▁speakers\": 20872,\n      \"▁climbing\": 20873,\n      \"▁Vit\": 20874,\n      \"▁awake\": 20875,\n      \"▁Rat\": 20876,\n      \"▁volta\": 20877,\n      \"▁habitat\": 20878,\n      \"▁stata\": 20879,\n      \"▁mold\": 20880,\n      \"▁LIMITED\": 20881,\n      \"abad\": 20882,\n      \"▁embargo\": 20883,\n      \"▁helper\": 20884,\n      \"▁während\": 20885,\n      \"around\": 20886,\n      \"▁encode\": 20887,\n      \"▁Nash\": 20888,\n      \"TagHelper\": 20889,\n      \"▁exhausted\": 20890,\n      \"sbur\": 20891,\n      \"▁grandes\": 20892,\n      \"▁Tommy\": 20893,\n      \"wc\": 20894,\n      \"[];\": 20895,\n      \"▁Станов\": 20896,\n      \"Structure\": 20897,\n      \"gem\": 20898,\n      \"PASS\": 20899,\n      \"▁Features\": 20900,\n      \"metrics\": 20901,\n      \"▁pressing\": 20902,\n      \"▁ocup\": 20903,\n      \"iances\": 20904,\n      \"▁février\": 20905,\n      \"▁venue\": 20906,\n      \"addEventListener\": 20907,\n      \"▁Вер\": 20908,\n      \"ана\": 20909,\n      \"Grad\": 20910,\n      \"коно\": 20911,\n      \"▁slope\": 20912,\n      \"schedule\": 20913,\n      \"œuv\": 20914,\n      \"▁Moz\": 20915,\n      \"adora\": 20916,\n      \"▁DateTime\": 20917,\n      \"▁gol\": 20918,\n      \"▁configure\": 20919,\n      \"nov\": 20920,\n      \"▁Upon\": 20921,\n      \"▁consisting\": 20922,\n      \"ERE\": 20923,\n      \"▁Eisen\": 20924,\n      \"▁artistic\": 20925,\n      \"inta\": 20926,\n      \"▁magical\": 20927,\n      \"Most\": 20928,\n      \"▁Institut\": 20929,\n      \"▁immune\": 20930,\n      \"anon\": 20931,\n      \"▁defaults\": 20932,\n      \"▁aws\": 20933,\n      \"wire\": 20934,\n      \"▁exceptions\": 20935,\n      \"▁farther\": 20936,\n      \"ativo\": 20937,\n      \"ORDER\": 20938,\n      \"ński\": 20939,\n      \"бри\": 20940,\n      \"teenth\": 20941,\n      \"surface\": 20942,\n      \"визи\": 20943,\n      \"▁Toy\": 20944,\n      \"▁stor\": 20945,\n      \"ná\": 20946,\n      \"isson\": 20947,\n      \"▁celui\": 20948,\n      \"eli\": 20949,\n      \"▁Sql\": 20950,\n      \"ności\": 20951,\n      \"▁venne\": 20952,\n      \"▁Copa\": 20953,\n      \"▁legitimate\": 20954,\n      \"▁unem\": 20955,\n      \"▁Except\": 20956,\n      \"ником\": 20957,\n      \"▁spotted\": 20958,\n      \"▁результа\": 20959,\n      \"}}(\\\\\": 20960,\n      \"unused\": 20961,\n      \"▁disco\": 20962,\n      \"▁Miguel\": 20963,\n      \"▁ши\": 20964,\n      \"Dist\": 20965,\n      \"▁Alliance\": 20966,\n      \"Feed\": 20967,\n      \"▁perception\": 20968,\n      \"Mount\": 20969,\n      \"▁Amsterdam\": 20970,\n      \"inale\": 20971,\n      \"▁streams\": 20972,\n      \"▁holidays\": 20973,\n      \"/(\": 20974,\n      \"▁Qt\": 20975,\n      \"▁examination\": 20976,\n      \"▁Mitglied\": 20977,\n      \"▁whist\": 20978,\n      \"▁Judge\": 20979,\n      \"▁sends\": 20980,\n      \"Union\": 20981,\n      \"над\": 20982,\n      \"▁VII\": 20983,\n      \"▁pulse\": 20984,\n      \"take\": 20985,\n      \"bench\": 20986,\n      \"▁sulla\": 20987,\n      \"▁uniqu\": 20988,\n      \"▁displays\": 20989,\n      \"▁announcement\": 20990,\n      \"▁Lex\": 20991,\n      \"[]{\": 20992,\n      \"oton\": 20993,\n      \"expand\": 20994,\n      \"▁scattered\": 20995,\n      \"aky\": 20996,\n      \"▁Lag\": 20997,\n      \"▁experiencing\": 20998,\n      \"tan\": 20999,\n      \"▁tuple\": 21000,\n      \"chrome\": 21001,\n      \"leveland\": 21002,\n      \"kers\": 21003,\n      \"▁FILE\": 21004,\n      \"CREATE\": 21005,\n      \"▁heeft\": 21006,\n      \"▁chaos\": 21007,\n      \"ступи\": 21008,\n      \"▁áll\": 21009,\n      \"▁bail\": 21010,\n      \"▁aston\": 21011,\n      \"▁Anyone\": 21012,\n      \"▁Overall\": 21013,\n      \"▁franchise\": 21014,\n      \"▁Dance\": 21015,\n      \"NOWN\": 21016,\n      \"hö\": 21017,\n      \"▁Platform\": 21018,\n      \"fm\": 21019,\n      \"▁advised\": 21020,\n      \"\\\"):\": 21021,\n      \"ív\": 21022,\n      \"▁stain\": 21023,\n      \"FAILURE\": 21024,\n      \"▁PE\": 21025,\n      \"▁WE\": 21026,\n      \"▁XXX\": 21027,\n      \"▁shaped\": 21028,\n      \"▁islands\": 21029,\n      \"▁symmetric\": 21030,\n      \"▁TE\": 21031,\n      \"servers\": 21032,\n      \"UUID\": 21033,\n      \"ateral\": 21034,\n      \"taient\": 21035,\n      \"▁foss\": 21036,\n      \"▁bereits\": 21037,\n      \"ním\": 21038,\n      \"amic\": 21039,\n      \"▁cri\": 21040,\n      \"▁NBA\": 21041,\n      \"decor\": 21042,\n      \"▁ligne\": 21043,\n      \"appings\": 21044,\n      \"▁DOM\": 21045,\n      \"Serialization\": 21046,\n      \"▁\\\"../../\": 21047,\n      \"лена\": 21048,\n      \"▁MIN\": 21049,\n      \"▁Malays\": 21050,\n      \"унк\": 21051,\n      \"OST\": 21052,\n      \"AH\": 21053,\n      \"дель\": 21054,\n      \"lv\": 21055,\n      \"ète\": 21056,\n      \".(\": 21057,\n      \"▁oxygen\": 21058,\n      \"▁underground\": 21059,\n      \"PRESS\": 21060,\n      \"▁Products\": 21061,\n      \"▁wage\": 21062,\n      \"▁delegate\": 21063,\n      \"eton\": 21064,\n      \"▁mét\": 21065,\n      \"▁crypto\": 21066,\n      \"ttes\": 21067,\n      \"▁oscill\": 21068,\n      \"▁Marco\": 21069,\n      \"▁tp\": 21070,\n      \"▁males\": 21071,\n      \"▁Mitchell\": 21072,\n      \"▁Present\": 21073,\n      \"ття\": 21074,\n      \"oenix\": 21075,\n      \"Priority\": 21076,\n      \"ną\": 21077,\n      \"▁ritual\": 21078,\n      \"▁sacred\": 21079,\n      \"projects\": 21080,\n      \"▁vessel\": 21081,\n      \"▁извест\": 21082,\n      \"нее\": 21083,\n      \"äft\": 21084,\n      \"POINT\": 21085,\n      \"angled\": 21086,\n      \"spector\": 21087,\n      \"▁conservation\": 21088,\n      \"▁[...\": 21089,\n      \"▁réalis\": 21090,\n      \"▁ensures\": 21091,\n      \"ilibrium\": 21092,\n      \"('./\": 21093,\n      \"▁теле\": 21094,\n      \"▁Blog\": 21095,\n      \"▁Compan\": 21096,\n      \"▁Medal\": 21097,\n      \"▁fprintf\": 21098,\n      \"tti\": 21099,\n      \"chs\": 21100,\n      \"▁anniversary\": 21101,\n      \"iggers\": 21102,\n      \"фо\": 21103,\n      \"\\\\\\\">\": 21104,\n      \"▁durant\": 21105,\n      \"▁venture\": 21106,\n      \"▁Fitz\": 21107,\n      \"▁CBD\": 21108,\n      \"▁backing\": 21109,\n      \"▁ware\": 21110,\n      \"eve\": 21111,\n      \"OG\": 21112,\n      \"edish\": 21113,\n      \"▁Giovanni\": 21114,\n      \"▁Share\": 21115,\n      \"▁recipes\": 21116,\n      \"bigg\": 21117,\n      \"▁minority\": 21118,\n      \"▁nar\": 21119,\n      \"ollary\": 21120,\n      \"▁FE\": 21121,\n      \"shirt\": 21122,\n      \"▁reduces\": 21123,\n      \"Che\": 21124,\n      \"▁NOTE\": 21125,\n      \"jquery\": 21126,\n      \"▁Flow\": 21127,\n      \"tasks\": 21128,\n      \"prevent\": 21129,\n      \"▁совет\": 21130,\n      \"itas\": 21131,\n      \"▁examined\": 21132,\n      \"hon\": 21133,\n      \"▁Mine\": 21134,\n      \"▁gradient\": 21135,\n      \"▁Vien\": 21136,\n      \"▁beds\": 21137,\n      \"ETH\": 21138,\n      \"flat\": 21139,\n      \"anson\": 21140,\n      \"▁intu\": 21141,\n      \"▁flows\": 21142,\n      \"нок\": 21143,\n      \"▁Eine\": 21144,\n      \"роди\": 21145,\n      \"▁кор\": 21146,\n      \"▁affection\": 21147,\n      \"▁ports\": 21148,\n      \"__.\": 21149,\n      \"repo\": 21150,\n      \"ailand\": 21151,\n      \"▁пода\": 21152,\n      \"intage\": 21153,\n      \"▁Protection\": 21154,\n      \"ît\": 21155,\n      \"▁[{\": 21156,\n      \"▁lamp\": 21157,\n      \"▁beneficial\": 21158,\n      \"каде\": 21159,\n      \"▁Становништво\": 21160,\n      \"▁lined\": 21161,\n      \"▁Exchange\": 21162,\n      \"▁fitted\": 21163,\n      \"▁verk\": 21164,\n      \"▁focuses\": 21165,\n      \"vod\": 21166,\n      \"▁Carlo\": 21167,\n      \"▁распо\": 21168,\n      \"ainted\": 21169,\n      \"▁rape\": 21170,\n      \"▁togg\": 21171,\n      \"acker\": 21172,\n      \"Tw\": 21173,\n      \"rah\": 21174,\n      \"transl\": 21175,\n      \"▁jealous\": 21176,\n      \"▁repository\": 21177,\n      \"remarks\": 21178,\n      \"▁ie\": 21179,\n      \"íd\": 21180,\n      \"▁skull\": 21181,\n      \"rac\": 21182,\n      \"()]\": 21183,\n      \"rien\": 21184,\n      \"?(\": 21185,\n      \"▁Kids\": 21186,\n      \"▁switched\": 21187,\n      \"▁Gew\": 21188,\n      \"▁beef\": 21189,\n      \"▁appearances\": 21190,\n      \"▁Collins\": 21191,\n      \"▁Villa\": 21192,\n      \"▁zona\": 21193,\n      \"▁neu\": 21194,\n      \"тельно\": 21195,\n      \"▁худо\": 21196,\n      \"▁operational\": 21197,\n      \"ONLY\": 21198,\n      \"▁hockey\": 21199,\n      \"▁świ\": 21200,\n      \"ök\": 21201,\n      \"Slice\": 21202,\n      \"Refresh\": 21203,\n      \"▁nuts\": 21204,\n      \"say\": 21205,\n      \"▁станови\": 21206,\n      \"хе\": 21207,\n      \"▁leaning\": 21208,\n      \"▁Haus\": 21209,\n      \"▁oral\": 21210,\n      \"▁Ž\": 21211,\n      \"▁Suppose\": 21212,\n      \"▁essence\": 21213,\n      \"ENTER\": 21214,\n      \"Bucket\": 21215,\n      \"▁Cant\": 21216,\n      \"▁Nazi\": 21217,\n      \"шти\": 21218,\n      \"▁Volume\": 21219,\n      \"▁worthy\": 21220,\n      \"Bu\": 21221,\n      \"Entries\": 21222,\n      \"onie\": 21223,\n      \"▁hood\": 21224,\n      \"▁empire\": 21225,\n      \"▁dévelop\": 21226,\n      \"▁probe\": 21227,\n      \"▁Knight\": 21228,\n      \"▁peaceful\": 21229,\n      \"hub\": 21230,\n      \"▁álbum\": 21231,\n      \"suit\": 21232,\n      \"▁silk\": 21233,\n      \"+=\": 21234,\n      \"▁pione\": 21235,\n      \"'\\\"\": 21236,\n      \"ками\": 21237,\n      \"▁Null\": 21238,\n      \"Labels\": 21239,\n      \"autres\": 21240,\n      \"toLowerCase\": 21241,\n      \"▁buzz\": 21242,\n      \"▁washed\": 21243,\n      \"'*\": 21244,\n      \"itzerland\": 21245,\n      \"▁ramp\": 21246,\n      \"▁кни\": 21247,\n      \"▁kun\": 21248,\n      \"colors\": 21249,\n      \"▁vaccine\": 21250,\n      \"animation\": 21251,\n      \"▁Justin\": 21252,\n      \"memset\": 21253,\n      \"▁census\": 21254,\n      \"infl\": 21255,\n      \"▁statistical\": 21256,\n      \"▁tropical\": 21257,\n      \"Disabled\": 21258,\n      \"\\r\\r\": 21259,\n      \"▁Craig\": 21260,\n      \"Pages\": 21261,\n      \"▁magaz\": 21262,\n      \"▁computing\": 21263,\n      \"▁floors\": 21264,\n      \"oine\": 21265,\n      \"▁titolo\": 21266,\n      \"▁anci\": 21267,\n      \"▁Industry\": 21268,\n      \"▁глав\": 21269,\n      \"Boot\": 21270,\n      \"Clip\": 21271,\n      \"▁dv\": 21272,\n      \"▁metall\": 21273,\n      \"▁Isabel\": 21274,\n      \"▁lookup\": 21275,\n      \"▁цер\": 21276,\n      \"▁carries\": 21277,\n      \"fu\": 21278,\n      \"tpl\": 21279,\n      \"perp\": 21280,\n      \"▁Storm\": 21281,\n      \"ehicle\": 21282,\n      \"▁Seven\": 21283,\n      \"ља\": 21284,\n      \"▁lut\": 21285,\n      \"threshold\": 21286,\n      \"▁dull\": 21287,\n      \"▁END\": 21288,\n      \"▁Otto\": 21289,\n      \"▁thereby\": 21290,\n      \"TEMP\": 21291,\n      \"▁Scal\": 21292,\n      \"Comput\": 21293,\n      \"ipv\": 21294,\n      \"▁insane\": 21295,\n      \"▁mysterious\": 21296,\n      \"▁Mis\": 21297,\n      \"uchar\": 21298,\n      \"asma\": 21299,\n      \"auch\": 21300,\n      \"nett\": 21301,\n      \"Elem\": 21302,\n      \"derive\": 21303,\n      \"▁murdered\": 21304,\n      \"akten\": 21305,\n      \"рован\": 21306,\n      \"▁anos\": 21307,\n      \"}}^\": 21308,\n      \"▁Fuß\": 21309,\n      \"▁Sister\": 21310,\n      \"▁volunteer\": 21311,\n      \"::_\": 21312,\n      \"erta\": 21313,\n      \"▁более\": 21314,\n      \"ográ\": 21315,\n      \"▁ImGui\": 21316,\n      \"same\": 21317,\n      \"Shadow\": 21318,\n      \"▁reactions\": 21319,\n      \"▁purchasing\": 21320,\n      \"PREFIX\": 21321,\n      \"▁embod\": 21322,\n      \"сом\": 21323,\n      \"▁altogether\": 21324,\n      \"▁promoting\": 21325,\n      \"UV\": 21326,\n      \"▁induced\": 21327,\n      \"▁eerste\": 21328,\n      \"Life\": 21329,\n      \"hdd\": 21330,\n      \"ních\": 21331,\n      \"▁chill\": 21332,\n      \"RGB\": 21333,\n      \"reduce\": 21334,\n      \"FROM\": 21335,\n      \"dirname\": 21336,\n      \"▁tune\": 21337,\n      \"▁ray\": 21338,\n      \"TD\": 21339,\n      \"▁къ\": 21340,\n      \"▁Februar\": 21341,\n      \"▁suspended\": 21342,\n      \"▁upp\": 21343,\n      \"eri\": 21344,\n      \"preter\": 21345,\n      \"▁ER\": 21346,\n      \"тон\": 21347,\n      \"▁catal\": 21348,\n      \"▁hiring\": 21349,\n      \"▁пів\": 21350,\n      \"▁Olympics\": 21351,\n      \"dale\": 21352,\n      \"::{\": 21353,\n      \"▁exploring\": 21354,\n      \"▁стал\": 21355,\n      \"▁universities\": 21356,\n      \"Classes\": 21357,\n      \"▁час\": 21358,\n      \"▁Cool\": 21359,\n      \"▁Sony\": 21360,\n      \"thal\": 21361,\n      \"▁escrit\": 21362,\n      \"▁corruption\": 21363,\n      \"azar\": 21364,\n      \"▁Neb\": 21365,\n      \"▁Python\": 21366,\n      \"▁chim\": 21367,\n      \"▁capability\": 21368,\n      \"cycl\": 21369,\n      \"▁retry\": 21370,\n      \"++]\": 21371,\n      \"▁toy\": 21372,\n      \"▁Terry\": 21373,\n      \"ViewById\": 21374,\n      \"▁vine\": 21375,\n      \"▁Kitchen\": 21376,\n      \"▁Biden\": 21377,\n      \"Backend\": 21378,\n      \"glich\": 21379,\n      \"relation\": 21380,\n      \"▁ratings\": 21381,\n      \"Executor\": 21382,\n      \"ibration\": 21383,\n      \">()\": 21384,\n      \"▁heal\": 21385,\n      \"ifiable\": 21386,\n      \"park\": 21387,\n      \"▁Pete\": 21388,\n      \"▁traged\": 21389,\n      \"▁chuck\": 21390,\n      \"▁wireless\": 21391,\n      \"Replace\": 21392,\n      \"IRQ\": 21393,\n      \"▁сезо\": 21394,\n      \"iß\": 21395,\n      \"▁junto\": 21396,\n      \"Low\": 21397,\n      \"▁sid\": 21398,\n      \"TagHelpers\": 21399,\n      \"▁comparing\": 21400,\n      \"▁celle\": 21401,\n      \"▁obtaining\": 21402,\n      \"▁quar\": 21403,\n      \"Bro\": 21404,\n      \"▁EC\": 21405,\n      \"inea\": 21406,\n      \"▁Fue\": 21407,\n      \"▁Princess\": 21408,\n      \"ijo\": 21409,\n      \"gens\": 21410,\n      \"POL\": 21411,\n      \"ètres\": 21412,\n      \"▁hind\": 21413,\n      \"Variant\": 21414,\n      \"▁receives\": 21415,\n      \"god\": 21416,\n      \"iken\": 21417,\n      \"nail\": 21418,\n      \"▁american\": 21419,\n      \"bras\": 21420,\n      \"('\\\\\": 21421,\n      \"iece\": 21422,\n      \"ifference\": 21423,\n      \"▁bubble\": 21424,\n      \"▁Bear\": 21425,\n      \"univers\": 21426,\n      \"▁demanding\": 21427,\n      \"saved\": 21428,\n      \"▁credentials\": 21429,\n      \"MSM\": 21430,\n      \"▁structural\": 21431,\n      \"Cons\": 21432,\n      \"▁Wayne\": 21433,\n      \"▁blanket\": 21434,\n      \"▁repet\": 21435,\n      \"Neg\": 21436,\n      \"▁exclusively\": 21437,\n      \"IFI\": 21438,\n      \"бург\": 21439,\n      \"▁arguing\": 21440,\n      \"▁Repub\": 21441,\n      \"▁frowned\": 21442,\n      \"Metric\": 21443,\n      \"skim\": 21444,\n      \"▁Пет\": 21445,\n      \"▁releases\": 21446,\n      \"▁tast\": 21447,\n      \"▁preference\": 21448,\n      \"▁Süd\": 21449,\n      \"occ\": 21450,\n      \"▁rx\": 21451,\n      \"activate\": 21452,\n      \"clam\": 21453,\n      \"▁филь\": 21454,\n      \"▁Suddenly\": 21455,\n      \"▁crushing\": 21456,\n      \"▁Lower\": 21457,\n      \"eing\": 21458,\n      \"walt\": 21459,\n      \"▁Гер\": 21460,\n      \"▁mö\": 21461,\n      \"ристо\": 21462,\n      \"lagen\": 21463,\n      \"▁coaching\": 21464,\n      \"ighters\": 21465,\n      \"▁basement\": 21466,\n      \"▁FIX\": 21467,\n      \"Tele\": 21468,\n      \"Without\": 21469,\n      \"▁Commons\": 21470,\n      \"ully\": 21471,\n      \"hbox\": 21472,\n      \"flash\": 21473,\n      \"▁portal\": 21474,\n      \"otype\": 21475,\n      \"▁Sor\": 21476,\n      \"▁troubles\": 21477,\n      \"arsi\": 21478,\n      \"▁стан\": 21479,\n      \"CAM\": 21480,\n      \"▁denotes\": 21481,\n      \"LANG\": 21482,\n      \"▁Beyond\": 21483,\n      \"▁Bowl\": 21484,\n      \"▁importantly\": 21485,\n      \"▁WR\": 21486,\n      \"▁relating\": 21487,\n      \"▁ander\": 21488,\n      \"▁grinned\": 21489,\n      \"▁Dak\": 21490,\n      \"▁Brooklyn\": 21491,\n      \"▁dp\": 21492,\n      \"▁Poly\": 21493,\n      \"▁Schul\": 21494,\n      \"▁Buffer\": 21495,\n      \"▁holder\": 21496,\n      \"ICAL\": 21497,\n      \"▁trailer\": 21498,\n      \"erek\": 21499,\n      \"▁ně\": 21500,\n      \"shaped\": 21501,\n      \":`\": 21502,\n      \"▁decode\": 21503,\n      \"▁counted\": 21504,\n      \"▁vamp\": 21505,\n      \"▁relate\": 21506,\n      \"▁Mason\": 21507,\n      \"▁titled\": 21508,\n      \"▁Kentucky\": 21509,\n      \"▁participated\": 21510,\n      \"▁Jennifer\": 21511,\n      \"▁matrices\": 21512,\n      \"Calendar\": 21513,\n      \"sts\": 21514,\n      \"Associ\": 21515,\n      \"▁forum\": 21516,\n      \"▁sphere\": 21517,\n      \"▁SEO\": 21518,\n      \"popup\": 21519,\n      \"▁Currently\": 21520,\n      \"CLE\": 21521,\n      \"▁volunt\": 21522,\n      \"▁stellar\": 21523,\n      \"forall\": 21524,\n      \"Iss\": 21525,\n      \"imet\": 21526,\n      \"qp\": 21527,\n      \"latest\": 21528,\n      \"▁configured\": 21529,\n      \"abol\": 21530,\n      \"igent\": 21531,\n      \"▁delayed\": 21532,\n      \"ffic\": 21533,\n      \"▁ging\": 21534,\n      \"▁scent\": 21535,\n      \"▁disgust\": 21536,\n      \"hesis\": 21537,\n      \"imen\": 21538,\n      \"▁reign\": 21539,\n      \"▁Пи\": 21540,\n      \"ulas\": 21541,\n      \"uming\": 21542,\n      \"innings\": 21543,\n      \"Rend\": 21544,\n      \"idity\": 21545,\n      \"▁dozens\": 21546,\n      \"warf\": 21547,\n      \"▁Delhi\": 21548,\n      \"▁biological\": 21549,\n      \"▁corridor\": 21550,\n      \"Visual\": 21551,\n      \"▁Iz\": 21552,\n      \"▁suits\": 21553,\n      \"PyObject\": 21554,\n      \"iago\": 21555,\n      \"▁divide\": 21556,\n      \"pent\": 21557,\n      \"hello\": 21558,\n      \"▁beta\": 21559,\n      \"▁exterior\": 21560,\n      \"▁finest\": 21561,\n      \"▁Bir\": 21562,\n      \"▁freed\": 21563,\n      \"▁Kel\": 21564,\n      \"Sem\": 21565,\n      \"▁fruits\": 21566,\n      \"▁servants\": 21567,\n      \"▁publisher\": 21568,\n      \"▁copper\": 21569,\n      \"olation\": 21570,\n      \"sep\": 21571,\n      \"▁chairman\": 21572,\n      \"tik\": 21573,\n      \"▁mothers\": 21574,\n      \"Aug\": 21575,\n      \"▁jeans\": 21576,\n      \"[])\": 21577,\n      \"▁DATA\": 21578,\n      \"▁reveals\": 21579,\n      \"▁unconscious\": 21580,\n      \"▁hacer\": 21581,\n      \"riculum\": 21582,\n      \"▁Together\": 21583,\n      \"▁шта\": 21584,\n      \"orsz\": 21585,\n      \"▁canal\": 21586,\n      \"öst\": 21587,\n      \"▁equals\": 21588,\n      \"▁помо\": 21589,\n      \"▁allocation\": 21590,\n      \"ständ\": 21591,\n      \"▁чер\": 21592,\n      \"acking\": 21593,\n      \"▁motivation\": 21594,\n      \"сон\": 21595,\n      \"▁Role\": 21596,\n      \"Apply\": 21597,\n      \"iges\": 21598,\n      \"*{\": 21599,\n      \"▁fires\": 21600,\n      \"Used\": 21601,\n      \"▁heute\": 21602,\n      \"skiej\": 21603,\n      \"▁Orleans\": 21604,\n      \"ylan\": 21605,\n      \"▁warmth\": 21606,\n      \"▁welfare\": 21607,\n      \"jem\": 21608,\n      \"▁систе\": 21609,\n      \"bez\": 21610,\n      \"ře\": 21611,\n      \"kee\": 21612,\n      \"▁seguito\": 21613,\n      \"unge\": 21614,\n      \"▁yoga\": 21615,\n      \"▁dug\": 21616,\n      \"▁restored\": 21617,\n      \"Droid\": 21618,\n      \"▁Pent\": 21619,\n      \"▁ranking\": 21620,\n      \"mor\": 21621,\n      \".~(\\\\\": 21622,\n      \"ographical\": 21623,\n      \"▁pian\": 21624,\n      \"▁gates\": 21625,\n      \"▁сти\": 21626,\n      \"square\": 21627,\n      \"▁implicit\": 21628,\n      \"▁Gram\": 21629,\n      \"▁Après\": 21630,\n      \"▁Assistant\": 21631,\n      \"▁pac\": 21632,\n      \"▁Pope\": 21633,\n      \"гре\": 21634,\n      \"▁scattering\": 21635,\n      \"стратив\": 21636,\n      \"▁allocate\": 21637,\n      \"▁Manhattan\": 21638,\n      \"▁анг\": 21639,\n      \"▁interrupted\": 21640,\n      \"érieur\": 21641,\n      \"数据\": 21642,\n      \"Signal\": 21643,\n      \"▁Contract\": 21644,\n      \"ória\": 21645,\n      \"WITH\": 21646,\n      \"ходя\": 21647,\n      \"Aggreg\": 21648,\n      \"cules\": 21649,\n      \"Jan\": 21650,\n      \"▁sto\": 21651,\n      \"▁GPIO\": 21652,\n      \"▁identifying\": 21653,\n      \"▁pid\": 21654,\n      \"ęp\": 21655,\n      \"▁digit\": 21656,\n      \"elia\": 21657,\n      \"invoke\": 21658,\n      \"▁Floren\": 21659,\n      \"▁shallow\": 21660,\n      \"getClass\": 21661,\n      \"▁advertis\": 21662,\n      \"емы\": 21663,\n      \"▁HR\": 21664,\n      \"yman\": 21665,\n      \"▁CE\": 21666,\n      \"▁secured\": 21667,\n      \"▁relatives\": 21668,\n      \"▁sob\": 21669,\n      \"▁stab\": 21670,\n      \"Transition\": 21671,\n      \"▁wen\": 21672,\n      \"shops\": 21673,\n      \"▁kont\": 21674,\n      \"▁hacia\": 21675,\n      \"Hy\": 21676,\n      \"ври\": 21677,\n      \"shell\": 21678,\n      \"▁antib\": 21679,\n      \"environment\": 21680,\n      \"umbs\": 21681,\n      \"Tracker\": 21682,\n      \"entr\": 21683,\n      \"▁Political\": 21684,\n      \"extract\": 21685,\n      \"=\\\"{{\": 21686,\n      \"▁merc\": 21687,\n      \"▁poc\": 21688,\n      \"▁Reset\": 21689,\n      \"▁purely\": 21690,\n      \"▁Mul\": 21691,\n      \"▁gorgeous\": 21692,\n      \"▁În\": 21693,\n      \"riven\": 21694,\n      \"▁romance\": 21695,\n      \"▁dav\": 21696,\n      \"ческого\": 21697,\n      \"érica\": 21698,\n      \"▁traject\": 21699,\n      \"▁arise\": 21700,\n      \"▁swung\": 21701,\n      \"▁pockets\": 21702,\n      \"▁traditions\": 21703,\n      \"▁rever\": 21704,\n      \">>>\": 21705,\n      \"▁nd\": 21706,\n      \"▁divis\": 21707,\n      \"▁beloved\": 21708,\n      \"▁quantities\": 21709,\n      \"▁éd\": 21710,\n      \"iendo\": 21711,\n      \"▁talented\": 21712,\n      \"▁Cad\": 21713,\n      \"▁Вла\": 21714,\n      \"▁immigration\": 21715,\n      \"▁juris\": 21716,\n      \"▁aer\": 21717,\n      \"▁eaten\": 21718,\n      \"▁miejsc\": 21719,\n      \"▁summon\": 21720,\n      \"people\": 21721,\n      \"▁gains\": 21722,\n      \"▁право\": 21723,\n      \"▁restriction\": 21724,\n      \"stub\": 21725,\n      \"▁bout\": 21726,\n      \"▁slavery\": 21727,\n      \"▁computation\": 21728,\n      \"▁armor\": 21729,\n      \"▁ek\": 21730,\n      \"▁Muslims\": 21731,\n      \"▁cooperation\": 21732,\n      \"▁enhanced\": 21733,\n      \"oslav\": 21734,\n      \"▁abrupt\": 21735,\n      \"▁podcast\": 21736,\n      \"▁hospitals\": 21737,\n      \"ньо\": 21738,\n      \"▁hotels\": 21739,\n      \"▁Wikipedia\": 21740,\n      \"▁жен\": 21741,\n      \"GLOBAL\": 21742,\n      \"▁Communist\": 21743,\n      \"angles\": 21744,\n      \"▁thigh\": 21745,\n      \"▁Kirk\": 21746,\n      \"▁tends\": 21747,\n      \"▁Mode\": 21748,\n      \"▁Natur\": 21749,\n      \"▁delet\": 21750,\n      \"▁popul\": 21751,\n      \"▁Chamber\": 21752,\n      \"▁Conservative\": 21753,\n      \"krieg\": 21754,\n      \"▁Classic\": 21755,\n      \"▁diesem\": 21756,\n      \"▁empower\": 21757,\n      \"▁Mes\": 21758,\n      \"▁dealt\": 21759,\n      \"▁estad\": 21760,\n      \"▁Seit\": 21761,\n      \"▁credits\": 21762,\n      \"subsubsection\": 21763,\n      \"Invoke\": 21764,\n      \"▁physician\": 21765,\n      \"цев\": 21766,\n      \"ása\": 21767,\n      \"▁gob\": 21768,\n      \"▁Rug\": 21769,\n      \"▁міс\": 21770,\n      \"shaller\": 21771,\n      \"▁kol\": 21772,\n      \"▁cared\": 21773,\n      \"▁oficial\": 21774,\n      \"nos\": 21775,\n      \"▁jel\": 21776,\n      \"nullable\": 21777,\n      \"GUI\": 21778,\n      \"▁rapp\": 21779,\n      \"▁Annie\": 21780,\n      \"▁stocks\": 21781,\n      \"▁developer\": 21782,\n      \"▁placement\": 21783,\n      \"(\\\"<\": 21784,\n      \"▁lavor\": 21785,\n      \"▁accus\": 21786,\n      \"Mart\": 21787,\n      \"amerikan\": 21788,\n      \"▁sketch\": 21789,\n      \"▁sentiment\": 21790,\n      \"▁американ\": 21791,\n      \"Anchor\": 21792,\n      \"Merge\": 21793,\n      \"People\": 21794,\n      \"▁rendered\": 21795,\n      \"▁laund\": 21796,\n      \"▁nons\": 21797,\n      \"▁blew\": 21798,\n      \"kb\": 21799,\n      \"ategor\": 21800,\n      \"▁française\": 21801,\n      \"KEN\": 21802,\n      \"methods\": 21803,\n      \"▁Particip\": 21804,\n      \"nosti\": 21805,\n      \"▁commerce\": 21806,\n      \"▁дома\": 21807,\n      \"▁dre\": 21808,\n      \"▁twin\": 21809,\n      \"▁dedic\": 21810,\n      \"▁UTC\": 21811,\n      \"Week\": 21812,\n      \"▁differential\": 21813,\n      \"лё\": 21814,\n      \"▁Choose\": 21815,\n      \"▁\\\"(\": 21816,\n      \"▁том\": 21817,\n      \"▁профе\": 21818,\n      \"emark\": 21819,\n      \"▁feared\": 21820,\n      \"sko\": 21821,\n      \"Branch\": 21822,\n      \"▁invention\": 21823,\n      \"ermine\": 21824,\n      \"▁caract\": 21825,\n      \"рого\": 21826,\n      \"loyd\": 21827,\n      \"▁куль\": 21828,\n      \"▁delicate\": 21829,\n      \"Organ\": 21830,\n      \"▁Impro\": 21831,\n      \"▁rip\": 21832,\n      \"Updated\": 21833,\n      \"ulent\": 21834,\n      \"▁obra\": 21835,\n      \"suspend\": 21836,\n      \"Lines\": 21837,\n      \"▁banda\": 21838,\n      \"otta\": 21839,\n      \"▁kole\": 21840,\n      \"ilio\": 21841,\n      \"▁outputs\": 21842,\n      \"estro\": 21843,\n      \"AAAAAAAA\": 21844,\n      \"RUN\": 21845,\n      \"nent\": 21846,\n      \"▁dated\": 21847,\n      \"▁spy\": 21848,\n      \"▁crap\": 21849,\n      \"▁incoming\": 21850,\n      \"▁фев\": 21851,\n      \"PHY\": 21852,\n      \"▁Orange\": 21853,\n      \"▁observer\": 21854,\n      \"▁upstairs\": 21855,\n      \"ioned\": 21856,\n      \"▁atr\": 21857,\n      \"ighbor\": 21858,\n      \"▁expectation\": 21859,\n      \"His\": 21860,\n      \"imedia\": 21861,\n      \"comput\": 21862,\n      \"▁argv\": 21863,\n      \"▁earliest\": 21864,\n      \"тали\": 21865,\n      \"мон\": 21866,\n      \"ollen\": 21867,\n      \"rake\": 21868,\n      \"▁patience\": 21869,\n      \"ходит\": 21870,\n      \"▁дека\": 21871,\n      \"▁buyers\": 21872,\n      \"▁Connect\": 21873,\n      \"▁Universal\": 21874,\n      \"▁adjusted\": 21875,\n      \"imeq\": 21876,\n      \"ellers\": 21877,\n      \"▁ruin\": 21878,\n      \"▁Crusher\": 21879,\n      \"▁Frederick\": 21880,\n      \"ottage\": 21881,\n      \"▁comprom\": 21882,\n      \"iasm\": 21883,\n      \"wave\": 21884,\n      \"▁encouraging\": 21885,\n      \"▁beans\": 21886,\n      \"▁perceived\": 21887,\n      \"…]\": 21888,\n      \"▁globe\": 21889,\n      \"▁SF\": 21890,\n      \"herent\": 21891,\n      \"▁alike\": 21892,\n      \"▁hurried\": 21893,\n      \"quel\": 21894,\n      \"▁musicians\": 21895,\n      \"arz\": 21896,\n      \"пов\": 21897,\n      \"dropdown\": 21898,\n      \"acl\": 21899,\n      \"preview\": 21900,\n      \"▁underneath\": 21901,\n      \"ześ\": 21902,\n      \"▁females\": 21903,\n      \"listener\": 21904,\n      \"▁CAN\": 21905,\n      \"▁Tow\": 21906,\n      \"▁peers\": 21907,\n      \"tls\": 21908,\n      \"atra\": 21909,\n      \"sender\": 21910,\n      \"TIMEOUT\": 21911,\n      \"furt\": 21912,\n      \"▁Guerra\": 21913,\n      \"{})\": 21914,\n      \"▁Durch\": 21915,\n      \"▁ski\": 21916,\n      \"illas\": 21917,\n      \"▁Sof\": 21918,\n      \"▁Organization\": 21919,\n      \"▁Cleveland\": 21920,\n      \"▁butt\": 21921,\n      \"▁similarly\": 21922,\n      \"▁assertTrue\": 21923,\n      \"▁inevitable\": 21924,\n      \"nell\": 21925,\n      \"▁Raf\": 21926,\n      \"DISABLE\": 21927,\n      \"amine\": 21928,\n      \"▁Complete\": 21929,\n      \"▁beiden\": 21930,\n      \"▁Challenge\": 21931,\n      \"Radio\": 21932,\n      \"▁Notice\": 21933,\n      \"Hex\": 21934,\n      \"▁Cuba\": 21935,\n      \"▁august\": 21936,\n      \"▁Philippines\": 21937,\n      \"Margin\": 21938,\n      \"jal\": 21939,\n      \"generator\": 21940,\n      \"▁tatto\": 21941,\n      \"▁Hem\": 21942,\n      \"▁Salt\": 21943,\n      \"unately\": 21944,\n      \"▁terrain\": 21945,\n      \",\\\\,\": 21946,\n      \"град\": 21947,\n      \"▁crop\": 21948,\n      \"Named\": 21949,\n      \"▁Wonder\": 21950,\n      \"essen\": 21951,\n      \"▁fist\": 21952,\n      \"▁zoom\": 21953,\n      \"пен\": 21954,\n      \"▁ruling\": 21955,\n      \"unlikely\": 21956,\n      \"assy\": 21957,\n      \"orent\": 21958,\n      \"▁gibt\": 21959,\n      \"▁Aw\": 21960,\n      \"simeq\": 21961,\n      \"▁raid\": 21962,\n      \"▁Compar\": 21963,\n      \"▁freely\": 21964,\n      \"▁españ\": 21965,\n      \"▁python\": 21966,\n      \"▁diagnosis\": 21967,\n      \"▁chips\": 21968,\n      \"Razor\": 21969,\n      \"▁Vert\": 21970,\n      \"Forward\": 21971,\n      \"▁Pé\": 21972,\n      \"▁comparable\": 21973,\n      \"▁analys\": 21974,\n      \"Std\": 21975,\n      \"▁François\": 21976,\n      \"▁có\": 21977,\n      \"jos\": 21978,\n      \"▁peg\": 21979,\n      \"CONST\": 21980,\n      \"clusive\": 21981,\n      \"▁voyage\": 21982,\n      \"▁Schl\": 21983,\n      \"GroupLayout\": 21984,\n      \"oise\": 21985,\n      \"ссе\": 21986,\n      \"▁crush\": 21987,\n      \"▁Diese\": 21988,\n      \"▁bekan\": 21989,\n      \"cit\": 21990,\n      \"▁Einwohner\": 21991,\n      \"▁Lan\": 21992,\n      \"▁dressing\": 21993,\n      \"▁solved\": 21994,\n      \"Ма\": 21995,\n      \"▁Chel\": 21996,\n      \"pared\": 21997,\n      \"▁sealed\": 21998,\n      \"}))\": 21999,\n      \"ancouver\": 22000,\n      \"seh\": 22001,\n      \"tables\": 22002,\n      \"▁reddit\": 22003,\n      \"▁mour\": 22004,\n      \"▁cleanup\": 22005,\n      \"ović\": 22006,\n      \"▁Urban\": 22007,\n      \"oct\": 22008,\n      \"тора\": 22009,\n      \"▁Legal\": 22010,\n      \"▁Jur\": 22011,\n      \"▁Nas\": 22012,\n      \"City\": 22013,\n      \"▁unfortunately\": 22014,\n      \"▁PER\": 22015,\n      \"makers\": 22016,\n      \"▁siglo\": 22017,\n      \"▁kin\": 22018,\n      \"codes\": 22019,\n      \"ляр\": 22020,\n      \"NING\": 22021,\n      \"▁Cec\": 22022,\n      \"▁CT\": 22023,\n      \"▁Racing\": 22024,\n      \"dan\": 22025,\n      \"▁Herz\": 22026,\n      \"▁genius\": 22027,\n      \"▁europ\": 22028,\n      \"servlet\": 22029,\n      \"owego\": 22030,\n      \"▁Imagine\": 22031,\n      \"▁Imperial\": 22032,\n      \"Regex\": 22033,\n      \"cé\": 22034,\n      \"HED\": 22035,\n      \"detect\": 22036,\n      \"зни\": 22037,\n      \"ioc\": 22038,\n      \"Analysis\": 22039,\n      \"▁*=\": 22040,\n      \"▁fever\": 22041,\n      \"▁Obviously\": 22042,\n      \"Foot\": 22043,\n      \"Linear\": 22044,\n      \"▁pró\": 22045,\n      \"▁satellite\": 22046,\n      \"▁Beng\": 22047,\n      \"bounds\": 22048,\n      \"▁Jazz\": 22049,\n      \"▁Curt\": 22050,\n      \"▁полити\": 22051,\n      \"▁bild\": 22052,\n      \"▁\\\"\\\");\": 22053,\n      \"▁documentary\": 22054,\n      \"▁grasp\": 22055,\n      \"▁dla\": 22056,\n      \"TRA\": 22057,\n      \"▁readily\": 22058,\n      \"Tor\": 22059,\n      \"CACHE\": 22060,\n      \"▁Construction\": 22061,\n      \"▁día\": 22062,\n      \"дат\": 22063,\n      \"▁Grey\": 22064,\n      \"runner\": 22065,\n      \"leading\": 22066,\n      \"▁cooked\": 22067,\n      \"rolog\": 22068,\n      \"▁annoying\": 22069,\n      \"DELETE\": 22070,\n      \"american\": 22071,\n      \"▁Nigeria\": 22072,\n      \"▁dai\": 22073,\n      \"▁sacrific\": 22074,\n      \"▁servant\": 22075,\n      \"▁skb\": 22076,\n      \"▁barg\": 22077,\n      \"pixel\": 22078,\n      \"Inject\": 22079,\n      \"cached\": 22080,\n      \"▁coupled\": 22081,\n      \"ungle\": 22082,\n      \"prob\": 22083,\n      \">{@\": 22084,\n      \"лаго\": 22085,\n      \"defaults\": 22086,\n      \"▁portrait\": 22087,\n      \"▁dental\": 22088,\n      \"▁destro\": 22089,\n      \"▁rue\": 22090,\n      \"▁hybrid\": 22091,\n      \"▁й\": 22092,\n      \"▁COMP\": 22093,\n      \"▁Bent\": 22094,\n      \"Compare\": 22095,\n      \"both\": 22096,\n      \"klahoma\": 22097,\n      \"aiser\": 22098,\n      \"Sure\": 22099,\n      \"▁solving\": 22100,\n      \"▁lista\": 22101,\n      \"▁учи\": 22102,\n      \"▁Evans\": 22103,\n      \"▁fusion\": 22104,\n      \"▁complaint\": 22105,\n      \"HP\": 22106,\n      \"Heap\": 22107,\n      \"always\": 22108,\n      \"Mgr\": 22109,\n      \"▁approx\": 22110,\n      \"displaystyle\": 22111,\n      \"lord\": 22112,\n      \"insn\": 22113,\n      \"▁Feature\": 22114,\n      \"RPC\": 22115,\n      \"▁vet\": 22116,\n      \"Ка\": 22117,\n      \"▁kilomet\": 22118,\n      \"▁delivering\": 22119,\n      \"▁constitution\": 22120,\n      \"shine\": 22121,\n      \"лек\": 22122,\n      \"▁город\": 22123,\n      \"▁probable\": 22124,\n      \"▁runner\": 22125,\n      \"hren\": 22126,\n      \"▁Nep\": 22127,\n      \"▁overnight\": 22128,\n      \"pread\": 22129,\n      \"лта\": 22130,\n      \"форма\": 22131,\n      \"CLO\": 22132,\n      \"iesa\": 22133,\n      \"▁objectives\": 22134,\n      \"contract\": 22135,\n      \"EXP\": 22136,\n      \"▁colours\": 22137,\n      \"xico\": 22138,\n      \"Clean\": 22139,\n      \"▁lightly\": 22140,\n      \"▁scenarios\": 22141,\n      \"▁quarters\": 22142,\n      \"▁Dear\": 22143,\n      \"▁luc\": 22144,\n      \"▁appet\": 22145,\n      \"▁deport\": 22146,\n      \"Safe\": 22147,\n      \"▁menos\": 22148,\n      \"▁Paulo\": 22149,\n      \"CIAL\": 22150,\n      \"ців\": 22151,\n      \"▁Roc\": 22152,\n      \"▁caring\": 22153,\n      \"▁electro\": 22154,\n      \"▁december\": 22155,\n      \"▁Philosoph\": 22156,\n      \"▁colored\": 22157,\n      \"itsch\": 22158,\n      \"ropolitan\": 22159,\n      \"osti\": 22160,\n      \"▁Nut\": 22161,\n      \"▁consecutive\": 22162,\n      \"Peer\": 22163,\n      \"arness\": 22164,\n      \"▁że\": 22165,\n      \"▁Around\": 22166,\n      \"afka\": 22167,\n      \"▁dio\": 22168,\n      \"cip\": 22169,\n      \"▁toys\": 22170,\n      \"cro\": 22171,\n      \"▁miser\": 22172,\n      \"checkbox\": 22173,\n      \"▁Fisher\": 22174,\n      \"▁governed\": 22175,\n      \"▁há\": 22176,\n      \"▁Enable\": 22177,\n      \"▁trivial\": 22178,\n      \"▁occupation\": 22179,\n      \"rors\": 22180,\n      \"▁lav\": 22181,\n      \"▁mou\": 22182,\n      \"▁bord\": 22183,\n      \"лич\": 22184,\n      \"Room\": 22185,\n      \"')\\r\": 22186,\n      \"▁artic\": 22187,\n      \"▁mientras\": 22188,\n      \"chair\": 22189,\n      \"uations\": 22190,\n      \"▁commented\": 22191,\n      \"▁triggered\": 22192,\n      \"Cannot\": 22193,\n      \"▁Marcus\": 22194,\n      \"▁punct\": 22195,\n      \"▁achievement\": 22196,\n      \"еди\": 22197,\n      \"extensions\": 22198,\n      \"aders\": 22199,\n      \"jours\": 22200,\n      \"irlines\": 22201,\n      \"▁состоя\": 22202,\n      \"VIEW\": 22203,\n      \"▁Napole\": 22204,\n      \"Confirm\": 22205,\n      \"▁porque\": 22206,\n      \"................\": 22207,\n      \"▁LIABILITY\": 22208,\n      \"Wallet\": 22209,\n      \"Subject\": 22210,\n      \"algorithm\": 22211,\n      \"▁triple\": 22212,\n      \"rub\": 22213,\n      \"▁secur\": 22214,\n      \"▁handsome\": 22215,\n      \"▁dod\": 22216,\n      \"rès\": 22217,\n      \"acja\": 22218,\n      \"chod\": 22219,\n      \"нва\": 22220,\n      \"esar\": 22221,\n      \"anchor\": 22222,\n      \"▁Sophie\": 22223,\n      \"▁України\": 22224,\n      \"Upper\": 22225,\n      \"amous\": 22226,\n      \"Features\": 22227,\n      \"▁бли\": 22228,\n      \"Suppress\": 22229,\n      \"▁kilom\": 22230,\n      \"▁Zu\": 22231,\n      \"▁belonged\": 22232,\n      \"▁Reddit\": 22233,\n      \"▁proces\": 22234,\n      \"▁стар\": 22235,\n      \"▁Fest\": 22236,\n      \"/%\": 22237,\n      \"▁Pam\": 22238,\n      \"storm\": 22239,\n      \"WW\": 22240,\n      \"Paul\": 22241,\n      \"▁tales\": 22242,\n      \"▁района\": 22243,\n      \"▁spreading\": 22244,\n      \"▁sched\": 22245,\n      \"leased\": 22246,\n      \"NonNull\": 22247,\n      \"▁Highway\": 22248,\n      \"▁Reserve\": 22249,\n      \"▁cater\": 22250,\n      \"▁tire\": 22251,\n      \"▁porch\": 22252,\n      \"quier\": 22253,\n      \"USA\": 22254,\n      \"▁Swiss\": 22255,\n      \"▁È\": 22256,\n      \"▁brave\": 22257,\n      \"▁explosion\": 22258,\n      \"lr\": 22259,\n      \"▁classified\": 22260,\n      \"About\": 22261,\n      \"▁Pict\": 22262,\n      \"▁Dublin\": 22263,\n      \"▁separately\": 22264,\n      \"▁banking\": 22265,\n      \"▁Christianity\": 22266,\n      \"migr\": 22267,\n      \"Rob\": 22268,\n      \"сер\": 22269,\n      \"▁elf\": 22270,\n      \"▁employers\": 22271,\n      \"▁Slow\": 22272,\n      \"▁juli\": 22273,\n      \"western\": 22274,\n      \"▁analyst\": 22275,\n      \"observ\": 22276,\n      \"▁Nice\": 22277,\n      \"▁GC\": 22278,\n      \"▁Letter\": 22279,\n      \"▁harass\": 22280,\n      \"Username\": 22281,\n      \"▁Aunt\": 22282,\n      \"▁сент\": 22283,\n      \"Sup\": 22284,\n      \"ICES\": 22285,\n      \"RENT\": 22286,\n      \"ratio\": 22287,\n      \"▁Моск\": 22288,\n      \"▁angles\": 22289,\n      \"▁llev\": 22290,\n      \"_*\": 22291,\n      \"▁nit\": 22292,\n      \"▁wreck\": 22293,\n      \"▁patrol\": 22294,\n      \"▁loyalty\": 22295,\n      \"▁nationale\": 22296,\n      \"gom\": 22297,\n      \"}$-\": 22298,\n      \"▁dispute\": 22299,\n      \"▁rus\": 22300,\n      \"▁През\": 22301,\n      \"▁Industrial\": 22302,\n      \"▁democratic\": 22303,\n      \"bw\": 22304,\n      \"limp\": 22305,\n      \"urbed\": 22306,\n      \"▁miejsce\": 22307,\n      \"руд\": 22308,\n      \"▁tex\": 22309,\n      \"▁developments\": 22310,\n      \"▁Bright\": 22311,\n      \"▁varying\": 22312,\n      \"fact\": 22313,\n      \"▁Portal\": 22314,\n      \"asis\": 22315,\n      \"▁города\": 22316,\n      \"▁creativity\": 22317,\n      \"))))\": 22318,\n      \".\\\";\": 22319,\n      \"ieux\": 22320,\n      \"▁provisions\": 22321,\n      \"uve\": 22322,\n      \"Lang\": 22323,\n      \"missing\": 22324,\n      \"рат\": 22325,\n      \"phony\": 22326,\n      \"▁outline\": 22327,\n      \"pas\": 22328,\n      \"elm\": 22329,\n      \"monitor\": 22330,\n      \"TCP\": 22331,\n      \"kat\": 22332,\n      \"uced\": 22333,\n      \"\\\\\\\",\": 22334,\n      \"yna\": 22335,\n      \"рабо\": 22336,\n      \"ocate\": 22337,\n      \"▁cares\": 22338,\n      \"▁fins\": 22339,\n      \"▁heap\": 22340,\n      \"▁smallest\": 22341,\n      \"ächst\": 22342,\n      \"▁IX\": 22343,\n      \"recv\": 22344,\n      \"keyword\": 22345,\n      \"▁attra\": 22346,\n      \"▁selbst\": 22347,\n      \"Unexpected\": 22348,\n      \"Small\": 22349,\n      \"▁насеље\": 22350,\n      \"▁Hus\": 22351,\n      \"Encoder\": 22352,\n      \"▁unset\": 22353,\n      \"▁homeless\": 22354,\n      \"▁Johannes\": 22355,\n      \"▁URI\": 22356,\n      \"antage\": 22357,\n      \"▁inhib\": 22358,\n      \"▁appreciated\": 22359,\n      \"ielte\": 22360,\n      \"▁stays\": 22361,\n      \"▁alleged\": 22362,\n      \"▁coding\": 22363,\n      \"▁två\": 22364,\n      \"pipeline\": 22365,\n      \"▁Wor\": 22366,\n      \"FilePath\": 22367,\n      \"▁accepting\": 22368,\n      \"▁Excell\": 22369,\n      \"▁Luther\": 22370,\n      \"▁Friends\": 22371,\n      \"▁curt\": 22372,\n      \"▁'$\": 22373,\n      \"▁tightly\": 22374,\n      \"▁czę\": 22375,\n      \"▁unnecessary\": 22376,\n      \"▁Fed\": 22377,\n      \"▁Анд\": 22378,\n      \"▁HP\": 22379,\n      \"▁StringBuilder\": 22380,\n      \"enburg\": 22381,\n      \"'(\": 22382,\n      \"vma\": 22383,\n      \"▁Abraham\": 22384,\n      \"WL\": 22385,\n      \"▁Reference\": 22386,\n      \"Jo\": 22387,\n      \"Blob\": 22388,\n      \"▁Hugh\": 22389,\n      \"▁Bulgar\": 22390,\n      \"MESSAGE\": 22391,\n      \"зво\": 22392,\n      \"▁avoided\": 22393,\n      \"▁poems\": 22394,\n      \"▁сы\": 22395,\n      \"▁Opp\": 22396,\n      \"avirus\": 22397,\n      \"Preview\": 22398,\n      \"▁ker\": 22399,\n      \"ueva\": 22400,\n      \"flix\": 22401,\n      \"▁charging\": 22402,\n      \"▁motivated\": 22403,\n      \"▁Ord\": 22404,\n      \"▁aveva\": 22405,\n      \"xl\": 22406,\n      \"▁flexibility\": 22407,\n      \"agna\": 22408,\n      \"▁racism\": 22409,\n      \"dh\": 22410,\n      \"▁baking\": 22411,\n      \"Friend\": 22412,\n      \"bler\": 22413,\n      \"▁Logger\": 22414,\n      \"Ten\": 22415,\n      \"navigation\": 22416,\n      \"▁attachment\": 22417,\n      \"▁bajo\": 22418,\n      \"▁pricing\": 22419,\n      \"▁Tip\": 22420,\n      \"dar\": 22421,\n      \"GG\": 22422,\n      \"Tools\": 22423,\n      \"volution\": 22424,\n      \"amas\": 22425,\n      \"▁bibli\": 22426,\n      \"▁adapted\": 22427,\n      \"oxy\": 22428,\n      \"▁Freedom\": 22429,\n      \"rico\": 22430,\n      \"▁collapsed\": 22431,\n      \"zm\": 22432,\n      \"plo\": 22433,\n      \"▁cô\": 22434,\n      \"▁rt\": 22435,\n      \"änger\": 22436,\n      \"▁DR\": 22437,\n      \"▁Bitcoin\": 22438,\n      \"gow\": 22439,\n      \"▁chez\": 22440,\n      \"▁otro\": 22441,\n      \"▁teil\": 22442,\n      \"лага\": 22443,\n      \"▁Stars\": 22444,\n      \"▁investing\": 22445,\n      \"▁aboard\": 22446,\n      \"▁flights\": 22447,\n      \"▁genuinely\": 22448,\n      \"▁promising\": 22449,\n      \"Rotation\": 22450,\n      \"Occ\": 22451,\n      \"▁suoi\": 22452,\n      \"stringify\": 22453,\n      \"acies\": 22454,\n      \"▁Ground\": 22455,\n      \"▁sequences\": 22456,\n      \"▁cure\": 22457,\n      \"outine\": 22458,\n      \"▁!!\": 22459,\n      \"▁Gay\": 22460,\n      \"▁gardens\": 22461,\n      \"▁Glas\": 22462,\n      \"▁Taiwan\": 22463,\n      \"registry\": 22464,\n      \"▁#{\": 22465,\n      \"▁inspection\": 22466,\n      \"Tell\": 22467,\n      \"▁`${\": 22468,\n      \"pmatrix\": 22469,\n      \"▁regulation\": 22470,\n      \"finish\": 22471,\n      \"▁Edge\": 22472,\n      \"Sprite\": 22473,\n      \"▁Confeder\": 22474,\n      \"▁immigrants\": 22475,\n      \"▁elderly\": 22476,\n      \"umed\": 22477,\n      \"▁Question\": 22478,\n      \"Gateway\": 22479,\n      \"fony\": 22480,\n      \"ître\": 22481,\n      \"▁cosm\": 22482,\n      \"Round\": 22483,\n      \"▁ignoring\": 22484,\n      \"▁Ki\": 22485,\n      \"▁sensitivity\": 22486,\n      \"âteau\": 22487,\n      \"▁engineers\": 22488,\n      \"▁correl\": 22489,\n      \"irteen\": 22490,\n      \"▁Switzerland\": 22491,\n      \"▁inherit\": 22492,\n      \"wor\": 22493,\n      \"▁midnight\": 22494,\n      \"▁Pun\": 22495,\n      \"akte\": 22496,\n      \"Disable\": 22497,\n      \"▁esper\": 22498,\n      \"▁notation\": 22499,\n      \"▁Universidad\": 22500,\n      \"sol\": 22501,\n      \"dern\": 22502,\n      \"inge\": 22503,\n      \"▁invitation\": 22504,\n      \")}}\": 22505,\n      \"▁â\": 22506,\n      \"▁essays\": 22507,\n      \"armed\": 22508,\n      \"chsel\": 22509,\n      \"▁него\": 22510,\n      \"▁confirmation\": 22511,\n      \"unity\": 22512,\n      \"▁Brother\": 22513,\n      \"▁Є\": 22514,\n      \"nice\": 22515,\n      \"▁Sue\": 22516,\n      \"▁tray\": 22517,\n      \"рои\": 22518,\n      \"Cookie\": 22519,\n      \"▁Federation\": 22520,\n      \"ICT\": 22521,\n      \"▁péri\": 22522,\n      \"student\": 22523,\n      \"▁Vent\": 22524,\n      \"KK\": 22525,\n      \"STEM\": 22526,\n      \"awk\": 22527,\n      \"▁reun\": 22528,\n      \"▁peoples\": 22529,\n      \"iores\": 22530,\n      \"oubt\": 22531,\n      \"▁Stage\": 22532,\n      \"▁charm\": 22533,\n      \"ieur\": 22534,\n      \"▁utilize\": 22535,\n      \"▁distribute\": 22536,\n      \"▁gotta\": 22537,\n      \"▁blocking\": 22538,\n      \"Hot\": 22539,\n      \"brew\": 22540,\n      \"▁bonds\": 22541,\n      \"leaf\": 22542,\n      \"Prote\": 22543,\n      \"▁dice\": 22544,\n      \"▁Norman\": 22545,\n      \"▁окт\": 22546,\n      \"▁inspir\": 22547,\n      \"Priv\": 22548,\n      \"▁Puerto\": 22549,\n      \"▁това\": 22550,\n      \"RST\": 22551,\n      \"▁sf\": 22552,\n      \"▁quale\": 22553,\n      \"nick\": 22554,\n      \"▁suppress\": 22555,\n      \"чат\": 22556,\n      \"▁Hello\": 22557,\n      \"▁crowded\": 22558,\n      \"hbar\": 22559,\n      \"▁loads\": 22560,\n      \"▁correction\": 22561,\n      \"adjust\": 22562,\n      \"▁Estate\": 22563,\n      \"textsc\": 22564,\n      \"▁cooling\": 22565,\n      \"iveau\": 22566,\n      \"▁betting\": 22567,\n      \"============\": 22568,\n      \"remark\": 22569,\n      \"▁implications\": 22570,\n      \"▁poz\": 22571,\n      \"üng\": 22572,\n      \"▁regards\": 22573,\n      \"▁amid\": 22574,\n      \"▁habitantes\": 22575,\n      \"GI\": 22576,\n      \"▁Fou\": 22577,\n      \"▁jar\": 22578,\n      \"▁requiring\": 22579,\n      \"▁Drupal\": 22580,\n      \"▁liability\": 22581,\n      \"czas\": 22582,\n      \"▁lyrics\": 22583,\n      \"▁Nort\": 22584,\n      \"sil\": 22585,\n      \"▁Mey\": 22586,\n      \"UNIT\": 22587,\n      \"вания\": 22588,\n      \"future\": 22589,\n      \"hir\": 22590,\n      \"CAL\": 22591,\n      \"LABEL\": 22592,\n      \"▁Sweet\": 22593,\n      \"▁statue\": 22594,\n      \"borne\": 22595,\n      \"Notify\": 22596,\n      \"▁heritage\": 22597,\n      \"▁dorm\": 22598,\n      \"▁lever\": 22599,\n      \"▁muttered\": 22600,\n      \"}&\": 22601,\n      \"▁intermediate\": 22602,\n      \"▁Watson\": 22603,\n      \"▁viewing\": 22604,\n      \"ktor\": 22605,\n      \"entieth\": 22606,\n      \"xxx\": 22607,\n      \"atu\": 22608,\n      \"▁Install\": 22609,\n      \"Contin\": 22610,\n      \"▁toute\": 22611,\n      \"▁PT\": 22612,\n      \"▁uri\": 22613,\n      \"Called\": 22614,\n      \"▁OFF\": 22615,\n      \"iglia\": 22616,\n      \"ichi\": 22617,\n      \"сни\": 22618,\n      \"Vo\": 22619,\n      \"▁exhibit\": 22620,\n      \"▁asympt\": 22621,\n      \"▁Gulf\": 22622,\n      \"лли\": 22623,\n      \"domin\": 22624,\n      \"▁département\": 22625,\n      \"mil\": 22626,\n      \"▁Bez\": 22627,\n      \"▁lately\": 22628,\n      \"▁defining\": 22629,\n      \"▁EL\": 22630,\n      \"omorphic\": 22631,\n      \"▁febru\": 22632,\n      \"ISTER\": 22633,\n      \"resolved\": 22634,\n      \"тей\": 22635,\n      \"▁Spect\": 22636,\n      \"▁sempre\": 22637,\n      \"▁Sept\": 22638,\n      \"▁clearing\": 22639,\n      \"▁diameter\": 22640,\n      \"indo\": 22641,\n      \"▁soccer\": 22642,\n      \"▁DCHECK\": 22643,\n      \"vote\": 22644,\n      \"▁nomin\": 22645,\n      \"Typed\": 22646,\n      \"Missing\": 22647,\n      \"Was\": 22648,\n      \"▁Century\": 22649,\n      \"▁directors\": 22650,\n      \"▁moderate\": 22651,\n      \"▁Illuminate\": 22652,\n      \"▁человек\": 22653,\n      \"▁Bapt\": 22654,\n      \"▁Quant\": 22655,\n      \"▁treating\": 22656,\n      \"agi\": 22657,\n      \"Sil\": 22658,\n      \"ringe\": 22659,\n      \"łą\": 22660,\n      \"ellan\": 22661,\n      \"▁fino\": 22662,\n      \"Capture\": 22663,\n      \"▁Sic\": 22664,\n      \"▁stamp\": 22665,\n      \"▁Buen\": 22666,\n      \"▁segundo\": 22667,\n      \"▁inverse\": 22668,\n      \"▁dup\": 22669,\n      \"▁broker\": 22670,\n      \"▁searched\": 22671,\n      \"beans\": 22672,\n      \"▁ABC\": 22673,\n      \"isha\": 22674,\n      \"▁Linked\": 22675,\n      \"▁Nicholas\": 22676,\n      \"▁Swedish\": 22677,\n      \"hemal\": 22678,\n      \"▁EM\": 22679,\n      \"▁jego\": 22680,\n      \"ческий\": 22681,\n      \"lot\": 22682,\n      \"▁discret\": 22683,\n      \"▁Eg\": 22684,\n      \"pick\": 22685,\n      \"amon\": 22686,\n      \"▁Railway\": 22687,\n      \"кар\": 22688,\n      \"▁navigate\": 22689,\n      \"▁Commander\": 22690,\n      \"▁disappear\": 22691,\n      \"▁congress\": 22692,\n      \"▁graphic\": 22693,\n      \"spr\": 22694,\n      \"FLOAT\": 22695,\n      \"▁Serial\": 22696,\n      \"▁янва\": 22697,\n      \"social\": 22698,\n      \"buch\": 22699,\n      \"▁seal\": 22700,\n      \"▁cement\": 22701,\n      \"▁Ye\": 22702,\n      \"otti\": 22703,\n      \"▁Theod\": 22704,\n      \"removeClass\": 22705,\n      \"▁Julie\": 22706,\n      \"▁größ\": 22707,\n      \"STREAM\": 22708,\n      \"▁GB\": 22709,\n      \"▁Benef\": 22710,\n      \"▁Matrix\": 22711,\n      \"▁keine\": 22712,\n      \"▁continent\": 22713,\n      \"▁jaar\": 22714,\n      \"DAI\": 22715,\n      \"▁Sequ\": 22716,\n      \"kreis\": 22717,\n      \"▁crown\": 22718,\n      \"Initialize\": 22719,\n      \"axy\": 22720,\n      \"▁CIA\": 22721,\n      \"▁intend\": 22722,\n      \"▁bub\": 22723,\n      \"▁masks\": 22724,\n      \"▁situated\": 22725,\n      \"▁Edu\": 22726,\n      \"▁participating\": 22727,\n      \"шей\": 22728,\n      \"_{-\": 22729,\n      \"▁Television\": 22730,\n      \"▁preferences\": 22731,\n      \"▁Drop\": 22732,\n      \"review\": 22733,\n      \"▁violation\": 22734,\n      \"▁christ\": 22735,\n      \"qq\": 22736,\n      \"▁Myst\": 22737,\n      \"commands\": 22738,\n      \"▁primitive\": 22739,\n      \"illance\": 22740,\n      \"▁ranging\": 22741,\n      \"▁Advanced\": 22742,\n      \")&\": 22743,\n      \"▁Об\": 22744,\n      \"▁substr\": 22745,\n      \"▁closure\": 22746,\n      \"twitter\": 22747,\n      \"nez\": 22748,\n      \"▁przed\": 22749,\n      \"▁merged\": 22750,\n      \"uros\": 22751,\n      \"▁jer\": 22752,\n      \"▁_(\": 22753,\n      \"aran\": 22754,\n      \"▁Patri\": 22755,\n      \"▁Tun\": 22756,\n      \"UK\": 22757,\n      \"iliation\": 22758,\n      \"▁Keith\": 22759,\n      \"OwnProperty\": 22760,\n      \"opsis\": 22761,\n      \"Mad\": 22762,\n      \"▁defence\": 22763,\n      \"Air\": 22764,\n      \"=${\": 22765,\n      \"criptors\": 22766,\n      \"Som\": 22767,\n      \"▁±\": 22768,\n      \"▁HAVE\": 22769,\n      \"~~~~~~~~\": 22770,\n      \"▁beaten\": 22771,\n      \"▁intimate\": 22772,\n      \"opic\": 22773,\n      \"▁před\": 22774,\n      \"Shop\": 22775,\n      \"Tables\": 22776,\n      \"▁SI\": 22777,\n      \"rename\": 22778,\n      \"▁productive\": 22779,\n      \"ribly\": 22780,\n      \"▁Luck\": 22781,\n      \"▁klub\": 22782,\n      \"}}^{\": 22783,\n      \"▁Fish\": 22784,\n      \"PRI\": 22785,\n      \"enario\": 22786,\n      \"▁pseud\": 22787,\n      \"Ord\": 22788,\n      \"▁quelques\": 22789,\n      \"▁Dod\": 22790,\n      \"▁punto\": 22791,\n      \"senal\": 22792,\n      \"▁Brothers\": 22793,\n      \"▁diabetes\": 22794,\n      \"Paint\": 22795,\n      \"▁personas\": 22796,\n      \"вър\": 22797,\n      \"▁nep\": 22798,\n      \"▁Ellen\": 22799,\n      \"▁hä\": 22800,\n      \"crtc\": 22801,\n      \"▁frustration\": 22802,\n      \".^{[\": 22803,\n      \"▁sprintf\": 22804,\n      \"+-\": 22805,\n      \"Encode\": 22806,\n      \"▁населення\": 22807,\n      \"Drawable\": 22808,\n      \"▁bore\": 22809,\n      \"▁Eld\": 22810,\n      \"тет\": 22811,\n      \"Tick\": 22812,\n      \"arator\": 22813,\n      \"▁Finance\": 22814,\n      \"▁agricultural\": 22815,\n      \")^{-\": 22816,\n      \"maybe\": 22817,\n      \"Schedule\": 22818,\n      \"▁[…]\": 22819,\n      \"etection\": 22820,\n      \"льного\": 22821,\n      \"▁heels\": 22822,\n      \"▁Enjoy\": 22823,\n      \"Sys\": 22824,\n      \"ország\": 22825,\n      \"CONTROL\": 22826,\n      \"cccc\": 22827,\n      \"▁Dictionary\": 22828,\n      \"Need\": 22829,\n      \"▁Heaven\": 22830,\n      \"▁vessels\": 22831,\n      \"ecycle\": 22832,\n      \"ties\": 22833,\n      \"▁ende\": 22834,\n      \"SING\": 22835,\n      \"Describe\": 22836,\n      \"▁Published\": 22837,\n      \"▁winds\": 22838,\n      \"nehmen\": 22839,\n      \"▁DES\": 22840,\n      \"Horizontal\": 22841,\n      \"▁Lost\": 22842,\n      \"-------------\": 22843,\n      \"▁px\": 22844,\n      \"}({\\\\\": 22845,\n      \"▁Heinrich\": 22846,\n      \"omsnitt\": 22847,\n      \"hos\": 22848,\n      \"Roll\": 22849,\n      \"torch\": 22850,\n      \"▁equity\": 22851,\n      \"▁collecting\": 22852,\n      \"▁lifting\": 22853,\n      \"subfigure\": 22854,\n      \"Never\": 22855,\n      \"▁Length\": 22856,\n      \"▁winners\": 22857,\n      \"▁USD\": 22858,\n      \"▁stesso\": 22859,\n      \"▁або\": 22860,\n      \"▁altri\": 22861,\n      \"▁producers\": 22862,\n      \"mons\": 22863,\n      \"▁Popular\": 22864,\n      \"Comb\": 22865,\n      \"ablo\": 22866,\n      \"RESET\": 22867,\n      \"тва\": 22868,\n      \"Overlay\": 22869,\n      \"▁idiot\": 22870,\n      \"exist\": 22871,\n      \"Behavior\": 22872,\n      \"UBLE\": 22873,\n      \"ierre\": 22874,\n      \"minecraft\": 22875,\n      \"▁fos\": 22876,\n      \"▁encuentra\": 22877,\n      \"▁screamed\": 22878,\n      \"▁polynomial\": 22879,\n      \"▁cone\": 22880,\n      \"▁cited\": 22881,\n      \"▁presidente\": 22882,\n      \"▁resign\": 22883,\n      \"▁yelled\": 22884,\n      \"▁ik\": 22885,\n      \"Plus\": 22886,\n      \"▁Миха\": 22887,\n      \"▁Theme\": 22888,\n      \"▁reli\": 22889,\n      \"nem\": 22890,\n      \"▁amen\": 22891,\n      \"▁Ј\": 22892,\n      \"Thanks\": 22893,\n      \"▁alumin\": 22894,\n      \"▁shelf\": 22895,\n      \"!\\\");\": 22896,\n      \"appendChild\": 22897,\n      \"▁logs\": 22898,\n      \"▁regex\": 22899,\n      \"▁punk\": 22900,\n      \"CORE\": 22901,\n      \"▁borders\": 22902,\n      \"▁Required\": 22903,\n      \"▁flaw\": 22904,\n      \"▁cinema\": 22905,\n      \"▁ví\": 22906,\n      \"▁abortion\": 22907,\n      \"journal\": 22908,\n      \"initions\": 22909,\n      \"statement\": 22910,\n      \"▁ours\": 22911,\n      \"ót\": 22912,\n      \"▁Turner\": 22913,\n      \"inus\": 22914,\n      \"eves\": 22915,\n      \"▁magazines\": 22916,\n      \"……\": 22917,\n      \"lace\": 22918,\n      \"slider\": 22919,\n      \"▁locate\": 22920,\n      \"▁desarroll\": 22921,\n      \"Pan\": 22922,\n      \"Tom\": 22923,\n      \"▁Landes\": 22924,\n      \"olia\": 22925,\n      \"▁unm\": 22926,\n      \"▁Senator\": 22927,\n      \"▁administer\": 22928,\n      \"▁који\": 22929,\n      \"▁'{\": 22930,\n      \"▁){\": 22931,\n      \"▁Golf\": 22932,\n      \"▁gele\": 22933,\n      \"▁drank\": 22934,\n      \"posing\": 22935,\n      \"▁ensemble\": 22936,\n      \"heap\": 22937,\n      \"signature\": 22938,\n      \"той\": 22939,\n      \"ций\": 22940,\n      \"scriber\": 22941,\n      \"▁champ\": 22942,\n      \"nio\": 22943,\n      \"layers\": 22944,\n      \"▁trump\": 22945,\n      \"▁modal\": 22946,\n      \"onces\": 22947,\n      \"чення\": 22948,\n      \"▁Cort\": 22949,\n      \"▁sunlight\": 22950,\n      \"▁Muse\": 22951,\n      \"ément\": 22952,\n      \"▁curiosity\": 22953,\n      \"▁vr\": 22954,\n      \"Oct\": 22955,\n      \"ylon\": 22956,\n      \"▁relativ\": 22957,\n      \"sty\": 22958,\n      \"]/\": 22959,\n      \"azu\": 22960,\n      \"▁USS\": 22961,\n      \"▁persona\": 22962,\n      \"Men\": 22963,\n      \"▁wides\": 22964,\n      \"▁Kas\": 22965,\n      \"icies\": 22966,\n      \"▁Coff\": 22967,\n      \"▁consolid\": 22968,\n      \"▁interactive\": 22969,\n      \"oping\": 22970,\n      \"Land\": 22971,\n      \"▁energies\": 22972,\n      \"▁independently\": 22973,\n      \"innerHTML\": 22974,\n      \"Require\": 22975,\n      \"▁absurd\": 22976,\n      \"▁INFO\": 22977,\n      \"▁bund\": 22978,\n      \"anzös\": 22979,\n      \"▁Gent\": 22980,\n      \"▁scholars\": 22981,\n      \"▁Created\": 22982,\n      \"▁marine\": 22983,\n      \"...'\": 22984,\n      \"ENV\": 22985,\n      \"achte\": 22986,\n      \"aments\": 22987,\n      \"▁trucks\": 22988,\n      \"▁rewards\": 22989,\n      \"ogs\": 22990,\n      \"Green\": 22991,\n      \"▁nä\": 22992,\n      \"▁inherited\": 22993,\n      \"imated\": 22994,\n      \"▁FREE\": 22995,\n      \"▁extens\": 22996,\n      \"dag\": 22997,\n      \"▁glow\": 22998,\n      \"ardi\": 22999,\n      \"NF\": 23000,\n      \"▁evaluated\": 23001,\n      \"▁ops\": 23002,\n      \"▁cleaned\": 23003,\n      \"▁Province\": 23004,\n      \"habil\": 23005,\n      \"графі\": 23006,\n      \"▁TCP\": 23007,\n      \"▁які\": 23008,\n      \"▁dece\": 23009,\n      \"▁contempl\": 23010,\n      \"▁acquisition\": 23011,\n      \"})$.\": 23012,\n      \"=\\\"-\": 23013,\n      \"▁sectors\": 23014,\n      \"::<\": 23015,\n      \"uß\": 23016,\n      \"▁trabaj\": 23017,\n      \"than\": 23018,\n      \"▁Sta\": 23019,\n      \"Members\": 23020,\n      \"▁rv\": 23021,\n      \")^{\\\\\": 23022,\n      \"mitt\": 23023,\n      \"▁Wang\": 23024,\n      \"▁Wend\": 23025,\n      \"▁Glass\": 23026,\n      \"▁txt\": 23027,\n      \"▁Cameron\": 23028,\n      \"iels\": 23029,\n      \"▁immer\": 23030,\n      \"▁населения\": 23031,\n      \"...</\": 23032,\n      \"autom\": 23033,\n      \"roe\": 23034,\n      \"▁distinguish\": 23035,\n      \"▁является\": 23036,\n      \"▁privilege\": 23037,\n      \"▁delighted\": 23038,\n      \"▁deployment\": 23039,\n      \"▁contributor\": 23040,\n      \"▁threatening\": 23041,\n      \"▁Regiment\": 23042,\n      \"▁declined\": 23043,\n      \"Observ\": 23044,\n      \")}{\\\\\": 23045,\n      \"WC\": 23046,\n      \"▁Fix\": 23047,\n      \"ría\": 23048,\n      \"xtures\": 23049,\n      \"следова\": 23050,\n      \"▁Historia\": 23051,\n      \"▁ISO\": 23052,\n      \"▁дву\": 23053,\n      \"лко\": 23054,\n      \"▁withd\": 23055,\n      \"borough\": 23056,\n      \"▁tossed\": 23057,\n      \"▁jumping\": 23058,\n      \"▁!(\": 23059,\n      \"▁manually\": 23060,\n      \"▁sap\": 23061,\n      \"questa\": 23062,\n      \"▁Norway\": 23063,\n      \"▁Attorney\": 23064,\n      \"ugg\": 23065,\n      \"pull\": 23066,\n      \"лина\": 23067,\n      \"parallel\": 23068,\n      \"▁fascinating\": 23069,\n      \"▁byla\": 23070,\n      \"▁invoke\": 23071,\n      \"Functions\": 23072,\n      \"$).\": 23073,\n      \"▁consistency\": 23074,\n      \"▁із\": 23075,\n      \"dyn\": 23076,\n      \"predict\": 23077,\n      \"▁Pu\": 23078,\n      \"elcome\": 23079,\n      \"plicated\": 23080,\n      \"рав\": 23081,\n      \"espec\": 23082,\n      \"▁exploration\": 23083,\n      \"▁foram\": 23084,\n      \"▁compliment\": 23085,\n      \"▁senses\": 23086,\n      \"▁clas\": 23087,\n      \"▁Authors\": 23088,\n      \"▁highlights\": 23089,\n      \"Mobile\": 23090,\n      \"▁Intelligence\": 23091,\n      \"▁dessen\": 23092,\n      \"▁skulle\": 23093,\n      \"▁overview\": 23094,\n      \"ató\": 23095,\n      \"▁blast\": 23096,\n      \"atrice\": 23097,\n      \"ící\": 23098,\n      \"▁enthusiasm\": 23099,\n      \"▁characterized\": 23100,\n      \"etary\": 23101,\n      \"▁spectra\": 23102,\n      \"▁Ana\": 23103,\n      \"▁honour\": 23104,\n      \"▁phases\": 23105,\n      \"▁Jap\": 23106,\n      \"▁surprisingly\": 23107,\n      \"▁dick\": 23108,\n      \"Decoder\": 23109,\n      \"▁sexy\": 23110,\n      \"cedes\": 23111,\n      \"▁бі\": 23112,\n      \"▁iteration\": 23113,\n      \"calc\": 23114,\n      \")\\\\,\": 23115,\n      \"▁infant\": 23116,\n      \"▁sofa\": 23117,\n      \"▁Lol\": 23118,\n      \"▁Lauren\": 23119,\n      \"respons\": 23120,\n      \"▁Liv\": 23121,\n      \"▁när\": 23122,\n      \"Consumer\": 23123,\n      \"eenth\": 23124,\n      \"▁devient\": 23125,\n      \"▁BT\": 23126,\n      \"dings\": 23127,\n      \"▁UP\": 23128,\n      \"▁Ukrain\": 23129,\n      \"▁фе\": 23130,\n      \"▁spawn\": 23131,\n      \"yect\": 23132,\n      \"était\": 23133,\n      \"▁Roth\": 23134,\n      \"лок\": 23135,\n      \"▁побе\": 23136,\n      \"▁cattle\": 23137,\n      \"▁styled\": 23138,\n      \"▁};\\r\": 23139,\n      \"lj\": 23140,\n      \"▁Lanc\": 23141,\n      \"▁Churchill\": 23142,\n      \"KS\": 23143,\n      \"▁roi\": 23144,\n      \"▁бри\": 23145,\n      \"▁проце\": 23146,\n      \"▁Scar\": 23147,\n      \"IBUT\": 23148,\n      \"entin\": 23149,\n      \"▁Nou\": 23150,\n      \"▁urge\": 23151,\n      \"▁Baron\": 23152,\n      \"▁devil\": 23153,\n      \"assem\": 23154,\n      \"CLIENT\": 23155,\n      \"чин\": 23156,\n      \"▁germ\": 23157,\n      \"fund\": 23158,\n      \"kim\": 23159,\n      \"▁Apply\": 23160,\n      \"▁Бер\": 23161,\n      \"▁januari\": 23162,\n      \"хра\": 23163,\n      \"chem\": 23164,\n      \"▁thy\": 23165,\n      \"Sorry\": 23166,\n      \"▁Sri\": 23167,\n      \"▁Ship\": 23168,\n      \"▁halfway\": 23169,\n      \"▁Rum\": 23170,\n      \"Scheme\": 23171,\n      \"▁Cz\": 23172,\n      \"▁DMA\": 23173,\n      \"▁encoded\": 23174,\n      \"itize\": 23175,\n      \"▁sore\": 23176,\n      \"ByName\": 23177,\n      \"FIN\": 23178,\n      \"▁orden\": 23179,\n      \"▁allies\": 23180,\n      \"▁Ł\": 23181,\n      \"▁Reserved\": 23182,\n      \"▁competing\": 23183,\n      \"▁Coord\": 23184,\n      \"▁Drag\": 23185,\n      \"Codec\": 23186,\n      \"TARGET\": 23187,\n      \"cticut\": 23188,\n      \"graded\": 23189,\n      \"▁angel\": 23190,\n      \"▁screening\": 23191,\n      \"rijk\": 23192,\n      \"▁adequate\": 23193,\n      \"STER\": 23194,\n      \"▁vag\": 23195,\n      \"▁wyst\": 23196,\n      \"▁kwargs\": 23197,\n      \"▁compiler\": 23198,\n      \"▁mainstream\": 23199,\n      \"▁drm\": 23200,\n      \"Fix\": 23201,\n      \"illion\": 23202,\n      \"▁erhielt\": 23203,\n      \"▁vain\": 23204,\n      \"attering\": 23205,\n      \"analysis\": 23206,\n      \"techn\": 23207,\n      \"▁Movie\": 23208,\n      \"▁mejor\": 23209,\n      \"▁streak\": 23210,\n      \">/\": 23211,\n      \"▁роди\": 23212,\n      \"▁sophisticated\": 23213,\n      \"▁Rhe\": 23214,\n      \"ussy\": 23215,\n      \"▁Syria\": 23216,\n      \"▁Caroline\": 23217,\n      \"riterion\": 23218,\n      \"érc\": 23219,\n      \"Love\": 23220,\n      \"▁cycles\": 23221,\n      \"▁Terms\": 23222,\n      \"▁medieval\": 23223,\n      \"ья\": 23224,\n      \"▁missions\": 23225,\n      \"Hard\": 23226,\n      \"▁région\": 23227,\n      \"▁Phoenix\": 23228,\n      \"Deep\": 23229,\n      \"▁sampling\": 23230,\n      \"▁dismissed\": 23231,\n      \"propri\": 23232,\n      \"▁judges\": 23233,\n      \"ała\": 23234,\n      \"ulos\": 23235,\n      \"▁Lion\": 23236,\n      \"▁locals\": 23237,\n      \"negative\": 23238,\n      \"ogeneous\": 23239,\n      \"▁Api\": 23240,\n      \"▁dici\": 23241,\n      \"▁апре\": 23242,\n      \"▁authorized\": 23243,\n      \"zerw\": 23244,\n      \"▁pg\": 23245,\n      \"▁AWS\": 23246,\n      \"▁keyword\": 23247,\n      \"▁entrepreneur\": 23248,\n      \"▁прое\": 23249,\n      \"▁Vancouver\": 23250,\n      \"itating\": 23251,\n      \"Fast\": 23252,\n      \"▁acknowledged\": 23253,\n      \"▁tourist\": 23254,\n      \"▁Grid\": 23255,\n      \"▁Entry\": 23256,\n      \"▁gebru\": 23257,\n      \"sat\": 23258,\n      \"berger\": 23259,\n      \"▁TF\": 23260,\n      \"▁mt\": 23261,\n      \"▁Marcel\": 23262,\n      \"▁Twenty\": 23263,\n      \"▁”\": 23264,\n      \"{}{\": 23265,\n      \"hint\": 23266,\n      \"▁anonymous\": 23267,\n      \"Camp\": 23268,\n      \"▁**_\": 23269,\n      \"ByComparator\": 23270,\n      \"UC\": 23271,\n      \"▁tö\": 23272,\n      \"EventHandler\": 23273,\n      \"▁tours\": 23274,\n      \"▁lonely\": 23275,\n      \"▁Summary\": 23276,\n      \"stick\": 23277,\n      \"Allowed\": 23278,\n      \"лів\": 23279,\n      \"▁Brew\": 23280,\n      \"AMETER\": 23281,\n      \"▁reviewed\": 23282,\n      \"irat\": 23283,\n      \"▁nerve\": 23284,\n      \"▁Linda\": 23285,\n      \"▁decis\": 23286,\n      \"▁spokes\": 23287,\n      \"▁qued\": 23288,\n      \"▁FT\": 23289,\n      \"▁він\": 23290,\n      \"ousing\": 23291,\n      \"▁Large\": 23292,\n      \"▁opponents\": 23293,\n      \"▁Disc\": 23294,\n      \"Foundation\": 23295,\n      \"EQUAL\": 23296,\n      \"ogg\": 23297,\n      \"Retry\": 23298,\n      \"CHANNEL\": 23299,\n      \"▁Евро\": 23300,\n      \"▁%.\": 23301,\n      \"▁ii\": 23302,\n      \"dead\": 23303,\n      \"▁Male\": 23304,\n      \"Completed\": 23305,\n      \"typ\": 23306,\n      \"▁Tyler\": 23307,\n      \"Disk\": 23308,\n      \"Hide\": 23309,\n      \"ijuana\": 23310,\n      \"▁publications\": 23311,\n      \"fox\": 23312,\n      \"vised\": 23313,\n      \"Foreign\": 23314,\n      \"WriteLine\": 23315,\n      \"дера\": 23316,\n      \"▁remainder\": 23317,\n      \"Picker\": 23318,\n      \"wealth\": 23319,\n      \"▁Gor\": 23320,\n      \"sequently\": 23321,\n      \"▁collision\": 23322,\n      \"▁Harrison\": 23323,\n      \"▁workplace\": 23324,\n      \"▁Normal\": 23325,\n      \"▁Birth\": 23326,\n      \"▁consume\": 23327,\n      \"Shift\": 23328,\n      \"▁avoiding\": 23329,\n      \"▁Cha\": 23330,\n      \"▁Anti\": 23331,\n      \"▁charts\": 23332,\n      \"▁Pav\": 23333,\n      \"ством\": 23334,\n      \"ualmente\": 23335,\n      \"aned\": 23336,\n      \"▁Auch\": 23337,\n      \"rdev\": 23338,\n      \"▁sheer\": 23339,\n      \"▁angl\": 23340,\n      \"substr\": 23341,\n      \"Generate\": 23342,\n      \">=\": 23343,\n      \"▁Bev\": 23344,\n      \"▁чем\": 23345,\n      \"▁campo\": 23346,\n      \"▁lecture\": 23347,\n      \"hyper\": 23348,\n      \"▁Baltimore\": 23349,\n      \"mix\": 23350,\n      \"keiten\": 23351,\n      \"▁ради\": 23352,\n      \"▁lasted\": 23353,\n      \"▁discrimination\": 23354,\n      \"igte\": 23355,\n      \"okal\": 23356,\n      \"Phase\": 23357,\n      \"▁Titel\": 23358,\n      \"▁Fifth\": 23359,\n      \"▁diagnostic\": 23360,\n      \"sung\": 23361,\n      \"▁giornata\": 23362,\n      \"osta\": 23363,\n      \"isco\": 23364,\n      \"▁Sara\": 23365,\n      \"mv\": 23366,\n      \"▁elő\": 23367,\n      \"▁Rosen\": 23368,\n      \"▁ESP\": 23369,\n      \"pher\": 23370,\n      \"▁aj\": 23371,\n      \"Paths\": 23372,\n      \"▁Ralph\": 23373,\n      \"▁že\": 23374,\n      \"рев\": 23375,\n      \"▁около\": 23376,\n      \"▁Agreement\": 23377,\n      \"▁WordPress\": 23378,\n      \"antry\": 23379,\n      \"▁picks\": 23380,\n      \"▁Nur\": 23381,\n      \"cheduled\": 23382,\n      \"kie\": 23383,\n      \"▁representations\": 23384,\n      \"++){\": 23385,\n      \"essment\": 23386,\n      \"▁countless\": 23387,\n      \"Blocks\": 23388,\n      \"yme\": 23389,\n      \"▁clo\": 23390,\n      \"▁Bened\": 23391,\n      \"chars\": 23392,\n      \"▁Agent\": 23393,\n      \"▁historia\": 23394,\n      \"▁Floor\": 23395,\n      \"▁tenía\": 23396,\n      \"▁longest\": 23397,\n      \"frica\": 23398,\n      \"▁bef\": 23399,\n      \"▁mechanisms\": 23400,\n      \"лази\": 23401,\n      \"▁heter\": 23402,\n      \"▁athletes\": 23403,\n      \"▁periodic\": 23404,\n      \"▁Votes\": 23405,\n      \"ристи\": 23406,\n      \"▁ná\": 23407,\n      \"▁maid\": 23408,\n      \"▁swear\": 23409,\n      \"▁wiped\": 23410,\n      \"▁graphs\": 23411,\n      \"▁thesis\": 23412,\n      \"▁sensation\": 23413,\n      \"persistence\": 23414,\n      \"▁Vil\": 23415,\n      \"acs\": 23416,\n      \"▁deel\": 23417,\n      \"scrib\": 23418,\n      \"iero\": 23419,\n      \"▁discre\": 23420,\n      \"airy\": 23421,\n      \"DataSource\": 23422,\n      \"qt\": 23423,\n      \"iciones\": 23424,\n      \"▁respected\": 23425,\n      \"▁fram\": 23426,\n      \"▁specialized\": 23427,\n      \"▁présent\": 23428,\n      \"Turn\": 23429,\n      \"▁complaints\": 23430,\n      \"(\\\",\": 23431,\n      \"▁Related\": 23432,\n      \"▁Setting\": 23433,\n      \"рю\": 23434,\n      \"▁są\": 23435,\n      \"▁Ple\": 23436,\n      \"▁disse\": 23437,\n      \"caps\": 23438,\n      \"▁Cash\": 23439,\n      \"▁consumed\": 23440,\n      \"▁lb\": 23441,\n      \"Adjust\": 23442,\n      \"Serialize\": 23443,\n      \"isy\": 23444,\n      \"▁patent\": 23445,\n      \"▁visibility\": 23446,\n      \"▁Sach\": 23447,\n      \"ünst\": 23448,\n      \"▁cyber\": 23449,\n      \"▁Blake\": 23450,\n      \"▁Bloom\": 23451,\n      \"▁Shah\": 23452,\n      \"POWER\": 23453,\n      \"▁inclusion\": 23454,\n      \"serie\": 23455,\n      \"▁manera\": 23456,\n      \"seconds\": 23457,\n      \"isches\": 23458,\n      \"▁Candidate\": 23459,\n      \"WD\": 23460,\n      \"opath\": 23461,\n      \"▁програ\": 23462,\n      \"▁efficiently\": 23463,\n      \"apps\": 23464,\n      \"toolbar\": 23465,\n      \"wend\": 23466,\n      \"▁Neil\": 23467,\n      \"▁formats\": 23468,\n      \"▁Template\": 23469,\n      \"▁ministry\": 23470,\n      \"▁Character\": 23471,\n      \"Uniform\": 23472,\n      \"▁fonction\": 23473,\n      \"нем\": 23474,\n      \"While\": 23475,\n      \"ква\": 23476,\n      \"рія\": 23477,\n      \"▁DL\": 23478,\n      \"▁Layout\": 23479,\n      \"нение\": 23480,\n      \"▁caval\": 23481,\n      \"▁Hob\": 23482,\n      \"SPI\": 23483,\n      \"▁hely\": 23484,\n      \"Destination\": 23485,\n      \"),\\r\": 23486,\n      \"▁iOS\": 23487,\n      \"▁admission\": 23488,\n      \"▁css\": 23489,\n      \"userId\": 23490,\n      \"umbling\": 23491,\n      \"▁booking\": 23492,\n      \"▁COPYRIGHT\": 23493,\n      \"▁bland\": 23494,\n      \"outputs\": 23495,\n      \"▁submission\": 23496,\n      \"tit\": 23497,\n      \"fections\": 23498,\n      \"fragment\": 23499,\n      \"▁faç\": 23500,\n      \"▁Throughout\": 23501,\n      \"▁distinguished\": 23502,\n      \"▁arrange\": 23503,\n      \"umeric\": 23504,\n      \"xfe\": 23505,\n      \"ipage\": 23506,\n      \"ержа\": 23507,\n      \"▁Cars\": 23508,\n      \"▁PAGE\": 23509,\n      \"▁aunque\": 23510,\n      \"▁inserted\": 23511,\n      \"smithy\": 23512,\n      \"ALLOC\": 23513,\n      \"REC\": 23514,\n      \"▁Bak\": 23515,\n      \"▁Strong\": 23516,\n      \"achen\": 23517,\n      \"▁Specific\": 23518,\n      \"wq\": 23519,\n      \"▁Ду\": 23520,\n      \"MOVE\": 23521,\n      \"▁música\": 23522,\n      \"▁Cris\": 23523,\n      \"eau\": 23524,\n      \"▁Forum\": 23525,\n      \"listed\": 23526,\n      \")\\\\\\\\\": 23527,\n      \"▁XVI\": 23528,\n      \"▁моло\": 23529,\n      \"/$\": 23530,\n      \"Ber\": 23531,\n      \"▁tactics\": 23532,\n      \"Formatter\": 23533,\n      \"opens\": 23534,\n      \"▁rh\": 23535,\n      \"▁tram\": 23536,\n      \"VL\": 23537,\n      \"▁Profile\": 23538,\n      \"▁parish\": 23539,\n      \"▁Raymond\": 23540,\n      \"▁contempor\": 23541,\n      \"▁Planning\": 23542,\n      \"▁Че\": 23543,\n      \"▁ARM\": 23544,\n      \"▁desires\": 23545,\n      \"kv\": 23546,\n      \"Os\": 23547,\n      \"▁miner\": 23548,\n      \"▁qualify\": 23549,\n      \"iku\": 23550,\n      \"▁derni\": 23551,\n      \"ológ\": 23552,\n      \"▁Kid\": 23553,\n      \"anean\": 23554,\n      \"▁Holland\": 23555,\n      \"Autom\": 23556,\n      \"▁Hamiltonian\": 23557,\n      \"Station\": 23558,\n      \"jsp\": 23559,\n      \"▁YOUR\": 23560,\n      \"▁Thailand\": 23561,\n      \"effective\": 23562,\n      \"пло\": 23563,\n      \"▁relieved\": 23564,\n      \"▁Oklahoma\": 23565,\n      \"▁Julian\": 23566,\n      \"▁indent\": 23567,\n      \"ifr\": 23568,\n      \"преде\": 23569,\n      \"▁flame\": 23570,\n      \"onio\": 23571,\n      \"Assign\": 23572,\n      \"▁shifts\": 23573,\n      \"▁caracter\": 23574,\n      \"ificates\": 23575,\n      \"XR\": 23576,\n      \"▁GFP\": 23577,\n      \"FEATURE\": 23578,\n      \"▁Maine\": 23579,\n      \"▁frank\": 23580,\n      \"▁aligned\": 23581,\n      \"▁pří\": 23582,\n      \"CodeAttribute\": 23583,\n      \"▁MAC\": 23584,\n      \"▁Root\": 23585,\n      \"▁FM\": 23586,\n      \"ervation\": 23587,\n      \"слі\": 23588,\n      \"▁shy\": 23589,\n      \"▁particul\": 23590,\n      \"platz\": 23591,\n      \"▁hypothesis\": 23592,\n      \"athol\": 23593,\n      \"sWith\": 23594,\n      \"Js\": 23595,\n      \"$^{-\": 23596,\n      \"▁#!/\": 23597,\n      \"▁lemon\": 23598,\n      \"▁abol\": 23599,\n      \"▁Milan\": 23600,\n      \"anten\": 23601,\n      \"▁sia\": 23602,\n      \"rias\": 23603,\n      \"▁consid\": 23604,\n      \"asso\": 23605,\n      \"ainers\": 23606,\n      \"▁circa\": 23607,\n      \"retry\": 23608,\n      \"▁nuevo\": 23609,\n      \"constants\": 23610,\n      \"▁Mediterr\": 23611,\n      \"▁Turkish\": 23612,\n      \"ionen\": 23613,\n      \"crypto\": 23614,\n      \"▁evolved\": 23615,\n      \"▁\\\"</\": 23616,\n      \"▁Usually\": 23617,\n      \"▁hanno\": 23618,\n      \"▁MT\": 23619,\n      \"Dimension\": 23620,\n      \"onial\": 23621,\n      \"▁closet\": 23622,\n      \"▁stride\": 23623,\n      \"▁epid\": 23624,\n      \"▁Historical\": 23625,\n      \"▁Creative\": 23626,\n      \"▁attacking\": 23627,\n      \"▁Introduction\": 23628,\n      \"▁vita\": 23629,\n      \"▁stating\": 23630,\n      \"▁envelope\": 23631,\n      \"▁volatile\": 23632,\n      \"--------------\": 23633,\n      \"gain\": 23634,\n      \"▁toggle\": 23635,\n      \"Integr\": 23636,\n      \"BUT\": 23637,\n      \"▁defending\": 23638,\n      \"aal\": 23639,\n      \"▁Mong\": 23640,\n      \"▁refriger\": 23641,\n      \"cleanup\": 23642,\n      \"▁parked\": 23643,\n      \"nf\": 23644,\n      \"▁lighter\": 23645,\n      \"▁registry\": 23646,\n      \"▁Annual\": 23647,\n      \"▁testimony\": 23648,\n      \"▁Harper\": 23649,\n      \"Debugger\": 23650,\n      \"ologically\": 23651,\n      \"▁compiled\": 23652,\n      \"Har\": 23653,\n      \"▁Graf\": 23654,\n      \"▁hallway\": 23655,\n      \"▁norte\": 23656,\n      \"▁Restaur\": 23657,\n      \"▁Loren\": 23658,\n      \"jj\": 23659,\n      \"▁phr\": 23660,\n      \"inters\": 23661,\n      \"▁convergence\": 23662,\n      \"uese\": 23663,\n      \"controls\": 23664,\n      \"stride\": 23665,\n      \"▁valor\": 23666,\n      \"єю\": 23667,\n      \"esen\": 23668,\n      \"ENDOR\": 23669,\n      \"glob\": 23670,\n      \"▁sha\": 23671,\n      \"▁Utah\": 23672,\n      \"wallet\": 23673,\n      \"\\\\/\": 23674,\n      \"▁Natal\": 23675,\n      \"▁modest\": 23676,\n      \"adr\": 23677,\n      \"▁proxim\": 23678,\n      \"sburgh\": 23679,\n      \"▁edific\": 23680,\n      \"▁queries\": 23681,\n      \"archive\": 23682,\n      \"▁pine\": 23683,\n      \"▁í\": 23684,\n      \"HEADER\": 23685,\n      \"▁tc\": 23686,\n      \"psy\": 23687,\n      \"▁beast\": 23688,\n      \"▁determining\": 23689,\n      \"▁junk\": 23690,\n      \"▁creep\": 23691,\n      \"cols\": 23692,\n      \"▁nan\": 23693,\n      \"▁portions\": 23694,\n      \"imos\": 23695,\n      \"gru\": 23696,\n      \"▁Zero\": 23697,\n      \"beck\": 23698,\n      \"▁Stevens\": 23699,\n      \"numeric\": 23700,\n      \"▁guided\": 23701,\n      \"▁Pool\": 23702,\n      \"оне\": 23703,\n      \"▁Gel\": 23704,\n      \"▁ace\": 23705,\n      \"▁ан\": 23706,\n      \"▁Sau\": 23707,\n      \"chten\": 23708,\n      \"Operations\": 23709,\n      \"SF\": 23710,\n      \"▁imprison\": 23711,\n      \"▁unity\": 23712,\n      \"▁'''\": 23713,\n      \"▁mayo\": 23714,\n      \"eken\": 23715,\n      \"▁faded\": 23716,\n      \"▁Convention\": 23717,\n      \"entre\": 23718,\n      \"compatible\": 23719,\n      \"ního\": 23720,\n      \"Than\": 23721,\n      \"▁först\": 23722,\n      \"▁widespread\": 23723,\n      \"dirty\": 23724,\n      \"▁Negro\": 23725,\n      \"kil\": 23726,\n      \"does\": 23727,\n      \"lando\": 23728,\n      \"▁catching\": 23729,\n      \"▁cere\": 23730,\n      \"▁IllegalArgument\": 23731,\n      \"▁Portland\": 23732,\n      \"▁Stuart\": 23733,\n      \"ERNAL\": 23734,\n      \"▁penis\": 23735,\n      \"▁brutal\": 23736,\n      \"▁hed\": 23737,\n      \"forming\": 23738,\n      \"Arrays\": 23739,\n      \"▁TABLE\": 23740,\n      \"▁lease\": 23741,\n      \"▁equipo\": 23742,\n      \"ondo\": 23743,\n      \"facebook\": 23744,\n      \"EOF\": 23745,\n      \"gz\": 23746,\n      \"▁irq\": 23747,\n      \"▁sentences\": 23748,\n      \"▁différent\": 23749,\n      \"avg\": 23750,\n      \"dependent\": 23751,\n      \"▁Render\": 23752,\n      \"▁haar\": 23753,\n      \"override\": 23754,\n      \"▁households\": 23755,\n      \"dro\": 23756,\n      \"Decode\": 23757,\n      \"PCM\": 23758,\n      \"▁unders\": 23759,\n      \"▁Lap\": 23760,\n      \"▁accompanying\": 23761,\n      \"/_\": 23762,\n      \"DEC\": 23763,\n      \"▁Bis\": 23764,\n      \"▁epic\": 23765,\n      \"angs\": 23766,\n      \"parency\": 23767,\n      \"▁Lloyd\": 23768,\n      \"gmail\": 23769,\n      \"upiter\": 23770,\n      \"alties\": 23771,\n      \"]\\\",\": 23772,\n      \"▁copied\": 23773,\n      \"▁Properties\": 23774,\n      \"DAT\": 23775,\n      \"NUMBER\": 23776,\n      \"▁сов\": 23777,\n      \"oki\": 23778,\n      \"▁Behind\": 23779,\n      \"▁Hav\": 23780,\n      \"▁Chat\": 23781,\n      \"▁psychology\": 23782,\n      \"▁Fellow\": 23783,\n      \"▁epoch\": 23784,\n      \"▁aunt\": 23785,\n      \"▁Kinder\": 23786,\n      \"BAD\": 23787,\n      \"ENABLED\": 23788,\n      \"▁completing\": 23789,\n      \"▁presid\": 23790,\n      \"нове\": 23791,\n      \"▁Hat\": 23792,\n      \"▁nested\": 23793,\n      \"▁archive\": 23794,\n      \"COND\": 23795,\n      \"jà\": 23796,\n      \"мира\": 23797,\n      \"▁effectiveness\": 23798,\n      \"▁incorporated\": 23799,\n      \"▁toujours\": 23800,\n      \"interrupt\": 23801,\n      \"Running\": 23802,\n      \"▁aller\": 23803,\n      \"▁souls\": 23804,\n      \"Reply\": 23805,\n      \"neut\": 23806,\n      \"▁interven\": 23807,\n      \"WAIT\": 23808,\n      \"Hi\": 23809,\n      \"eks\": 23810,\n      \"ología\": 23811,\n      \"▁schemes\": 23812,\n      \"dzie\": 23813,\n      \"olph\": 23814,\n      \"bey\": 23815,\n      \"▁witch\": 23816,\n      \"choice\": 23817,\n      \"▁merchant\": 23818,\n      \"▁Infan\": 23819,\n      \"/${\": 23820,\n      \"▁Construct\": 23821,\n      \"▁spher\": 23822,\n      \"▁addiction\": 23823,\n      \"▁sciences\": 23824,\n      \"ében\": 23825,\n      \"▁registers\": 23826,\n      \"achi\": 23827,\n      \"▁penetr\": 23828,\n      \"auses\": 23829,\n      \"▁prescription\": 23830,\n      \"printStackTrace\": 23831,\n      \"▁trunc\": 23832,\n      \"fprintf\": 23833,\n      \"HH\": 23834,\n      \"Opcode\": 23835,\n      \"▁userId\": 23836,\n      \"▁Agricult\": 23837,\n      \"▁районе\": 23838,\n      \"пан\": 23839,\n      \"ició\": 23840,\n      \"▁recipient\": 23841,\n      \"Whe\": 23842,\n      \"uits\": 23843,\n      \"▁нов\": 23844,\n      \"▁Yang\": 23845,\n      \"glass\": 23846,\n      \"▁grinding\": 23847,\n      \"▁Armen\": 23848,\n      \"▁Viv\": 23849,\n      \"▁naval\": 23850,\n      \"▁selon\": 23851,\n      \"Band\": 23852,\n      \"▁représent\": 23853,\n      \"]{\\\\\": 23854,\n      \"▁lä\": 23855,\n      \"omas\": 23856,\n      \"▁districts\": 23857,\n      \"шки\": 23858,\n      \"▁Meet\": 23859,\n      \"icates\": 23860,\n      \"▁shouting\": 23861,\n      \"agner\": 23862,\n      \"▁sect\": 23863,\n      \"▁dello\": 23864,\n      \"▁fighter\": 23865,\n      \"tooltip\": 23866,\n      \"▁Intent\": 23867,\n      \"▁divisions\": 23868,\n      \"▁exponent\": 23869,\n      \"▁Ві\": 23870,\n      \"SYNC\": 23871,\n      \"▁jokes\": 23872,\n      \"UES\": 23873,\n      \"Arrow\": 23874,\n      \"▁substitute\": 23875,\n      \"еред\": 23876,\n      \"▁народ\": 23877,\n      \"▁seam\": 23878,\n      \"▁Mundial\": 23879,\n      \"('<\": 23880,\n      \"mile\": 23881,\n      \"▁мор\": 23882,\n      \"▁OB\": 23883,\n      \"▁zam\": 23884,\n      \"ufficient\": 23885,\n      \"Phil\": 23886,\n      \"dire\": 23887,\n      \"Opts\": 23888,\n      \"▁frightened\": 23889,\n      \"iface\": 23890,\n      \"▁otras\": 23891,\n      \"uffy\": 23892,\n      \"eight\": 23893,\n      \"Ann\": 23894,\n      \"▁Admiral\": 23895,\n      \"USH\": 23896,\n      \"},{\": 23897,\n      \"▁tijd\": 23898,\n      \"eward\": 23899,\n      \"▁Egyptian\": 23900,\n      \"▁Era\": 23901,\n      \"▁aur\": 23902,\n      \"▁режи\": 23903,\n      \"щу\": 23904,\n      \"atan\": 23905,\n      \"▁czas\": 23906,\n      \"▁tackle\": 23907,\n      \"▁pecul\": 23908,\n      \"Ro\": 23909,\n      \"▁preserved\": 23910,\n      \">?\": 23911,\n      \"▁públic\": 23912,\n      \"▁comprend\": 23913,\n      \"allo\": 23914,\n      \"zoom\": 23915,\n      \"▁datetime\": 23916,\n      \"▁mondiale\": 23917,\n      \"мат\": 23918,\n      \"▁Mask\": 23919,\n      \"▁prow\": 23920,\n      \"▁belonging\": 23921,\n      \"+'\": 23922,\n      \"OUTPUT\": 23923,\n      \"▁Grab\": 23924,\n      \"Mir\": 23925,\n      \"▁accommodate\": 23926,\n      \"▁$('#\": 23927,\n      \"▁Louise\": 23928,\n      \"▁damit\": 23929,\n      \"}',\": 23930,\n      \"scripts\": 23931,\n      \"snapshot\": 23932,\n      \"▁shitty\": 23933,\n      \"▁yo\": 23934,\n      \"▁believing\": 23935,\n      \"▁inhabitants\": 23936,\n      \"WP\": 23937,\n      \"▁Colombia\": 23938,\n      \"lists\": 23939,\n      \"▁Murphy\": 23940,\n      \"Dataset\": 23941,\n      \"▁(!$\": 23942,\n      \"▁tremendous\": 23943,\n      \"▁señ\": 23944,\n      \"▁Sed\": 23945,\n      \"▁swallowed\": 23946,\n      \"omp\": 23947,\n      \"▁Late\": 23948,\n      \"▁anys\": 23949,\n      \"▁deadly\": 23950,\n      \"follow\": 23951,\n      \"▁Anc\": 23952,\n      \"▁hw\": 23953,\n      \"wikipedia\": 23954,\n      \"icts\": 23955,\n      \"▁Alaska\": 23956,\n      \"▁scary\": 23957,\n      \"▁secondo\": 23958,\n      \"▁heroes\": 23959,\n      \"▁veteran\": 23960,\n      \"▁behaviors\": 23961,\n      \"-%\": 23962,\n      \"▁Ez\": 23963,\n      \"▁сі\": 23964,\n      \"tikz\": 23965,\n      \"▁spectacular\": 23966,\n      \"▁Chron\": 23967,\n      \"▁(@\": 23968,\n      \"▁demo\": 23969,\n      \"▁serialized\": 23970,\n      \"▁Independ\": 23971,\n      \"BUILD\": 23972,\n      \"failure\": 23973,\n      \"▁PORT\": 23974,\n      \"ючи\": 23975,\n      \"▁meditation\": 23976,\n      \"samples\": 23977,\n      \"ião\": 23978,\n      \"▁Никола\": 23979,\n      \"▁язы\": 23980,\n      \"▁Truth\": 23981,\n      \"▁coefficient\": 23982,\n      \"slug\": 23983,\n      \"▁XVIII\": 23984,\n      \"iao\": 23985,\n      \"deck\": 23986,\n      \"▁разви\": 23987,\n      \"▁adoles\": 23988,\n      \"arius\": 23989,\n      \"▁Haz\": 23990,\n      \"▁Protest\": 23991,\n      \"rade\": 23992,\n      \"нения\": 23993,\n      \"▁clause\": 23994,\n      \"connector\": 23995,\n      \"RATE\": 23996,\n      \"цю\": 23997,\n      \"▁Connecticut\": 23998,\n      \"VS\": 23999,\n      \"abulary\": 24000,\n      \"HOW\": 24001,\n      \"▁delen\": 24002,\n      \"▁suited\": 24003,\n      \"▁Survey\": 24004,\n      \"zec\": 24005,\n      \"ții\": 24006,\n      \"▁backs\": 24007,\n      \"commerce\": 24008,\n      \"▁Andrea\": 24009,\n      \"▁propaganda\": 24010,\n      \"izioni\": 24011,\n      \"▁Bil\": 24012,\n      \"▁Innov\": 24013,\n      \"▁forgive\": 24014,\n      \"▁operates\": 24015,\n      \"чний\": 24016,\n      \"▁lingu\": 24017,\n      \"▁collar\": 24018,\n      \"дол\": 24019,\n      \"сій\": 24020,\n      \"zten\": 24021,\n      \"imat\": 24022,\n      \"▁shoe\": 24023,\n      \"gender\": 24024,\n      \"▁legally\": 24025,\n      \"ROP\": 24026,\n      \"▁Sleep\": 24027,\n      \"delegate\": 24028,\n      \"IDs\": 24029,\n      \"▁builds\": 24030,\n      \"▁quer\": 24031,\n      \"ulsion\": 24032,\n      \".“\": 24033,\n      \"кло\": 24034,\n      \"rise\": 24035,\n      \"think\": 24036,\n      \"Ко\": 24037,\n      \"▁bacteria\": 24038,\n      \"▁magnific\": 24039,\n      \"▁prisoner\": 24040,\n      \"Clock\": 24041,\n      \"RB\": 24042,\n      \"út\": 24043,\n      \"▁Liz\": 24044,\n      \"gra\": 24045,\n      \"▁André\": 24046,\n      \"▁Dennis\": 24047,\n      \"▁surge\": 24048,\n      \"existing\": 24049,\n      \"▁Wald\": 24050,\n      \"▁Schema\": 24051,\n      \"▁warnings\": 24052,\n      \"▁quadr\": 24053,\n      \"atte\": 24054,\n      \"▁Eins\": 24055,\n      \"▁adoption\": 24056,\n      \"▁wanna\": 24057,\n      \"▁derive\": 24058,\n      \"▁arena\": 24059,\n      \"▁Denver\": 24060,\n      \"▁Fi\": 24061,\n      \"▁Jessica\": 24062,\n      \"acyj\": 24063,\n      \"Ratio\": 24064,\n      \"▁которые\": 24065,\n      \"▁Activity\": 24066,\n      \"emu\": 24067,\n      \"▁Stalin\": 24068,\n      \"aggi\": 24069,\n      \"▁fün\": 24070,\n      \"▁fils\": 24071,\n      \"aju\": 24072,\n      \"cards\": 24073,\n      \"▁attraction\": 24074,\n      \"odot\": 24075,\n      \"Fat\": 24076,\n      \"▁Haven\": 24077,\n      \"▁nineteenth\": 24078,\n      \"▁**\\\"\": 24079,\n      \"▁maggio\": 24080,\n      \"many\": 24081,\n      \"winning\": 24082,\n      \"▁GA\": 24083,\n      \"▁dummy\": 24084,\n      \"Unable\": 24085,\n      \"enci\": 24086,\n      \"èrent\": 24087,\n      \"Img\": 24088,\n      \"▁tob\": 24089,\n      \"DIP\": 24090,\n      \"Since\": 24091,\n      \"▁Safe\": 24092,\n      \"Guard\": 24093,\n      \"isure\": 24094,\n      \"porte\": 24095,\n      \"▁stadium\": 24096,\n      \"indi\": 24097,\n      \"▁Apparently\": 24098,\n      \"ugno\": 24099,\n      \"▁wolf\": 24100,\n      \"▁neces\": 24101,\n      \"▁overseas\": 24102,\n      \"ofs\": 24103,\n      \"arel\": 24104,\n      \"▁Fine\": 24105,\n      \"▁corrupt\": 24106,\n      \"▁november\": 24107,\n      \"▁interpreted\": 24108,\n      \"ibile\": 24109,\n      \"▁wages\": 24110,\n      \"▁Pretty\": 24111,\n      \"▁Herbert\": 24112,\n      \"▁registr\": 24113,\n      \"вым\": 24114,\n      \"answer\": 24115,\n      \"▁morte\": 24116,\n      \"▁composite\": 24117,\n      \"Toolbar\": 24118,\n      \"▁iterator\": 24119,\n      \"antine\": 24120,\n      \"▁initialized\": 24121,\n      \"▁poorly\": 24122,\n      \"Accessor\": 24123,\n      \"▁Hannah\": 24124,\n      \"▁только\": 24125,\n      \"olan\": 24126,\n      \"▁otto\": 24127,\n      \"▁strikes\": 24128,\n      \"▁conflicts\": 24129,\n      \"▁surg\": 24130,\n      \"▁historian\": 24131,\n      \"woman\": 24132,\n      \"▁libraries\": 24133,\n      \"bew\": 24134,\n      \")--(\": 24135,\n      \"gather\": 24136,\n      \"▁Lip\": 24137,\n      \"▁fict\": 24138,\n      \"FILTER\": 24139,\n      \"@{\": 24140,\n      \"▁blessed\": 24141,\n      \"etics\": 24142,\n      \"▁fork\": 24143,\n      \"▁Metal\": 24144,\n      \"polation\": 24145,\n      \"▁negotiations\": 24146,\n      \"▁genus\": 24147,\n      \"▁controlling\": 24148,\n      \"VERT\": 24149,\n      \"▁Perry\": 24150,\n      \"▁SPD\": 24151,\n      \"CASE\": 24152,\n      \"твер\": 24153,\n      \"▁Crown\": 24154,\n      \"▁indul\": 24155,\n      \"▁ehemal\": 24156,\n      \"▁amplitude\": 24157,\n      \"▁Bach\": 24158,\n      \"▁photographer\": 24159,\n      \"ný\": 24160,\n      \"▁invested\": 24161,\n      \"▁Parte\": 24162,\n      \"▁prolong\": 24163,\n      \"CU\": 24164,\n      \"ichtet\": 24165,\n      \"resume\": 24166,\n      \"▁carb\": 24167,\n      \"urst\": 24168,\n      \"▁Nixon\": 24169,\n      \"▁neur\": 24170,\n      \"▁corporations\": 24171,\n      \"Ops\": 24172,\n      \"uu\": 24173,\n      \"lm\": 24174,\n      \"apple\": 24175,\n      \"chte\": 24176,\n      \"▁deliberately\": 24177,\n      \"bere\": 24178,\n      \"▁febr\": 24179,\n      \"▁provincia\": 24180,\n      \"Overflow\": 24181,\n      \"▁Eight\": 24182,\n      \"▁indication\": 24183,\n      \"▁pistol\": 24184,\n      \"▁кре\": 24185,\n      \"ocial\": 24186,\n      \"▁rund\": 24187,\n      \"▁sehr\": 24188,\n      \"okat\": 24189,\n      \"ület\": 24190,\n      \"▁Heat\": 24191,\n      \"На\": 24192,\n      \"▁один\": 24193,\n      \"ICS\": 24194,\n      \"aye\": 24195,\n      \"▁eighteen\": 24196,\n      \"▁tug\": 24197,\n      \"LOT\": 24198,\n      \"▁Lar\": 24199,\n      \"nings\": 24200,\n      \"▁Todd\": 24201,\n      \"▁organisations\": 24202,\n      \"▁genes\": 24203,\n      \"Bag\": 24204,\n      \"Keep\": 24205,\n      \"^{+\": 24206,\n      \"Based\": 24207,\n      \"skin\": 24208,\n      \"▁todas\": 24209,\n      \"▁illustrated\": 24210,\n      \"▁cf\": 24211,\n      \"▁arriving\": 24212,\n      \"▁excessive\": 24213,\n      \"▁traits\": 24214,\n      \"▁sank\": 24215,\n      \"▁Attribute\": 24216,\n      \"▁GD\": 24217,\n      \"compar\": 24218,\n      \"▁dentro\": 24219,\n      \"bris\": 24220,\n      \"▁atoms\": 24221,\n      \"fred\": 24222,\n      \"▁Eval\": 24223,\n      \"▁distances\": 24224,\n      \"staw\": 24225,\n      \"країн\": 24226,\n      \"variables\": 24227,\n      \"lc\": 24228,\n      \"нали\": 24229,\n      \"▁чемпиона\": 24230,\n      \"wij\": 24231,\n      \"▁Similar\": 24232,\n      \"jek\": 24233,\n      \"Pet\": 24234,\n      \"=\\\"$\": 24235,\n      \"кото\": 24236,\n      \"▁Rang\": 24237,\n      \"ionato\": 24238,\n      \"▁bekannt\": 24239,\n      \"!*\": 24240,\n      \"Lim\": 24241,\n      \"▁conclusions\": 24242,\n      \"ainte\": 24243,\n      \"-,\": 24244,\n      \"▁gł\": 24245,\n      \"▁passive\": 24246,\n      \"▁Gaussian\": 24247,\n      \"▁stagione\": 24248,\n      \"MEDI\": 24249,\n      \"itol\": 24250,\n      \"▁Jeremy\": 24251,\n      \"Views\": 24252,\n      \"classList\": 24253,\n      \"▁desperately\": 24254,\n      \"▁verl\": 24255,\n      \"brace\": 24256,\n      \"NP\": 24257,\n      \"▁cob\": 24258,\n      \"▁Arist\": 24259,\n      \"dap\": 24260,\n      \"Filters\": 24261,\n      \"'=>'\": 24262,\n      \"ultan\": 24263,\n      \"▁Factory\": 24264,\n      \"èle\": 24265,\n      \"▁lasting\": 24266,\n      \"▁elementary\": 24267,\n      \"▁CM\": 24268,\n      \"▁Louisiana\": 24269,\n      \"▁pov\": 24270,\n      \"PCI\": 24271,\n      \"ède\": 24272,\n      \"▁Pink\": 24273,\n      \"▁Bruno\": 24274,\n      \"▁Yellow\": 24275,\n      \"▁evangel\": 24276,\n      \"▁likelihood\": 24277,\n      \"WIDTH\": 24278,\n      \"▁$-\": 24279,\n      \"nico\": 24280,\n      \"hui\": 24281,\n      \"akter\": 24282,\n      \"neurs\": 24283,\n      \"▁breeze\": 24284,\n      \"▁соста\": 24285,\n      \"▁Header\": 24286,\n      \"områ\": 24287,\n      \"▁Dylan\": 24288,\n      \"▁Biographie\": 24289,\n      \"▁Universität\": 24290,\n      \"onso\": 24291,\n      \"HANDLE\": 24292,\n      \"Journal\": 24293,\n      \"east\": 24294,\n      \"▁suppliers\": 24295,\n      \"▁tablet\": 24296,\n      \"LIC\": 24297,\n      \"PERTY\": 24298,\n      \"їв\": 24299,\n      \"▁zaw\": 24300,\n      \"▁subm\": 24301,\n      \"▁Fernando\": 24302,\n      \"▁nouvelle\": 24303,\n      \"▁Points\": 24304,\n      \"▁strangers\": 24305,\n      \"ComponentModel\": 24306,\n      \"istro\": 24307,\n      \"aurus\": 24308,\n      \"▁sanct\": 24309,\n      \"▁одна\": 24310,\n      \"▁Вы\": 24311,\n      \"▁она\": 24312,\n      \"vertical\": 24313,\n      \"Spring\": 24314,\n      \"▁Harold\": 24315,\n      \"▁Background\": 24316,\n      \"Balance\": 24317,\n      \"Keyword\": 24318,\n      \"~$\\\\\": 24319,\n      \"malloc\": 24320,\n      \"ORMAL\": 24321,\n      \"Skip\": 24322,\n      \"▁Muham\": 24323,\n      \"▁backwards\": 24324,\n      \"ców\": 24325,\n      \"пози\": 24326,\n      \"▁backend\": 24327,\n      \"▁deemed\": 24328,\n      \"▁accurately\": 24329,\n      \"▁transc\": 24330,\n      \"▁Broadway\": 24331,\n      \"▁grud\": 24332,\n      \"▁Namen\": 24333,\n      \"▁shifting\": 24334,\n      \"▁mentally\": 24335,\n      \"▁calories\": 24336,\n      \"▁consensus\": 24337,\n      \"Permissions\": 24338,\n      \"▁objet\": 24339,\n      \"▁elaborate\": 24340,\n      \"atts\": 24341,\n      \"▁snake\": 24342,\n      \"▁refres\": 24343,\n      \"aru\": 24344,\n      \"▁reflects\": 24345,\n      \"ounge\": 24346,\n      \"Rank\": 24347,\n      \"▁Kurt\": 24348,\n      \"▁pied\": 24349,\n      \"▁expedition\": 24350,\n      \"Vel\": 24351,\n      \"▁Owen\": 24352,\n      \"Lead\": 24353,\n      \"▁utterly\": 24354,\n      \"▁Arbe\": 24355,\n      \"▁breasts\": 24356,\n      \"IPS\": 24357,\n      \"▁hunger\": 24358,\n      \"atem\": 24359,\n      \"▁verschied\": 24360,\n      \"▁Camera\": 24361,\n      \"▁München\": 24362,\n      \"ivals\": 24363,\n      \"▁spraw\": 24364,\n      \"▁Sü\": 24365,\n      \"▁Wasser\": 24366,\n      \"▁mechanics\": 24367,\n      \"Loaded\": 24368,\n      \"dbc\": 24369,\n      \"▁remarks\": 24370,\n      \"▁}).\": 24371,\n      \"▁painter\": 24372,\n      \"▁haut\": 24373,\n      \"Marshal\": 24374,\n      \"ISD\": 24375,\n      \"▁veloc\": 24376,\n      \"▁Incre\": 24377,\n      \"War\": 24378,\n      \"▁рус\": 24379,\n      \"▁compte\": 24380,\n      \"üg\": 24381,\n      \"▁Definition\": 24382,\n      \"▁Gam\": 24383,\n      \"▁Hir\": 24384,\n      \"▁witnessed\": 24385,\n      \"▁gren\": 24386,\n      \"▁hurry\": 24387,\n      \"chet\": 24388,\n      \"reverse\": 24389,\n      \"GF\": 24390,\n      \"▁Quarter\": 24391,\n      \"пла\": 24392,\n      \"▁sar\": 24393,\n      \"sburg\": 24394,\n      \"▁Dit\": 24395,\n      \"▁Arnold\": 24396,\n      \"jk\": 24397,\n      \"▁lambda\": 24398,\n      \"ège\": 24399,\n      \"▁oz\": 24400,\n      \"▁hans\": 24401,\n      \"▁answering\": 24402,\n      \"▁olive\": 24403,\n      \"▁spont\": 24404,\n      \"▁intervals\": 24405,\n      \">@\": 24406,\n      \"▁тран\": 24407,\n      \"▁Focus\": 24408,\n      \"чних\": 24409,\n      \"▁дви\": 24410,\n      \"▁triangle\": 24411,\n      \"▁rally\": 24412,\n      \"▁Punk\": 24413,\n      \"▁Gand\": 24414,\n      \"sections\": 24415,\n      \"ссий\": 24416,\n      \"ACCESS\": 24417,\n      \"harm\": 24418,\n      \"▁Skip\": 24419,\n      \"▁Driver\": 24420,\n      \"▁Santiago\": 24421,\n      \"itung\": 24422,\n      \"▁Barr\": 24423,\n      \"processor\": 24424,\n      \"▁realised\": 24425,\n      \"ąz\": 24426,\n      \"leave\": 24427,\n      \"▁Como\": 24428,\n      \"▁Reviews\": 24429,\n      \"▁изда\": 24430,\n      \"▁earnings\": 24431,\n      \"▁Screen\": 24432,\n      \"grand\": 24433,\n      \"▁april\": 24434,\n      \"▁silently\": 24435,\n      \"edo\": 24436,\n      \"uest\": 24437,\n      \"oooo\": 24438,\n      \"▁История\": 24439,\n      \"раз\": 24440,\n      \"MAGES\": 24441,\n      \"▁Singh\": 24442,\n      \"▁Perfect\": 24443,\n      \"▁revolutionary\": 24444,\n      \"▁ні\": 24445,\n      \"▁Schools\": 24446,\n      \"Rich\": 24447,\n      \"▁chrom\": 24448,\n      \"▁anterior\": 24449,\n      \"▁Indonesia\": 24450,\n      \"Constraints\": 24451,\n      \"▁\\\"__\": 24452,\n      \"▁sixteen\": 24453,\n      \"ére\": 24454,\n      \"мента\": 24455,\n      \"Nil\": 24456,\n      \"jel\": 24457,\n      \"ческие\": 24458,\n      \"▁throne\": 24459,\n      \"▁audiences\": 24460,\n      \"▁ihren\": 24461,\n      \"раб\": 24462,\n      \"Quick\": 24463,\n      \"inburgh\": 24464,\n      \"fico\": 24465,\n      \"▁kidn\": 24466,\n      \"irmingham\": 24467,\n      \"isle\": 24468,\n      \"ización\": 24469,\n      \"▁Champions\": 24470,\n      \"▁высо\": 24471,\n      \"oler\": 24472,\n      \"▁zak\": 24473,\n      \"▁plat\": 24474,\n      \"▁VIII\": 24475,\n      \"atique\": 24476,\n      \"liter\": 24477,\n      \"▁Prest\": 24478,\n      \"inis\": 24479,\n      \"▁scientist\": 24480,\n      \"▁mån\": 24481,\n      \"keley\": 24482,\n      \"▁hyd\": 24483,\n      \"graduate\": 24484,\n      \"oft\": 24485,\n      \"▁NGC\": 24486,\n      \"ongs\": 24487,\n      \"▁tier\": 24488,\n      \"▁Shaw\": 24489,\n      \"unächst\": 24490,\n      \"▁establishing\": 24491,\n      \"▁indicator\": 24492,\n      \"▁Parad\": 24493,\n      \"▁Trail\": 24494,\n      \"UMN\": 24495,\n      \"▁spine\": 24496,\n      \"▁Visual\": 24497,\n      \"::$\": 24498,\n      \"▁teles\": 24499,\n      \"OPER\": 24500,\n      \"▁packaging\": 24501,\n      \"toire\": 24502,\n      \"▁неско\": 24503,\n      \"▁productivity\": 24504,\n      \"Af\": 24505,\n      \"нії\": 24506,\n      \"▁degener\": 24507,\n      \"brit\": 24508,\n      \"Ui\": 24509,\n      \"▁Yam\": 24510,\n      \"▁dough\": 24511,\n      \"osph\": 24512,\n      \"▁clue\": 24513,\n      \"▁реги\": 24514,\n      \"▁meille\": 24515,\n      \"▁tendency\": 24516,\n      \"▁relay\": 24517,\n      \"▁designers\": 24518,\n      \"▁Ту\": 24519,\n      \"Share\": 24520,\n      \"▁bicy\": 24521,\n      \"▁Masters\": 24522,\n      \"▁мно\": 24523,\n      \"▁alternatives\": 24524,\n      \"ето\": 24525,\n      \"▁countr\": 24526,\n      \"▁Wow\": 24527,\n      \"LOCAL\": 24528,\n      \"enue\": 24529,\n      \"▁slim\": 24530,\n      \"кви\": 24531,\n      \"▁tir\": 24532,\n      \"▁doit\": 24533,\n      \"lica\": 24534,\n      \"cipe\": 24535,\n      \"izia\": 24536,\n      \"▁Aires\": 24537,\n      \"▁Falls\": 24538,\n      \"▁concentrate\": 24539,\n      \"▁negl\": 24540,\n      \"▁Rein\": 24541,\n      \"?,\": 24542,\n      \"▁Gott\": 24543,\n      \"▁Verify\": 24544,\n      \"▁Studios\": 24545,\n      \"$('#\": 24546,\n      \"owym\": 24547,\n      \"яв\": 24548,\n      \"Primitive\": 24549,\n      \"▁taxi\": 24550,\n      \"▁Commercial\": 24551,\n      \"▁Чер\": 24552,\n      \"placeholder\": 24553,\n      \"seau\": 24554,\n      \"correct\": 24555,\n      \"heimer\": 24556,\n      \"▁Hof\": 24557,\n      \"▁dia\": 24558,\n      \"▁irr\": 24559,\n      \"▁urged\": 24560,\n      \"▁anom\": 24561,\n      \"▁tarde\": 24562,\n      \"urm\": 24563,\n      \"▁seized\": 24564,\n      \"DOT\": 24565,\n      \"opacity\": 24566,\n      \"Strings\": 24567,\n      \"▁deciding\": 24568,\n      \"▁listeners\": 24569,\n      \"ára\": 24570,\n      \"▁planted\": 24571,\n      \"▁étaient\": 24572,\n      \"Zoom\": 24573,\n      \"ství\": 24574,\n      \"ngth\": 24575,\n      \"äude\": 24576,\n      \"▁Cav\": 24577,\n      \"▁vendor\": 24578,\n      \"▁ż\": 24579,\n      \"▁measuring\": 24580,\n      \"▁necessity\": 24581,\n      \"▁rivers\": 24582,\n      \"▁laboratory\": 24583,\n      \"▁Eff\": 24584,\n      \"▁reproduce\": 24585,\n      \"▁Sak\": 24586,\n      \"▁notebook\": 24587,\n      \"▁reasonably\": 24588,\n      \"iseconds\": 24589,\n      \"▁Partial\": 24590,\n      \"GUID\": 24591,\n      \"▁Period\": 24592,\n      \"▁revealing\": 24593,\n      \"▁conviction\": 24594,\n      \"▁н\": 24595,\n      \"▁були\": 24596,\n      \"▁alternate\": 24597,\n      \"cciones\": 24598,\n      \"▁NAT\": 24599,\n      \"▁canonical\": 24600,\n      \"moz\": 24601,\n      \"▁México\": 24602,\n      \"Mo\": 24603,\n      \"▁ша\": 24604,\n      \"liminary\": 24605,\n      \"fé\": 24606,\n      \"чной\": 24607,\n      \"▁Hamburg\": 24608,\n      \"▁influential\": 24609,\n      \"▁bolt\": 24610,\n      \"azzo\": 24611,\n      \"PHP\": 24612,\n      \"▁Saudi\": 24613,\n      \"▁rm\": 24614,\n      \"▁cerca\": 24615,\n      \"▁decorated\": 24616,\n      \"▁staat\": 24617,\n      \"Lou\": 24618,\n      \"▁competitors\": 24619,\n      \"вої\": 24620,\n      \"▁diamond\": 24621,\n      \"▁mobil\": 24622,\n      \"ClickListener\": 24623,\n      \"setState\": 24624,\n      \"▁süd\": 24625,\n      \";\\\"\": 24626,\n      \"œur\": 24627,\n      \"▁Ludwig\": 24628,\n      \"▁clinic\": 24629,\n      \"▁ego\": 24630,\n      \"Threading\": 24631,\n      \"▁fract\": 24632,\n      \"Reflection\": 24633,\n      \"ossip\": 24634,\n      \"\\\"][\\\"\": 24635,\n      \"▁Lov\": 24636,\n      \"Express\": 24637,\n      \"дри\": 24638,\n      \"ifacts\": 24639,\n      \"▁Often\": 24640,\n      \"▁лу\": 24641,\n      \"▁pets\": 24642,\n      \"▁addressing\": 24643,\n      \"▁mens\": 24644,\n      \"▁EDIT\": 24645,\n      \"udder\": 24646,\n      \"Vertical\": 24647,\n      \"ката\": 24648,\n      \"Capt\": 24649,\n      \"verbose\": 24650,\n      \"▁войны\": 24651,\n      \"UNKNOWN\": 24652,\n      \"units\": 24653,\n      \"permission\": 24654,\n      \"[_\": 24655,\n      \"▁ersch\": 24656,\n      \"▁communes\": 24657,\n      \"UnityEngine\": 24658,\n      \"▁commut\": 24659,\n      \"klass\": 24660,\n      \"▁voltage\": 24661,\n      \"rezent\": 24662,\n      \"perf\": 24663,\n      \"DRV\": 24664,\n      \"▁fame\": 24665,\n      \"▁Spot\": 24666,\n      \"▁Лю\": 24667,\n      \"▁casting\": 24668,\n      \"him\": 24669,\n      \"▁engl\": 24670,\n      \"▁intro\": 24671,\n      \"▁Гу\": 24672,\n      \"Company\": 24673,\n      \"something\": 24674,\n      \"▁clicking\": 24675,\n      \"жива\": 24676,\n      \"▁flames\": 24677,\n      \"▁randomly\": 24678,\n      \"extr\": 24679,\n      \"EqualTo\": 24680,\n      \"anners\": 24681,\n      \"▁parks\": 24682,\n      \"▁murmured\": 24683,\n      \"мия\": 24684,\n      \"▁reasoning\": 24685,\n      \"след\": 24686,\n      \"▁ner\": 24687,\n      \"▁éc\": 24688,\n      \"owners\": 24689,\n      \"▁Дже\": 24690,\n      \"▁meer\": 24691,\n      \"▁typing\": 24692,\n      \"▁happily\": 24693,\n      \".....\": 24694,\n      \"▁Ча\": 24695,\n      \"becca\": 24696,\n      \"▁Papers\": 24697,\n      \"▁Oracle\": 24698,\n      \"▁equilibrium\": 24699,\n      \"management\": 24700,\n      \"Lite\": 24701,\n      \"▁desktop\": 24702,\n      \"ăr\": 24703,\n      \"▁Gill\": 24704,\n      \"dorf\": 24705,\n      \"igg\": 24706,\n      \"▁questa\": 24707,\n      \"Warnings\": 24708,\n      \"overflow\": 24709,\n      \"▁VT\": 24710,\n      \"▁consisted\": 24711,\n      \"▁Abu\": 24712,\n      \"vscale\": 24713,\n      \"JO\": 24714,\n      \"aho\": 24715,\n      \"▁Tensor\": 24716,\n      \"▁hesitated\": 24717,\n      \"▁wenn\": 24718,\n      \"mapsto\": 24719,\n      \"▁controversial\": 24720,\n      \"MF\": 24721,\n      \"▁lac\": 24722,\n      \"▁anch\": 24723,\n      \"▁AA\": 24724,\n      \"itta\": 24725,\n      \"ulin\": 24726,\n      \"▁cler\": 24727,\n      \"▁Diana\": 24728,\n      \"▁Freud\": 24729,\n      \"▁challenged\": 24730,\n      \"лён\": 24731,\n      \"▁seated\": 24732,\n      \"▁smiles\": 24733,\n      \"▁cracked\": 24734,\n      \"▁актив\": 24735,\n      \"ској\": 24736,\n      \"diction\": 24737,\n      \"express\": 24738,\n      \"▁imposed\": 24739,\n      \"▁protests\": 24740,\n      \"▁wounds\": 24741,\n      \"Culture\": 24742,\n      \"NY\": 24743,\n      \"preventDefault\": 24744,\n      \"adio\": 24745,\n      \"▁NEW\": 24746,\n      \"Battle\": 24747,\n      \"▁secolo\": 24748,\n      \"▁Ax\": 24749,\n      \"▁founding\": 24750,\n      \"(\\\"-\": 24751,\n      \"▁retro\": 24752,\n      \"▁potatoes\": 24753,\n      \"important\": 24754,\n      \"ieme\": 24755,\n      \"yside\": 24756,\n      \"dummy\": 24757,\n      \"▁tilt\": 24758,\n      \"▁Rules\": 24759,\n      \"▁unters\": 24760,\n      \"Aud\": 24761,\n      \"VENDOR\": 24762,\n      \"udge\": 24763,\n      \"unal\": 24764,\n      \"▁Adult\": 24765,\n      \"▁impat\": 24766,\n      \"▁repairs\": 24767,\n      \"▁Ferd\": 24768,\n      \"▁Azure\": 24769,\n      \")):\": 24770,\n      \"▁pagina\": 24771,\n      \"▁Episode\": 24772,\n      \"Filename\": 24773,\n      \"▁já\": 24774,\n      \"▁obligation\": 24775,\n      \"ighed\": 24776,\n      \"▁persistent\": 24777,\n      \"Music\": 24778,\n      \"▁Cele\": 24779,\n      \"▁ry\": 24780,\n      \"▁certification\": 24781,\n      \"uld\": 24782,\n      \"▁TL\": 24783,\n      \"▁skirt\": 24784,\n      \"▁Mini\": 24785,\n      \"▁Bring\": 24786,\n      \"><?\": 24787,\n      \"▁discrete\": 24788,\n      \"▁teas\": 24789,\n      \"▁audit\": 24790,\n      \"MIT\": 24791,\n      \"евич\": 24792,\n      \"▁whoever\": 24793,\n      \"▁Bald\": 24794,\n      \"▁Opera\": 24795,\n      \"Visitor\": 24796,\n      \"▁inferior\": 24797,\n      \"▁leak\": 24798,\n      \"pix\": 24799,\n      \"▁Mans\": 24800,\n      \">%\": 24801,\n      \"▁Pand\": 24802,\n      \"▁SUB\": 24803,\n      \"▁companions\": 24804,\n      \"▁READ\": 24805,\n      \"▁Solutions\": 24806,\n      \"▁accessed\": 24807,\n      \"▁posto\": 24808,\n      \"▁pursuit\": 24809,\n      \"owi\": 24810,\n      \"▁grocery\": 24811,\n      \"Spe\": 24812,\n      \"hausen\": 24813,\n      \"▁normalized\": 24814,\n      \"▁trauma\": 24815,\n      \"ggi\": 24816,\n      \"ienia\": 24817,\n      \"▁autumn\": 24818,\n      \"▁sovere\": 24819,\n      \"▁Menschen\": 24820,\n      \"▁DAG\": 24821,\n      \"▁Sort\": 24822,\n      \"|---\": 24823,\n      \"▁liver\": 24824,\n      \"environ\": 24825,\n      \"DECL\": 24826,\n      \"▁май\": 24827,\n      \"▁Nak\": 24828,\n      \"between\": 24829,\n      \"▁gentleman\": 24830,\n      \"inging\": 24831,\n      \"▁subur\": 24832,\n      \"STO\": 24833,\n      \"aceut\": 24834,\n      \"\\\\!\": 24835,\n      \"▁Fußball\": 24836,\n      \"nar\": 24837,\n      \"▁bog\": 24838,\n      \"Tokens\": 24839,\n      \"▁ceremon\": 24840,\n      \"DAY\": 24841,\n      \"▁outfit\": 24842,\n      \"▁agriculture\": 24843,\n      \"дии\": 24844,\n      \"▁Nin\": 24845,\n      \"▁Springs\": 24846,\n      \"▁Coach\": 24847,\n      \"▁django\": 24848,\n      \"▁Crim\": 24849,\n      \"▁tecn\": 24850,\n      \"Three\": 24851,\n      \"emos\": 24852,\n      \"▁bean\": 24853,\n      \"pieler\": 24854,\n      \"ritz\": 24855,\n      \"tabs\": 24856,\n      \"▁Problem\": 24857,\n      \"inand\": 24858,\n      \"ocon\": 24859,\n      \"њи\": 24860,\n      \"▁buyer\": 24861,\n      \"usement\": 24862,\n      \"▁bor\": 24863,\n      \"▁settembre\": 24864,\n      \"ppe\": 24865,\n      \"▁Deg\": 24866,\n      \"▁Wa\": 24867,\n      \"▁wives\": 24868,\n      \"▁französ\": 24869,\n      \"▁marca\": 24870,\n      \"▁descent\": 24871,\n      \"▁Sha\": 24872,\n      \"verts\": 24873,\n      \"▁Shadow\": 24874,\n      \"▁Hugo\": 24875,\n      \"▁Appe\": 24876,\n      \"▁Lac\": 24877,\n      \"allen\": 24878,\n      \"osity\": 24879,\n      \"▁consultation\": 24880,\n      \"▁Ti\": 24881,\n      \"▁erano\": 24882,\n      \"▁lovers\": 24883,\n      \"▁университе\": 24884,\n      \"▁virtue\": 24885,\n      \"▁viewers\": 24886,\n      \"Mu\": 24887,\n      \"categories\": 24888,\n      \"▁опера\": 24889,\n      \"▁overlook\": 24890,\n      \"▁террито\": 24891,\n      \"▁Operations\": 24892,\n      \"ève\": 24893,\n      \"-(\": 24894,\n      \"▁Ż\": 24895,\n      \"jev\": 24896,\n      \"▁crist\": 24897,\n      \"▁марта\": 24898,\n      \"▁provin\": 24899,\n      \"production\": 24900,\n      \"▁Tall\": 24901,\n      \"Requests\": 24902,\n      \"▁tiles\": 24903,\n      \"reflect\": 24904,\n      \"▁argc\": 24905,\n      \"▁templates\": 24906,\n      \"ARB\": 24907,\n      \"▁weitere\": 24908,\n      \")?;\": 24909,\n      \"▁toll\": 24910,\n      \"▁correspondence\": 24911,\n      \"$;\": 24912,\n      \"LT\": 24913,\n      \"▁tam\": 24914,\n      \"decess\": 24915,\n      \"builtin\": 24916,\n      \"dash\": 24917,\n      \"zenie\": 24918,\n      \"▁molecular\": 24919,\n      \"▁chemicals\": 24920,\n      \"▁rendering\": 24921,\n      \"▁Singles\": 24922,\n      \"Initialized\": 24923,\n      \"▁Martha\": 24924,\n      \"riere\": 24925,\n      \"paragraph\": 24926,\n      \"asters\": 24927,\n      \"▁decides\": 24928,\n      \"▁Florence\": 24929,\n      \"▁Anders\": 24930,\n      \"мой\": 24931,\n      \"▁apt\": 24932,\n      \"▁affiliate\": 24933,\n      \"chel\": 24934,\n      \"▁revision\": 24935,\n      \"Patch\": 24936,\n      \"▁fiscal\": 24937,\n      \"wię\": 24938,\n      \"National\": 24939,\n      \"▁dependencies\": 24940,\n      \"TRANS\": 24941,\n      \"▁rack\": 24942,\n      \"selling\": 24943,\n      \"naissance\": 24944,\n      \"catalog\": 24945,\n      \"Ship\": 24946,\n      \"IMAGE\": 24947,\n      \"'][\": 24948,\n      \"▁prv\": 24949,\n      \"▁Fen\": 24950,\n      \"▁radar\": 24951,\n      \"conditions\": 24952,\n      \"▁Questions\": 24953,\n      \"▁vivid\": 24954,\n      \"opf\": 24955,\n      \"FACE\": 24956,\n      \"rys\": 24957,\n      \"Extract\": 24958,\n      \"ilians\": 24959,\n      \"plug\": 24960,\n      \"▁até\": 24961,\n      \"ил\": 24962,\n      \"▁likewise\": 24963,\n      \"▁Lil\": 24964,\n      \"▁Campeonato\": 24965,\n      \"AUTO\": 24966,\n      \"▁Meta\": 24967,\n      \"reno\": 24968,\n      \"▁Transfer\": 24969,\n      \"▁Michelle\": 24970,\n      \"bis\": 24971,\n      \"ńst\": 24972,\n      \"зон\": 24973,\n      \"▁Cultural\": 24974,\n      \"compass\": 24975,\n      \"▁mysql\": 24976,\n      \"▁cancelled\": 24977,\n      \"▁’\": 24978,\n      \"too\": 24979,\n      \"▁rebell\": 24980,\n      \"ége\": 24981,\n      \"osz\": 24982,\n      \"▁composer\": 24983,\n      \"}\\\")\": 24984,\n      \"▁deserves\": 24985,\n      \"▁ohne\": 24986,\n      \"▁Jed\": 24987,\n      \"Kernel\": 24988,\n      \"▁practition\": 24989,\n      \"▁indoor\": 24990,\n      \"▁configurations\": 24991,\n      \"▁meth\": 24992,\n      \"+(\": 24993,\n      \"Question\": 24994,\n      \"▁blown\": 24995,\n      \")'\": 24996,\n      \"▁Args\": 24997,\n      \"Fake\": 24998,\n      \"▁deven\": 24999,\n      \"istrzost\": 25000,\n      \"naio\": 25001,\n      \"▁\\\"{\": 25002,\n      \"▁Lit\": 25003,\n      \"comed\": 25004,\n      \"▁stam\": 25005,\n      \"▁plugins\": 25006,\n      \"▁travelling\": 25007,\n      \"naire\": 25008,\n      \"▁autonom\": 25009,\n      \"STRUCT\": 25010,\n      \"nh\": 25011,\n      \"nées\": 25012,\n      \"▁considerably\": 25013,\n      \"кор\": 25014,\n      \"BG\": 25015,\n      \"▁ladder\": 25016,\n      \"▁hast\": 25017,\n      \"izado\": 25018,\n      \"▁sele\": 25019,\n      \"▁Were\": 25020,\n      \"ardon\": 25021,\n      \"Bank\": 25022,\n      \"bundle\": 25023,\n      \"▁anticipated\": 25024,\n      \"▁Cot\": 25025,\n      \"▁elseif\": 25026,\n      \"▁Blues\": 25027,\n      \"▁filtered\": 25028,\n      \"▁auction\": 25029,\n      \"educ\": 25030,\n      \"▁Expression\": 25031,\n      \"inx\": 25032,\n      \"▁sucks\": 25033,\n      \"▁мая\": 25034,\n      \"ELL\": 25035,\n      \"ющий\": 25036,\n      \"▁Hudson\": 25037,\n      \"itä\": 25038,\n      \"нами\": 25039,\n      \"▁femme\": 25040,\n      \"inho\": 25041,\n      \"▁evt\": 25042,\n      \"istributions\": 25043,\n      \"▁russ\": 25044,\n      \"▁petition\": 25045,\n      \"▁гла\": 25046,\n      \"Sig\": 25047,\n      \"▁Tut\": 25048,\n      \"Partial\": 25049,\n      \"Entities\": 25050,\n      \"▁bears\": 25051,\n      \"▁hollow\": 25052,\n      \"__[\\\"\": 25053,\n      \"▁Ris\": 25054,\n      \"ță\": 25055,\n      \"dims\": 25056,\n      \"▁complained\": 25057,\n      \"▁mapped\": 25058,\n      \"▁августа\": 25059,\n      \"▁initiatives\": 25060,\n      \"▁owns\": 25061,\n      \"chez\": 25062,\n      \"▁dispon\": 25063,\n      \"▁mush\": 25064,\n      \"qs\": 25065,\n      \"▁erfolg\": 25066,\n      \"▁Norweg\": 25067,\n      \"▁cet\": 25068,\n      \"imag\": 25069,\n      \"▁истори\": 25070,\n      \"▁них\": 25071,\n      \"Until\": 25072,\n      \"▁stalk\": 25073,\n      \"▁Пра\": 25074,\n      \"uvo\": 25075,\n      \"ierz\": 25076,\n      \"rieben\": 25077,\n      \"XT\": 25078,\n      \"icals\": 25079,\n      \"stdout\": 25080,\n      \"▁extracted\": 25081,\n      \"▁Images\": 25082,\n      \"undef\": 25083,\n      \"▁Lé\": 25084,\n      \"▁accommodation\": 25085,\n      \"▁Touch\": 25086,\n      \"▁intentions\": 25087,\n      \"▁concentrated\": 25088,\n      \"▁Население\": 25089,\n      \"▁utilis\": 25090,\n      \"▁след\": 25091,\n      \"lif\": 25092,\n      \"▁compris\": 25093,\n      \"▁сбор\": 25094,\n      \"medium\": 25095,\n      \"States\": 25096,\n      \"▁Биография\": 25097,\n      \"▁Faith\": 25098,\n      \"UA\": 25099,\n      \"ADDRESS\": 25100,\n      \"▁rated\": 25101,\n      \"▁Rena\": 25102,\n      \"▁Cache\": 25103,\n      \"▁peque\": 25104,\n      \"▁unused\": 25105,\n      \"nim\": 25106,\n      \"olding\": 25107,\n      \"▁Nr\": 25108,\n      \"Ray\": 25109,\n      \"urls\": 25110,\n      \"▁emissions\": 25111,\n      \"Ir\": 25112,\n      \"▁må\": 25113,\n      \"bear\": 25114,\n      \"▁Lub\": 25115,\n      \"▁Outside\": 25116,\n      \"minded\": 25117,\n      \"▁PROVID\": 25118,\n      \"▁só\": 25119,\n      \"▁civilian\": 25120,\n      \"Finder\": 25121,\n      \"▁achieving\": 25122,\n      \"modified\": 25123,\n      \"lane\": 25124,\n      \"Sender\": 25125,\n      \"▁Crime\": 25126,\n      \"REQUI\": 25127,\n      \"▁openly\": 25128,\n      \"▁Belgium\": 25129,\n      \"icity\": 25130,\n      \"▁Maz\": 25131,\n      \"▁stagger\": 25132,\n      \"}}$,\": 25133,\n      \"nate\": 25134,\n      \"'''\": 25135,\n      \"▁Geoff\": 25136,\n      \"lli\": 25137,\n      \"Suite\": 25138,\n      \"▁Distribution\": 25139,\n      \"▁який\": 25140,\n      \"Combo\": 25141,\n      \"hooks\": 25142,\n      \"▁Fight\": 25143,\n      \"Sets\": 25144,\n      \"▁mk\": 25145,\n      \"▁guides\": 25146,\n      \"▁principale\": 25147,\n      \"Preferences\": 25148,\n      \"tiny\": 25149,\n      \"appen\": 25150,\n      \"▁ruined\": 25151,\n      \"▁sliding\": 25152,\n      \"▁Zen\": 25153,\n      \"▁octubre\": 25154,\n      \"poser\": 25155,\n      \"▁Flag\": 25156,\n      \"▁boom\": 25157,\n      \"▁Detect\": 25158,\n      \"▁activation\": 25159,\n      \"▁образова\": 25160,\n      \"▁entertaining\": 25161,\n      \"▁protective\": 25162,\n      \"áll\": 25163,\n      \"▁Flash\": 25164,\n      \"▁midst\": 25165,\n      \"ственной\": 25166,\n      \"▁PhD\": 25167,\n      \"ijing\": 25168,\n      \"club\": 25169,\n      \"getC\": 25170,\n      \"▁trouve\": 25171,\n      \"ambers\": 25172,\n      \"▁greed\": 25173,\n      \"amarin\": 25174,\n      \"▁suspicious\": 25175,\n      \"▁deputy\": 25176,\n      \"asper\": 25177,\n      \"▁funded\": 25178,\n      \"alone\": 25179,\n      \"▁tract\": 25180,\n      \"▁Rating\": 25181,\n      \"adays\": 25182,\n      \"▁statt\": 25183,\n      \"▁Privacy\": 25184,\n      \"▁__(\": 25185,\n      \"▁fights\": 25186,\n      \"áj\": 25187,\n      \"\\\\]\": 25188,\n      \"agh\": 25189,\n      \"orna\": 25190,\n      \"▁Diamond\": 25191,\n      \"▁prototype\": 25192,\n      \"▁Strateg\": 25193,\n      \"hado\": 25194,\n      \"▁lungs\": 25195,\n      \"Prototype\": 25196,\n      \"ließlich\": 25197,\n      \"▁dive\": 25198,\n      \"cov\": 25199,\n      \"▁Mist\": 25200,\n      \"▁Types\": 25201,\n      \"▁diagonal\": 25202,\n      \"▁preview\": 25203,\n      \"▁Container\": 25204,\n      \"DESCRIP\": 25205,\n      \"▁britann\": 25206,\n      \"▁Cord\": 25207,\n      \"akov\": 25208,\n      \"▁farming\": 25209,\n      \"▁père\": 25210,\n      \"▁kills\": 25211,\n      \"▁Carib\": 25212,\n      \"ћи\": 25213,\n      \"▁Ал\": 25214,\n      \"?;\": 25215,\n      \"▁писа\": 25216,\n      \"▁Ensure\": 25217,\n      \"parsed\": 25218,\n      \"änge\": 25219,\n      \"▁Delta\": 25220,\n      \"▁gaining\": 25221,\n      \"▁noting\": 25222,\n      \"▁Barb\": 25223,\n      \"▁февра\": 25224,\n      \"Emp\": 25225,\n      \"▁{})\": 25226,\n      \"▁syntax\": 25227,\n      \"Walk\": 25228,\n      \"▁Pere\": 25229,\n      \"IsNull\": 25230,\n      \"▁UV\": 25231,\n      \"▁retval\": 25232,\n      \"▁simplicity\": 25233,\n      \"▁reinforce\": 25234,\n      \"Linq\": 25235,\n      \"▁diffusion\": 25236,\n      \"▁disorders\": 25237,\n      \"âtre\": 25238,\n      \"uity\": 25239,\n      \"▁helpless\": 25240,\n      \"Measure\": 25241,\n      \"▁compression\": 25242,\n      \"▁Coal\": 25243,\n      \"olutely\": 25244,\n      \"ogue\": 25245,\n      \"▁upward\": 25246,\n      \"▁Blockly\": 25247,\n      \"▁bride\": 25248,\n      \"parseInt\": 25249,\n      \"▁isolation\": 25250,\n      \"▁regulatory\": 25251,\n      \"ști\": 25252,\n      \"ricane\": 25253,\n      \"мб\": 25254,\n      \"▁сло\": 25255,\n      \"▁salad\": 25256,\n      \"wei\": 25257,\n      \"▁Basket\": 25258,\n      \"▁MON\": 25259,\n      \"\\\">&\": 25260,\n      \"doors\": 25261,\n      \"▁Kill\": 25262,\n      \"▁conspiracy\": 25263,\n      \"▁Miles\": 25264,\n      \"want\": 25265,\n      \"Modifier\": 25266,\n      \"▁batteries\": 25267,\n      \"ivas\": 25268,\n      \"▁attendance\": 25269,\n      \"▁AUTH\": 25270,\n      \"▁сві\": 25271,\n      \"...,\": 25272,\n      \"▁aggregate\": 25273,\n      \"▁destruct\": 25274,\n      \"▁fourteen\": 25275,\n      \"▁мет\": 25276,\n      \"▁bothered\": 25277,\n      \"elte\": 25278,\n      \"▁mism\": 25279,\n      \"▁resting\": 25280,\n      \"▁Pars\": 25281,\n      \"▁idle\": 25282,\n      \"▁deren\": 25283,\n      \"▁diary\": 25284,\n      \"▁vague\": 25285,\n      \"▁marginal\": 25286,\n      \"Writ\": 25287,\n      \"Bot\": 25288,\n      \"▁Metro\": 25289,\n      \"▁earning\": 25290,\n      \"histoire\": 25291,\n      \"▁endorse\": 25292,\n      \"▁beard\": 25293,\n      \"▁Chairman\": 25294,\n      \"ieb\": 25295,\n      \"▁neutr\": 25296,\n      \"▁ambit\": 25297,\n      \"▁Leonard\": 25298,\n      \"bands\": 25299,\n      \"▁Dale\": 25300,\n      \"▁verified\": 25301,\n      \"Algorithm\": 25302,\n      \"Enumerable\": 25303,\n      \"opcode\": 25304,\n      \"castle\": 25305,\n      \"še\": 25306,\n      \"▁Venezuela\": 25307,\n      \"▁descriptions\": 25308,\n      \"▁valued\": 25309,\n      \"▁chapters\": 25310,\n      \"▁Ils\": 25311,\n      \"▁clarity\": 25312,\n      \"▁tourists\": 25313,\n      \"Dan\": 25314,\n      \"▁tribe\": 25315,\n      \"▁ги\": 25316,\n      \"folk\": 25317,\n      \"accur\": 25318,\n      \"▁Stack\": 25319,\n      \"▁advocate\": 25320,\n      \"▁Gene\": 25321,\n      \"Images\": 25322,\n      \"▁rigid\": 25323,\n      \"▁congreg\": 25324,\n      \"▁startup\": 25325,\n      \"▁deadline\": 25326,\n      \"could\": 25327,\n      \"▁begann\": 25328,\n      \"▁calci\": 25329,\n      \"▁Circle\": 25330,\n      \"▁incons\": 25331,\n      \"aaaaaaaa\": 25332,\n      \"▁rubbed\": 25333,\n      \"apeut\": 25334,\n      \"uario\": 25335,\n      \"worthy\": 25336,\n      \"▁участи\": 25337,\n      \"▁família\": 25338,\n      \"▁synchronized\": 25339,\n      \"▁unfair\": 25340,\n      \"rsp\": 25341,\n      \"▁societies\": 25342,\n      \"boat\": 25343,\n      \"gro\": 25344,\n      \"▁kat\": 25345,\n      \"▁poker\": 25346,\n      \"▁locks\": 25347,\n      \"▁GF\": 25348,\n      \"▁reconc\": 25349,\n      \"▁Maurice\": 25350,\n      \"__(/*!\": 25351,\n      \"▁bleeding\": 25352,\n      \"äsident\": 25353,\n      \"▁послед\": 25354,\n      \"▁derivative\": 25355,\n      \"шая\": 25356,\n      \"cció\": 25357,\n      \"▁crushed\": 25358,\n      \"▁temporarily\": 25359,\n      \"▁coaches\": 25360,\n      \"▁Movement\": 25361,\n      \"}}$.\": 25362,\n      \"▁Kyle\": 25363,\n      \"▁Sohn\": 25364,\n      \"▁creator\": 25365,\n      \"indust\": 25366,\n      \"▁Erik\": 25367,\n      \"▁seiz\": 25368,\n      \"▁dimensional\": 25369,\n      \"▁Ist\": 25370,\n      \"▁preval\": 25371,\n      \"heads\": 25372,\n      \"▁проти\": 25373,\n      \"▁determines\": 25374,\n      \"egy\": 25375,\n      \"▁UINT\": 25376,\n      \"▁Volk\": 25377,\n      \"pawn\": 25378,\n      \"Photo\": 25379,\n      \"▁Colin\": 25380,\n      \"appropri\": 25381,\n      \"ortion\": 25382,\n      \"steller\": 25383,\n      \"État\": 25384,\n      \"▁imply\": 25385,\n      \"▁toutes\": 25386,\n      \"VOL\": 25387,\n      \"aning\": 25388,\n      \"Tooltip\": 25389,\n      \"igious\": 25390,\n      \"▁eternal\": 25391,\n      \"▁Poz\": 25392,\n      \"▁bankrupt\": 25393,\n      \"▁failures\": 25394,\n      \"uerte\": 25395,\n      \"▁време\": 25396,\n      \"zung\": 25397,\n      \"▁tcp\": 25398,\n      \"▁containers\": 25399,\n      \"ousel\": 25400,\n      \"▁HIV\": 25401,\n      \"▁conced\": 25402,\n      \"▁septiembre\": 25403,\n      \"girl\": 25404,\n      \"▁Cho\": 25405,\n      \"▁faz\": 25406,\n      \"▁Upper\": 25407,\n      \"▁Forces\": 25408,\n      \"ählt\": 25409,\n      \"inject\": 25410,\n      \"Received\": 25411,\n      \"MAT\": 25412,\n      \"aglia\": 25413,\n      \"ównie\": 25414,\n      \"/'\": 25415,\n      \"▁pip\": 25416,\n      \"▁Gest\": 25417,\n      \"▁lado\": 25418,\n      \"▁compatibility\": 25419,\n      \"▁mare\": 25420,\n      \"▁Clearly\": 25421,\n      \"versation\": 25422,\n      \"Vers\": 25423,\n      \"▁chick\": 25424,\n      \"▁organize\": 25425,\n      \"▁economics\": 25426,\n      \"▁ancestors\": 25427,\n      \"MED\": 25428,\n      \"▁scrub\": 25429,\n      \"▁labeled\": 25430,\n      \"▁пр\": 25431,\n      \"▁Suz\": 25432,\n      \"▁Astr\": 25433,\n      \"alloween\": 25434,\n      \"rhs\": 25435,\n      \"asci\": 25436,\n      \"▁Cancer\": 25437,\n      \"▁Hunt\": 25438,\n      \"▁switching\": 25439,\n      \"▁Ridge\": 25440,\n      \"Seq\": 25441,\n      \"▁giugno\": 25442,\n      \"business\": 25443,\n      \"▁charming\": 25444,\n      \"▁Io\": 25445,\n      \"▁président\": 25446,\n      \"eking\": 25447,\n      \"íl\": 25448,\n      \"enh\": 25449,\n      \"prit\": 25450,\n      \"ercise\": 25451,\n      \"ának\": 25452,\n      \"▁хра\": 25453,\n      \"▁bugs\": 25454,\n      \"▁живо\": 25455,\n      \"▁lightning\": 25456,\n      \"▁nevertheless\": 25457,\n      \"▁lengths\": 25458,\n      \"GU\": 25459,\n      \"Hidden\": 25460,\n      \"Actor\": 25461,\n      \"Topic\": 25462,\n      \"▁Horse\": 25463,\n      \"ће\": 25464,\n      \"elines\": 25465,\n      \"▁tragedy\": 25466,\n      \"intendo\": 25467,\n      \"▁abundance\": 25468,\n      \"▁evac\": 25469,\n      \"itably\": 25470,\n      \"+\\\\_\\\\\": 25471,\n      \"▁recib\": 25472,\n      \"uated\": 25473,\n      \"рії\": 25474,\n      \"▁foolish\": 25475,\n      \"▁tm\": 25476,\n      \"▁despair\": 25477,\n      \"TOKEN\": 25478,\n      \"▁compromise\": 25479,\n      \"▁Personen\": 25480,\n      \"▁investigated\": 25481,\n      \"▁exclude\": 25482,\n      \"▁televis\": 25483,\n      \"▁pulls\": 25484,\n      \"▁accordingly\": 25485,\n      \"▁fő\": 25486,\n      \"▁Leave\": 25487,\n      \"operations\": 25488,\n      \"crim\": 25489,\n      \"▁rhs\": 25490,\n      \"▁formally\": 25491,\n      \"▁Lily\": 25492,\n      \"▁Comments\": 25493,\n      \"▁september\": 25494,\n      \"iefs\": 25495,\n      \"▁treasure\": 25496,\n      \"HttpServlet\": 25497,\n      \"дів\": 25498,\n      \"▁disclaimer\": 25499,\n      \"luss\": 25500,\n      \"▁као\": 25501,\n      \"rogen\": 25502,\n      \"▁Starting\": 25503,\n      \"▁dém\": 25504,\n      \"▁selecting\": 25505,\n      \"▁↘\": 25506,\n      \"▁Он\": 25507,\n      \"▁Practice\": 25508,\n      \"▁porte\": 25509,\n      \"▁assure\": 25510,\n      \"▁frustrated\": 25511,\n      \"Sink\": 25512,\n      \"▁Ari\": 25513,\n      \"▁escort\": 25514,\n      \"aises\": 25515,\n      \"▁bush\": 25516,\n      \"▁Seine\": 25517,\n      \"▁Fill\": 25518,\n      \"▁Sull\": 25519,\n      \"Dot\": 25520,\n      \"vil\": 25521,\n      \"uning\": 25522,\n      \"Rendering\": 25523,\n      \"shake\": 25524,\n      \"писи\": 25525,\n      \"pte\": 25526,\n      \"▁bend\": 25527,\n      \"▁jewelry\": 25528,\n      \"▁Stockholm\": 25529,\n      \"▁Honestly\": 25530,\n      \"![\": 25531,\n      \"▁arrays\": 25532,\n      \"▁Warner\": 25533,\n      \"▁shaft\": 25534,\n      \"▁Cann\": 25535,\n      \"▁Pittsburgh\": 25536,\n      \"irical\": 25537,\n      \"autre\": 25538,\n      \"▁Rück\": 25539,\n      \"▁gennaio\": 25540,\n      \"▁Ша\": 25541,\n      \"annte\": 25542,\n      \"pshire\": 25543,\n      \"нологи\": 25544,\n      \"éta\": 25545,\n      \"▁printer\": 25546,\n      \"▁damages\": 25547,\n      \"▁Isaac\": 25548,\n      \"▁Familie\": 25549,\n      \"Codes\": 25550,\n      \"thrift\": 25551,\n      \"nob\": 25552,\n      \"▁cav\": 25553,\n      \"▁technically\": 25554,\n      \"▁Imm\": 25555,\n      \"▁tricks\": 25556,\n      \"EAR\": 25557,\n      \"▁Subject\": 25558,\n      \"▁needing\": 25559,\n      \"▁Gir\": 25560,\n      \"Board\": 25561,\n      \"▁rehe\": 25562,\n      \"▁reminder\": 25563,\n      \"▁shiver\": 25564,\n      \"Kit\": 25565,\n      \"▁struggles\": 25566,\n      \"▁genom\": 25567,\n      \"imil\": 25568,\n      \"Registration\": 25569,\n      \"▁gloves\": 25570,\n      \"▁Zur\": 25571,\n      \"▁Beg\": 25572,\n      \"▁inclusive\": 25573,\n      \"/,\": 25574,\n      \"ogan\": 25575,\n      \"poque\": 25576,\n      \"contrib\": 25577,\n      \"шин\": 25578,\n      \"▁Mama\": 25579,\n      \"prints\": 25580,\n      \"▁renamed\": 25581,\n      \"ються\": 25582,\n      \"netdev\": 25583,\n      \"▁compile\": 25584,\n      \"▁§\": 25585,\n      \"MUL\": 25586,\n      \"▁draws\": 25587,\n      \"cock\": 25588,\n      \"▁свои\": 25589,\n      \"▁Mum\": 25590,\n      \"spieler\": 25591,\n      \"▁nail\": 25592,\n      \"▁transit\": 25593,\n      \"▁Saw\": 25594,\n      \"▁compress\": 25595,\n      \"▁purchases\": 25596,\n      \"▁performs\": 25597,\n      \"▁demol\": 25598,\n      \"▁commence\": 25599,\n      \"▁CB\": 25600,\n      \"▁Aber\": 25601,\n      \"▁cush\": 25602,\n      \"▁комп\": 25603,\n      \"▁руко\": 25604,\n      \"▁Muhammad\": 25605,\n      \"▁Netflix\": 25606,\n      \"▁Environmental\": 25607,\n      \"Norm\": 25608,\n      \"▁wir\": 25609,\n      \"nullptr\": 25610,\n      \"▁refugees\": 25611,\n      \"дон\": 25612,\n      \"▁Birmingham\": 25613,\n      \"News\": 25614,\n      \"▁Все\": 25615,\n      \"Orient\": 25616,\n      \"Assembly\": 25617,\n      \"▁introducing\": 25618,\n      \"finder\": 25619,\n      \"▁scholarship\": 25620,\n      \"▁основа\": 25621,\n      \"ifa\": 25622,\n      \"Sing\": 25623,\n      \"iblic\": 25624,\n      \"istributed\": 25625,\n      \"▁departments\": 25626,\n      \"CREF\": 25627,\n      \"▁Malaysia\": 25628,\n      \"CONF\": 25629,\n      \"▁Claud\": 25630,\n      \"▁Built\": 25631,\n      \"RANGE\": 25632,\n      \"Redirect\": 25633,\n      \"LEASE\": 25634,\n      \"---------\": 25635,\n      \"▁Пу\": 25636,\n      \"▁numpy\": 25637,\n      \"▁projected\": 25638,\n      \"▁reminds\": 25639,\n      \"▁-*-\": 25640,\n      \"ibling\": 25641,\n      \"▁slower\": 25642,\n      \"opp\": 25643,\n      \"ropic\": 25644,\n      \"▁Montreal\": 25645,\n      \"▁detective\": 25646,\n      \"THREAD\": 25647,\n      \"▁qué\": 25648,\n      \"▁Rosa\": 25649,\n      \"▁seventh\": 25650,\n      \"Colors\": 25651,\n      \"demo\": 25652,\n      \"▁Esta\": 25653,\n      \"fff\": 25654,\n      \"ickets\": 25655,\n      \"Gre\": 25656,\n      \"áb\": 25657,\n      \"boost\": 25658,\n      \"▁Going\": 25659,\n      \"▁Suite\": 25660,\n      \"▁adaptation\": 25661,\n      \"▁jours\": 25662,\n      \"▁Orth\": 25663,\n      \"хі\": 25664,\n      \"Figure\": 25665,\n      \"▁supers\": 25666,\n      \"▁accessories\": 25667,\n      \"weak\": 25668,\n      \"▁distress\": 25669,\n      \"fried\": 25670,\n      \"▁goog\": 25671,\n      \"каз\": 25672,\n      \"▁farmer\": 25673,\n      \"itational\": 25674,\n      \"Gold\": 25675,\n      \"▁asshole\": 25676,\n      \"▁Controller\": 25677,\n      \"▁архи\": 25678,\n      \"Too\": 25679,\n      \"▁molto\": 25680,\n      \"▁propri\": 25681,\n      \"▁algo\": 25682,\n      \"Aff\": 25683,\n      \"resc\": 25684,\n      \"▁Dy\": 25685,\n      \"▁congr\": 25686,\n      \"▁Tes\": 25687,\n      \"▁WIN\": 25688,\n      \"deserialize\": 25689,\n      \"syn\": 25690,\n      \"▁chemistry\": 25691,\n      \"middle\": 25692,\n      \"▁animated\": 25693,\n      \"▁Kum\": 25694,\n      \"fileName\": 25695,\n      \"America\": 25696,\n      \"▁drums\": 25697,\n      \"▁programa\": 25698,\n      \"▁nej\": 25699,\n      \"ReadOnly\": 25700,\n      \"▁Бра\": 25701,\n      \"-------\": 25702,\n      \"Mutex\": 25703,\n      \"unned\": 25704,\n      \"ynamics\": 25705,\n      \"cosystem\": 25706,\n      \"▁Rect\": 25707,\n      \"▁anime\": 25708,\n      \"▁IBM\": 25709,\n      \"▁needle\": 25710,\n      \"esser\": 25711,\n      \"▁inclu\": 25712,\n      \"Lean\": 25713,\n      \"training\": 25714,\n      \"▁bour\": 25715,\n      \"abases\": 25716,\n      \"▁także\": 25717,\n      \"warz\": 25718,\n      \"▁stepping\": 25719,\n      \"▁TIME\": 25720,\n      \"▁Einstein\": 25721,\n      \"▁Login\": 25722,\n      \"ponential\": 25723,\n      \"Dead\": 25724,\n      \"instr\": 25725,\n      \"▁neural\": 25726,\n      \"▁ubic\": 25727,\n      \"▁Initialized\": 25728,\n      \"▁facilitate\": 25729,\n      \"GD\": 25730,\n      \"}{(\": 25731,\n      \"Dark\": 25732,\n      \"▁nag\": 25733,\n      \"minipage\": 25734,\n      \"Sizes\": 25735,\n      \"▁worm\": 25736,\n      \"bias\": 25737,\n      \"Such\": 25738,\n      \"wicklung\": 25739,\n      \"▁spouse\": 25740,\n      \"▁survivors\": 25741,\n      \"erst\": 25742,\n      \"atype\": 25743,\n      \"})$,\": 25744,\n      \"▁nl\": 25745,\n      \"▁cognitive\": 25746,\n      \"▁onde\": 25747,\n      \"▁enabling\": 25748,\n      \"▁societ\": 25749,\n      \"▁clan\": 25750,\n      \"▁excluded\": 25751,\n      \"▁thunder\": 25752,\n      \"▁entropy\": 25753,\n      \"▁fastest\": 25754,\n      \"REEN\": 25755,\n      \"▁Vienna\": 25756,\n      \"▁flowing\": 25757,\n      \"▁affirm\": 25758,\n      \"alom\": 25759,\n      \"▁hips\": 25760,\n      \"▁cannab\": 25761,\n      \"▁sticks\": 25762,\n      \"▁curriculum\": 25763,\n      \"▁retained\": 25764,\n      \"▁extending\": 25765,\n      \"óz\": 25766,\n      \"headed\": 25767,\n      \"exc\": 25768,\n      \"▁jeho\": 25769,\n      \"▁forests\": 25770,\n      \"mania\": 25771,\n      \"▁Canal\": 25772,\n      \"▁Sout\": 25773,\n      \"▁Bahn\": 25774,\n      \"▁TEXT\": 25775,\n      \"▁држа\": 25776,\n      \"▁Users\": 25777,\n      \"▁GEN\": 25778,\n      \"slash\": 25779,\n      \"benfalls\": 25780,\n      \"TextField\": 25781,\n      \"▁rav\": 25782,\n      \"▁continuously\": 25783,\n      \"ITER\": 25784,\n      \"▁Jenny\": 25785,\n      \"chos\": 25786,\n      \"▁ambig\": 25787,\n      \"▁жур\": 25788,\n      \"Autow\": 25789,\n      \"▁Veter\": 25790,\n      \"▁destin\": 25791,\n      \"Hom\": 25792,\n      \"auge\": 25793,\n      \"▁commod\": 25794,\n      \"▁garlic\": 25795,\n      \"<=\": 25796,\n      \"▁dramatically\": 25797,\n      \"CAN\": 25798,\n      \"ancers\": 25799,\n      \"()}\": 25800,\n      \"ghai\": 25801,\n      \"▁twee\": 25802,\n      \"▁сентября\": 25803,\n      \"GPU\": 25804,\n      \"▁Bomb\": 25805,\n      \"▁youngest\": 25806,\n      \"▁cage\": 25807,\n      \"oks\": 25808,\n      \"iches\": 25809,\n      \"▁Tests\": 25810,\n      \"ský\": 25811,\n      \"cury\": 25812,\n      \"nals\": 25813,\n      \"ța\": 25814,\n      \"▁Voice\": 25815,\n      \"Dependency\": 25816,\n      \"vf\": 25817,\n      \"eous\": 25818,\n      \"▁Za\": 25819,\n      \"▁amateur\": 25820,\n      \"▁Ghost\": 25821,\n      \"▁disability\": 25822,\n      \"▁Влади\": 25823,\n      \"▁revenge\": 25824,\n      \"Translation\": 25825,\n      \"▁courtesy\": 25826,\n      \"ския\": 25827,\n      \"▁blob\": 25828,\n      \"äß\": 25829,\n      \"ój\": 25830,\n      \"▁prints\": 25831,\n      \"▁proves\": 25832,\n      \">?[<\": 25833,\n      \"▁utils\": 25834,\n      \"typen\": 25835,\n      \"▁terra\": 25836,\n      \"▁mineral\": 25837,\n      \"▁warrior\": 25838,\n      \"▁мест\": 25839,\n      \"▁DS\": 25840,\n      \"Emb\": 25841,\n      \"getData\": 25842,\n      \"личи\": 25843,\n      \"▁safer\": 25844,\n      \"▁comune\": 25845,\n      \"▁hierarchy\": 25846,\n      \"Credentials\": 25847,\n      \"resse\": 25848,\n      \"grav\": 25849,\n      \"logs\": 25850,\n      \"bros\": 25851,\n      \"BUTTON\": 25852,\n      \"literal\": 25853,\n      \"▁Sr\": 25854,\n      \"antal\": 25855,\n      \"▁mercy\": 25856,\n      \"DAP\": 25857,\n      \"▁Maggie\": 25858,\n      \"▁sustained\": 25859,\n      \"NM\": 25860,\n      \"Review\": 25861,\n      \"▁Buenos\": 25862,\n      \"▁dealer\": 25863,\n      \"enes\": 25864,\n      \"▁fileName\": 25865,\n      \"bbra\": 25866,\n      \"рома\": 25867,\n      \"Install\": 25868,\n      \"▁Morning\": 25869,\n      \"LET\": 25870,\n      \"ipa\": 25871,\n      \"Ga\": 25872,\n      \"гов\": 25873,\n      \"▁Schedule\": 25874,\n      \"▁reporters\": 25875,\n      \"▁peculiar\": 25876,\n      \"▁supplier\": 25877,\n      \")$-\": 25878,\n      \"ël\": 25879,\n      \"▁rolls\": 25880,\n      \"▁nécess\": 25881,\n      \"▁preg\": 25882,\n      \"▁Reyn\": 25883,\n      \"▁surrender\": 25884,\n      \"▁contributing\": 25885,\n      \")+\\\\\": 25886,\n      \"PROP\": 25887,\n      \"▁decimal\": 25888,\n      \"▁Township\": 25889,\n      \"grp\": 25890,\n      \"▁terrorist\": 25891,\n      \"pto\": 25892,\n      \"onen\": 25893,\n      \"▁Politics\": 25894,\n      \"▁Pearl\": 25895,\n      \"▁pillow\": 25896,\n      \"▁grades\": 25897,\n      \"THE\": 25898,\n      \"▁numero\": 25899,\n      \"iNdEx\": 25900,\n      \"Migration\": 25901,\n      \"PEND\": 25902,\n      \"photo\": 25903,\n      \"▁centered\": 25904,\n      \"▁rhet\": 25905,\n      \"egründ\": 25906,\n      \"▁laundry\": 25907,\n      \"getNode\": 25908,\n      \"▁estimation\": 25909,\n      \"▁Iv\": 25910,\n      \"▁wholes\": 25911,\n      \"шения\": 25912,\n      \"▁constitutional\": 25913,\n      \"amination\": 25914,\n      \"▁Municipal\": 25915,\n      \"adt\": 25916,\n      \"thy\": 25917,\n      \"▁publi\": 25918,\n      \"▁dicembre\": 25919,\n      \"`)\": 25920,\n      \"▁Chrome\": 25921,\n      \"efe\": 25922,\n      \"cong\": 25923,\n      \"breaking\": 25924,\n      \"atched\": 25925,\n      \"estr\": 25926,\n      \"▁idi\": 25927,\n      \"VERY\": 25928,\n      \"▁appel\": 25929,\n      \"▁Technical\": 25930,\n      \"tcx\": 25931,\n      \"DOUBLE\": 25932,\n      \"sek\": 25933,\n      \"hung\": 25934,\n      \"▁Aur\": 25935,\n      \"collapse\": 25936,\n      \"▁advise\": 25937,\n      \"▁Primary\": 25938,\n      \"iaz\": 25939,\n      \"▁anten\": 25940,\n      \"▁broader\": 25941,\n      \"▁junio\": 25942,\n      \"▁wool\": 25943,\n      \"▁hatred\": 25944,\n      \"▁exagger\": 25945,\n      \"Conv\": 25946,\n      \"ktur\": 25947,\n      \"▁emperor\": 25948,\n      \"▁Package\": 25949,\n      \"TDM\": 25950,\n      \"\\\\{\\\\\": 25951,\n      \"wheel\": 25952,\n      \"▁feas\": 25953,\n      \"▁jsou\": 25954,\n      \"<?>\": 25955,\n      \"INSTANCE\": 25956,\n      \"▁chant\": 25957,\n      \"▁Refer\": 25958,\n      \"▁Shir\": 25959,\n      \"▁века\": 25960,\n      \"▁Meeting\": 25961,\n      \"▁nv\": 25962,\n      \"▁associations\": 25963,\n      \"itations\": 25964,\n      \"orum\": 25965,\n      \"▁tires\": 25966,\n      \"▁dash\": 25967,\n      \"▁}));\": 25968,\n      \"arto\": 25969,\n      \"▁Edinburgh\": 25970,\n      \"WT\": 25971,\n      \"▁invented\": 25972,\n      \"veh\": 25973,\n      \"▁Hindu\": 25974,\n      \"▁Населення\": 25975,\n      \"▁urgent\": 25976,\n      \"textcolor\": 25977,\n      \"werp\": 25978,\n      \"▁detector\": 25979,\n      \"▁altered\": 25980,\n      \"▁tb\": 25981,\n      \"▁Naval\": 25982,\n      \"▁membr\": 25983,\n      \"stylesheet\": 25984,\n      \"unts\": 25985,\n      \"▁nutrition\": 25986,\n      \"▁Sylv\": 25987,\n      \"▁enumer\": 25988,\n      \"▁mines\": 25989,\n      \"▁litter\": 25990,\n      \"ží\": 25991,\n      \"concurrent\": 25992,\n      \"▁swallow\": 25993,\n      \"Sir\": 25994,\n      \"talk\": 25995,\n      \"▁deutschen\": 25996,\n      \"repeat\": 25997,\n      \"▁domains\": 25998,\n      \"▁McDonald\": 25999,\n      \"▁candle\": 26000,\n      \"▁plural\": 26001,\n      \"▁sharply\": 26002,\n      \"origine\": 26003,\n      \"▁candy\": 26004,\n      \"▁kilometres\": 26005,\n      \"▁powered\": 26006,\n      \"▁sep\": 26007,\n      \"▁Soci\": 26008,\n      \"▁Bernie\": 26009,\n      \"GENER\": 26010,\n      \"Exper\": 26011,\n      \"▁Allow\": 26012,\n      \"▁Ernst\": 26013,\n      \"▁Rebecca\": 26014,\n      \"▁Contribut\": 26015,\n      \"routes\": 26016,\n      \"▁suffix\": 26017,\n      \"▁julio\": 26018,\n      \"▁provincial\": 26019,\n      \"▁appreciation\": 26020,\n      \"Using\": 26021,\n      \"absolute\": 26022,\n      \"▁cricket\": 26023,\n      \"Would\": 26024,\n      \"▁Equipment\": 26025,\n      \"▁torture\": 26026,\n      \"нах\": 26027,\n      \"utton\": 26028,\n      \"чество\": 26029,\n      \"▁outbreak\": 26030,\n      \"▁preventing\": 26031,\n      \"▁madre\": 26032,\n      \"▁retire\": 26033,\n      \"endregion\": 26034,\n      \"▁fais\": 26035,\n      \"▁remembering\": 26036,\n      \"▁Alban\": 26037,\n      \"▁arist\": 26038,\n      \"▁workout\": 26039,\n      \"▁uz\": 26040,\n      \"asto\": 26041,\n      \"fortunate\": 26042,\n      \"▁paste\": 26043,\n      \"▁MR\": 26044,\n      \"▁otra\": 26045,\n      \"Sv\": 26046,\n      \"angen\": 26047,\n      \"▁Sierra\": 26048,\n      \"▁nau\": 26049,\n      \"▁sera\": 26050,\n      \"$~\": 26051,\n      \"▁così\": 26052,\n      \")((\": 26053,\n      \"▁proposals\": 26054,\n      \"itte\": 26055,\n      \"▁Pero\": 26056,\n      \"▁tenant\": 26057,\n      \"YP\": 26058,\n      \"▁Parameter\": 26059,\n      \"spell\": 26060,\n      \"▁emerge\": 26061,\n      \"▁gek\": 26062,\n      \"olence\": 26063,\n      \"otos\": 26064,\n      \"▁witnesses\": 26065,\n      \"▁watches\": 26066,\n      \"▁Ach\": 26067,\n      \"Cross\": 26068,\n      \"▁января\": 26069,\n      \";}\": 26070,\n      \"▁ONE\": 26071,\n      \"▁careers\": 26072,\n      \"▁faithful\": 26073,\n      \"▁Jour\": 26074,\n      \"▁Generate\": 26075,\n      \"▁июля\": 26076,\n      \"▁recommendation\": 26077,\n      \"wb\": 26078,\n      \"skich\": 26079,\n      \"boldmath\": 26080,\n      \"▁origins\": 26081,\n      \"▁spinning\": 26082,\n      \"▁//\\r\": 26083,\n      \"▁bombs\": 26084,\n      \"minister\": 26085,\n      \"Io\": 26086,\n      \"ölker\": 26087,\n      \"Autowired\": 26088,\n      \"umper\": 26089,\n      \"ichael\": 26090,\n      \"▁contributors\": 26091,\n      \"▁nasty\": 26092,\n      \"▁drap\": 26093,\n      \"▁Budapest\": 26094,\n      \"urious\": 26095,\n      \"hid\": 26096,\n      \"▁welcomed\": 26097,\n      \"▁wagon\": 26098,\n      \"▁Васи\": 26099,\n      \"▁embarrassed\": 26100,\n      \"▁Harvey\": 26101,\n      \"Los\": 26102,\n      \"▁Ster\": 26103,\n      \"▁enjoyable\": 26104,\n      \"ört\": 26105,\n      \"Millis\": 26106,\n      \"--)\": 26107,\n      \"▁dashed\": 26108,\n      \"\\\"><?\": 26109,\n      \"das\": 26110,\n      \"=$(\": 26111,\n      \"▁exh\": 26112,\n      \"ahu\": 26113,\n      \"▁wsp\": 26114,\n      \"▁Sebastian\": 26115,\n      \"Hen\": 26116,\n      \"SINGLE\": 26117,\n      \"bek\": 26118,\n      \"Very\": 26119,\n      \"achers\": 26120,\n      \"yaml\": 26121,\n      \"▁Bür\": 26122,\n      \"▁buddy\": 26123,\n      \"▁reste\": 26124,\n      \"▁parseInt\": 26125,\n      \"PLY\": 26126,\n      \"icl\": 26127,\n      \"▁bald\": 26128,\n      \"▁chase\": 26129,\n      \"▁homme\": 26130,\n      \"▁squeezed\": 26131,\n      \"▁possessed\": 26132,\n      \"▁attributed\": 26133,\n      \"▁Pul\": 26134,\n      \"Ha\": 26135,\n      \"Lu\": 26136,\n      \"▁Kin\": 26137,\n      \"terra\": 26138,\n      \"rotate\": 26139,\n      \"▁prospects\": 26140,\n      \"▁Communications\": 26141,\n      \"▁Thought\": 26142,\n      \"adj\": 26143,\n      \"▁Leader\": 26144,\n      \"conc\": 26145,\n      \"▁surveillance\": 26146,\n      \"▁VA\": 26147,\n      \"▁cryst\": 26148,\n      \"versions\": 26149,\n      \"▁они\": 26150,\n      \"robe\": 26151,\n      \"▁Jama\": 26152,\n      \"óm\": 26153,\n      \"▁Hook\": 26154,\n      \"sources\": 26155,\n      \"▁годах\": 26156,\n      \"▁intimid\": 26157,\n      \"erei\": 26158,\n      \"▁resent\": 26159,\n      \"especially\": 26160,\n      \">',\": 26161,\n      \"▁alliance\": 26162,\n      \"icism\": 26163,\n      \"▁NASA\": 26164,\n      \"▁pode\": 26165,\n      \"ční\": 26166,\n      \"▁responding\": 26167,\n      \"▁blowing\": 26168,\n      \"ické\": 26169,\n      \"вано\": 26170,\n      \"▁Hoff\": 26171,\n      \"MBER\": 26172,\n      \"▁civilization\": 26173,\n      \"aría\": 26174,\n      \"Unlock\": 26175,\n      \"gets\": 26176,\n      \"nod\": 26177,\n      \"▁STE\": 26178,\n      \"▁conscience\": 26179,\n      \"PEG\": 26180,\n      \"changing\": 26181,\n      \"▁Richmond\": 26182,\n      \"lington\": 26183,\n      \"ocratic\": 26184,\n      \"▁través\": 26185,\n      \"▁фран\": 26186,\n      \"▁updating\": 26187,\n      \"processing\": 26188,\n      \"Alex\": 26189,\n      \"▁militar\": 26190,\n      \"▁pseudo\": 26191,\n      \"strlen\": 26192,\n      \"▁behave\": 26193,\n      \"▁distinctive\": 26194,\n      \"▁Ec\": 26195,\n      \"▁cx\": 26196,\n      \"▁journalists\": 26197,\n      \"volt\": 26198,\n      \"▁spun\": 26199,\n      \"▁durable\": 26200,\n      \"▁proposition\": 26201,\n      \"threads\": 26202,\n      \"▁twentieth\": 26203,\n      \"▁фі\": 26204,\n      \"enson\": 26205,\n      \"▁selfish\": 26206,\n      \"arium\": 26207,\n      \"▁decid\": 26208,\n      \"▁харак\": 26209,\n      \"▁psychiat\": 26210,\n      \"gd\": 26211,\n      \"ZZ\": 26212,\n      \"ugu\": 26213,\n      \"▁ids\": 26214,\n      \"Managed\": 26215,\n      \"▁Legisl\": 26216,\n      \"ancellationToken\": 26217,\n      \"▁grants\": 26218,\n      \"▁lieutenant\": 26219,\n      \"▁Fleet\": 26220,\n      \"**/\": 26221,\n      \"▁Tig\": 26222,\n      \"▁accepts\": 26223,\n      \"▁systematic\": 26224,\n      \",{\\\\\": 26225,\n      \"▁Укра\": 26226,\n      \"▁ausge\": 26227,\n      \"▁dialect\": 26228,\n      \"stri\": 26229,\n      \"erme\": 26230,\n      \"▁Besch\": 26231,\n      \"love\": 26232,\n      \"Sensor\": 26233,\n      \"▁BIT\": 26234,\n      \"▁тру\": 26235,\n      \"▁mistaken\": 26236,\n      \"pv\": 26237,\n      \"▁utf\": 26238,\n      \"▁[\\\\\": 26239,\n      \"▁Gebiet\": 26240,\n      \"▁Mannschaft\": 26241,\n      \"PARAMETER\": 26242,\n      \"▁urb\": 26243,\n      \"▁Reed\": 26244,\n      \"▁cough\": 26245,\n      \"wald\": 26246,\n      \"▁Lamb\": 26247,\n      \"▁surviving\": 26248,\n      \"▁sway\": 26249,\n      \"▁све\": 26250,\n      \"WISE\": 26251,\n      \"äger\": 26252,\n      \"fy\": 26253,\n      \"ske\": 26254,\n      \"▁sog\": 26255,\n      \"▁Implement\": 26256,\n      \"获取\": 26257,\n      \"▁Tools\": 26258,\n      \"▁newer\": 26259,\n      \"▁exemple\": 26260,\n      \"▁litt\": 26261,\n      \"▁выпу\": 26262,\n      \"▁управ\": 26263,\n      \"Emitter\": 26264,\n      \"ISING\": 26265,\n      \"▁организа\": 26266,\n      \"▁Мі\": 26267,\n      \"▁Examples\": 26268,\n      \"▁Icon\": 26269,\n      \"Getter\": 26270,\n      \"▁Lay\": 26271,\n      \"▁Collect\": 26272,\n      \"Saint\": 26273,\n      \"orable\": 26274,\n      \"▁fick\": 26275,\n      \"ikh\": 26276,\n      \"slave\": 26277,\n      \"▁clay\": 26278,\n      \"▁WA\": 26279,\n      \"Repo\": 26280,\n      \"▁JavaScript\": 26281,\n      \"itr\": 26282,\n      \"paid\": 26283,\n      \"▁homework\": 26284,\n      \"Middleware\": 26285,\n      \"▁réal\": 26286,\n      \"▁призна\": 26287,\n      \"êm\": 26288,\n      \"èse\": 26289,\n      \"▁Wells\": 26290,\n      \"▁enero\": 26291,\n      \"emperaturen\": 26292,\n      \"▁Naj\": 26293,\n      \"▁Reagan\": 26294,\n      \"▁compelling\": 26295,\n      \"▁tribes\": 26296,\n      \"▁toString\": 26297,\n      \"paces\": 26298,\n      \"▁harmful\": 26299,\n      \"▁Conse\": 26300,\n      \"odio\": 26301,\n      \"▁mim\": 26302,\n      \"getItem\": 26303,\n      \"▁scripts\": 26304,\n      \"rais\": 26305,\n      \"▁Phase\": 26306,\n      \"▁Answer\": 26307,\n      \"▁$|\\\\\": 26308,\n      \"▁assembled\": 26309,\n      \"elin\": 26310,\n      \"phabet\": 26311,\n      \"▁toast\": 26312,\n      \"▁tutti\": 26313,\n      \"▁bezeichnet\": 26314,\n      \"Great\": 26315,\n      \"ettes\": 26316,\n      \"▁декабря\": 26317,\n      \"FULL\": 26318,\n      \"▁regener\": 26319,\n      \"▁które\": 26320,\n      \"гор\": 26321,\n      \"isce\": 26322,\n      \"▁toda\": 26323,\n      \"▁ethical\": 26324,\n      \"iq\": 26325,\n      \"Pt\": 26326,\n      \"arin\": 26327,\n      \"igos\": 26328,\n      \"▁workshops\": 26329,\n      \"▁Roche\": 26330,\n      \"GetString\": 26331,\n      \"министратив\": 26332,\n      \"même\": 26333,\n      \"▁Daw\": 26334,\n      \"arians\": 26335,\n      \"▁impacts\": 26336,\n      \"▁portable\": 26337,\n      \")-\\\\\": 26338,\n      \"shots\": 26339,\n      \"▁relev\": 26340,\n      \"PRIV\": 26341,\n      \"▁була\": 26342,\n      \"ardless\": 26343,\n      \"ulously\": 26344,\n      \"-->\": 26345,\n      \"olent\": 26346,\n      \"▁этого\": 26347,\n      \"▁Generic\": 26348,\n      \"▁*/,\": 26349,\n      \"▁combinations\": 26350,\n      \"▁rejo\": 26351,\n      \"спубли\": 26352,\n      \"capacity\": 26353,\n      \"▁traces\": 26354,\n      \"▁opacity\": 26355,\n      \"▁Official\": 26356,\n      \"icion\": 26357,\n      \"▁emotionally\": 26358,\n      \"▁Joel\": 26359,\n      \"ському\": 26360,\n      \"▁legendary\": 26361,\n      \"▁pam\": 26362,\n      \"▁También\": 26363,\n      \".<\": 26364,\n      \"iba\": 26365,\n      \"midt\": 26366,\n      \"бом\": 26367,\n      \"▁ensuite\": 26368,\n      \"Authorization\": 26369,\n      \"Pag\": 26370,\n      \"▁helmet\": 26371,\n      \"▁territo\": 26372,\n      \"secondary\": 26373,\n      \"▁segunda\": 26374,\n      \"▁Wire\": 26375,\n      \"recated\": 26376,\n      \"▁invoked\": 26377,\n      \"▁ValueError\": 26378,\n      \"▁фо\": 26379,\n      \"ALIGN\": 26380,\n      \"CURRENT\": 26381,\n      \"\\\\+\\\\_\\\\\": 26382,\n      \"▁compilation\": 26383,\n      \"ær\": 26384,\n      \"▁Palmar\": 26385,\n      \"▁influences\": 26386,\n      \"/:\": 26387,\n      \"Mix\": 26388,\n      \"NOP\": 26389,\n      \"econom\": 26390,\n      \"▁tucked\": 26391,\n      \"▁});\\r\": 26392,\n      \"ANK\": 26393,\n      \"reject\": 26394,\n      \"▁pension\": 26395,\n      \"▁generates\": 26396,\n      \"чё\": 26397,\n      \"▁incap\": 26398,\n      \"▁clicked\": 26399,\n      \"▁fus\": 26400,\n      \"ourses\": 26401,\n      \"▁Easter\": 26402,\n      \"%;\": 26403,\n      \"zin\": 26404,\n      \"▁obligations\": 26405,\n      \"▁Tips\": 26406,\n      \"};\\r\": 26407,\n      \".\\\"_\": 26408,\n      \"▁BSD\": 26409,\n      \"ática\": 26410,\n      \"▁expose\": 26411,\n      \"Pars\": 26412,\n      \"▁Amanda\": 26413,\n      \"куп\": 26414,\n      \"▁guessed\": 26415,\n      \"dsi\": 26416,\n      \"▁Leip\": 26417,\n      \"Broad\": 26418,\n      \"▁Hughes\": 26419,\n      \"ié\": 26420,\n      \"▁Wahl\": 26421,\n      \"▁formerly\": 26422,\n      \"Relative\": 26423,\n      \"▁Yu\": 26424,\n      \"▁Mountains\": 26425,\n      \"▁Enum\": 26426,\n      \"▁strang\": 26427,\n      \"_-\": 26428,\n      \"recht\": 26429,\n      \"viv\": 26430,\n      \"pause\": 26431,\n      \"▁Londres\": 26432,\n      \"▁elbow\": 26433,\n      \"▁Hawaii\": 26434,\n      \"▁Casino\": 26435,\n      \"Threshold\": 26436,\n      \"Units\": 26437,\n      \"Include\": 26438,\n      \"ито\": 26439,\n      \"asury\": 26440,\n      \"▁steht\": 26441,\n      \"▁damned\": 26442,\n      \"▁packets\": 26443,\n      \"▁Werk\": 26444,\n      \"▁elevator\": 26445,\n      \"iedad\": 26446,\n      \"govern\": 26447,\n      \"▁CONTRACT\": 26448,\n      \"mals\": 26449,\n      \"▁remem\": 26450,\n      \"▁entonces\": 26451,\n      \"▁vas\": 26452,\n      \"▁sympathy\": 26453,\n      \"▁befindet\": 26454,\n      \"incing\": 26455,\n      \"DataSet\": 26456,\n      \"▁additionally\": 26457,\n      \"▁musician\": 26458,\n      \"шего\": 26459,\n      \"▁listop\": 26460,\n      \">\\\")\": 26461,\n      \"Printf\": 26462,\n      \"▁Felix\": 26463,\n      \"▁carved\": 26464,\n      \"▁nicely\": 26465,\n      \"гом\": 26466,\n      \"chap\": 26467,\n      \"▁Nieder\": 26468,\n      \"▁Lav\": 26469,\n      \"▁modifications\": 26470,\n      \"moment\": 26471,\n      \"▁balcon\": 26472,\n      \"▁dependency\": 26473,\n      \"CKET\": 26474,\n      \"▁vanished\": 26475,\n      \"▁fighters\": 26476,\n      \"▁zunächst\": 26477,\n      \"ioctl\": 26478,\n      \"▁defens\": 26479,\n      \"▁Nem\": 26480,\n      \"Utility\": 26481,\n      \"▁curv\": 26482,\n      \"▁DAMAGES\": 26483,\n      \"▁Rogers\": 26484,\n      \"▁gratitude\": 26485,\n      \"▁Denmark\": 26486,\n      \"рая\": 26487,\n      \"grpc\": 26488,\n      \"▁juni\": 26489,\n      \"▁октября\": 26490,\n      \"▁immense\": 26491,\n      \"▁prevented\": 26492,\n      \"▁foam\": 26493,\n      \"▁Extra\": 26494,\n      \"aimed\": 26495,\n      \"▁Criteria\": 26496,\n      \"▁Simply\": 26497,\n      \"boxes\": 26498,\n      \"▁Legend\": 26499,\n      \"▁Players\": 26500,\n      \"▁Mercedes\": 26501,\n      \"▁Branch\": 26502,\n      \"TERN\": 26503,\n      \"omena\": 26504,\n      \"▁incorporate\": 26505,\n      \"conde\": 26506,\n      \"▁Estado\": 26507,\n      \"▁wasted\": 26508,\n      \"▁complaining\": 26509,\n      \"▁warriors\": 26510,\n      \"oter\": 26511,\n      \"▁этом\": 26512,\n      \"▁conten\": 26513,\n      \"▁machinery\": 26514,\n      \"▁technological\": 26515,\n      \"▁TD\": 26516,\n      \"▁gras\": 26517,\n      \"▁minimize\": 26518,\n      \"▁Door\": 26519,\n      \"▁bzw\": 26520,\n      \"▁prac\": 26521,\n      \"TREE\": 26522,\n      \"▁Wing\": 26523,\n      \"▁Transaction\": 26524,\n      \"▁MVT\": 26525,\n      \"▁Klein\": 26526,\n      \"commons\": 26527,\n      \"▁}{\": 26528,\n      \"▁Heritage\": 26529,\n      \"▁fade\": 26530,\n      \"рок\": 26531,\n      \"setValue\": 26532,\n      \"▁Wallace\": 26533,\n      \"MX\": 26534,\n      \"▁ACT\": 26535,\n      \"▁footage\": 26536,\n      \"▁entstand\": 26537,\n      \"arga\": 26538,\n      \"▁nails\": 26539,\n      \"▁capitalism\": 26540,\n      \"▁Garc\": 26541,\n      \"▁suspension\": 26542,\n      \"ilis\": 26543,\n      \"▁Mov\": 26544,\n      \"uffled\": 26545,\n      \"Arc\": 26546,\n      \"▁Beautiful\": 26547,\n      \"WAY\": 26548,\n      \"Parallel\": 26549,\n      \"XXXX\": 26550,\n      \"diag\": 26551,\n      \"▁DT\": 26552,\n      \"mq\": 26553,\n      \"TextView\": 26554,\n      \"MLE\": 26555,\n      \"ennen\": 26556,\n      \"▁infected\": 26557,\n      \"▁therapist\": 26558,\n      \"INGS\": 26559,\n      \"▁cidade\": 26560,\n      \"ън\": 26561,\n      \"▁pdf\": 26562,\n      \"▁bump\": 26563,\n      \"CTX\": 26564,\n      \"▁INCLUDING\": 26565,\n      \"▁Gef\": 26566,\n      \"ENTIAL\": 26567,\n      \"▁handy\": 26568,\n      \"▁temporal\": 26569,\n      \"AtA\": 26570,\n      \"ISH\": 26571,\n      \"▁Pattern\": 26572,\n      \"▁lan\": 26573,\n      \"ependant\": 26574,\n      \"▁shining\": 26575,\n      \"idy\": 26576,\n      \"▁NT\": 26577,\n      \"▁Fran\": 26578,\n      \"▁nurses\": 26579,\n      \"▁betray\": 26580,\n      \"▁sensible\": 26581,\n      \"▁апреля\": 26582,\n      \"▁'[\": 26583,\n      \"▁thirteen\": 26584,\n      \")}_{\": 26585,\n      \"▁Noah\": 26586,\n      \"INSERT\": 26587,\n      \"istically\": 26588,\n      \"▁Appendix\": 26589,\n      \"▁recher\": 26590,\n      \"Receiver\": 26591,\n      \"▁dernier\": 26592,\n      \"лла\": 26593,\n      \"лиза\": 26594,\n      \"▁Partido\": 26595,\n      \"▁maximal\": 26596,\n      \"snap\": 26597,\n      \"▁часть\": 26598,\n      \"STOP\": 26599,\n      \"▁ultra\": 26600,\n      \"▁développ\": 26601,\n      \"▁tegen\": 26602,\n      \"▁Чи\": 26603,\n      \"LIB\": 26604,\n      \"▁baseline\": 26605,\n      \"reload\": 26606,\n      \"▁Arbitro\": 26607,\n      \"▁kall\": 26608,\n      \"capture\": 26609,\n      \"Arm\": 26610,\n      \"quin\": 26611,\n      \"impse\": 26612,\n      \"zas\": 26613,\n      \"▁Cand\": 26614,\n      \"▁brains\": 26615,\n      \"▁hostile\": 26616,\n      \"▁marble\": 26617,\n      \"oons\": 26618,\n      \"▁Loss\": 26619,\n      \"MetaData\": 26620,\n      \"▁República\": 26621,\n      \"▁andra\": 26622,\n      \"oden\": 26623,\n      \"▁documented\": 26624,\n      \"▁Moses\": 26625,\n      \"odd\": 26626,\n      \"▁wax\": 26627,\n      \"usch\": 26628,\n      \"▁diagnosed\": 26629,\n      \"inkle\": 26630,\n      \"▁Xbox\": 26631,\n      \"▁seventy\": 26632,\n      \"cias\": 26633,\n      \"▁noviembre\": 26634,\n      \"Compute\": 26635,\n      \"});\\r\": 26636,\n      \"▁Philippe\": 26637,\n      \"▁För\": 26638,\n      \"Leave\": 26639,\n      \"▁sage\": 26640,\n      \"▁unpre\": 26641,\n      \"▁Fortunately\": 26642,\n      \"▁apost\": 26643,\n      \"entities\": 26644,\n      \"▁ellos\": 26645,\n      \"authorized\": 26646,\n      \"GBT\": 26647,\n      \"▁insist\": 26648,\n      \"▁inspire\": 26649,\n      \"Mass\": 26650,\n      \"▁rôle\": 26651,\n      \"fee\": 26652,\n      \"ipart\": 26653,\n      \"цер\": 26654,\n      \"unate\": 26655,\n      \"▁CNN\": 26656,\n      \":}\": 26657,\n      \"▁unhappy\": 26658,\n      \"▁imported\": 26659,\n      \"HIGH\": 26660,\n      \"rings\": 26661,\n      \"▁Instance\": 26662,\n      \"Bay\": 26663,\n      \"agles\": 26664,\n      \"mee\": 26665,\n      \"bery\": 26666,\n      \"▁Stories\": 26667,\n      \"▁Chase\": 26668,\n      \"▁carriage\": 26669,\n      \"▁misunder\": 26670,\n      \"▁imagin\": 26671,\n      \"pw\": 26672,\n      \"▁Meter\": 26673,\n      \"▁crowds\": 26674,\n      \"▁Fame\": 26675,\n      \"skill\": 26676,\n      \"▁comed\": 26677,\n      \"▁ranch\": 26678,\n      \"▁lacking\": 26679,\n      \"▁submar\": 26680,\n      \"iante\": 26681,\n      \"▁lanz\": 26682,\n      \"▁служ\": 26683,\n      \"-----------\": 26684,\n      \"▁obten\": 26685,\n      \"▁downstairs\": 26686,\n      \"YN\": 26687,\n      \"rotation\": 26688,\n      \"▁Jesse\": 26689,\n      \"$(\\\"#\": 26690,\n      \"▁puls\": 26691,\n      \"irling\": 26692,\n      \"▁Schaus\": 26693,\n      \"▁deployed\": 26694,\n      \"▁{}\\\",\": 26695,\n      \"▁Marvel\": 26696,\n      \"ENUM\": 26697,\n      \"▁Mathemat\": 26698,\n      \"▁nn\": 26699,\n      \"compet\": 26700,\n      \"ków\": 26701,\n      \"bil\": 26702,\n      \"Which\": 26703,\n      \"isine\": 26704,\n      \"▁rude\": 26705,\n      \"▁niveau\": 26706,\n      \"▁área\": 26707,\n      \"▁près\": 26708,\n      \"atis\": 26709,\n      \"▁[...]\": 26710,\n      \"fur\": 26711,\n      \"omm\": 26712,\n      \"packed\": 26713,\n      \"мене\": 26714,\n      \"scriptstyle\": 26715,\n      \"▁Ath\": 26716,\n      \"▁desp\": 26717,\n      \"eltemperaturen\": 26718,\n      \"▁talents\": 26719,\n      \"ocy\": 26720,\n      \"▁raises\": 26721,\n      \"LIMIT\": 26722,\n      \"▁editorial\": 26723,\n      \"▁Animal\": 26724,\n      \"drive\": 26725,\n      \"▁работа\": 26726,\n      \"bss\": 26727,\n      \"▁Sev\": 26728,\n      \"epoch\": 26729,\n      \"▁RC\": 26730,\n      \"UNUSED\": 26731,\n      \"▁mandatory\": 26732,\n      \"(?:\": 26733,\n      \"▁Bin\": 26734,\n      \"▁synthetic\": 26735,\n      \"▁gown\": 26736,\n      \"▁Dob\": 26737,\n      \"kap\": 26738,\n      \"▁harmon\": 26739,\n      \"▁liberty\": 26740,\n      \"▁Rice\": 26741,\n      \"▁prayers\": 26742,\n      \"▁mise\": 26743,\n      \"▁confusing\": 26744,\n      \"▁leap\": 26745,\n      \"▁arrives\": 26746,\n      \"kamp\": 26747,\n      \"▁thats\": 26748,\n      \"ACC\": 26749,\n      \"▁Parameters\": 26750,\n      \"▁одно\": 26751,\n      \"▁Bio\": 26752,\n      \"density\": 26753,\n      \"▁glimpse\": 26754,\n      \"FORE\": 26755,\n      \"▁Listen\": 26756,\n      \"Prev\": 26757,\n      \"}\\\\,\\\\\": 26758,\n      \"куль\": 26759,\n      \"▁SEC\": 26760,\n      \"▁explored\": 26761,\n      \"▁meantime\": 26762,\n      \"AIL\": 26763,\n      \"▁WP\": 26764,\n      \"▁raison\": 26765,\n      \"▁existe\": 26766,\n      \"▁lesser\": 26767,\n      \"▁Validate\": 26768,\n      \"▁caution\": 26769,\n      \"usta\": 26770,\n      \"heading\": 26771,\n      \"EFF\": 26772,\n      \".'\\\"\": 26773,\n      \"▁Gilbert\": 26774,\n      \"▁limitation\": 26775,\n      \"▁retour\": 26776,\n      \"▁Commonwealth\": 26777,\n      \"▁gewann\": 26778,\n      \"▁miserable\": 26779,\n      \"▁networking\": 26780,\n      \"▁ottobre\": 26781,\n      \"▁Dise\": 26782,\n      \"edges\": 26783,\n      \"▁sede\": 26784,\n      \"вича\": 26785,\n      \"uniform\": 26786,\n      \"▁деятель\": 26787,\n      \"iros\": 26788,\n      \"▁desen\": 26789,\n      \"▁parc\": 26790,\n      \"▁Rico\": 26791,\n      \"Ns\": 26792,\n      \"guid\": 26793,\n      \"orio\": 26794,\n      \"avelength\": 26795,\n      \"▁Gle\": 26796,\n      \"inceton\": 26797,\n      \"Amaz\": 26798,\n      \"Construct\": 26799,\n      \"▁mx\": 26800,\n      \"▁Vern\": 26801,\n      \"▁Generation\": 26802,\n      \"Jack\": 26803,\n      \"romag\": 26804,\n      \"▁viagra\": 26805,\n      \"▁Peg\": 26806,\n      \"▁Updated\": 26807,\n      \"▁overlap\": 26808,\n      \"EventArgs\": 26809,\n      \"кро\": 26810,\n      \"▁*«\": 26811,\n      \"▁questioned\": 26812,\n      \"South\": 26813,\n      \"notice\": 26814,\n      \"▁permanently\": 26815,\n      \"lst\": 26816,\n      \"ficie\": 26817,\n      \"▁quella\": 26818,\n      \"▁colleges\": 26819,\n      \"▁disappointment\": 26820,\n      \"▁Luft\": 26821,\n      \"imgur\": 26822,\n      \"▁transitions\": 26823,\n      \"▁seller\": 26824,\n      \"▁июня\": 26825,\n      \"▁Og\": 26826,\n      \"▁ADD\": 26827,\n      \"▁Pays\": 26828,\n      \"COMMAND\": 26829,\n      \"grades\": 26830,\n      \"▁febbra\": 26831,\n      \"▁Cyr\": 26832,\n      \"▁febbraio\": 26833,\n      \"eti\": 26834,\n      \"▁arom\": 26835,\n      \"▁Claude\": 26836,\n      \"▁UEFA\": 26837,\n      \"▁живе\": 26838,\n      \"▁Victorian\": 26839,\n      \"keeping\": 26840,\n      \"ên\": 26841,\n      \"▁FIXME\": 26842,\n      \"itime\": 26843,\n      \"chestr\": 26844,\n      \"▁Samsung\": 26845,\n      \"▁doctrine\": 26846,\n      \"▁pear\": 26847,\n      \"▁Mediterranean\": 26848,\n      \"▁Ya\": 26849,\n      \"▁vault\": 26850,\n      \"▁Historic\": 26851,\n      \"▁sedan\": 26852,\n      \"▁heated\": 26853,\n      \"▁política\": 26854,\n      \"Proof\": 26855,\n      \":{\": 26856,\n      \"fem\": 26857,\n      \"▁Frankfurt\": 26858,\n      \"pectives\": 26859,\n      \"MG\": 26860,\n      \"▁Eye\": 26861,\n      \"dai\": 26862,\n      \"▁reserves\": 26863,\n      \"NER\": 26864,\n      \"▁tobacco\": 26865,\n      \"▁fragments\": 26866,\n      \"icc\": 26867,\n      \"▁booth\": 26868,\n      \"▁cruise\": 26869,\n      \"▁Testament\": 26870,\n      \"cola\": 26871,\n      \"▁Leop\": 26872,\n      \"▁noon\": 26873,\n      \"▁terrified\": 26874,\n      \"vb\": 26875,\n      \"intel\": 26876,\n      \"alie\": 26877,\n      \"▁verification\": 26878,\n      \"yster\": 26879,\n      \"ADER\": 26880,\n      \"chied\": 26881,\n      \"▁datasets\": 26882,\n      \"▁зі\": 26883,\n      \"▁miem\": 26884,\n      \"ulates\": 26885,\n      \"▁uuid\": 26886,\n      \"▁Pictures\": 26887,\n      \"▁Brend\": 26888,\n      \"Billboard\": 26889,\n      \"▁stern\": 26890,\n      \"▁denom\": 26891,\n      \"▁accidents\": 26892,\n      \"сня\": 26893,\n      \"▁packing\": 26894,\n      \"ција\": 26895,\n      \"iblical\": 26896,\n      \"▁Так\": 26897,\n      \"▁whisk\": 26898,\n      \"▁luego\": 26899,\n      \"▁rectangle\": 26900,\n      \"▁hooks\": 26901,\n      \"▁neglect\": 26902,\n      \"▁sober\": 26903,\n      \"proposition\": 26904,\n      \"Multiple\": 26905,\n      \":\\\",\": 26906,\n      \"▁bapt\": 26907,\n      \"Parts\": 26908,\n      \"▁Selection\": 26909,\n      \"▁Alpha\": 26910,\n      \"weights\": 26911,\n      \"hall\": 26912,\n      \"соб\": 26913,\n      \"▁lur\": 26914,\n      \"▁época\": 26915,\n      \"▁rested\": 26916,\n      \"ambigu\": 26917,\n      \"▁tastes\": 26918,\n      \"amazonaws\": 26919,\n      \"▁confess\": 26920,\n      \"▁diciembre\": 26921,\n      \"implement\": 26922,\n      \"▁absorption\": 26923,\n      \"Hal\": 26924,\n      \"LEAN\": 26925,\n      \"▁Zach\": 26926,\n      \"▁freeze\": 26927,\n      \"LBL\": 26928,\n      \"STM\": 26929,\n      \"▁calc\": 26930,\n      \"={()\": 26931,\n      \"=*/\": 26932,\n      \"▁bt\": 26933,\n      \"Reb\": 26934,\n      \"▁Wien\": 26935,\n      \"anska\": 26936,\n      \"▁surn\": 26937,\n      \"iative\": 26938,\n      \"▁invån\": 26939,\n      \"CY\": 26940,\n      \"▁là\": 26941,\n      \"amba\": 26942,\n      \"leen\": 26943,\n      \"wahl\": 26944,\n      \"▁functioning\": 26945,\n      \"ția\": 26946,\n      \"getContext\": 26947,\n      \"gart\": 26948,\n      \"▁обе\": 26949,\n      \"Pen\": 26950,\n      \"vik\": 26951,\n      \"Slider\": 26952,\n      \"▁Accept\": 26953,\n      \"Gap\": 26954,\n      \"▁Jorge\": 26955,\n      \"SIG\": 26956,\n      \"▁вос\": 26957,\n      \"▁голо\": 26958,\n      \"▁periodo\": 26959,\n      \"шта\": 26960,\n      \"▁patches\": 26961,\n      \"кої\": 26962,\n      \"äre\": 26963,\n      \"engono\": 26964,\n      \"lista\": 26965,\n      \"horn\": 26966,\n      \"▁Complex\": 26967,\n      \"Sent\": 26968,\n      \"trfs\": 26969,\n      \"▁convex\": 26970,\n      \"Generation\": 26971,\n      \"▁місце\": 26972,\n      \"compress\": 26973,\n      \"▁Sax\": 26974,\n      \"▁uid\": 26975,\n      \"▁Lebens\": 26976,\n      \"Completion\": 26977,\n      \"\\\\|_{\": 26978,\n      \"insky\": 26979,\n      \"▁schon\": 26980,\n      \"▁masters\": 26981,\n      \"independ\": 26982,\n      \"neys\": 26983,\n      \"▁lied\": 26984,\n      \"▁aspir\": 26985,\n      \"чні\": 26986,\n      \"▁breakdown\": 26987,\n      \"▁Harm\": 26988,\n      \"▁designing\": 26989,\n      \"hf\": 26990,\n      \"▁Angela\": 26991,\n      \"▁confer\": 26992,\n      \"▁partido\": 26993,\n      \"▁interference\": 26994,\n      \"mao\": 26995,\n      \"▁absorbed\": 26996,\n      \"▁Vall\": 26997,\n      \"ErrorCode\": 26998,\n      \"▁Publishing\": 26999,\n      \"vano\": 27000,\n      \"BITS\": 27001,\n      \"▁deer\": 27002,\n      \"▁Campaign\": 27003,\n      \"▁graz\": 27004,\n      \"CHANGE\": 27005,\n      \"▁feder\": 27006,\n      \"iffe\": 27007,\n      \"handed\": 27008,\n      \"cq\": 27009,\n      \"umbing\": 27010,\n      \"▁unre\": 27011,\n      \"▁siendo\": 27012,\n      \"▁simpler\": 27013,\n      \"why\": 27014,\n      \"arettes\": 27015,\n      \"anst\": 27016,\n      \"▁hass\": 27017,\n      \"▁Enterprise\": 27018,\n      \"▁mois\": 27019,\n      \"▁Fo\": 27020,\n      \"▁участ\": 27021,\n      \"ffen\": 27022,\n      \"▁MODULE\": 27023,\n      \"▁activated\": 27024,\n      \"▁internacional\": 27025,\n      \"▁Mittel\": 27026,\n      \"degree\": 27027,\n      \"▁откры\": 27028,\n      \"▁&(\": 27029,\n      \"getProperty\": 27030,\n      \"isz\": 27031,\n      \"cedure\": 27032,\n      \"▁enters\": 27033,\n      \"▁Sally\": 27034,\n      \"▁Train\": 27035,\n      \"▁logged\": 27036,\n      \"▁Rav\": 27037,\n      \"▁Avoid\": 27038,\n      \"▁Kaiser\": 27039,\n      \"▁expend\": 27040,\n      \"aphor\": 27041,\n      \"▁brass\": 27042,\n      \"▁melod\": 27043,\n      \"▁attitudes\": 27044,\n      \"*\\\"\": 27045,\n      \"Wall\": 27046,\n      \"▁owe\": 27047,\n      \"▁bamb\": 27048,\n      \"shader\": 27049,\n      \"cester\": 27050,\n      \"▁PP\": 27051,\n      \"▁migrations\": 27052,\n      \"entric\": 27053,\n      \"▁Setup\": 27054,\n      \"▁Artist\": 27055,\n      \"hre\": 27056,\n      \"▁polite\": 27057,\n      \"ahan\": 27058,\n      \"▁luglio\": 27059,\n      \"▁predecess\": 27060,\n      \"▁SIG\": 27061,\n      \"тів\": 27062,\n      \"▁RF\": 27063,\n      \"▁Dry\": 27064,\n      \"▁maker\": 27065,\n      \"шим\": 27066,\n      \"▁Sounds\": 27067,\n      \"▁implementing\": 27068,\n      \"▁ah\": 27069,\n      \"▁gev\": 27070,\n      \"▁duplicate\": 27071,\n      \"▁Logan\": 27072,\n      \"▁Grade\": 27073,\n      \"DUCT\": 27074,\n      \"íses\": 27075,\n      \"ért\": 27076,\n      \"▁nonsense\": 27077,\n      \"backup\": 27078,\n      \"Attachment\": 27079,\n      \"▁ecc\": 27080,\n      \"▁Squadron\": 27081,\n      \"learn\": 27082,\n      \"deprecated\": 27083,\n      \"▁Aub\": 27084,\n      \"▁Gol\": 27085,\n      \"▁overl\": 27086,\n      \"SERVICE\": 27087,\n      \"▁beautifully\": 27088,\n      \"REL\": 27089,\n      \"▁Gian\": 27090,\n      \"▁Papa\": 27091,\n      \"respond\": 27092,\n      \"▁Caribbean\": 27093,\n      \"rn\": 27094,\n      \"▁худож\": 27095,\n      \"Cfg\": 27096,\n      \"rai\": 27097,\n      \"▁sniff\": 27098,\n      \"tto\": 27099,\n      \"ологи\": 27100,\n      \"▁rb\": 27101,\n      \"▁incidents\": 27102,\n      \"▁duck\": 27103,\n      \"▁PROVIDED\": 27104,\n      \"Sources\": 27105,\n      \"▁Chelsea\": 27106,\n      \"▁tek\": 27107,\n      \"▁налази\": 27108,\n      \"▁pilots\": 27109,\n      \"тки\": 27110,\n      \"▁traded\": 27111,\n      \"▁Beijing\": 27112,\n      \"▁Gregory\": 27113,\n      \"scalar\": 27114,\n      \"▁inclined\": 27115,\n      \"▁Kamp\": 27116,\n      \"▁Marian\": 27117,\n      \"▁fierce\": 27118,\n      \"▁theft\": 27119,\n      \"ющих\": 27120,\n      \"▁Into\": 27121,\n      \"constraint\": 27122,\n      \"parentNode\": 27123,\n      \"idental\": 27124,\n      \"▁gouvernement\": 27125,\n      \"▁SND\": 27126,\n      \"▁Ruby\": 27127,\n      \"▁monaster\": 27128,\n      \"Records\": 27129,\n      \"▁Kab\": 27130,\n      \"▁Universe\": 27131,\n      \"▁approximate\": 27132,\n      \"Water\": 27133,\n      \"▁Physical\": 27134,\n      \"appers\": 27135,\n      \"oubtedly\": 27136,\n      \"ложен\": 27137,\n      \"▁towel\": 27138,\n      \"▁siblings\": 27139,\n      \"eph\": 27140,\n      \"icios\": 27141,\n      \"рами\": 27142,\n      \"▁outrage\": 27143,\n      \"▁també\": 27144,\n      \"SRC\": 27145,\n      \"телем\": 27146,\n      \"Vi\": 27147,\n      \".');\": 27148,\n      \"LM\": 27149,\n      \"▁mitt\": 27150,\n      \"▁weed\": 27151,\n      \"▁crops\": 27152,\n      \"iman\": 27153,\n      \"Claim\": 27154,\n      \"insula\": 27155,\n      \"▁(“\": 27156,\n      \"▁Changes\": 27157,\n      \"▁invånare\": 27158,\n      \"again\": 27159,\n      \"▁cnt\": 27160,\n      \"▁Gaz\": 27161,\n      \"▁austral\": 27162,\n      \"overlay\": 27163,\n      \"▁Mechan\": 27164,\n      \"▁slammed\": 27165,\n      \"▁trailing\": 27166,\n      \"▁Biography\": 27167,\n      \"▁appealing\": 27168,\n      \"IVER\": 27169,\n      \"▁Ave\": 27170,\n      \"▁Plot\": 27171,\n      \"voj\": 27172,\n      \"▁sung\": 27173,\n      \"▁unos\": 27174,\n      \"Effects\": 27175,\n      \"vv\": 27176,\n      \"cook\": 27177,\n      \"Buttons\": 27178,\n      \"▁transm\": 27179,\n      \"ierto\": 27180,\n      \"CONTEXT\": 27181,\n      \"▁dignity\": 27182,\n      \"aired\": 27183,\n      \"javax\": 27184,\n      \"▁Alberto\": 27185,\n      \"▁Recently\": 27186,\n      \"▁facial\": 27187,\n      \"mathop\": 27188,\n      \"ało\": 27189,\n      \"вид\": 27190,\n      \"cott\": 27191,\n      \"Variables\": 27192,\n      \"▁Ran\": 27193,\n      \"▁bunk\": 27194,\n      \"amiliar\": 27195,\n      \"CAST\": 27196,\n      \"▁frü\": 27197,\n      \"VED\": 27198,\n      \"▁NOTICE\": 27199,\n      \"▁turno\": 27200,\n      \"validator\": 27201,\n      \"▁Portuguese\": 27202,\n      \"▁questioning\": 27203,\n      \"}})\": 27204,\n      \"▁lear\": 27205,\n      \"Xamarin\": 27206,\n      \"▁disadv\": 27207,\n      \"encoded\": 27208,\n      \"▁Kot\": 27209,\n      \"rated\": 27210,\n      \"▁Theory\": 27211,\n      \"cius\": 27212,\n      \"▁Darwin\": 27213,\n      \"ђе\": 27214,\n      \"▁décl\": 27215,\n      \"▁область\": 27216,\n      \"рович\": 27217,\n      \"▁mobility\": 27218,\n      \"VF\": 27219,\n      \"▁хи\": 27220,\n      \"until\": 27221,\n      \"▁barriers\": 27222,\n      \"gif\": 27223,\n      \"▁Roh\": 27224,\n      \"▁aging\": 27225,\n      \"▁Widget\": 27226,\n      \"olk\": 27227,\n      \"▁farms\": 27228,\n      \"Checker\": 27229,\n      \"Introduction\": 27230,\n      \"смо\": 27231,\n      \"▁Russians\": 27232,\n      \"naments\": 27233,\n      \"▁Insert\": 27234,\n      \"▁Whenever\": 27235,\n      \"erset\": 27236,\n      \"itori\": 27237,\n      \"▁Dort\": 27238,\n      \"▁costume\": 27239,\n      \"▁mathematical\": 27240,\n      \"▁Bast\": 27241,\n      \"▁nominated\": 27242,\n      \"▁restoration\": 27243,\n      \"posal\": 27244,\n      \"▁unfortunate\": 27245,\n      \"Ps\": 27246,\n      \"LIN\": 27247,\n      \"▁intact\": 27248,\n      \"▁provoc\": 27249,\n      \"▁située\": 27250,\n      \"▁ноября\": 27251,\n      \"ermo\": 27252,\n      \"▁fisher\": 27253,\n      \"гля\": 27254,\n      \"▁conting\": 27255,\n      \"▁Doug\": 27256,\n      \"\\\"?\": 27257,\n      \"▁Eva\": 27258,\n      \"▁tops\": 27259,\n      \"▁Remote\": 27260,\n      \"▁artwork\": 27261,\n      \"▁artillery\": 27262,\n      \"quick\": 27263,\n      \"▁Arabia\": 27264,\n      \"▁SDValue\": 27265,\n      \"▁Dakota\": 27266,\n      \"iated\": 27267,\n      \"▁Optim\": 27268,\n      \"buttons\": 27269,\n      \"▁cottage\": 27270,\n      \"▁wherein\": 27271,\n      \"▁tutorial\": 27272,\n      \"▁Scre\": 27273,\n      \"▁sweep\": 27274,\n      \"▁Coffee\": 27275,\n      \"})}\": 27276,\n      \"▁музы\": 27277,\n      \"hostname\": 27278,\n      \"▁Temp\": 27279,\n      \"▁Fut\": 27280,\n      \"respect\": 27281,\n      \"ocz\": 27282,\n      \"▁predomin\": 27283,\n      \"Indicator\": 27284,\n      \"encial\": 27285,\n      \"UMENT\": 27286,\n      \"▁SHALL\": 27287,\n      \"▁commanded\": 27288,\n      \"▁withdrawal\": 27289,\n      \"iour\": 27290,\n      \"REGION\": 27291,\n      \"sprintf\": 27292,\n      \"▁вме\": 27293,\n      \"▁Payment\": 27294,\n      \"▁Anim\": 27295,\n      \"publish\": 27296,\n      \"▁seeks\": 27297,\n      \"ouw\": 27298,\n      \"▁GM\": 27299,\n      \"rugu\": 27300,\n      \"ustain\": 27301,\n      \"▁))\": 27302,\n      \"▁consulting\": 27303,\n      \"▁Dialog\": 27304,\n      \"▁Lars\": 27305,\n      \"▁critique\": 27306,\n      \"▁circulation\": 27307,\n      \"▁landsc\": 27308,\n      \"managed\": 27309,\n      \"▁Craft\": 27310,\n      \"▁herman\": 27311,\n      \"afi\": 27312,\n      \"amy\": 27313,\n      \"▁discour\": 27314,\n      \"<>(\": 27315,\n      \"▁Steph\": 27316,\n      \"▁tolerance\": 27317,\n      \"typename\": 27318,\n      \"ventions\": 27319,\n      \"ział\": 27320,\n      \"стов\": 27321,\n      \"▁sticking\": 27322,\n      \"ASC\": 27323,\n      \"ISO\": 27324,\n      \"▁Spencer\": 27325,\n      \"▁Didn\": 27326,\n      \"gomery\": 27327,\n      \"imiter\": 27328,\n      \"dru\": 27329,\n      \"Clause\": 27330,\n      \"▁slides\": 27331,\n      \"###\": 27332,\n      \"▁Sugar\": 27333,\n      \"HY\": 27334,\n      \"▁эти\": 27335,\n      \"▁Edwards\": 27336,\n      \"▁cents\": 27337,\n      \"oya\": 27338,\n      \"serts\": 27339,\n      \"▁Hass\": 27340,\n      \"▁ingen\": 27341,\n      \"стри\": 27342,\n      \"▁saddle\": 27343,\n      \"solid\": 27344,\n      \"▁champions\": 27345,\n      \"-)\": 27346,\n      \"▁Slov\": 27347,\n      \"▁shiny\": 27348,\n      \"▁*)&\": 27349,\n      \"▁Define\": 27350,\n      \"če\": 27351,\n      \"▁scrut\": 27352,\n      \"onden\": 27353,\n      \"'\\\",\": 27354,\n      \"uffs\": 27355,\n      \"▁olymp\": 27356,\n      \"idential\": 27357,\n      \"wand\": 27358,\n      \"▁annually\": 27359,\n      \"▁Arkansas\": 27360,\n      \"▁saint\": 27361,\n      \"▁gleich\": 27362,\n      \"▁perfection\": 27363,\n      \")>\": 27364,\n      \"▁shorts\": 27365,\n      \"▁justified\": 27366,\n      \"peated\": 27367,\n      \"packages\": 27368,\n      \"driven\": 27369,\n      \"▁Liberty\": 27370,\n      \"▁stripped\": 27371,\n      \"шение\": 27372,\n      \"▁fünf\": 27373,\n      \"▁ecosystem\": 27374,\n      \"ixa\": 27375,\n      \"▁Fresh\": 27376,\n      \"vart\": 27377,\n      \"▁treats\": 27378,\n      \"▁stance\": 27379,\n      \"чёт\": 27380,\n      \"▁pity\": 27381,\n      \"adém\": 27382,\n      \"▁окон\": 27383,\n      \"▁Chand\": 27384,\n      \"rab\": 27385,\n      \"вший\": 27386,\n      \"inski\": 27387,\n      \"▁continually\": 27388,\n      \"▁Daddy\": 27389,\n      \"▁nightmare\": 27390,\n      \"icional\": 27391,\n      \"▁efect\": 27392,\n      \"ueblo\": 27393,\n      \"▁lanç\": 27394,\n      \"▁Collections\": 27395,\n      \"due\": 27396,\n      \"ampton\": 27397,\n      \"▁memcpy\": 27398,\n      \"▁**(\": 27399,\n      \"issent\": 27400,\n      \"▁Insp\": 27401,\n      \"▁Glasgow\": 27402,\n      \"▁furono\": 27403,\n      \"▁kindness\": 27404,\n      \"Bi\": 27405,\n      \"▁competed\": 27406,\n      \"▁oak\": 27407,\n      \"Large\": 27408,\n      \"▁disgu\": 27409,\n      \"▁kings\": 27410,\n      \"тами\": 27411,\n      \"▁stuffed\": 27412,\n      \"▁hilar\": 27413,\n      \"published\": 27414,\n      \"▁stressed\": 27415,\n      \"▁Peak\": 27416,\n      \"▁loader\": 27417,\n      \"Keyboard\": 27418,\n      \"▁reconstruction\": 27419,\n      \"▁vod\": 27420,\n      \"▁dun\": 27421,\n      \"▁understands\": 27422,\n      \"tenant\": 27423,\n      \"▁chaque\": 27424,\n      \"▁prejud\": 27425,\n      \"utat\": 27426,\n      \"▁uso\": 27427,\n      \"▁Heavy\": 27428,\n      \"▁cuatro\": 27429,\n      \"▁sidewalk\": 27430,\n      \"▁Bug\": 27431,\n      \"▁månaden\": 27432,\n      \"geo\": 27433,\n      \"▁united\": 27434,\n      \"▁Files\": 27435,\n      \"▁Аль\": 27436,\n      \"▁rugby\": 27437,\n      \"▁financing\": 27438,\n      \"▁comply\": 27439,\n      \"&#\": 27440,\n      \"▁rushing\": 27441,\n      \"▁fen\": 27442,\n      \"mong\": 27443,\n      \"▁spé\": 27444,\n      \"▁presenting\": 27445,\n      \"INCLUDING\": 27446,\n      \"ěl\": 27447,\n      \"zeichnung\": 27448,\n      \"Backup\": 27449,\n      \"▁petit\": 27450,\n      \"▁allerg\": 27451,\n      \"нут\": 27452,\n      \"▁worrying\": 27453,\n      \"▁mamm\": 27454,\n      \"▁operand\": 27455,\n      \":%.*]]\": 27456,\n      \"▁realise\": 27457,\n      \"Commands\": 27458,\n      \"▁Bew\": 27459,\n      \"▁assumes\": 27460,\n      \"▁Covid\": 27461,\n      \"▁quand\": 27462,\n      \"tyard\": 27463,\n      \"▁Mono\": 27464,\n      \"linked\": 27465,\n      \"MARK\": 27466,\n      \"Esp\": 27467,\n      \"▁blessing\": 27468,\n      \"▁eyebrows\": 27469,\n      \"▁NV\": 27470,\n      \"▁стру\": 27471,\n      \"▁modeling\": 27472,\n      \"▁greeted\": 27473,\n      \"Workspace\": 27474,\n      \"▁pedest\": 27475,\n      \"▁неза\": 27476,\n      \"lemagne\": 27477,\n      \"Statistics\": 27478,\n      \"▁aument\": 27479,\n      \"▁speeds\": 27480,\n      \"▁syndrome\": 27481,\n      \"CONNECT\": 27482,\n      \"zahl\": 27483,\n      \"verso\": 27484,\n      \"ército\": 27485,\n      \"▁astronom\": 27486,\n      \"▁aprile\": 27487,\n      \"žen\": 27488,\n      \"веро\": 27489,\n      \"draft\": 27490,\n      \"▁gioc\": 27491,\n      \"▁comport\": 27492,\n      \"▁variance\": 27493,\n      \"▁realizing\": 27494,\n      \"EDIT\": 27495,\n      \"олові\": 27496,\n      \"▁estar\": 27497,\n      \"▁sost\": 27498,\n      \"NORMAL\": 27499,\n      \"▁ó\": 27500,\n      \"▁Andr\": 27501,\n      \"ATTRIB\": 27502,\n      \"▁rede\": 27503,\n      \"▁toes\": 27504,\n      \"▁advances\": 27505,\n      \"▁Against\": 27506,\n      \"TOM\": 27507,\n      \"rss\": 27508,\n      \"MMMM\": 27509,\n      \"▁newest\": 27510,\n      \"▁VER\": 27511,\n      \"▁phrases\": 27512,\n      \"anter\": 27513,\n      \"Launch\": 27514,\n      \"▁chr\": 27515,\n      \"▁manufactured\": 27516,\n      \"$),\": 27517,\n      \"rollment\": 27518,\n      \"eston\": 27519,\n      \"▁peint\": 27520,\n      \"”)\": 27521,\n      \"endet\": 27522,\n      \"▁Hair\": 27523,\n      \"ivalent\": 27524,\n      \"▁upright\": 27525,\n      \"gren\": 27526,\n      \"anked\": 27527,\n      \"wright\": 27528,\n      \"▁mast\": 27529,\n      \"▁onChange\": 27530,\n      \"▁debris\": 27531,\n      \"▁grap\": 27532,\n      \"etry\": 27533,\n      \"▁(__\": 27534,\n      \"▁Commerce\": 27535,\n      \"BOX\": 27536,\n      \"Tax\": 27537,\n      \"▁отри\": 27538,\n      \"▁prevention\": 27539,\n      \"▁Feel\": 27540,\n      \"▁exotic\": 27541,\n      \"▁Bark\": 27542,\n      \"▁Steam\": 27543,\n      \"fon\": 27544,\n      \"olin\": 27545,\n      \"▁eliminated\": 27546,\n      \"▁bc\": 27547,\n      \"▁Cycl\": 27548,\n      \"▁$(\\\"#\": 27549,\n      \"▁Parl\": 27550,\n      \"manuel\": 27551,\n      \"ospher\": 27552,\n      \"WF\": 27553,\n      \"Analy\": 27554,\n      \"▁navig\": 27555,\n      \"▁renown\": 27556,\n      \"Rx\": 27557,\n      \"▁Walt\": 27558,\n      \"uffed\": 27559,\n      \"▁foster\": 27560,\n      \"$:\": 27561,\n      \"shore\": 27562,\n      \"Connector\": 27563,\n      \"фика\": 27564,\n      \"▁realization\": 27565,\n      \"Li\": 27566,\n      \"ctxt\": 27567,\n      \"ahoo\": 27568,\n      \"▁miracle\": 27569,\n      \"▁ET\": 27570,\n      \"▁GPS\": 27571,\n      \"▁Observable\": 27572,\n      \"▁hf\": 27573,\n      \"▁magnificent\": 27574,\n      \"него\": 27575,\n      \"BIN\": 27576,\n      \"▁Dorf\": 27577,\n      \"ieck\": 27578,\n      \"vee\": 27579,\n      \"▁Craw\": 27580,\n      \"/#\": 27581,\n      \"▁pci\": 27582,\n      \"ippet\": 27583,\n      \"▁Hillary\": 27584,\n      \"▁gir\": 27585,\n      \"▁rand\": 27586,\n      \"▁laying\": 27587,\n      \"▁Different\": 27588,\n      \"boys\": 27589,\n      \"virt\": 27590,\n      \"▁encryption\": 27591,\n      \"ász\": 27592,\n      \"пор\": 27593,\n      \"▁smelled\": 27594,\n      \"▁suscept\": 27595,\n      \"cluded\": 27596,\n      \"▁Carn\": 27597,\n      \"igten\": 27598,\n      \"▁Chuck\": 27599,\n      \"▁Provinc\": 27600,\n      \"▁perí\": 27601,\n      \"▁Marshal\": 27602,\n      \"мож\": 27603,\n      \"gfx\": 27604,\n      \"oshi\": 27605,\n      \"▁WHE\": 27606,\n      \"▁relaxation\": 27607,\n      \",.\": 27608,\n      \"were\": 27609,\n      \"▁varieties\": 27610,\n      \"▁Won\": 27611,\n      \"▁gaps\": 27612,\n      \"▁stole\": 27613,\n      \"igua\": 27614,\n      \"ющие\": 27615,\n      \"▁Hampshire\": 27616,\n      \"phrase\": 27617,\n      \"▁película\": 27618,\n      \"Processing\": 27619,\n      \"▁initialization\": 27620,\n      \"oustic\": 27621,\n      \"▁Josef\": 27622,\n      \"icating\": 27623,\n      \"▁goodness\": 27624,\n      \"TES\": 27625,\n      \"▁cope\": 27626,\n      \"▁ignorance\": 27627,\n      \"▁Brist\": 27628,\n      \"▁paras\": 27629,\n      \"▁accidentally\": 27630,\n      \"▁tand\": 27631,\n      \"ittest\": 27632,\n      \"▁ули\": 27633,\n      \"▁shipped\": 27634,\n      \"▁ост\": 27635,\n      \"elseif\": 27636,\n      \"▁usize\": 27637,\n      \"horizontal\": 27638,\n      \"▁Carr\": 27639,\n      \"▁precip\": 27640,\n      \"roz\": 27641,\n      \"pathetic\": 27642,\n      \"rived\": 27643,\n      \"rok\": 27644,\n      \"▁digging\": 27645,\n      \"мом\": 27646,\n      \"▁Mull\": 27647,\n      \"▁XIII\": 27648,\n      \"▁peas\": 27649,\n      \"▁foul\": 27650,\n      \"▁travels\": 27651,\n      \"▁Ng\": 27652,\n      \"▁составе\": 27653,\n      \"Mont\": 27654,\n      \"arde\": 27655,\n      \"▁Stefan\": 27656,\n      \"^^^^\": 27657,\n      \"▁Kiss\": 27658,\n      \"▁Ek\": 27659,\n      \"▁oktober\": 27660,\n      \"▁memorable\": 27661,\n      \"')).\": 27662,\n      \"▁Vision\": 27663,\n      \"▁Nina\": 27664,\n      \"▁Solar\": 27665,\n      \"▁highlighted\": 27666,\n      \"▁memo\": 27667,\n      \"meisterschaft\": 27668,\n      \"sidebar\": 27669,\n      \"SEE\": 27670,\n      \"▁Nevada\": 27671,\n      \"Da\": 27672,\n      \"▁drawer\": 27673,\n      \"astically\": 27674,\n      \"elde\": 27675,\n      \"scribed\": 27676,\n      \"▁priests\": 27677,\n      \"▁hommes\": 27678,\n      \"▁instructor\": 27679,\n      \"клад\": 27680,\n      \"▁spett\": 27681,\n      \"\\\\-\": 27682,\n      \"▁мира\": 27683,\n      \"▁Looks\": 27684,\n      \"▁sleeve\": 27685,\n      \"▁strongest\": 27686,\n      \"▁tête\": 27687,\n      \"▁Nicole\": 27688,\n      \"imper\": 27689,\n      \"нача\": 27690,\n      \"ipper\": 27691,\n      \"▁inwon\": 27692,\n      \"ilers\": 27693,\n      \"▁Deputy\": 27694,\n      \"oge\": 27695,\n      \"▁depressed\": 27696,\n      \"▁arte\": 27697,\n      \"▁combining\": 27698,\n      \"LAST\": 27699,\n      \"inted\": 27700,\n      \"▁Average\": 27701,\n      \"▁pollution\": 27702,\n      \"▁Phillips\": 27703,\n      \"▁WM\": 27704,\n      \"}}}\\\\\": 27705,\n      \"Added\": 27706,\n      \"▁peripher\": 27707,\n      \"Creation\": 27708,\n      \"▁italien\": 27709,\n      \"▁Choice\": 27710,\n      \"▁EXPRESS\": 27711,\n      \"▁Struct\": 27712,\n      \"ysz\": 27713,\n      \"Resize\": 27714,\n      \"ARGS\": 27715,\n      \"▁repo\": 27716,\n      \"▁чтобы\": 27717,\n      \"▁pref\": 27718,\n      \"▁earthqu\": 27719,\n      \"▁Мекси\": 27720,\n      \"▁Finale\": 27721,\n      \"▁hecho\": 27722,\n      \"requests\": 27723,\n      \"Cut\": 27724,\n      \"▁deserved\": 27725,\n      \"гово\": 27726,\n      \"▁Recent\": 27727,\n      \"▁дивизи\": 27728,\n      \"▁supportive\": 27729,\n      \"прави\": 27730,\n      \"▁irrelevant\": 27731,\n      \"'\\r\": 27732,\n      \"▁ctrl\": 27733,\n      \"▁Deal\": 27734,\n      \"izada\": 27735,\n      \"uo\": 27736,\n      \"▁nort\": 27737,\n      \"geometry\": 27738,\n      \"▁Individual\": 27739,\n      \"ereg\": 27740,\n      \"▁приня\": 27741,\n      \"cref\": 27742,\n      \"══\": 27743,\n      \"▁comerc\": 27744,\n      \"=_\": 27745,\n      \"bund\": 27746,\n      \"тах\": 27747,\n      \"ilen\": 27748,\n      \"чита\": 27749,\n      \"▁corporation\": 27750,\n      \"esz\": 27751,\n      \"▁==>\": 27752,\n      \"ablish\": 27753,\n      \"Apr\": 27754,\n      \"▁ripped\": 27755,\n      \"Vars\": 27756,\n      \"stret\": 27757,\n      \"▁Francesco\": 27758,\n      \"NaN\": 27759,\n      \"▁anytime\": 27760,\n      \"▁automated\": 27761,\n      \"ostream\": 27762,\n      \"▁drawings\": 27763,\n      \"▁enhancement\": 27764,\n      \"okrat\": 27765,\n      \"▁Issue\": 27766,\n      \"вра\": 27767,\n      \"Currency\": 27768,\n      \"▁wyn\": 27769,\n      \"izarre\": 27770,\n      \"ético\": 27771,\n      \"multiple\": 27772,\n      \"▁Rate\": 27773,\n      \"▁Ich\": 27774,\n      \"▁Auss\": 27775,\n      \"▁Former\": 27776,\n      \"Curve\": 27777,\n      \"▁marvel\": 27778,\n      \"attro\": 27779,\n      \"▁сп\": 27780,\n      \"BOOL\": 27781,\n      \"сия\": 27782,\n      \"gold\": 27783,\n      \"▁Nintendo\": 27784,\n      \"▁Salvador\": 27785,\n      \"▁Solution\": 27786,\n      \"ADC\": 27787,\n      \"бора\": 27788,\n      \"▁Bennett\": 27789,\n      \"▁FR\": 27790,\n      \"▁pueden\": 27791,\n      \"patient\": 27792,\n      \"▁PG\": 27793,\n      \"▁Jin\": 27794,\n      \"▁crashed\": 27795,\n      \"▁denen\": 27796,\n      \"▁Sample\": 27797,\n      \"▁Quebec\": 27798,\n      \"itories\": 27799,\n      \"▁blinked\": 27800,\n      \"▁lion\": 27801,\n      \"▁voce\": 27802,\n      \"▁Impact\": 27803,\n      \"▁Mau\": 27804,\n      \"▁Nie\": 27805,\n      \"▁lob\": 27806,\n      \"▁две\": 27807,\n      \"orneys\": 27808,\n      \"▁coastal\": 27809,\n      \"▁sensors\": 27810,\n      \"▁XII\": 27811,\n      \"▁illusion\": 27812,\n      \"oji\": 27813,\n      \"▁INC\": 27814,\n      \"▁Duncan\": 27815,\n      \"yk\": 27816,\n      \"▁affecting\": 27817,\n      \"pul\": 27818,\n      \"▁Napoleon\": 27819,\n      \"▁акаде\": 27820,\n      \"▁compt\": 27821,\n      \"▁profitable\": 27822,\n      \"loe\": 27823,\n      \"▁deuxième\": 27824,\n      \"▁WC\": 27825,\n      \"▁viable\": 27826,\n      \"▁Drug\": 27827,\n      \"TextBox\": 27828,\n      \"▁luminos\": 27829,\n      \"auté\": 27830,\n      \"yc\": 27831,\n      \"ště\": 27832,\n      \"▁affiliates\": 27833,\n      \"ilda\": 27834,\n      \"conduct\": 27835,\n      \"▁ebenfalls\": 27836,\n      \"▁AMD\": 27837,\n      \"▁Monitor\": 27838,\n      \"▁Companies\": 27839,\n      \"▁corrected\": 27840,\n      \"äck\": 27841,\n      \"SYSTEM\": 27842,\n      \"otherapy\": 27843,\n      \"▁перед\": 27844,\n      \"▁blues\": 27845,\n      \"atisf\": 27846,\n      \"although\": 27847,\n      \"rost\": 27848,\n      \"SCAN\": 27849,\n      \"▁RAM\": 27850,\n      \"ціональ\": 27851,\n      \"▁vendors\": 27852,\n      \"▁customs\": 27853,\n      \"▁activate\": 27854,\n      \"▁blogs\": 27855,\n      \"▁brace\": 27856,\n      \"▁strat\": 27857,\n      \"anje\": 27858,\n      \"щё\": 27859,\n      \"▁tide\": 27860,\n      \"▁Brigade\": 27861,\n      \"getOperand\": 27862,\n      \"▁aliment\": 27863,\n      \"▁achievements\": 27864,\n      \"▁suspicion\": 27865,\n      \"▁touchdown\": 27866,\n      \"broad\": 27867,\n      \"iore\": 27868,\n      \"Comparison\": 27869,\n      \"▁mum\": 27870,\n      \"English\": 27871,\n      \"▁Picture\": 27872,\n      \"▁Mouse\": 27873,\n      \"amd\": 27874,\n      \"▁[`\": 27875,\n      \"▁denomin\": 27876,\n      \"▁Aleks\": 27877,\n      \"▁prevents\": 27878,\n      \"ób\": 27879,\n      \"fed\": 27880,\n      \"▁Pray\": 27881,\n      \"▁shine\": 27882,\n      \"▁clutch\": 27883,\n      \"mux\": 27884,\n      \"Appro\": 27885,\n      \"▁notably\": 27886,\n      \"chio\": 27887,\n      \"nage\": 27888,\n      \"HAS\": 27889,\n      \"▁')\": 27890,\n      \"▁Miche\": 27891,\n      \"tg\": 27892,\n      \"::~\": 27893,\n      \"▁amely\": 27894,\n      \"▁rodz\": 27895,\n      \"zs\": 27896,\n      \"trait\": 27897,\n      \"▁klass\": 27898,\n      \"fö\": 27899,\n      \"▁destac\": 27900,\n      \"▁Clara\": 27901,\n      \"frequency\": 27902,\n      \"▁Git\": 27903,\n      \"▁поль\": 27904,\n      \"▁frequencies\": 27905,\n      \"▁febrero\": 27906,\n      \"▁stumbled\": 27907,\n      \"кою\": 27908,\n      \"▁Names\": 27909,\n      \"▁Flight\": 27910,\n      \"▁prey\": 27911,\n      \"▁medio\": 27912,\n      \"▁VAR\": 27913,\n      \"▁Float\": 27914,\n      \"▁Ernest\": 27915,\n      \"▁Marcatori\": 27916,\n      \"oport\": 27917,\n      \"▁cancellation\": 27918,\n      \"▁Bryan\": 27919,\n      \"————\": 27920,\n      \"Luc\": 27921,\n      \"▁libre\": 27922,\n      \"▁título\": 27923,\n      \"*>\": 27924,\n      \"▁Sandy\": 27925,\n      \"▁Marina\": 27926,\n      \"Been\": 27927,\n      \"▁wal\": 27928,\n      \"▁Kultur\": 27929,\n      \"▁explode\": 27930,\n      \"▁limiting\": 27931,\n      \"▁presumably\": 27932,\n      \"▁pb\": 27933,\n      \"▁Merc\": 27934,\n      \"▁реки\": 27935,\n      \"learning\": 27936,\n      \"Catalog\": 27937,\n      \"▁Census\": 27938,\n      \"lte\": 27939,\n      \"▁NET\": 27940,\n      \"raising\": 27941,\n      \"ське\": 27942,\n      \"staff\": 27943,\n      \"▁Quinn\": 27944,\n      \"▁memorial\": 27945,\n      \"пня\": 27946,\n      \"▁cuenta\": 27947,\n      \"▁XI\": 27948,\n      \"lbl\": 27949,\n      \"▁varies\": 27950,\n      \"▁fluctuations\": 27951,\n      \"▁долж\": 27952,\n      \"▁особи\": 27953,\n      \"▁warehouse\": 27954,\n      \"However\": 27955,\n      \"▁corrections\": 27956,\n      \"dhd\": 27957,\n      \"▁fals\": 27958,\n      \"▁controversy\": 27959,\n      \"▁curse\": 27960,\n      \"▁télé\": 27961,\n      \"řed\": 27962,\n      \"▁AU\": 27963,\n      \"▁тор\": 27964,\n      \"▁crít\": 27965,\n      \"idan\": 27966,\n      \"iliary\": 27967,\n      \"▁Panel\": 27968,\n      \"cule\": 27969,\n      \"▁Poor\": 27970,\n      \"▁BA\": 27971,\n      \"▁ignorant\": 27972,\n      \"èmes\": 27973,\n      \"▁aesthetic\": 27974,\n      \"Linked\": 27975,\n      \"getInt\": 27976,\n      \"Unicode\": 27977,\n      \"[@\": 27978,\n      \"▁Zent\": 27979,\n      \"Manifest\": 27980,\n      \"▁vars\": 27981,\n      \"PB\": 27982,\n      \"▁ву\": 27983,\n      \"▁Describe\": 27984,\n      \"▁Anything\": 27985,\n      \"oirs\": 27986,\n      \"▁socks\": 27987,\n      \"▁imped\": 27988,\n      \"▁neue\": 27989,\n      \"▁dispers\": 27990,\n      \"Collect\": 27991,\n      \"filer\": 27992,\n      \"▁Frau\": 27993,\n      \"▁Hockey\": 27994,\n      \"▁teens\": 27995,\n      \"▁Roberto\": 27996,\n      \"lauf\": 27997,\n      \"вать\": 27998,\n      \"▁ско\": 27999,\n      \"isArray\": 28000,\n      \"▁teenager\": 28001,\n      \"Built\": 28002,\n      \"▁loudly\": 28003,\n      \"Capacity\": 28004,\n      \"▁adventures\": 28005,\n      \"▁Molly\": 28006,\n      \"recogn\": 28007,\n      \"bars\": 28008,\n      \"▁Lor\": 28009,\n      \"▁può\": 28010,\n      \"▁mong\": 28011,\n      \"inement\": 28012,\n      \"Assignment\": 28013,\n      \"▁diz\": 28014,\n      \"lessness\": 28015,\n      \"▁Halloween\": 28016,\n      \"▁bitmap\": 28017,\n      \"Rom\": 28018,\n      \"нар\": 28019,\n      \"▁rebel\": 28020,\n      \"▁radial\": 28021,\n      \"measure\": 28022,\n      \"nit\": 28023,\n      \"▁Assume\": 28024,\n      \"▁assignments\": 28025,\n      \"▁Isn\": 28026,\n      \"▁altre\": 28027,\n      \"ßer\": 28028,\n      \"наль\": 28029,\n      \"▁flies\": 28030,\n      \"▁droit\": 28031,\n      \"▁thickness\": 28032,\n      \"▁enjo\": 28033,\n      \"▁dwell\": 28034,\n      \"▁homosexual\": 28035,\n      \"▁eval\": 28036,\n      \"$_{\": 28037,\n      \"asia\": 28038,\n      \"▁philos\": 28039,\n      \"getCurrent\": 28040,\n      \"▁veterans\": 28041,\n      \"▁Berkeley\": 28042,\n      \"▁wildlife\": 28043,\n      \"Cop\": 28044,\n      \"vern\": 28045,\n      \"▁Ú\": 28046,\n      \"tos\": 28047,\n      \"▁Led\": 28048,\n      \"▁keywords\": 28049,\n      \"▁medications\": 28050,\n      \"neum\": 28051,\n      \"▁jamais\": 28052,\n      \"▁Buc\": 28053,\n      \"▁PD\": 28054,\n      \"▁Statement\": 28055,\n      \"▁PI\": 28056,\n      \"▁Jackie\": 28057,\n      \"▁ordin\": 28058,\n      \"▁kör\": 28059,\n      \"enze\": 28060,\n      \"▁utilized\": 28061,\n      \"áct\": 28062,\n      \"azed\": 28063,\n      \"▁severely\": 28064,\n      \"▁även\": 28065,\n      \"▁libro\": 28066,\n      \"▁Eu\": 28067,\n      \"äst\": 28068,\n      \"PART\": 28069,\n      \"▁Butler\": 28070,\n      \"▁puzzle\": 28071,\n      \"Fall\": 28072,\n      \"Country\": 28073,\n      \"pfn\": 28074,\n      \"▁україн\": 28075,\n      \"▁Orchestra\": 28076,\n      \"▁alto\": 28077,\n      \"▁ancora\": 28078,\n      \"▁decomposition\": 28079,\n      \"▁م\": 28080,\n      \"▁appetite\": 28081,\n      \"adu\": 28082,\n      \"▁THAT\": 28083,\n      \"▁comenz\": 28084,\n      \"mina\": 28085,\n      \"▁initiated\": 28086,\n      \"▁Tat\": 28087,\n      \"▁sometime\": 28088,\n      \"rek\": 28089,\n      \"bread\": 28090,\n      \"▁Statistics\": 28091,\n      \"▁Cob\": 28092,\n      \"Follow\": 28093,\n      \"▁geometric\": 28094,\n      \"шла\": 28095,\n      \"▁proceedings\": 28096,\n      \"Dlg\": 28097,\n      \"seven\": 28098,\n      \"▁[-\": 28099,\n      \"▁Buffalo\": 28100,\n      \"▁blacks\": 28101,\n      \"▁sov\": 28102,\n      \"▁custody\": 28103,\n      \"▁ras\": 28104,\n      \"▁tattoo\": 28105,\n      \"öffentlicht\": 28106,\n      \"Blo\": 28107,\n      \"Austral\": 28108,\n      \"▁recuper\": 28109,\n      \"лев\": 28110,\n      \"▁bem\": 28111,\n      \"▁thou\": 28112,\n      \"oriented\": 28113,\n      \"vir\": 28114,\n      \"▁colony\": 28115,\n      \"▁Stanford\": 28116,\n      \"Absolute\": 28117,\n      \"adrat\": 28118,\n      \"▁Situ\": 28119,\n      \"▁souvent\": 28120,\n      \"EXEC\": 28121,\n      \"▁mű\": 28122,\n      \"▁apartments\": 28123,\n      \"▁случа\": 28124,\n      \"▁ano\": 28125,\n      \"WINDO\": 28126,\n      \"acci\": 28127,\n      \"▁Lau\": 28128,\n      \"court\": 28129,\n      \"▁manifold\": 28130,\n      \"▁coalition\": 28131,\n      \"▁XIV\": 28132,\n      \"Attrib\": 28133,\n      \"ascade\": 28134,\n      \"▁wheat\": 28135,\n      \"▁strengths\": 28136,\n      \"FREE\": 28137,\n      \"EMPTY\": 28138,\n      \"▁hey\": 28139,\n      \"ascular\": 28140,\n      \"▁plasma\": 28141,\n      \"▁bob\": 28142,\n      \"Separator\": 28143,\n      \"=\\\"${\": 28144,\n      \"▁Zag\": 28145,\n      \"▁projet\": 28146,\n      \"▁smoothly\": 28147,\n      \"SEQU\": 28148,\n      \"analy\": 28149,\n      \"attachment\": 28150,\n      \"▁ES\": 28151,\n      \"▁popped\": 28152,\n      \"ős\": 28153,\n      \"tom\": 28154,\n      \"▁són\": 28155,\n      \"▁rott\": 28156,\n      \"Utilities\": 28157,\n      \"hadoop\": 28158,\n      \"▁sotto\": 28159,\n      \"autor\": 28160,\n      \"▁Georges\": 28161,\n      \"▁který\": 28162,\n      \"▁gruppo\": 28163,\n      \"▁когда\": 28164,\n      \"▁меда\": 28165,\n      \"▁instrumental\": 28166,\n      \"▁Writer\": 28167,\n      \"▁setTimeout\": 28168,\n      \"ikk\": 28169,\n      \"▁Dopo\": 28170,\n      \"]);\\r\": 28171,\n      \"▁practicing\": 28172,\n      \"▁Ronald\": 28173,\n      \"▁уби\": 28174,\n      \"▁agrees\": 28175,\n      \"▁denoted\": 28176,\n      \"ismiss\": 28177,\n      \"▁interviewed\": 28178,\n      \"templates\": 28179,\n      \"ři\": 28180,\n      \"administr\": 28181,\n      \"▁Butter\": 28182,\n      \"▁XVII\": 28183,\n      \"▁positioned\": 28184,\n      \"▁Fourth\": 28185,\n      \"▁overwhelmed\": 28186,\n      \"▁Regular\": 28187,\n      \"▁reprezent\": 28188,\n      \"кономи\": 28189,\n      \"▁expects\": 28190,\n      \"Indices\": 28191,\n      \"▁marijuana\": 28192,\n      \"▁zaj\": 28193,\n      \"▁Bren\": 28194,\n      \"▁begg\": 28195,\n      \"▁nahm\": 28196,\n      \"▁interrog\": 28197,\n      \"тие\": 28198,\n      \"▁Bun\": 28199,\n      \"▁серед\": 28200,\n      \"▁shelves\": 28201,\n      \"▁которых\": 28202,\n      \"▁Frauen\": 28203,\n      \"▁Sergeant\": 28204,\n      \"▁успе\": 28205,\n      \"matched\": 28206,\n      \"▁donne\": 28207,\n      \"▁touches\": 28208,\n      \"abort\": 28209,\n      \"▁vale\": 28210,\n      \"▁institutional\": 28211,\n      \"▁Mons\": 28212,\n      \"▁ambitious\": 28213,\n      \"▁nonetheless\": 28214,\n      \"jd\": 28215,\n      \"пей\": 28216,\n      \"▁backpack\": 28217,\n      \"dao\": 28218,\n      \"вия\": 28219,\n      \"▁surroundings\": 28220,\n      \"|_{\": 28221,\n      \"▁gegründ\": 28222,\n      \"disp\": 28223,\n      \"▁moisture\": 28224,\n      \"▁wyd\": 28225,\n      \"▁traders\": 28226,\n      \"▁Erst\": 28227,\n      \"▁Galaxy\": 28228,\n      \"▁воло\": 28229,\n      \"▁Peru\": 28230,\n      \"▁priorities\": 28231,\n      \"▁pronounced\": 28232,\n      \"▁CBS\": 28233,\n      \"▁Palm\": 28234,\n      \"▁expans\": 28235,\n      \"▁energet\": 28236,\n      \"▁Condition\": 28237,\n      \"▁Sver\": 28238,\n      \"nested\": 28239,\n      \"▁февраля\": 28240,\n      \"hero\": 28241,\n      \"▁коло\": 28242,\n      \"▁Films\": 28243,\n      \"Bon\": 28244,\n      \"éal\": 28245,\n      \"ployed\": 28246,\n      \"trained\": 28247,\n      \"▁első\": 28248,\n      \"▁lust\": 28249,\n      \"atinum\": 28250,\n      \"oyle\": 28251,\n      \"▁Jet\": 28252,\n      \"ждения\": 28253,\n      \"▁surveys\": 28254,\n      \"bee\": 28255,\n      \"workers\": 28256,\n      \"records\": 28257,\n      \"calendar\": 28258,\n      \"bbing\": 28259,\n      \"regation\": 28260,\n      \"dashboard\": 28261,\n      \"King\": 28262,\n      \"▁vista\": 28263,\n      \"▁depicted\": 28264,\n      \"▁occurring\": 28265,\n      \"▁офи\": 28266,\n      \"▁sandwich\": 28267,\n      \"rcu\": 28268,\n      \"kern\": 28269,\n      \"▁minut\": 28270,\n      \"▁смер\": 28271,\n      \"▁td\": 28272,\n      \"solete\": 28273,\n      \"Complex\": 28274,\n      \"▁tunn\": 28275,\n      \"▁scarc\": 28276,\n      \"stead\": 28277,\n      \"▁Fail\": 28278,\n      \"▁Rs\": 28279,\n      \"▁trails\": 28280,\n      \"kem\": 28281,\n      \"▁Romans\": 28282,\n      \"ativity\": 28283,\n      \"Previous\": 28284,\n      \"▁depress\": 28285,\n      \"▁resigned\": 28286,\n      \"getDefault\": 28287,\n      \"▁Tibet\": 28288,\n      \"▁Franco\": 28289,\n      \"\\\")));\": 28290,\n      \"▁injection\": 28291,\n      \"removed\": 28292,\n      \"▁praised\": 28293,\n      \"▁Asc\": 28294,\n      \"erase\": 28295,\n      \"▁commissioned\": 28296,\n      \"MAIL\": 28297,\n      \"▁Boh\": 28298,\n      \"Poly\": 28299,\n      \"▁cinq\": 28300,\n      \"▁Above\": 28301,\n      \"▁Joshua\": 28302,\n      \"ZERO\": 28303,\n      \"▁summit\": 28304,\n      \"▁Urs\": 28305,\n      \"▁curl\": 28306,\n      \"▁visa\": 28307,\n      \"▁resur\": 28308,\n      \"={'\": 28309,\n      \"feat\": 28310,\n      \"▁absorb\": 28311,\n      \"▁planets\": 28312,\n      \"▁princess\": 28313,\n      \"▁Jahrhunderts\": 28314,\n      \"xp\": 28315,\n      \"▁NBC\": 28316,\n      \"▁коми\": 28317,\n      \"▁FUN\": 28318,\n      \"▁neuen\": 28319,\n      \"▁déjà\": 28320,\n      \"▁Oz\": 28321,\n      \"bben\": 28322,\n      \"VIDEO\": 28323,\n      \"▁ejempl\": 28324,\n      \"▁considers\": 28325,\n      \"atri\": 28326,\n      \"▁arrog\": 28327,\n      \"ioso\": 28328,\n      \"▁hace\": 28329,\n      \"▁contacted\": 28330,\n      \"▁unple\": 28331,\n      \"▁sponsored\": 28332,\n      \"▁trainer\": 28333,\n      \"sbi\": 28334,\n      \"▁занима\": 28335,\n      \"Criterion\": 28336,\n      \"ното\": 28337,\n      \"scheme\": 28338,\n      \"ennial\": 28339,\n      \"perform\": 28340,\n      \"▁fixing\": 28341,\n      \"▁постро\": 28342,\n      \"arb\": 28343,\n      \"EXIT\": 28344,\n      \"▁café\": 28345,\n      \"ituted\": 28346,\n      \"riages\": 28347,\n      \"Tur\": 28348,\n      \"▁haber\": 28349,\n      \"elasticsearch\": 28350,\n      \"▁ал\": 28351,\n      \"rh\": 28352,\n      \"▁voll\": 28353,\n      \"CLU\": 28354,\n      \"Mil\": 28355,\n      \"▁membres\": 28356,\n      \"▁remarked\": 28357,\n      \"вана\": 28358,\n      \"=\\\"_\": 28359,\n      \"Less\": 28360,\n      \"(\\\"\\\");\": 28361,\n      \"▁Yale\": 28362,\n      \"berries\": 28363,\n      \"▁releasing\": 28364,\n      \"▁imports\": 28365,\n      \"idea\": 28366,\n      \"▁(+\": 28367,\n      \"▁arqu\": 28368,\n      \"ificación\": 28369,\n      \"▁пара\": 28370,\n      \"▁Rangers\": 28371,\n      \"Mic\": 28372,\n      \"▁nederbörd\": 28373,\n      \"▁imaginary\": 28374,\n      \"▁specialists\": 28375,\n      \"▁hoof\": 28376,\n      \"Modules\": 28377,\n      \"▁sadly\": 28378,\n      \"ceil\": 28379,\n      \"TabIndex\": 28380,\n      \"ationale\": 28381,\n      \"▁Partner\": 28382,\n      \"tbody\": 28383,\n      \"▁leverage\": 28384,\n      \"DN\": 28385,\n      \"▁Prec\": 28386,\n      \"▁Sé\": 28387,\n      \"▁Mam\": 28388,\n      \"▁afin\": 28389,\n      \"isValid\": 28390,\n      \"Pse\": 28391,\n      \"▁сторо\": 28392,\n      \"▁chopped\": 28393,\n      \"▁Minor\": 28394,\n      \"▁dabei\": 28395,\n      \"David\": 28396,\n      \"ussia\": 28397,\n      \"▁деревня\": 28398,\n      \"▁Identity\": 28399,\n      \"▁LGBT\": 28400,\n      \"ције\": 28401,\n      \"▁Orts\": 28402,\n      \"▁parti\": 28403,\n      \"▁Bachelor\": 28404,\n      \"uga\": 28405,\n      \"▁OPT\": 28406,\n      \"▁Seth\": 28407,\n      \"▁LIABLE\": 28408,\n      \"▁inaugur\": 28409,\n      \"▁Shanghai\": 28410,\n      \"▁relaxing\": 28411,\n      \"циона\": 28412,\n      \"\\\"%\": 28413,\n      \"▁obey\": 28414,\n      \"▁Airlines\": 28415,\n      \"Links\": 28416,\n      \"▁Celt\": 28417,\n      \"▁Admin\": 28418,\n      \"agation\": 28419,\n      \"▁worries\": 28420,\n      \"INTE\": 28421,\n      \"arith\": 28422,\n      \"Fatalf\": 28423,\n      \"]])\": 28424,\n      \"colm\": 28425,\n      \"▁archae\": 28426,\n      \"▁brushed\": 28427,\n      \"▁tät\": 28428,\n      \"▁structured\": 28429,\n      \"тии\": 28430,\n      \"▁homem\": 28431,\n      \"[:,\": 28432,\n      \"▁navy\": 28433,\n      \"getKey\": 28434,\n      \"powered\": 28435,\n      \"▁sucked\": 28436,\n      \"▁zomb\": 28437,\n      \"issant\": 28438,\n      \"▁Might\": 28439,\n      \"▁Pull\": 28440,\n      \"rir\": 28441,\n      \"▁пі\": 28442,\n      \"▁seas\": 28443,\n      \"▁Wrest\": 28444,\n      \"▁tense\": 28445,\n      \"▁atm\": 28446,\n      \"▁havet\": 28447,\n      \"▁pierws\": 28448,\n      \"▁tragic\": 28449,\n      \"▁Diff\": 28450,\n      \"▁confidential\": 28451,\n      \"successful\": 28452,\n      \"ęż\": 28453,\n      \"▁Chain\": 28454,\n      \"▁Kenya\": 28455,\n      \"Choice\": 28456,\n      \"ocur\": 28457,\n      \"aniu\": 28458,\n      \"▁consultant\": 28459,\n      \"▁Advis\": 28460,\n      \"Lif\": 28461,\n      \"▁Lors\": 28462,\n      \"avorite\": 28463,\n      \"▁utilizing\": 28464,\n      \"▁vintage\": 28465,\n      \"Matcher\": 28466,\n      \"▁membre\": 28467,\n      \"▁Expect\": 28468,\n      \"▁tracing\": 28469,\n      \"nog\": 28470,\n      \"▁dej\": 28471,\n      \"▁уче\": 28472,\n      \"▁loops\": 28473,\n      \"▁onclick\": 28474,\n      \"▁GPU\": 28475,\n      \"▁Albums\": 28476,\n      \"▁Archives\": 28477,\n      \"вата\": 28478,\n      \"▁stove\": 28479,\n      \"шли\": 28480,\n      \"ancies\": 28481,\n      \"▁gemeente\": 28482,\n      \"mob\": 28483,\n      \"PDF\": 28484,\n      \"eso\": 28485,\n      \"▁vég\": 28486,\n      \"Resolve\": 28487,\n      \"▁teaches\": 28488,\n      \"ложе\": 28489,\n      \"▁ство\": 28490,\n      \"▁Одна\": 28491,\n      \"▁fid\": 28492,\n      \"Something\": 28493,\n      \"▁nebo\": 28494,\n      \"▁Valentine\": 28495,\n      \"rowning\": 28496,\n      \"▁але\": 28497,\n      \"awi\": 28498,\n      \"ishi\": 28499,\n      \"▁SPI\": 28500,\n      \"▁spel\": 28501,\n      \"▁біль\": 28502,\n      \"▁participant\": 28503,\n      \"▁Ned\": 28504,\n      \"▁Gast\": 28505,\n      \"▁blond\": 28506,\n      \"▁saves\": 28507,\n      \"colored\": 28508,\n      \"▁ACTION\": 28509,\n      \"▁Politiker\": 28510,\n      \"}$)\": 28511,\n      \"▁Dum\": 28512,\n      \"dentry\": 28513,\n      \"Student\": 28514,\n      \"▁~=\": 28515,\n      \"loads\": 28516,\n      \"▁Foster\": 28517,\n      \"一个\": 28518,\n      \"▁PK\": 28519,\n      \"▁SB\": 28520,\n      \"▁Hern\": 28521,\n      \"▁Exhib\": 28522,\n      \"Listeners\": 28523,\n      \"Sun\": 28524,\n      \"plac\": 28525,\n      \"▁Bever\": 28526,\n      \"▁incluy\": 28527,\n      \"▁dc\": 28528,\n      \"argc\": 28529,\n      \"▁ged\": 28530,\n      \"спа\": 28531,\n      \"▁Formula\": 28532,\n      \"▁сем\": 28533,\n      \"▁empt\": 28534,\n      \"unregister\": 28535,\n      \"▁Queensland\": 28536,\n      \"ández\": 28537,\n      \"otive\": 28538,\n      \"▁alley\": 28539,\n      \"▁Democrat\": 28540,\n      \"▁travail\": 28541,\n      \"▁$,\": 28542,\n      \"RP\": 28543,\n      \"рое\": 28544,\n      \"personal\": 28545,\n      \"▁période\": 28546,\n      \"HOME\": 28547,\n      \"omes\": 28548,\n      \"▁recognised\": 28549,\n      \"heng\": 28550,\n      \"▁Jung\": 28551,\n      \"▁Roland\": 28552,\n      \"▁convicted\": 28553,\n      \"Locked\": 28554,\n      \"▁mari\": 28555,\n      \"▁Luxem\": 28556,\n      \"referto\": 28557,\n      \"Deleted\": 28558,\n      \"intent\": 28559,\n      \"▁Staats\": 28560,\n      \"▁області\": 28561,\n      \"ит\": 28562,\n      \"▁саве\": 28563,\n      \"▁Protocol\": 28564,\n      \"ając\": 28565,\n      \"chk\": 28566,\n      \"TypeInfo\": 28567,\n      \"▁pkt\": 28568,\n      \"▁scandal\": 28569,\n      \"▁individually\": 28570,\n      \"FMT\": 28571,\n      \"▁nj\": 28572,\n      \"abile\": 28573,\n      \"▁Rivers\": 28574,\n      \"PROPERTY\": 28575,\n      \"VB\": 28576,\n      \"wort\": 28577,\n      \"▁splitting\": 28578,\n      \"achten\": 28579,\n      \"▁ARISING\": 28580,\n      \"▁sip\": 28581,\n      \"▁fres\": 28582,\n      \"▁groom\": 28583,\n      \"Hol\": 28584,\n      \"▁canon\": 28585,\n      \"▁abruptly\": 28586,\n      \"▁afterward\": 28587,\n      \"▁Running\": 28588,\n      \"▁ji\": 28589,\n      \"▁%,\": 28590,\n      \"▁Palestinian\": 28591,\n      \"RW\": 28592,\n      \"pgfscope\": 28593,\n      \"▁countryside\": 28594,\n      \"▁fortunate\": 28595,\n      \"▁cél\": 28596,\n      \"▁Pointer\": 28597,\n      \"ensors\": 28598,\n      \"rating\": 28599,\n      \"▁buffers\": 28600,\n      \"▁remot\": 28601,\n      \"▁PropTypes\": 28602,\n      \"▁Nah\": 28603,\n      \"altern\": 28604,\n      \"▁easiest\": 28605,\n      \"▁invas\": 28606,\n      \"▁clk\": 28607,\n      \"copyright\": 28608,\n      \"▁blanc\": 28609,\n      \"SAMP\": 28610,\n      \"▁Cohen\": 28611,\n      \"▁Shell\": 28612,\n      \"▁destroying\": 28613,\n      \"▁Zel\": 28614,\n      \"dater\": 28615,\n      \"čen\": 28616,\n      \"▁filing\": 28617,\n      \"▁integrate\": 28618,\n      \"xit\": 28619,\n      \"▁RET\": 28620,\n      \"lene\": 28621,\n      \"calls\": 28622,\n      \"▁slaughter\": 28623,\n      \"initialized\": 28624,\n      \"unches\": 28625,\n      \"▁Trace\": 28626,\n      \"efficient\": 28627,\n      \"▁Woods\": 28628,\n      \"▁longitud\": 28629,\n      \"GN\": 28630,\n      \"▁Kont\": 28631,\n      \"▁chunks\": 28632,\n      \"ách\": 28633,\n      \"▁unemployment\": 28634,\n      \"acom\": 28635,\n      \"▁slowed\": 28636,\n      \"▁outlined\": 28637,\n      \"xffff\": 28638,\n      \"▁ikke\": 28639,\n      \"▁workspace\": 28640,\n      \"Mc\": 28641,\n      \"▁kicking\": 28642,\n      \"▁embedding\": 28643,\n      \"chnitt\": 28644,\n      \"erten\": 28645,\n      \"▁Interior\": 28646,\n      \"▁Songs\": 28647,\n      \"mmc\": 28648,\n      \"▁analyzed\": 28649,\n      \"▁Coupe\": 28650,\n      \"▁favorites\": 28651,\n      \"▁tt\": 28652,\n      \"▁той\": 28653,\n      \"Routing\": 28654,\n      \"▁Silva\": 28655,\n      \"▁anderem\": 28656,\n      \"▁honom\": 28657,\n      \"▁использова\": 28658,\n      \".\\\"]\": 28659,\n      \"▁Wu\": 28660,\n      \"legt\": 28661,\n      \"▁spoon\": 28662,\n      \"▁jap\": 28663,\n      \"▁Extension\": 28664,\n      \"erne\": 28665,\n      \"▁vagy\": 28666,\n      \"▁села\": 28667,\n      \"▁функ\": 28668,\n      \"▁analytics\": 28669,\n      \"▁sug\": 28670,\n      \"▁Async\": 28671,\n      \"▁peaks\": 28672,\n      \"▁Gym\": 28673,\n      \"▁lawsuit\": 28674,\n      \"<>\": 28675,\n      \"ialis\": 28676,\n      \"etric\": 28677,\n      \"faced\": 28678,\n      \"▁disrupt\": 28679,\n      \"▁få\": 28680,\n      \"Inputs\": 28681,\n      \"`);\": 28682,\n      \"▁Mend\": 28683,\n      \"gon\": 28684,\n      \"▁\\\",\\\"\": 28685,\n      \"▁nerves\": 28686,\n      \"▁doubts\": 28687,\n      \"sap\": 28688,\n      \"▁sow\": 28689,\n      \",\\\\,\\\\\": 28690,\n      \"▁BS\": 28691,\n      \"▁Glad\": 28692,\n      \"▁aster\": 28693,\n      \"œuvre\": 28694,\n      \"▁Bangl\": 28695,\n      \"▁iPad\": 28696,\n      \"useppe\": 28697,\n      \"▁conducting\": 28698,\n      \"▁({\\\\\": 28699,\n      \"▁Harbor\": 28700,\n      \"psz\": 28701,\n      \"▁FIFA\": 28702,\n      \"_**\": 28703,\n      \"emor\": 28704,\n      \"▁\": 28705,\n      \"e\": 28706,\n      \"t\": 28707,\n      \"a\": 28708,\n      \"o\": 28709,\n      \"i\": 28710,\n      \"n\": 28711,\n      \"r\": 28712,\n      \"s\": 28713,\n      \"l\": 28714,\n      \"d\": 28715,\n      \"h\": 28716,\n      \"c\": 28717,\n      \"u\": 28718,\n      \"m\": 28719,\n      \"p\": 28720,\n      \"g\": 28721,\n      \"f\": 28722,\n      \".\": 28723,\n      \"y\": 28724,\n      \",\": 28725,\n      \"b\": 28726,\n      \"w\": 28727,\n      \"v\": 28728,\n      \"k\": 28729,\n      \"_\": 28730,\n      \")\": 28731,\n      \"(\": 28732,\n      \"-\": 28733,\n      \"0\": 28734,\n      \"S\": 28735,\n      \"*\": 28736,\n      \"I\": 28737,\n      \"T\": 28738,\n      \"\\\"\": 28739,\n      \"1\": 28740,\n      \"A\": 28741,\n      \"'\": 28742,\n      \"C\": 28743,\n      \"x\": 28744,\n      \";\": 28745,\n      \"=\": 28746,\n      \":\": 28747,\n      \"/\": 28748,\n      \"E\": 28749,\n      \"2\": 28750,\n      \"{\": 28751,\n      \"}\": 28752,\n      \"P\": 28753,\n      \"R\": 28754,\n      \"M\": 28755,\n      \"\\\\\": 28756,\n      \"D\": 28757,\n      \"L\": 28758,\n      \"N\": 28759,\n      \"B\": 28760,\n      \"о\": 28761,\n      \"O\": 28762,\n      \"а\": 28763,\n      \"z\": 28764,\n      \"F\": 28765,\n      \"|\": 28766,\n      \">\": 28767,\n      \"j\": 28768,\n      \"H\": 28769,\n      \"3\": 28770,\n      \"#\": 28771,\n      \"и\": 28772,\n      \"е\": 28773,\n      \"9\": 28774,\n      \"q\": 28775,\n      \"$\": 28776,\n      \"G\": 28777,\n      \"н\": 28778,\n      \"U\": 28779,\n      \"W\": 28780,\n      \"4\": 28781,\n      \"5\": 28782,\n      \"8\": 28783,\n      \"6\": 28784,\n      \"р\": 28785,\n      \"т\": 28786,\n      \"7\": 28787,\n      \"с\": 28788,\n      \"<\": 28789,\n      \"V\": 28790,\n      \"в\": 28791,\n      \"[\": 28792,\n      \"]\": 28793,\n      \"л\": 28794,\n      \"к\": 28795,\n      \"K\": 28796,\n      \"é\": 28797,\n      \"J\": 28798,\n      \"д\": 28799,\n      \"&\": 28800,\n      \"\\r\": 28801,\n      \"Y\": 28802,\n      \"м\": 28803,\n      \"?\": 28804,\n      \"у\": 28805,\n      \"+\": 28806,\n      \"п\": 28807,\n      \"!\": 28808,\n      \"’\": 28809,\n      \"г\": 28810,\n      \"я\": 28811,\n      \"з\": 28812,\n      \"і\": 28813,\n      \"X\": 28814,\n      \"^\": 28815,\n      \"–\": 28816,\n      \"б\": 28817,\n      \"@\": 28818,\n      \"й\": 28819,\n      \"á\": 28820,\n      \"—\": 28821,\n      \"ь\": 28822,\n      \"%\": 28823,\n      \"Q\": 28824,\n      \"ó\": 28825,\n      \"ч\": 28826,\n      \"í\": 28827,\n      \"Z\": 28828,\n      \"ы\": 28829,\n      \"ä\": 28830,\n      \"х\": 28831,\n      \"`\": 28832,\n      \"ц\": 28833,\n      \"ö\": 28834,\n      \"“\": 28835,\n      \"ж\": 28836,\n      \"ü\": 28837,\n      \"”\": 28838,\n      \"à\": 28839,\n      \"è\": 28840,\n      \"ш\": 28841,\n      \"ю\": 28842,\n      \"ł\": 28843,\n      \"С\": 28844,\n      \"~\": 28845,\n      \"ф\": 28846,\n      \"П\": 28847,\n      \"»\": 28848,\n      \"В\": 28849,\n      \"«\": 28850,\n      \"å\": 28851,\n      \"К\": 28852,\n      \"щ\": 28853,\n      \"·\": 28854,\n      \"ј\": 28855,\n      \"М\": 28856,\n      \"ç\": 28857,\n      \"А\": 28858,\n      \"Н\": 28859,\n      \"Р\": 28860,\n      \"Б\": 28861,\n      \"č\": 28862,\n      \"ú\": 28863,\n      \"ę\": 28864,\n      \"ã\": 28865,\n      \"ą\": 28866,\n      \"ă\": 28867,\n      \"Д\": 28868,\n      \"ї\": 28869,\n      \"ъ\": 28870,\n      \"ě\": 28871,\n      \"Г\": 28872,\n      \"š\": 28873,\n      \"О\": 28874,\n      \"Т\": 28875,\n      \"ê\": 28876,\n      \"ñ\": 28877,\n      \"…\": 28878,\n      \"ž\": 28879,\n      \"ß\": 28880,\n      \"ё\": 28881,\n      \"ż\": 28882,\n      \"ř\": 28883,\n      \"ś\": 28884,\n      \"Л\": 28885,\n      \"ő\": 28886,\n      \"„\": 28887,\n      \"э\": 28888,\n      \"ý\": 28889,\n      \"У\": 28890,\n      \"â\": 28891,\n      \"И\": 28892,\n      \"є\": 28893,\n      \"‘\": 28894,\n      \"î\": 28895,\n      \"З\": 28896,\n      \"Ф\": 28897,\n      \"ò\": 28898,\n      \"•\": 28899,\n      \"ć\": 28900,\n      \"É\": 28901,\n      \"°\": 28902,\n      \"ș\": 28903,\n      \"Х\": 28904,\n      \"ț\": 28905,\n      \"ô\": 28906,\n      \"Е\": 28907,\n      \"ń\": 28908,\n      \"Ч\": 28909,\n      \"Ш\": 28910,\n      \"ø\": 28911,\n      \"ù\": 28912,\n      \"ů\": 28913,\n      \"的\": 28914,\n      \"ا\": 28915,\n      \"æ\": 28916,\n      \"њ\": 28917,\n      \"љ\": 28918,\n      \"ë\": 28919,\n      \"ï\": 28920,\n      \"Э\": 28921,\n      \"£\": 28922,\n      \"−\": 28923,\n      \"，\": 28924,\n      \"õ\": 28925,\n      \"ћ\": 28926,\n      \"­\": 28927,\n      \"Ц\": 28928,\n      \"І\": 28929,\n      \"ā\": 28930,\n      \"ű\": 28931,\n      \"†\": 28932,\n      \"ل\": 28933,\n      \"ō\": 28934,\n      \"​\": 28935,\n      \"º\": 28936,\n      \"Я\": 28937,\n      \"′\": 28938,\n      \"Á\": 28939,\n      \"Ö\": 28940,\n      \"²\": 28941,\n      \"Ж\": 28942,\n      \"ì\": 28943,\n      \"。\": 28944,\n      \"数\": 28945,\n      \"×\": 28946,\n      \"ر\": 28947,\n      \"α\": 28948,\n      \"́\": 28949,\n      \"Ю\": 28950,\n      \"û\": 28951,\n      \"œ\": 28952,\n      \"ı\": 28953,\n      \"م\": 28954,\n      \"ن\": 28955,\n      \"ª\": 28956,\n      \"ź\": 28957,\n      \"ο\": 28958,\n      \"″\": 28959,\n      \"€\": 28960,\n      \"Ü\": 28961,\n      \"و\": 28962,\n      \"用\": 28963,\n      \"À\": 28964,\n      \"Č\": 28965,\n      \"Š\": 28966,\n      \"ت\": 28967,\n      \"د\": 28968,\n      \"一\": 28969,\n      \"¿\": 28970,\n      \"是\": 28971,\n      \"ي\": 28972,\n      \"ђ\": 28973,\n      \"®\": 28974,\n      \"ی\": 28975,\n      \"ν\": 28976,\n      \"đ\": 28977,\n      \"τ\": 28978,\n      \"─\": 28979,\n      \"ι\": 28980,\n      \"ε\": 28981,\n      \"→\": 28982,\n      \"ب\": 28983,\n      \"Å\": 28984,\n      \"ū\": 28985,\n      \"№\": 28986,\n      \"ş\": 28987,\n      \"不\": 28988,\n      \"џ\": 28989,\n      \"ー\": 28990,\n      \"中\": 28991,\n      \"Î\": 28992,\n      \"の\": 28993,\n      \"：\": 28994,\n      \"个\": 28995,\n      \"Й\": 28996,\n      \"ρ\": 28997,\n      \"有\": 28998,\n      \"Ä\": 28999,\n      \" \": 29000,\n      \"ī\": 29001,\n      \"©\": 29002,\n      \"为\": 29003,\n      \"ه\": 29004,\n      \"י\": 29005,\n      \"ו\": 29006,\n      \"时\": 29007,\n      \"س\": 29008,\n      \"Ś\": 29009,\n      \"在\": 29010,\n      \"件\": 29011,\n      \"取\": 29012,\n      \"ς\": 29013,\n      \"™\": 29014,\n      \"이\": 29015,\n      \"σ\": 29016,\n      \"μ\": 29017,\n      \"定\": 29018,\n      \"文\": 29019,\n      \"据\": 29020,\n      \"置\": 29021,\n      \"Ž\": 29022,\n      \"±\": 29023,\n      \"表\": 29024,\n      \"成\": 29025,\n      \"ň\": 29026,\n      \"λ\": 29027,\n      \"¡\": 29028,\n      \"È\": 29029,\n      \"π\": 29030,\n      \"字\": 29031,\n      \"│\": 29032,\n      \"Ј\": 29033,\n      \"回\": 29034,\n      \"Є\": 29035,\n      \"到\": 29036,\n      \"行\": 29037,\n      \"§\": 29038,\n      \"½\": 29039,\n      \"ع\": 29040,\n      \"、\": 29041,\n      \"Ł\": 29042,\n      \"다\": 29043,\n      \"ン\": 29044,\n      \"κ\": 29045,\n      \"名\": 29046,\n      \"ה\": 29047,\n      \"入\": 29048,\n      \"η\": 29049,\n      \"大\": 29050,\n      \"对\": 29051,\n      \"可\": 29052,\n      \"Â\": 29053,\n      \"上\": 29054,\n      \"█\": 29055,\n      \"新\": 29056,\n      \"ف\": 29057,\n      \"加\": 29058,\n      \"要\": 29059,\n      \"Ż\": 29060,\n      \"下\": 29061,\n      \"分\": 29062,\n      \"值\": 29063,\n      \"ת\": 29064,\n      \"出\": 29065,\n      \"类\": 29066,\n      \"请\": 29067,\n      \"\": 29068,\n      \"息\": 29069,\n      \"Ú\": 29070,\n      \"υ\": 29071,\n      \"获\": 29072,\n      \"示\": 29073,\n      \"以\": 29074,\n      \"ר\": 29075,\n      \"接\": 29076,\n      \"ל\": 29077,\n      \"を\": 29078,\n      \"存\": 29079,\n      \"信\": 29080,\n      \"设\": 29081,\n      \"方\": 29082,\n      \"ش\": 29083,\n      \"能\": 29084,\n      \"点\": 29085,\n      \"人\": 29086,\n      \"前\": 29087,\n      \"ğ\": 29088,\n      \"作\": 29089,\n      \"═\": 29090,\n      \"↘\": 29091,\n      \"ð\": 29092,\n      \"理\": 29093,\n      \"■\": 29094,\n      \"法\": 29095,\n      \"️\": 29096,\n      \"ˈ\": 29097,\n      \"果\": 29098,\n      \"发\": 29099,\n      \"ح\": 29100,\n      \"γ\": 29101,\n      \"ɵ\": 29102,\n      \"า\": 29103,\n      \"َ\": 29104,\n      \"了\": 29105,\n      \"户\": 29106,\n      \"Í\": 29107,\n      \"ə\": 29108,\n      \"ス\": 29109,\n      \"查\": 29110,\n      \"し\": 29111,\n      \"מ\": 29112,\n      \"单\": 29113,\n      \"ť\": 29114,\n      \"ق\": 29115,\n      \"る\": 29116,\n      \"间\": 29117,\n      \"如\": 29118,\n      \"本\": 29119,\n      \"后\": 29120,\n      \"ί\": 29121,\n      \"式\": 29122,\n      \"ト\": 29123,\n      \"Щ\": 29124,\n      \"Ó\": 29125,\n      \"す\": 29126,\n      \"א\": 29127,\n      \"生\": 29128,\n      \"动\": 29129,\n      \"ک\": 29130,\n      \"和\": 29131,\n      \"い\": 29132,\n      \"\": 29133,\n      \"ა\": 29134,\n      \"가\": 29135,\n      \"하\": 29136,\n      \"�\": 29137,\n      \"小\": 29138,\n      \"返\": 29139,\n      \"否\": 29140,\n      \"ة\": 29141,\n      \"日\": 29142,\n      \"로\": 29143,\n      \"标\": 29144,\n      \"码\": 29145,\n      \"地\": 29146,\n      \"位\": 29147,\n      \"에\": 29148,\n      \" \": 29149,\n      \"列\": 29150,\n      \"수\": 29151,\n      \"β\": 29152,\n      \"除\": 29153,\n      \"使\": 29154,\n      \"ש\": 29155,\n      \"ج\": 29156,\n      \"イ\": 29157,\n      \"δ\": 29158,\n      \"自\": 29159,\n      \"于\": 29160,\n      \"지\": 29161,\n      \"当\": 29162,\n      \"所\": 29163,\n      \"기\": 29164,\n      \"ი\": 29165,\n      \"ב\": 29166,\n      \"ร\": 29167,\n      \"★\": 29168,\n      \"子\": 29169,\n      \"号\": 29170,\n      \"ك\": 29171,\n      \"参\": 29172,\n      \"型\": 29173,\n      \"に\": 29174,\n      \"는\": 29175,\n      \"这\": 29176,\n      \"开\": 29177,\n      \"น\": 29178,\n      \"会\": 29179,\n      \"器\": 29180,\n      \"面\": 29181,\n      \"ル\": 29182,\n      \"图\": 29183,\n      \"度\": 29184,\n      \"）\": 29185,\n      \"（\": 29186,\n      \"의\": 29187,\n      \"内\": 29188,\n      \"을\": 29189,\n      \"最\": 29190,\n      \"\": 29191,\n      \"化\": 29192,\n      \"建\": 29193,\n      \"니\": 29194,\n      \"量\": 29195,\n      \"😂\": 29196,\n      \"始\": 29197,\n      \"ē\": 29198,\n      \"خ\": 29199,\n      \"를\": 29200,\n      \"ά\": 29201,\n      \"过\": 29202,\n      \"³\": 29203,\n      \"´\": 29204,\n      \"组\": 29205,\n      \"功\": 29206,\n      \"‎\": 29207,\n      \"\": 29208,\n      \"区\": 29209,\n      \"ز\": 29210,\n      \"ґ\": 29211,\n      \"ό\": 29212,\n      \"ッ\": 29213,\n      \"ω\": 29214,\n      \"Ç\": 29215,\n      \"选\": 29216,\n      \"通\": 29217,\n      \"结\": 29218,\n      \"录\": 29219,\n      \"改\": 29220,\n      \"ク\": 29221,\n      \"目\": 29222,\n      \"指\": 29223,\n      \"务\": 29224,\n      \"๐\": 29225,\n      \"输\": 29226,\n      \"た\": 29227,\n      \"อ\": 29228,\n      \"关\": 29229,\n      \"で\": 29230,\n      \"调\": 29231,\n      \"ा\": 29232,\n      \"정\": 29233,\n      \"合\": 29234,\n      \"已\": 29235,\n      \"시\": 29236,\n      \"部\": 29237,\n      \"页\": 29238,\n      \"━\": 29239,\n      \"ː\": 29240,\n      \"ま\": 29241,\n      \"我\": 29242,\n      \"求\": 29243,\n      \"市\": 29244,\n      \"次\": 29245,\n      \"נ\": 29246,\n      \"实\": 29247,\n      \"将\": 29248,\n      \"重\": 29249,\n      \"更\": 29250,\n      \"制\": 29251,\n      \"符\": 29252,\n      \"配\": 29253,\n      \"象\": 29254,\n      \"θ\": 29255,\n      \"ก\": 29256,\n      \"て\": 29257,\n      \"进\": 29258,\n      \"需\": 29259,\n      \"Đ\": 29260,\n      \"性\": 29261,\n      \"认\": 29262,\n      \"来\": 29263,\n      \"题\": 29264,\n      \"程\": 29265,\n      \"模\": 29266,\n      \"！\": 29267,\n      \"失\": 29268,\n      \"口\": 29269,\n      \"な\": 29270,\n      \"έ\": 29271,\n      \"\": 29272,\n      \"空\": 29273,\n      \"‍\": 29274,\n      \"期\": 29275,\n      \"者\": 29276,\n      \"は\": 29277,\n      \"Ђ\": 29278,\n      \"提\": 29279,\n      \"ή\": 29280,\n      \"ラ\": 29281,\n      \"한\": 29282,\n      \"态\": 29283,\n      \"复\": 29284,\n      \"ง\": 29285,\n      \"ე\": 29286,\n      \"Ø\": 29287,\n      \"리\": 29288,\n      \"修\": 29289,\n      \"‚\": 29290,\n      \"得\": 29291,\n      \"多\": 29292,\n      \"格\": 29293,\n      \"자\": 29294,\n      \"ע\": 29295,\n      \"่\": 29296,\n      \"函\": 29297,\n      \"应\": 29298,\n      \"↗\": 29299,\n      \"्\": 29300,\n      \"เ\": 29301,\n      \"正\": 29302,\n      \"注\": 29303,\n      \"스\": 29304,\n      \"서\": 29305,\n      \"リ\": 29306,\n      \"φ\": 29307,\n      \"ص\": 29308,\n      \"が\": 29309,\n      \"则\": 29310,\n      \"消\": 29311,\n      \"节\": 29312,\n      \"序\": 29313,\n      \"代\": 29314,\n      \"사\": 29315,\n      \"と\": 29316,\n      \"ד\": 29317,\n      \"้\": 29318,\n      \"र\": 29319,\n      \"此\": 29320,\n      \"保\": 29321,\n      \"ア\": 29322,\n      \"ư\": 29323,\n      \"인\": 29324,\n      \"ė\": 29325,\n      \"处\": 29326,\n      \"删\": 29327,\n      \"ɛ\": 29328,\n      \"容\": 29329,\n      \"ط\": 29330,\n      \"\": 29331,\n      \"之\": 29332,\n      \"包\": 29333,\n      \"状\": 29334,\n      \"ド\": 29335,\n      \"İ\": 29336,\n      \"体\": 29337,\n      \"同\": 29338,\n      \"事\": 29339,\n      \"🙂\": 29340,\n      \"タ\": 29341,\n      \"χ\": 29342,\n      \"ʿ\": 29343,\n      \"Ș\": 29344,\n      \"主\": 29345,\n      \"品\": 29346,\n      \"ק\": 29347,\n      \"询\": 29348,\n      \"创\": 29349,\n      \"该\": 29350,\n      \"　\": 29351,\n      \"元\": 29352,\n      \"第\": 29353,\n      \"天\": 29354,\n      \"或\": 29355,\n      \"年\": 29356,\n      \"转\": 29357,\n      \"ח\": 29358,\n      \"传\": 29359,\n      \"ţ\": 29360,\n      \"路\": 29361,\n      \"例\": 29362,\n      \"机\": 29363,\n      \"Ã\": 29364,\n      \"ď\": 29365,\n      \"高\": 29366,\n      \"相\": 29367,\n      \"โ\": 29368,\n      \"片\": 29369,\n      \"―\": 29370,\n      \"操\": 29371,\n      \"ա\": 29372,\n      \"ม\": 29373,\n      \"全\": 29374,\n      \"无\": 29375,\n      \"月\": 29376,\n      \"称\": 29377,\n      \"ั\": 29378,\n      \"就\": 29379,\n      \"\": 29380,\n      \"明\": 29381,\n      \"计\": 29382,\n      \"你\": 29383,\n      \"败\": 29384,\n      \"密\": 29385,\n      \"解\": 29386,\n      \"れ\": 29387,\n      \"أ\": 29388,\n      \"变\": 29389,\n      \"段\": 29390,\n      \"条\": 29391,\n      \"默\": 29392,\n      \"●\": 29393,\n      \"ล\": 29394,\n      \"色\": 29395,\n      \"断\": 29396,\n      \"商\": 29397,\n      \"ם\": 29398,\n      \"か\": 29399,\n      \"里\": 29400,\n      \"系\": 29401,\n      \"编\": 29402,\n      \"错\": 29403,\n      \"트\": 29404,\n      \"只\": 29405,\n      \"县\": 29406,\n      \"ს\": 29407,\n      \"常\": 29408,\n      \"初\": 29409,\n      \"ɔ\": 29410,\n      \"Α\": 29411,\n      \"フ\": 29412,\n      \"►\": 29413,\n      \"等\": 29414,\n      \"일\": 29415,\n      \"・\": 29416,\n      \"Ō\": 29417,\n      \"情\": 29418,\n      \"现\": 29419,\n      \"Ř\": 29420,\n      \"ِ\": 29421,\n      \"さ\": 29422,\n      \"ạ\": 29423,\n      \"용\": 29424,\n      \"证\": 29425,\n      \"해\": 29426,\n      \"手\": 29427,\n      \"支\": 29428,\n      \"입\": 29429,\n      \"服\": 29430,\n      \"்\": 29431,\n      \"道\": 29432,\n      \"어\": 29433,\n      \"送\": 29434,\n      \"载\": 29435,\n      \"限\": 29436,\n      \"线\": 29437,\n      \"属\": 29438,\n      \"\": 29439,\n      \"他\": 29440,\n      \"放\": 29441,\n      \"记\": 29442,\n      \"公\": 29443,\n      \"没\": 29444,\n      \"添\": 29445,\n      \"显\": 29446,\n      \"บ\": 29447,\n      \"ย\": 29448,\n      \"რ\": 29449,\n      \"其\": 29450,\n      \"集\": 29451,\n      \"金\": 29452,\n      \"国\": 29453,\n      \"任\": 29454,\n      \"ە\": 29455,\n      \"话\": 29456,\n      \"并\": 29457,\n      \"被\": 29458,\n      \"ύ\": 29459,\n      \"都\": 29460,\n      \"گ\": 29461,\n      \"意\": 29462,\n      \"כ\": 29463,\n      \"经\": 29464,\n      \"성\": 29465,\n      \"看\": 29466,\n      \"פ\": 29467,\n      \"址\": 29468,\n      \"ס\": 29469,\n      \"드\": 29470,\n      \"交\": 29471,\n      \"¼\": 29472,\n      \"Џ\": 29473,\n      \"完\": 29474,\n      \"Δ\": 29475,\n      \"义\": 29476,\n      \"보\": 29477,\n      \"向\": 29478,\n      \"换\": 29479,\n      \"山\": 29480,\n      \"算\": 29481,\n      \"二\": 29482,\n      \"پ\": 29483,\n      \"⁄\": 29484,\n      \"判\": 29485,\n      \"级\": 29486,\n      \"工\": 29487,\n      \"ด\": 29488,\n      \"⠀\": 29489,\n      \"家\": 29490,\n      \"レ\": 29491,\n      \"三\": 29492,\n      \"原\": 29493,\n      \"】\": 29494,\n      \"长\": 29495,\n      \"া\": 29496,\n      \"管\": 29497,\n      \"ѝ\": 29498,\n      \"क\": 29499,\n      \"学\": 29500,\n      \"ロ\": 29501,\n      \"验\": 29502,\n      \"写\": 29503,\n      \"Œ\": 29504,\n      \"从\": 29505,\n      \"【\": 29506,\n      \"收\": 29507,\n      \"ả\": 29508,\n      \"未\": 29509,\n      \"登\": 29510,\n      \"고\": 29511,\n      \"源\": 29512,\n      \"每\": 29513,\n      \"µ\": 29514,\n      \"误\": 29515,\n      \"り\": 29516,\n      \"요\": 29517,\n      \"按\": 29518,\n      \"ว\": 29519,\n      \"权\": 29520,\n      \"根\": 29521,\n      \"プ\": 29522,\n      \"串\": 29523,\n      \"ส\": 29524,\n      \"›\": 29525,\n      \"제\": 29526,\n      \"シ\": 29527,\n      \"Ş\": 29528,\n      \"确\": 29529,\n      \"好\": 29530,\n      \"统\": 29531,\n      \"效\": 29532,\n      \"网\": 29533,\n      \"\\u0001\": 29534,\n      \"物\": 29535,\n      \"아\": 29536,\n      \"也\": 29537,\n      \"은\": 29538,\n      \"ệ\": 29539,\n      \"न\": 29540,\n      \"项\": 29541,\n      \"资\": 29542,\n      \"こ\": 29543,\n      \"引\": 29544,\n      \"ジ\": 29545,\n      \"ค\": 29546,\n      \"版\": 29547,\n      \"ท\": 29548,\n      \"平\": 29549,\n      \"们\": 29550,\n      \"与\": 29551,\n      \"き\": 29552,\n      \"移\": 29553,\n      \"ि\": 29554,\n      \"素\": 29555,\n      \"执\": 29556,\n      \"주\": 29557,\n      \"‐\": 29558,\n      \"Ґ\": 29559,\n      \"ี\": 29560,\n      \"板\": 29561,\n      \"问\": 29562,\n      \"Ε\": 29563,\n      \"安\": 29564,\n      \"면\": 29565,\n      \"소\": 29566,\n      \"ต\": 29567,\n      \"ิ\": 29568,\n      \"持\": 29569,\n      \"습\": 29570,\n      \"Σ\": 29571,\n      \"ら\": 29572,\n      \"コ\": 29573,\n      \"心\": 29574,\n      \"Π\": 29575,\n      \"打\": 29576,\n      \"」\": 29577,\n      \"상\": 29578,\n      \"「\": 29579,\n      \"检\": 29580,\n      \"库\": 29581,\n      \"÷\": 29582,\n      \"으\": 29583,\n      \"测\": 29584,\n      \"ん\": 29585,\n      \"े\": 29586,\n      \"ُ\": 29587,\n      \"力\": 29588,\n      \"直\": 29589,\n      \"由\": 29590,\n      \"ى\": 29591,\n      \"试\": 29592,\n      \"必\": 29593,\n      \"端\": 29594,\n      \"ʻ\": 29595,\n      \"先\": 29596,\n      \"↑\": 29597,\n      \"命\": 29598,\n      \"도\": 29599,\n      \"전\": 29600,\n      \"ห\": 29601,\n      \"员\": 29602,\n      \"ɪ\": 29603,\n      \"있\": 29604,\n      \"比\": 29605,\n      \"ṣ\": 29606,\n      \"時\": 29607,\n      \"择\": 29608,\n      \"ذ\": 29609,\n      \"テ\": 29610,\n      \"‌\": 29611,\n      \"构\": 29612,\n      \"备\": 29613,\n      \"그\": 29614,\n      \"链\": 29615,\n      \"说\": 29616,\n      \"ლ\": 29617,\n      \"ן\": 29618,\n      \"签\": 29619,\n      \"う\": 29620,\n      \"غ\": 29621,\n      \"ế\": 29622,\n      \"ض\": 29623,\n      \"ḥ\": 29624,\n      \"启\": 29625,\n      \"력\": 29626,\n      \"ო\": 29627,\n      \"付\": 29628,\n      \"მ\": 29629,\n      \"索\": 29630,\n      \"特\": 29631,\n      \"ג\": 29632,\n      \"西\": 29633,\n      \"대\": 29634,\n      \"├\": 29635,\n      \"\": 29636,\n      \"\": 29637,\n      \"外\": 29638,\n      \"צ\": 29639,\n      \"头\": 29640,\n      \"连\": 29641,\n      \"流\": 29642,\n      \"◄\": 29643,\n      \"デ\": 29644,\n      \"カ\": 29645,\n      \"র\": 29646,\n      \"오\": 29647,\n      \"找\": 29648,\n      \"清\": 29649,\n      \"🤣\": 29650,\n      \"去\": 29651,\n      \"₹\": 29652,\n      \"경\": 29653,\n      \"グ\": 29654,\n      \"ْ\": 29655,\n      \"¢\": 29656,\n      \"因\": 29657,\n      \"\": 29658,\n      \"Κ\": 29659,\n      \"增\": 29660,\n      \"知\": 29661,\n      \"¶\": 29662,\n      \"像\": 29663,\n      \"♥\": 29664,\n      \"터\": 29665,\n      \"く\": 29666,\n      \"ậ\": 29667,\n      \"メ\": 29668,\n      \"Æ\": 29669,\n      \"省\": 29670,\n      \"स\": 29671,\n      \"म\": 29672,\n      \"❤\": 29673,\n      \"あ\": 29674,\n      \"样\": 29675,\n      \"起\": 29676,\n      \"台\": 29677,\n      \"读\": 29678,\n      \"角\": 29679,\n      \"南\": 29680,\n      \"整\": 29681,\n      \"订\": 29682,\n      \"\\f\": 29683,\n      \"ט\": 29684,\n      \"マ\": 29685,\n      \"্\": 29686,\n      \"우\": 29687,\n      \"ն\": 29688,\n      \"您\": 29689,\n      \"ئ\": 29690,\n      \"基\": 29691,\n      \"水\": 29692,\n      \"생\": 29693,\n      \"‑\": 29694,\n      \"나\": 29695,\n      \"画\": 29696,\n      \"描\": 29697,\n      \"击\": 29698,\n      \"っ\": 29699,\n      \"라\": 29700,\n      \"ნ\": 29701,\n      \"ր\": 29702,\n      \"业\": 29703,\n      \"ბ\": 29704,\n      \"别\": 29705,\n      \"♦\": 29706,\n      \"ィ\": 29707,\n      \"त\": 29708,\n      \"给\": 29709,\n      \"문\": 29710,\n      \"形\": 29711,\n      \"控\": 29712,\n      \"然\": 29713,\n      \"동\": 29714,\n      \"Њ\": 29715,\n      \"⁠\": 29716,\n      \"东\": 29717,\n      \"ป\": 29718,\n      \"州\": 29719,\n      \"排\": 29720,\n      \"세\": 29721,\n      \"装\": 29722,\n      \"할\": 29723,\n      \"Ć\": 29724,\n      \"∞\": 29725,\n      \"海\": 29726,\n      \"城\": 29727,\n      \"键\": 29728,\n      \"径\": 29729,\n      \"호\": 29730,\n      \"화\": 29731,\n      \"្\": 29732,\n      \"料\": 29733,\n      \"ơ\": 29734,\n      \"ी\": 29735,\n      \"ウ\": 29736,\n      \"具\": 29737,\n      \"ブ\": 29738,\n      \"块\": 29739,\n      \"再\": 29740,\n      \"ố\": 29741,\n      \"电\": 29742,\n      \"；\": 29743,\n      \"위\": 29744,\n      \"两\": 29745,\n      \"而\": 29746,\n      \"장\": 29747,\n      \"آ\": 29748,\n      \"Ț\": 29749,\n      \"バ\": 29750,\n      \"还\": 29751,\n      \"令\": 29752,\n      \"キ\": 29753,\n      \"ّ\": 29754,\n      \"값\": 29755,\n      \"번\": 29756,\n      \"만\": 29757,\n      \"总\": 29758,\n      \"ल\": 29759,\n      \"▲\": 29760,\n      \"异\": 29761,\n      \"光\": 29762,\n      \"客\": 29763,\n      \"非\": 29764,\n      \"ị\": 29765,\n      \"\": 29766,\n      \"þ\": 29767,\n      \"設\": 29768,\n      \"述\": 29769,\n      \"합\": 29770,\n      \"？\": 29771,\n      \"✔\": 29772,\n      \"导\": 29773,\n      \"ṇ\": 29774,\n      \"부\": 29775,\n      \"˙\": 29776,\n      \"Τ\": 29777,\n      \"も\": 29778,\n      \"구\": 29779,\n      \"镇\": 29780,\n      \"작\": 29781,\n      \"░\": 29782,\n      \"步\": 29783,\n      \"ộ\": 29784,\n      \"活\": 29785,\n      \"พ\": 29786,\n      \"←\": 29787,\n      \"ǎ\": 29788,\n      \"จ\": 29789,\n      \"束\": 29790,\n      \"ـ\": 29791,\n      \"\": 29792,\n      \"那\": 29793,\n      \"प\": 29794,\n      \"エ\": 29795,\n      \"志\": 29796,\n      \"么\": 29797,\n      \"运\": 29798,\n      \"北\": 29799,\n      \"超\": 29800,\n      \"་\": 29801,\n      \"布\": 29802,\n      \"ώ\": 29803,\n      \"͡\": 29804,\n      \"少\": 29805,\n      \"파\": 29806,\n      \"ʃ\": 29807,\n      \"ム\": 29808,\n      \"\": 29809,\n      \"卡\": 29810,\n      \"ন\": 29811,\n      \"Μ\": 29812,\n      \"ɑ\": 29813,\n      \"😉\": 29814,\n      \"辑\": 29815,\n      \"원\": 29816,\n      \"美\": 29817,\n      \"产\": 29818,\n      \"利\": 29819,\n      \"모\": 29820,\n      \"联\": 29821,\n      \"界\": 29822,\n      \"체\": 29823,\n      \"种\": 29824,\n      \"王\": 29825,\n      \"ľ\": 29826,\n      \"여\": 29827,\n      \"메\": 29828,\n      \"域\": 29829,\n      \"ვ\": 29830,\n      \"立\": 29831,\n      \"록\": 29832,\n      \"게\": 29833,\n      \"إ\": 29834,\n      \"ṭ\": 29835,\n      \"神\": 29836,\n      \"ո\": 29837,\n      \"音\": 29838,\n      \"☆\": 29839,\n      \"Ñ\": 29840,\n      \"조\": 29841,\n      \"動\": 29842,\n      \"缓\": 29843,\n      \"과\": 29844,\n      \"报\": 29845,\n      \"ʼ\": 29846,\n      \"ា\": 29847,\n      \"되\": 29848,\n      \"ե\": 29849,\n      \"视\": 29850,\n      \"ช\": 29851,\n      \"详\": 29852,\n      \"แ\": 29853,\n      \"¦\": 29854,\n      \"把\": 29855,\n      \"க\": 29856,\n      \"ি\": 29857,\n      \"출\": 29858,\n      \"비\": 29859,\n      \"边\": 29860,\n      \"框\": 29861,\n      \"व\": 29862,\n      \"サ\": 29863,\n      \"Ι\": 29864,\n      \"Ο\": 29865,\n      \"オ\": 29866,\n      \"¾\": 29867,\n      \"历\": 29868,\n      \"ŏ\": 29869,\n      \"门\": 29870,\n      \"ข\": 29871,\n      \"含\": 29872,\n      \"¬\": 29873,\n      \"周\": 29874,\n      \"填\": 29875,\n      \"待\": 29876,\n      \"ะ\": 29877,\n      \"დ\": 29878,\n      \"Ї\": 29879,\n      \"额\": 29880,\n      \"음\": 29881,\n      \"四\": 29882,\n      \"だ\": 29883,\n      \"회\": 29884,\n      \"止\": 29885,\n      \"率\": 29886,\n      \"环\": 29887,\n      \"パ\": 29888,\n      \"래\": 29889,\n      \"闭\": 29890,\n      \"̀\": 29891,\n      \"语\": 29892,\n      \"개\": 29893,\n      \"身\": 29894,\n      \"藏\": 29895,\n      \"य\": 29896,\n      \"된\": 29897,\n      \"即\": 29898,\n      \"拉\": 29899,\n      \"선\": 29900,\n      \"변\": 29901,\n      \"≥\": 29902,\n      \"ุ\": 29903,\n      \"些\": 29904,\n      \"🤷\": 29905,\n      \"せ\": 29906,\n      \"左\": 29907,\n      \"ợ\": 29908,\n      \"右\": 29909,\n      \"ể\": 29910,\n      \"내\": 29911,\n      \"ּ\": 29912,\n      \"ז\": 29913,\n      \"ে\": 29914,\n      \"告\": 29915,\n      \"ấ\": 29916,\n      \"白\": 29917,\n      \"账\": 29918,\n      \"费\": 29919,\n      \"江\": 29920,\n      \"み\": 29921,\n      \"‹\": 29922,\n      \"์\": 29923,\n      \"\": 29924,\n      \"造\": 29925,\n      \"但\": 29926,\n      \"十\": 29927,\n      \"它\": 29928,\n      \"ं\": 29929,\n      \"ŋ\": 29930,\n      \"ў\": 29931,\n      \"セ\": 29932,\n      \"女\": 29933,\n      \"⣿\": 29934,\n      \"ի\": 29935,\n      \"京\": 29936,\n      \"触\": 29937,\n      \"함\": 29938,\n      \"들\": 29939,\n      \"Ā\": 29940,\n      \"\": 29941,\n      \"石\": 29942,\n      \"よ\": 29943,\n      \"田\": 29944,\n      \"易\": 29945,\n      \"规\": 29946,\n      \"展\": 29947,\n      \"¯\": 29948,\n      \"做\": 29949,\n      \"星\": 29950,\n      \"უ\": 29951,\n      \"✓\": 29952,\n      \"თ\": 29953,\n      \"供\": 29954,\n      \"명\": 29955,\n      \"ξ\": 29956,\n      \"己\": 29957,\n      \"且\": 29958,\n      \"插\": 29959,\n      \"景\": 29960,\n      \"切\": 29961,\n      \"ไ\": 29962,\n      \"없\": 29963,\n      \"ョ\": 29964,\n      \"及\": 29965,\n      \"Ν\": 29966,\n      \"미\": 29967,\n      \"ث\": 29968,\n      \"데\": 29969,\n      \"价\": 29970,\n      \"乡\": 29971,\n      \"ह\": 29972,\n      \"チ\": 29973,\n      \"真\": 29974,\n      \"太\": 29975,\n      \"ู\": 29976,\n      \"ダ\": 29977,\n      \"局\": 29978,\n      \"♂\": 29979,\n      \"退\": 29980,\n      \"ு\": 29981,\n      \"ক\": 29982,\n      \"ி\": 29983,\n      \"何\": 29984,\n      \"😭\": 29985,\n      \"¥\": 29986,\n      \"\": 29987,\n      \"≈\": 29988,\n      \"司\": 29989,\n      \"层\": 29990,\n      \"실\": 29991,\n      \"站\": 29992,\n      \"首\": 29993,\n      \"款\": 29994,\n      \"រ\": 29995,\n      \"間\": 29996,\n      \"ָ\": 29997,\n      \"저\": 29998,\n      \"监\": 29999,\n      \"ァ\": 30000,\n      \"册\": 30001,\n      \"案\": 30002,\n      \"ो\": 30003,\n      \"反\": 30004,\n      \"听\": 30005,\n      \"族\": 30006,\n      \"析\": 30007,\n      \"ื\": 30008,\n      \"秒\": 30009,\n      \"공\": 30010,\n      \"\": 30011,\n      \"🚀\": 30012,\n      \"거\": 30013,\n      \"재\": 30014,\n      \"\": 30015,\n      \"場\": 30016,\n      \"广\": 30017,\n      \"播\": 30018,\n      \"║\": 30019,\n      \"⋅\": 30020,\n      \"技\": 30021,\n      \"贴\": 30022,\n      \"想\": 30023,\n      \"ʁ\": 30024,\n      \"ớ\": 30025,\n      \"ャ\": 30026,\n      \"중\": 30027,\n      \"》\": 30028,\n      \"速\": 30029,\n      \"频\": 30030,\n      \"队\": 30031,\n      \"ำ\": 30032,\n      \"け\": 30033,\n      \"ु\": 30034,\n      \"≤\": 30035,\n      \"↓\": 30036,\n      \"须\": 30037,\n      \"菜\": 30038,\n      \"̃\": 30039,\n      \"剪\": 30040,\n      \"버\": 30041,\n      \"ェ\": 30042,\n      \"Λ\": 30043,\n      \"细\": 30044,\n      \"選\": 30045,\n      \"द\": 30046,\n      \"¹\": 30047,\n      \"许\": 30048,\n      \"ầ\": 30049,\n      \"世\": 30050,\n      \"ュ\": 30051,\n      \"ء\": 30052,\n      \"‡\": 30053,\n      \"候\": 30054,\n      \"共\": 30055,\n      \"크\": 30056,\n      \"ธ\": 30057,\n      \"설\": 30058,\n      \"快\": 30059,\n      \"友\": 30060,\n      \"ְ\": 30061,\n      \"车\": 30062,\n      \"推\": 30063,\n      \"花\": 30064,\n      \"言\": 30065,\n      \"چ\": 30066,\n      \"至\": 30067,\n      \"開\": 30068,\n      \"校\": 30069,\n      \"個\": 30070,\n      \"村\": 30071,\n      \"つ\": 30072,\n      \"▌\": 30073,\n      \"ப\": 30074,\n      \"결\": 30075,\n      \"ņ\": 30076,\n      \"优\": 30077,\n      \"ន\": 30078,\n      \"达\": 30079,\n      \"核\": 30080,\n      \"ナ\": 30081,\n      \"场\": 30082,\n      \"影\": 30083,\n      \"🏻\": 30084,\n      \"钮\": 30085,\n      \"ظ\": 30086,\n      \"Þ\": 30087,\n      \"▼\": 30088,\n      \"お\": 30089,\n      \"份\": 30090,\n      \"微\": 30091,\n      \"ờ\": 30092,\n      \"识\": 30093,\n      \"행\": 30094,\n      \"《\": 30095,\n      \"ใ\": 30096,\n      \"ọ\": 30097,\n      \"预\": 30098,\n      \"ব\": 30099,\n      \"த\": 30100,\n      \"\": 30101,\n      \"ų\": 30102,\n      \"마\": 30103,\n      \"않\": 30104,\n      \"ɡ\": 30105,\n      \"계\": 30106,\n      \"연\": 30107,\n      \"五\": 30108,\n      \"Ź\": 30109,\n      \"め\": 30110,\n      \"很\": 30111,\n      \"간\": 30112,\n      \"無\": 30113,\n      \"ប\": 30114,\n      \"社\": 30115,\n      \"Ê\": 30116,\n      \"书\": 30117,\n      \"顶\": 30118,\n      \"ტ\": 30119,\n      \"才\": 30120,\n      \"云\": 30121,\n      \"└\": 30122,\n      \"ζ\": 30123,\n      \"،\": 30124,\n      \"搜\": 30125,\n      \"신\": 30126,\n      \"유\": 30127,\n      \"‏\": 30128,\n      \"✅\": 30129,\n      \"⭐\": 30130,\n      \"照\": 30131,\n      \"短\": 30132,\n      \"川\": 30133,\n      \"後\": 30134,\n      \"范\": 30135,\n      \"民\": 30136,\n      \"治\": 30137,\n      \"章\": 30138,\n      \"ề\": 30139,\n      \"바\": 30140,\n      \"ә\": 30141,\n      \"⚭\": 30142,\n      \"河\": 30143,\n      \"论\": 30144,\n      \"え\": 30145,\n      \"Ω\": 30146,\n      \"√\": 30147,\n      \"Ă\": 30148,\n      \"Γ\": 30149,\n      \"坐\": 30150,\n      \"적\": 30151,\n      \"停\": 30152,\n      \"추\": 30153,\n      \"受\": 30154,\n      \"♀\": 30155,\n      \"ʾ\": 30156,\n      \"树\": 30157,\n      \"林\": 30158,\n      \"치\": 30159,\n      \"ﬁ\": 30160,\n      \"▒\": 30161,\n      \"张\": 30162,\n      \"着\": 30163,\n      \"访\": 30164,\n      \"考\": 30165,\n      \"教\": 30166,\n      \"ग\": 30167,\n      \"准\": 30168,\n      \"印\": 30169,\n      \"精\": 30170,\n      \"窗\": 30171,\n      \"宝\": 30172,\n      \"ち\": 30173,\n      \"围\": 30174,\n      \"ַ\": 30175,\n      \"致\": 30176,\n      \"モ\": 30177,\n      \"때\": 30178,\n      \"随\": 30179,\n      \"储\": 30180,\n      \"况\": 30181,\n      \"邮\": 30182,\n      \"武\": 30183,\n      \"⛔\": 30184,\n      \"维\": 30185,\n      \"ү\": 30186,\n      \"跳\": 30187,\n      \"ब\": 30188,\n      \"投\": 30189,\n      \"ủ\": 30190,\n      \"표\": 30191,\n      \"반\": 30192,\n      \"英\": 30193,\n      \"ʰ\": 30194,\n      \"👍\": 30195,\n      \"ज\": 30196,\n      \"带\": 30197,\n      \"為\": 30198,\n      \"续\": 30199,\n      \"ɨ\": 30200,\n      \"처\": 30201,\n      \"₂\": 30202,\n      \"클\": 30203,\n      \"群\": 30204,\n      \"현\": 30205,\n      \"风\": 30206,\n      \"购\": 30207,\n      \"ក\": 30208,\n      \"老\": 30209,\n      \"留\": 30210,\n      \"球\": 30211,\n      \"프\": 30212,\n      \"▄\": 30213,\n      \"史\": 30214,\n      \"Љ\": 30215,\n      \"⟩\": 30216,\n      \"분\": 30217,\n      \"გ\": 30218,\n      \"店\": 30219,\n      \"审\": 30220,\n      \"료\": 30221,\n      \"목\": 30222,\n      \"略\": 30223,\n      \"관\": 30224,\n      \"ִ\": 30225,\n      \"科\": 30226,\n      \"货\": 30227,\n      \"ம\": 30228,\n      \"络\": 30229,\n      \"阳\": 30230,\n      \"Ḥ\": 30231,\n      \"資\": 30232,\n      \"若\": 30233,\n      \"স\": 30234,\n      \"ہ\": 30235,\n      \"宽\": 30236,\n      \"见\": 30237,\n      \"ズ\": 30238,\n      \"游\": 30239,\n      \"방\": 30240,\n      \"ồ\": 30241,\n      \"ɾ\": 30242,\n      \"열\": 30243,\n      \"러\": 30244,\n      \"ך\": 30245,\n      \"\\u001b\": 30246,\n      \"်\": 30247,\n      \"余\": 30248,\n      \"响\": 30249,\n      \"缩\": 30250,\n      \"ட\": 30251,\n      \"评\": 30252,\n      \"允\": 30253,\n      \"离\": 30254,\n      \"🤔\": 30255,\n      \"Ё\": 30256,\n      \"ʊ\": 30257,\n      \"黑\": 30258,\n      \"马\": 30259,\n      \"⟨\": 30260,\n      \"値\": 30261,\n      \"箱\": 30262,\n      \"야\": 30263,\n      \"ម\": 30264,\n      \"Ő\": 30265,\n      \"感\": 30266,\n      \"ツ\": 30267,\n      \"ụ\": 30268,\n      \"ポ\": 30269,\n      \"확\": 30270,\n      \"声\": 30271,\n      \"战\": 30272,\n      \"ѕ\": 30273,\n      \"変\": 30274,\n      \"와\": 30275,\n      \"父\": 30276,\n      \"ベ\": 30277,\n      \"助\": 30278,\n      \"업\": 30279,\n      \"ʲ\": 30280,\n      \"ÿ\": 30281,\n      \"充\": 30282,\n      \"强\": 30283,\n      \"博\": 30284,\n      \"ミ\": 30285,\n      \"销\": 30286,\n      \"당\": 30287,\n      \"記\": 30288,\n      \"什\": 30289,\n      \"匹\": 30290,\n      \"ւ\": 30291,\n      \"そ\": 30292,\n      \"코\": 30293,\n      \"ল\": 30294,\n      \"ŭ\": 30295,\n      \"午\": 30296,\n      \"ニ\": 30297,\n      \"\\u0012\": 30298,\n      \"ʒ\": 30299,\n      \"შ\": 30300,\n      \"某\": 30301,\n      \"ォ\": 30302,\n      \"足\": 30303,\n      \"타\": 30304,\n      \"Ð\": 30305,\n      \"ხ\": 30306,\n      \"름\": 30307,\n      \"木\": 30308,\n      \"楼\": 30309,\n      \"최\": 30310,\n      \"红\": 30311,\n      \"¨\": 30312,\n      \"古\": 30313,\n      \"\\u0006\": 30314,\n      \"단\": 30315,\n      \"今\": 30316,\n      \"ʔ\": 30317,\n      \"ट\": 30318,\n      \"ম\": 30319,\n      \"斯\": 30320,\n      \"語\": 30321,\n      \"Ÿ\": 30322,\n      \"🙄\": 30323,\n      \"牌\": 30324,\n      \"안\": 30325,\n      \"ស\": 30326,\n      \"颜\": 30327,\n      \"～\": 30328,\n      \"克\": 30329,\n      \"深\": 30330,\n      \"금\": 30331,\n      \"會\": 30332,\n      \"尔\": 30333,\n      \"释\": 30334,\n      \"批\": 30335,\n      \"산\": 30336,\n      \"野\": 30337,\n      \"防\": 30338,\n      \"Η\": 30339,\n      \"ө\": 30340,\n      \"ψ\": 30341,\n      \"ボ\": 30342,\n      \"\": 30343,\n      \"各\": 30344,\n      \"진\": 30345,\n      \"追\": 30346,\n      \"句\": 30347,\n      \"警\": 30348,\n      \"Φ\": 30349,\n      \"ѣ\": 30350,\n      \"ḍ\": 30351,\n      \"词\": 30352,\n      \"男\": 30353,\n      \"글\": 30354,\n      \"식\": 30355,\n      \"隐\": 30356,\n      \"복\": 30357,\n      \"盘\": 30358,\n      \"Ì\": 30359,\n      \"申\": 30360,\n      \"议\": 30361,\n      \"ザ\": 30362,\n      \"近\": 30363,\n      \"능\": 30364,\n      \"য\": 30365,\n      \"東\": 30366,\n      \"這\": 30367,\n      \"ர\": 30368,\n      \"距\": 30369,\n      \"院\": 30370,\n      \"德\": 30371,\n      \"ǐ\": 30372,\n      \"针\": 30373,\n      \"▀\": 30374,\n      \"↔\": 30375,\n      \"房\": 30376,\n      \"青\": 30377,\n      \"政\": 30378,\n      \"😅\": 30379,\n      \"递\": 30380,\n      \"প\": 30381,\n      \"波\": 30382,\n      \"ソ\": 30383,\n      \"绑\": 30384,\n      \"ビ\": 30385,\n      \"ễ\": 30386,\n      \"포\": 30387,\n      \"\\u0010\": 30388,\n      \"ử\": 30389,\n      \"등\": 30390,\n      \"환\": 30391,\n      \"士\": 30392,\n      \"ত\": 30393,\n      \"Θ\": 30394,\n      \"초\": 30395,\n      \"境\": 30396,\n      \"差\": 30397,\n      \"采\": 30398,\n      \"디\": 30399,\n      \"ĩ\": 30400,\n      \"升\": 30401,\n      \"背\": 30402,\n      \"배\": 30403,\n      \"龙\": 30404,\n      \"街\": 30405,\n      \"್\": 30406,\n      \"ṛ\": 30407,\n      \"ু\": 30408,\n      \"弹\": 30409,\n      \"魔\": 30410,\n      \"객\": 30411,\n      \"‰\": 30412,\n      \"⌁\": 30413,\n      \"ἐ\": 30414,\n      \"禁\": 30415,\n      \"ผ\": 30416,\n      \"қ\": 30417,\n      \"島\": 30418,\n      \"ா\": 30419,\n      \"♭\": 30420,\n      \"百\": 30421,\n      \"ứ\": 30422,\n      \"ネ\": 30423,\n      \"专\": 30424,\n      \"來\": 30425,\n      \"刷\": 30426,\n      \"필\": 30427,\n      \"յ\": 30428,\n      \"ắ\": 30429,\n      \"华\": 30430,\n      \"Β\": 30431,\n      \"श\": 30432,\n      \"¸\": 30433,\n      \"屏\": 30434,\n      \"死\": 30435,\n      \"遍\": 30436,\n      \"검\": 30437,\n      \"Χ\": 30438,\n      \"것\": 30439,\n      \"八\": 30440,\n      \"览\": 30441,\n      \"택\": 30442,\n      \"唯\": 30443,\n      \"∙\": 30444,\n      \"¤\": 30445,\n      \"페\": 30446,\n      \"让\": 30447,\n      \"锁\": 30448,\n      \"무\": 30449,\n      \"思\": 30450,\n      \"隔\": 30451,\n      \"Ô\": 30452,\n      \"\\u0013\": 30453,\n      \"ṃ\": 30454,\n      \"ワ\": 30455,\n      \"低\": 30456,\n      \"션\": 30457,\n      \"半\": 30458,\n      \"较\": 30459,\n      \"ត\": 30460,\n      \"享\": 30461,\n      \"积\": 30462,\n      \"\": 30463,\n      \"😊\": 30464,\n      \"典\": 30465,\n      \"ǔ\": 30466,\n      \"六\": 30467,\n      \"便\": 30468,\n      \"ɐ\": 30469,\n      \"简\": 30470,\n      \"继\": 30471,\n      \"仅\": 30472,\n      \"尾\": 30473,\n      \"\": 30474,\n      \"வ\": 30475,\n      \"կ\": 30476,\n      \"\": 30477,\n      \"영\": 30478,\n      \"火\": 30479,\n      \"湖\": 30480,\n      \"書\": 30481,\n      \"발\": 30482,\n      \"ハ\": 30483,\n      \"循\": 30484,\n      \"术\": 30485,\n      \"結\": 30486,\n      \"ļ\": 30487,\n      \"乐\": 30488,\n      \"滤\": 30489,\n      \"종\": 30490,\n      \"ถ\": 30491,\n      \"ὶ\": 30492,\n      \"满\": 30493,\n      \"╝\": 30494,\n      \"わ\": 30495,\n      \"ど\": 30496,\n      \"็\": 30497,\n      \"형\": 30498,\n      \"國\": 30499,\n      \"ự\": 30500,\n      \"線\": 30501,\n      \"블\": 30502,\n      \"封\": 30503,\n      \"確\": 30504,\n      \"依\": 30505,\n      \"ս\": 30506,\n      \"永\": 30507,\n      \"색\": 30508,\n      \"歌\": 30509,\n      \"數\": 30510,\n      \"福\": 30511,\n      \"삭\": 30512,\n      \"実\": 30513,\n      \"레\": 30514,\n      \"ſ\": 30515,\n      \"千\": 30516,\n      \"\\u000e\": 30517,\n      \"母\": 30518,\n      \"더\": 30519,\n      \"임\": 30520,\n      \"տ\": 30521,\n      \"ے\": 30522,\n      \"几\": 30523,\n      \"双\": 30524,\n      \"노\": 30525,\n      \"ณ\": 30526,\n      \"掉\": 30527,\n      \"Ρ\": 30528,\n      \"ἀ\": 30529,\n      \"標\": 30530,\n      \"長\": 30531,\n      \"档\": 30532,\n      \"태\": 30533,\n      \"ペ\": 30534,\n      \"본\": 30535,\n      \"\": 30536,\n      \"底\": 30537,\n      \"终\": 30538,\n      \"請\": 30539,\n      \"კ\": 30540,\n      \"̯\": 30541,\n      \"예\": 30542,\n      \"▬\": 30543,\n      \"報\": 30544,\n      \"ピ\": 30545,\n      \"๏\": 30546,\n      \"暂\": 30547,\n      \"李\": 30548,\n      \"Υ\": 30549,\n      \"\\u0005\": 30550,\n      \"\\u0002\": 30551,\n      \"替\": 30552,\n      \"운\": 30553,\n      \"射\": 30554,\n      \"\\u0018\": 30555,\n      \"매\": 30556,\n      \"\\u0011\": 30557,\n      \"🏼\": 30558,\n      \"票\": 30559,\n      \"附\": 30560,\n      \"ノ\": 30561,\n      \"ũ\": 30562,\n      \"压\": 30563,\n      \"阿\": 30564,\n      \"Ò\": 30565,\n      \"테\": 30566,\n      \"∼\": 30567,\n      \"万\": 30568,\n      \"մ\": 30569,\n      \"후\": 30570,\n      \"普\": 30571,\n      \"截\": 30572,\n      \"속\": 30573,\n      \"括\": 30574,\n      \"😀\": 30575,\n      \"ை\": 30576,\n      \"▶\": 30577,\n      \"까\": 30578,\n      \"ট\": 30579,\n      \"曲\": 30580,\n      \"师\": 30581,\n      \"钱\": 30582,\n      \"栏\": 30583,\n      \"Ы\": 30584,\n      \"走\": 30585,\n      \"ữ\": 30586,\n      \"‬\": 30587,\n      \"归\": 30588,\n      \"점\": 30589,\n      \"🔥\": 30590,\n      \"었\": 30591,\n      \"連\": 30592,\n      \"私\": 30593,\n      \"청\": 30594,\n      \"刘\": 30595,\n      \"免\": 30596,\n      \"\": 30597,\n      \"奖\": 30598,\n      \"見\": 30599,\n      \"ֹ\": 30600,\n      \"☺\": 30601,\n      \"ケ\": 30602,\n      \"역\": 30603,\n      \"际\": 30604,\n      \"받\": 30605,\n      \"望\": 30606,\n      \"帝\": 30607,\n      \"减\": 30608,\n      \"두\": 30609,\n      \"领\": 30610,\n      \"\": 30611,\n      \"钟\": 30612,\n      \"ガ\": 30613,\n      \"架\": 30614,\n      \"든\": 30615,\n      \"ல\": 30616,\n      \"松\": 30617,\n      \"□\": 30618,\n      \"越\": 30619,\n      \"答\": 30620,\n      \"ɕ\": 30621,\n      \"ῦ\": 30622,\n      \"染\": 30623,\n      \"\": 30624,\n      \"质\": 30625,\n      \"顺\": 30626,\n      \"气\": 30627,\n      \"╗\": 30628,\n      \"計\": 30629,\n      \"ქ\": 30630,\n      \"亮\": 30631,\n      \"🤦\": 30632,\n      \"̂\": 30633,\n      \"ٹ\": 30634,\n      \"座\": 30635,\n      \"ˌ\": 30636,\n      \"均\": 30637,\n      \"\\u000b\": 30638,\n      \"官\": 30639,\n      \"适\": 30640,\n      \"护\": 30641,\n      \"久\": 30642,\n      \"春\": 30643,\n      \"曹\": 30644,\n      \"皇\": 30645,\n      \"脚\": 30646,\n      \"池\": 30647,\n      \"延\": 30648,\n      \"키\": 30649,\n      \"품\": 30650,\n      \"現\": 30651,\n      \"檔\": 30652,\n      \"ば\": 30653,\n      \"ⴰ\": 30654,\n      \"希\": 30655,\n      \"玩\": 30656,\n      \"固\": 30657,\n      \"黄\": 30658,\n      \"\": 30659,\n      \"☽\": 30660,\n      \"银\": 30661,\n      \"\\u0003\": 30662,\n      \"┃\": 30663,\n      \"👏\": 30664,\n      \"불\": 30665,\n      \"攻\": 30666,\n      \"へ\": 30667,\n      \"决\": 30668,\n      \"⊙\": 30669,\n      \"宁\": 30670,\n      \"च\": 30671,\n      \"機\": 30672,\n      \"義\": 30673,\n      \"ɲ\": 30674,\n      \"\\u0015\": 30675,\n      \"했\": 30676,\n      \"ẩ\": 30677,\n      \"愛\": 30678,\n      \"矩\": 30679,\n      \"패\": 30680,\n      \"ặ\": 30681,\n      \"郎\": 30682,\n      \"Ь\": 30683,\n      \"绘\": 30684,\n      \"负\": 30685,\n      \"ổ\": 30686,\n      \"ய\": 30687,\n      \"汉\": 30688,\n      \"編\": 30689,\n      \"ێ\": 30690,\n      \"്\": 30691,\n      \"じ\": 30692,\n      \"카\": 30693,\n      \"似\": 30694,\n      \"ں\": 30695,\n      \"や\": 30696,\n      \"認\": 30697,\n      \"\\u000f\": 30698,\n      \"過\": 30699,\n      \"통\": 30700,\n      \"▪\": 30701,\n      \"约\": 30702,\n      \"香\": 30703,\n      \"买\": 30704,\n      \"住\": 30705,\n      \"╚\": 30706,\n      \"😁\": 30707,\n      \"扩\": 30708,\n      \"静\": 30709,\n      \"려\": 30710,\n      \"학\": 30711,\n      \"钥\": 30712,\n      \"증\": 30713,\n      \"ỉ\": 30714,\n      \"她\": 30715,\n      \"食\": 30716,\n      \"往\": 30717,\n      \"點\": 30718,\n      \"偏\": 30719,\n      \"康\": 30720,\n      \"\\u0014\": 30721,\n      \"į\": 30722,\n      \"준\": 30723,\n      \"\\u0004\": 30724,\n      \"ฟ\": 30725,\n      \"♣\": 30726,\n      \"戏\": 30727,\n      \"ʂ\": 30728,\n      \"井\": 30729,\n      \"军\": 30730,\n      \"爱\": 30731,\n      \"ٱ\": 30732,\n      \"七\": 30733,\n      \"차\": 30734,\n      \"币\": 30735,\n      \"♠\": 30736,\n      \"哈\": 30737,\n      \"阅\": 30738,\n      \"介\": 30739,\n      \"观\": 30740,\n      \"區\": 30741,\n      \"˜\": 30742,\n      \"ً\": 30743,\n      \"又\": 30744,\n      \"冲\": 30745,\n      \"朝\": 30746,\n      \"姓\": 30747,\n      \"课\": 30748,\n      \"龍\": 30749,\n      \"각\": 30750,\n      \"∈\": 30751,\n      \"米\": 30752,\n      \"ƒ\": 30753,\n      \"喜\": 30754,\n      \"夜\": 30755,\n      \"团\": 30756,\n      \"⇒\": 30757,\n      \"远\": 30758,\n      \"\\u001a\": 30759,\n      \"ὐ\": 30760,\n      \"承\": 30761,\n      \"ಿ\": 30762,\n      \"室\": 30763,\n      \"ʀ\": 30764,\n      \"ង\": 30765,\n      \"अ\": 30766,\n      \"罗\": 30767,\n      \"🙏\": 30768,\n      \"软\": 30769,\n      \"🟡\": 30770,\n      \"건\": 30771,\n      \"؟\": 30772,\n      \"း\": 30773,\n      \"ᴇ\": 30774,\n      \"ユ\": 30775,\n      \"토\": 30776,\n      \"策\": 30777,\n      \"̄\": 30778,\n      \"국\": 30779,\n      \"ֶ\": 30780,\n      \"协\": 30781,\n      \"营\": 30782,\n      \"関\": 30783,\n      \"吉\": 30784,\n      \"💀\": 30785,\n      \"奇\": 30786,\n      \"滚\": 30787,\n      \"轴\": 30788,\n      \"処\": 30789,\n      \"土\": 30790,\n      \"划\": 30791,\n      \"ड\": 30792,\n      \"临\": 30793,\n      \"ֵ\": 30794,\n      \"航\": 30795,\n      \"浏\": 30796,\n      \"ゴ\": 30797,\n      \"別\": 30798,\n      \"寺\": 30799,\n      \"於\": 30800,\n      \"進\": 30801,\n      \"ὸ\": 30802,\n      \"風\": 30803,\n      \"ன\": 30804,\n      \"班\": 30805,\n      \"◼\": 30806,\n      \"九\": 30807,\n      \"̥\": 30808,\n      \"號\": 30809,\n      \"류\": 30810,\n      \"础\": 30811,\n      \"般\": 30812,\n      \"︙\": 30813,\n      \"̈\": 30814,\n      \"番\": 30815,\n      \"✨\": 30816,\n      \"😎\": 30817,\n      \"ো\": 30818,\n      \"😍\": 30819,\n      \"單\": 30820,\n      \"帧\": 30821,\n      \"授\": 30822,\n      \"赋\": 30823,\n      \"巴\": 30824,\n      \"占\": 30825,\n      \"假\": 30826,\n      \"ṅ\": 30827,\n      \"透\": 30828,\n      \"項\": 30829,\n      \"ħ\": 30830,\n      \"馬\": 30831,\n      \"🟢\": 30832,\n      \"Ľ\": 30833,\n      \"լ\": 30834,\n      \"券\": 30835,\n      \"같\": 30836,\n      \"類\": 30837,\n      \"對\": 30838,\n      \"월\": 30839,\n      \"激\": 30840,\n      \"\\u0017\": 30841,\n      \"戦\": 30842,\n      \"独\": 30843,\n      \"訊\": 30844,\n      \"ិ\": 30845,\n      \"套\": 30846,\n      \"ʷ\": 30847,\n      \"跟\": 30848,\n      \"ở\": 30849,\n      \"渲\": 30850,\n      \"顯\": 30851,\n      \"降\": 30852,\n      \"ာ\": 30853,\n      \"尼\": 30854,\n      \"血\": 30855,\n      \"언\": 30856,\n      \"牛\": 30857,\n      \"將\": 30858,\n      \"ศ\": 30859,\n      \"拍\": 30860,\n      \"刻\": 30861,\n      \"ზ\": 30862,\n      \"╔\": 30863,\n      \"藤\": 30864,\n      \"్\": 30865,\n      \"ῶ\": 30866,\n      \"🟠\": 30867,\n      \"良\": 30868,\n      \"김\": 30869,\n      \"দ\": 30870,\n      \"Ṣ\": 30871,\n      \"録\": 30872,\n      \"伊\": 30873,\n      \"落\": 30874,\n      \"雄\": 30875,\n      \"雪\": 30876,\n      \"映\": 30877,\n      \"著\": 30878,\n      \"른\": 30879,\n      \"ფ\": 30880,\n      \"対\": 30881,\n      \"智\": 30882,\n      \"译\": 30883,\n      \"┬\": 30884,\n      \"抽\": 30885,\n      \"ῖ\": 30886,\n      \"酒\": 30887,\n      \"Ћ\": 30888,\n      \"股\": 30889,\n      \"់\": 30890,\n      \"순\": 30891,\n      \"직\": 30892,\n      \"भ\": 30893,\n      \"谷\": 30894,\n      \"물\": 30895,\n      \"ǒ\": 30896,\n      \"⠄\": 30897,\n      \"热\": 30898,\n      \"終\": 30899,\n      \"夹\": 30900,\n      \"干\": 30901,\n      \"彩\": 30902,\n      \"敗\": 30903,\n      \"ќ\": 30904,\n      \"♯\": 30905,\n      \"̣\": 30906,\n      \"վ\": 30907,\n      \"轮\": 30908,\n      \"阵\": 30909,\n      \"夏\": 30910,\n      \"幕\": 30911,\n      \"吧\": 30912,\n      \"港\": 30913,\n      \"益\": 30914,\n      \"儿\": 30915,\n      \"액\": 30916,\n      \"售\": 30917,\n      \"兵\": 30918,\n      \"惠\": 30919,\n      \"欢\": 30920,\n      \"\": 30921,\n      \"零\": 30922,\n      \"學\": 30923,\n      \"\": 30924,\n      \"員\": 30925,\n      \"ỗ\": 30926,\n      \"玉\": 30927,\n      \"逻\": 30928,\n      \"᥀\": 30929,\n      \"吗\": 30930,\n      \"沒\": 30931,\n      \"≠\": 30932,\n      \"너\": 30933,\n      \"ச\": 30934,\n      \"\\u0016\": 30935,\n      \"夫\": 30936,\n      \"წ\": 30937,\n      \"堂\": 30938,\n      \"電\": 30939,\n      \"≡\": 30940,\n      \"陆\": 30941,\n      \"져\": 30942,\n      \"研\": 30943,\n      \"荐\": 30944,\n      \"健\": 30945,\n      \"碼\": 30946,\n      \"练\": 30947,\n      \"検\": 30948,\n      \"송\": 30949,\n      \"ै\": 30950,\n      \"哪\": 30951,\n      \"圆\": 30952,\n      \"Ա\": 30953,\n      \"↩\": 30954,\n      \"托\": 30955,\n      \"̪\": 30956,\n      \"ू\": 30957,\n      \"缀\": 30958,\n      \"네\": 30959,\n      \"沙\": 30960,\n      \"兴\": 30961,\n      \"病\": 30962,\n      \"\\u0007\": 30963,\n      \"ល\": 30964,\n      \"ừ\": 30965,\n      \"Ἀ\": 30966,\n      \"강\": 30967,\n      \"항\": 30968,\n      \"\\u0019\": 30969,\n      \"換\": 30970,\n      \"温\": 30971,\n      \"帖\": 30972,\n      \"ទ\": 30973,\n      \"込\": 30974,\n      \"削\": 30975,\n      \"알\": 30976,\n      \"征\": 30977,\n      \"习\": 30978,\n      \"법\": 30979,\n      \"栈\": 30980,\n      \"绝\": 30981,\n      \"\": 30982,\n      \"ڕ\": 30983,\n      \"圖\": 30984,\n      \"苏\": 30985,\n      \"発\": 30986,\n      \"ု\": 30987,\n      \"町\": 30988,\n      \"互\": 30989,\n      \"়\": 30990,\n      \"ც\": 30991,\n      \"守\": 30992,\n      \"새\": 30993,\n      \"侧\": 30994,\n      \"草\": 30995,\n      \"ས\": 30996,\n      \"扫\": 30997,\n      \"‒\": 30998,\n      \"恢\": 30999,\n      \"ң\": 31000,\n      \"ण\": 31001,\n      \"ற\": 31002,\n      \"째\": 31003,\n      \"්\": 31004,\n      \"拟\": 31005,\n      \"派\": 31006,\n      \"🏽\": 31007,\n      \"呼\": 31008,\n      \"\": 31009,\n      \"演\": 31010,\n      \"究\": 31011,\n      \"교\": 31012,\n      \"ɣ\": 31013,\n      \"ए\": 31014,\n      \"ី\": 31015,\n      \"ף\": 31016,\n      \"富\": 31017,\n      \"駅\": 31018,\n      \"ず\": 31019,\n      \"♪\": 31020,\n      \"😆\": 31021,\n      \"접\": 31022,\n      \"ғ\": 31023,\n      \"▓\": 31024,\n      \"존\": 31025,\n      \"ಾ\": 31026,\n      \"旋\": 31027,\n      \"ゃ\": 31028,\n      \"补\": 31029,\n      \"ץ\": 31030,\n      \"門\": 31031,\n      \"ច\": 31032,\n      \"날\": 31033,\n      \"ภ\": 31034,\n      \"ག\": 31035,\n      \"傳\": 31036,\n      \"∆\": 31037,\n      \"\": 31038,\n      \"ׁ\": 31039,\n      \"缺\": 31040,\n      \"頭\": 31041,\n      \"怪\": 31042,\n      \"組\": 31043,\n      \"별\": 31044,\n      \"Ъ\": 31045,\n      \"發\": 31046,\n      \"雷\": 31047,\n      \"ರ\": 31048,\n      \"ซ\": 31049,\n      \"び\": 31050,\n      \"翻\": 31051,\n      \"ھ\": 31052,\n      \"პ\": 31053,\n      \"題\": 31054,\n      \"居\": 31055,\n      \"집\": 31056,\n      \"🌍\": 31057,\n      \"˚\": 31058,\n      \"避\": 31059,\n      \"줄\": 31060,\n      \"ុ\": 31061,\n      \"滑\": 31062,\n      \"故\": 31063,\n      \"ญ\": 31064,\n      \"〜\": 31065,\n      \"ನ\": 31066,\n      \"양\": 31067,\n      \"완\": 31068,\n      \"ள\": 31069,\n      \"倍\": 31070,\n      \"宗\": 31071,\n      \"択\": 31072,\n      \"브\": 31073,\n      \"ɴ\": 31074,\n      \"効\": 31075,\n      \"尺\": 31076,\n      \"視\": 31077,\n      \"ẽ\": 31078,\n      \"覆\": 31079,\n      \"ध\": 31080,\n      \"骨\": 31081,\n      \"달\": 31082,\n      \"ᴛ\": 31083,\n      \"蓝\": 31084,\n      \"關\": 31085,\n      \"額\": 31086,\n      \"Õ\": 31087,\n      \"∗\": 31088,\n      \"卷\": 31089,\n      \"갑\": 31090,\n      \"르\": 31091,\n      \"众\": 31092,\n      \"ᴀ\": 31093,\n      \"態\": 31094,\n      \"ٰ\": 31095,\n      \"暗\": 31096,\n      \"君\": 31097,\n      \"錯\": 31098,\n      \"ɒ\": 31099,\n      \"យ\": 31100,\n      \"ḫ\": 31101,\n      \"ῆ\": 31102,\n      \"亚\": 31103,\n      \"♡\": 31104,\n      \"割\": 31105,\n      \"鼠\": 31106,\n      \"̶\": 31107,\n      \"Ë\": 31108,\n      \"読\": 31109,\n      \"격\": 31110,\n      \"ゲ\": 31111,\n      \"眼\": 31112,\n      \"Ý\": 31113,\n      \"ژ\": 31114,\n      \"雨\": 31115,\n      \"宮\": 31116,\n      \"쪽\": 31117,\n      \"ष\": 31118,\n      \"複\": 31119,\n      \"剩\": 31120,\n      \"早\": 31121,\n      \"杂\": 31122,\n      \"焦\": 31123,\n      \"贝\": 31124,\n      \"突\": 31125,\n      \"워\": 31126,\n      \"另\": 31127,\n      \"摄\": 31128,\n      \"\\b\": 31129,\n      \"‭\": 31130,\n      \"府\": 31131,\n      \"외\": 31132,\n      \"盖\": 31133,\n      \"\\u001c\": 31134,\n      \"ษ\": 31135,\n      \"佛\": 31136,\n      \"概\": 31137,\n      \"與\": 31138,\n      \"經\": 31139,\n      \"－\": 31140,\n      \"һ\": 31141,\n      \"問\": 31142,\n      \"ು\": 31143,\n      \"ἰ\": 31144,\n      \"話\": 31145,\n      \"倒\": 31146,\n      \"葛\": 31147,\n      \"べ\": 31148,\n      \"ろ\": 31149,\n      \"\\u001e\": 31150,\n      \"।\": 31151,\n      \"ေ\": 31152,\n      \"ᴏ\": 31153,\n      \"训\": 31154,\n      \"體\": 31155,\n      \"👌\": 31156,\n      \"內\": 31157,\n      \"က\": 31158,\n      \"企\": 31159,\n      \"약\": 31160,\n      \"찾\": 31161,\n      \"ོ\": 31162,\n      \"破\": 31163,\n      \"輸\": 31164,\n      \"림\": 31165,\n      \"塔\": 31166,\n      \"턴\": 31167,\n      \"杀\": 31168,\n      \"』\": 31169,\n      \"味\": 31170,\n      \"浮\": 31171,\n      \"┆\": 31172,\n      \"ġ\": 31173,\n      \"郡\": 31174,\n      \"┐\": 31175,\n      \"『\": 31176,\n      \"阶\": 31177,\n      \"雅\": 31178,\n      \"┈\": 31179,\n      \"园\": 31180,\n      \"．\": 31181,\n      \"吃\": 31182,\n      \"남\": 31183,\n      \" \": 31184,\n      \"ར\": 31185,\n      \"帮\": 31186,\n      \"毛\": 31187,\n      \"耗\": 31188,\n      \"举\": 31189,\n      \"ర\": 31190,\n      \"拿\": 31191,\n      \"밀\": 31192,\n      \"ご\": 31193,\n      \"够\": 31194,\n      \"礼\": 31195,\n      \"ព\": 31196,\n      \"ね\": 31197,\n      \"\": 31198,\n      \"兰\": 31199,\n      \"❌\": 31200,\n      \"折\": 31201,\n      \"십\": 31202,\n      \"💎\": 31203,\n      \"業\": 31204,\n      \"诸\": 31205,\n      \"孙\": 31206,\n      \"བ\": 31207,\n      \"😳\": 31208,\n      \"種\": 31209,\n      \"Ï\": 31210,\n      \"ึ\": 31211,\n      \"⁣\": 31212,\n      \"医\": 31213,\n      \"拼\": 31214,\n      \"↵\": 31215,\n      \"⅓\": 31216,\n      \"\\u001f\": 31217,\n      \"မ\": 31218,\n      \"叫\": 31219,\n      \"জ\": 31220,\n      \"予\": 31221,\n      \"寸\": 31222,\n      \"梅\": 31223,\n      \"醒\": 31224,\n      \"津\": 31225,\n      \"န\": 31226,\n      \"ి\": 31227,\n      \"厂\": 31228,\n      \"屋\": 31229,\n      \"ख\": 31230,\n      \"師\": 31231,\n      \"👀\": 31232,\n      \"ỏ\": 31233,\n      \"ヤ\": 31234,\n      \"ὰ\": 31235,\n      \"\\u001d\": 31236,\n      \"◆\": 31237,\n      \"ដ\": 31238,\n      \"材\": 31239,\n      \"ホ\": 31240,\n      \"張\": 31241,\n      \"洞\": 31242,\n      \"餐\": 31243,\n      \"천\": 31244,\n      \"হ\": 31245,\n      \"達\": 31246,\n      \"們\": 31247,\n      \"斗\": 31248,\n      \"横\": 31249,\n      \"백\": 31250,\n      \"ំ\": 31251,\n      \"ۆ\": 31252,\n      \"말\": 31253,\n      \"গ\": 31254,\n      \"佳\": 31255,\n      \"랜\": 31256,\n      \"仁\": 31257,\n      \"陈\": 31258,\n      \"飞\": 31259,\n      \"极\": 31260,\n      \"\": 31261,\n      \"및\": 31262,\n      \"仓\": 31263,\n      \"⬛\": 31264,\n      \"昌\": 31265,\n      \"錢\": 31266,\n      \"殊\": 31267,\n      \"┴\": 31268,\n      \"○\": 31269,\n      \"길\": 31270,\n      \"泉\": 31271,\n      \"甲\": 31272,\n      \"활\": 31273,\n      \"ひ\": 31274,\n      \"শ\": 31275,\n      \"ን\": 31276,\n      \"Ť\": 31277,\n      \"ღ\": 31278,\n      \"皮\": 31279,\n      \"強\": 31280,\n      \"赛\": 31281,\n      \"ా\": 31282,\n      \"預\": 31283,\n      \"င\": 31284,\n      \"튼\": 31285,\n      \"플\": 31286,\n      \"ყ\": 31287,\n      \"⋆\": 31288,\n      \"ք\": 31289,\n      \"ા\": 31290,\n      \"尚\": 31291,\n      \"또\": 31292,\n      \"բ\": 31293,\n      \"┌\": 31294,\n      \"節\": 31295,\n      \"森\": 31296,\n      \"आ\": 31297,\n      \"办\": 31298,\n      \"園\": 31299,\n      \"牙\": 31300,\n      \"庆\": 31301,\n      \"隆\": 31302,\n      \"😔\": 31303,\n      \"叉\": 31304,\n      \"գ\": 31305,\n      \"피\": 31306,\n      \"ギ\": 31307,\n      \"啊\": 31308,\n      \"続\": 31309,\n      \"灵\": 31310,\n      \"ヒ\": 31311,\n      \"忽\": 31312,\n      \"ʌ\": 31313,\n      \"량\": 31314,\n      \"油\": 31315,\n      \"讯\": 31316,\n      \"ⵉ\": 31317,\n      \"릭\": 31318,\n      \"刚\": 31319,\n      \"氏\": 31320,\n      \"ိ\": 31321,\n      \"Ī\": 31322,\n      \"誤\": 31323,\n      \"齐\": 31324,\n      \"末\": 31325,\n      \"🙌\": 31326,\n      \"̞\": 31327,\n      \"圈\": 31328,\n      \"念\": 31329,\n      \"숫\": 31330,\n      \"毫\": 31331,\n      \"當\": 31332,\n      \"規\": 31333,\n      \"판\": 31334,\n      \"ు\": 31335,\n      \"旧\": 31336,\n      \"卖\": 31337,\n      \"ฉ\": 31338,\n      \"幸\": 31339,\n      \"署\": 31340,\n      \"근\": 31341,\n      \"ই\": 31342,\n      \"岛\": 31343,\n      \"դ\": 31344,\n      \"觉\": 31345,\n      \"害\": 31346,\n      \"毕\": 31347,\n      \"ฐ\": 31348,\n      \"威\": 31349,\n      \"育\": 31350,\n      \"呢\": 31351,\n      \"峰\": 31352,\n      \"职\": 31353,\n      \"陽\": 31354,\n      \"ි\": 31355,\n      \"亞\": 31356,\n      \"ұ\": 31357,\n      \"₃\": 31358,\n      \"따\": 31359,\n      \"施\": 31360,\n      \"泰\": 31361,\n      \"載\": 31362,\n      \"\": 31363,\n      \"笑\": 31364,\n      \"華\": 31365,\n      \"迎\": 31366,\n      \"됩\": 31367,\n      \"豆\": 31368,\n      \"嘉\": 31369,\n      \"🤡\": 31370,\n      \"ĕ\": 31371,\n      \"庄\": 31372,\n      \"級\": 31373,\n      \"Ψ\": 31374,\n      \"ི\": 31375,\n      \"気\": 31376,\n      \"责\": 31377,\n      \"հ\": 31378,\n      \"អ\": 31379,\n      \"乱\": 31380,\n      \"休\": 31381,\n      \"約\": 31382,\n      \"ฆ\": 31383,\n      \"∑\": 31384,\n      \"察\": 31385,\n      \"온\": 31386,\n      \"😬\": 31387,\n      \"ড\": 31388,\n      \"乘\": 31389,\n      \"람\": 31390,\n      \"इ\": 31391,\n      \"Ά\": 31392,\n      \"ந\": 31393,\n      \"ើ\": 31394,\n      \"亲\": 31395,\n      \"េ\": 31396,\n      \"委\": 31397,\n      \"赤\": 31398,\n      \"됨\": 31399,\n      \"勝\": 31400,\n      \"怎\": 31401,\n      \"감\": 31402,\n      \"宋\": 31403,\n      \"調\": 31404,\n      \"짜\": 31405,\n      \"ী\": 31406,\n      \"难\": 31407,\n      \"못\": 31408,\n      \"티\": 31409,\n      \"備\": 31410,\n      \"塞\": 31411,\n      \"វ\": 31412,\n      \"险\": 31413,\n      \"旅\": 31414,\n      \"虚\": 31415,\n      \"↳\": 31416,\n      \"笔\": 31417,\n      \"馆\": 31418,\n      \"Қ\": 31419,\n      \"⚡\": 31420,\n      \"ೆ\": 31421,\n      \"※\": 31422,\n      \"唐\": 31423,\n      \"律\": 31424,\n      \"稍\": 31425,\n      \"散\": 31426,\n      \"ર\": 31427,\n      \"ヴ\": 31428,\n      \"副\": 31429,\n      \"尽\": 31430,\n      \"挂\": 31431,\n      \"県\": 31432,\n      \"⚠\": 31433,\n      \"洋\": 31434,\n      \"鬼\": 31435,\n      \"암\": 31436,\n      \"孩\": 31437,\n      \"℃\": 31438,\n      \"並\": 31439,\n      \"ց\": 31440,\n      \"ូ\": 31441,\n      \"ℓ\": 31442,\n      \"ⵏ\": 31443,\n      \"扣\": 31444,\n      \"铁\": 31445,\n      \"闻\": 31446,\n      \"ˆ\": 31447,\n      \"戳\": 31448,\n      \"む\": 31449,\n      \"秀\": 31450,\n      \"細\": 31451,\n      \"ပ\": 31452,\n      \"御\": 31453,\n      \"拖\": 31454,\n      \"좌\": 31455,\n      \"ؤ\": 31456,\n      \"绍\": 31457,\n      \"ỹ\": 31458,\n      \"참\": 31459,\n      \"향\": 31460,\n      \"Ď\": 31461,\n      \"끝\": 31462,\n      \"민\": 31463,\n      \"ძ\": 31464,\n      \"贵\": 31465,\n      \"纪\": 31466,\n      \"秋\": 31467,\n      \"ಕ\": 31468,\n      \"ӏ\": 31469,\n      \"網\": 31470,\n      \"铺\": 31471,\n      \"恋\": 31472,\n      \"ﬂ\": 31473,\n      \"兼\": 31474,\n      \"羽\": 31475,\n      \"창\": 31476,\n      \"啟\": 31477,\n      \"弟\": 31478,\n      \"년\": 31479,\n      \"慢\": 31480,\n      \"효\": 31481,\n      \"許\": 31482,\n      \"硬\": 31483,\n      \"잘\": 31484,\n      \"템\": 31485,\n      \"્\": 31486,\n      \"න\": 31487,\n      \"術\": 31488,\n      \"ڈ\": 31489,\n      \"溪\": 31490,\n      \"￼\": 31491,\n      \"暴\": 31492,\n      \"混\": 31493,\n      \"夢\": 31494,\n      \"랑\": 31495,\n      \"আ\": 31496,\n      \"還\": 31497,\n      \"探\": 31498,\n      \"祖\": 31499,\n      \"织\": 31500,\n      \"軍\": 31501,\n      \"թ\": 31502,\n      \"務\": 31503,\n      \"艺\": 31504,\n      \"ད\": 31505,\n      \"ት\": 31506,\n      \"ṁ\": 31507,\n      \"應\": 31508,\n      \"擇\": 31509,\n      \"🥰\": 31510,\n      \"ķ\": 31511,\n      \"渡\": 31512,\n      \"葉\": 31513,\n      \"령\": 31514,\n      \"決\": 31515,\n      \"刀\": 31516,\n      \"從\": 31517,\n      \"變\": 31518,\n      \"올\": 31519,\n      \"💪\": 31520,\n      \"灣\": 31521,\n      \"ር\": 31522,\n      \"평\": 31523,\n      \"衣\": 31524,\n      \"😄\": 31525,\n      \"ി\": 31526,\n      \"ჩ\": 31527,\n      \"ὁ\": 31528,\n      \"ほ\": 31529,\n      \"Û\": 31530,\n      \"চ\": 31531,\n      \"ර\": 31532,\n      \"製\": 31533,\n      \"隊\": 31534,\n      \"₱\": 31535,\n      \"纳\": 31536,\n      \"赖\": 31537,\n      \"农\": 31538,\n      \"桥\": 31539,\n      \"ỳ\": 31540,\n      \"🏾\": 31541,\n      \"阻\": 31542,\n      \"ជ\": 31543,\n      \"秘\": 31544,\n      \"박\": 31545,\n      \"伤\": 31546,\n      \"稿\": 31547,\n      \"ం\": 31548,\n      \"拦\": 31549,\n      \"넣\": 31550,\n      \"💕\": 31551,\n      \"₁\": 31552,\n      \"宿\": 31553,\n      \"錄\": 31554,\n      \"镜\": 31555,\n      \"채\": 31556,\n      \"Ə\": 31557,\n      \"ང\": 31558,\n      \"⇔\": 31559,\n      \"☼\": 31560,\n      \"ུ\": 31561,\n      \"党\": 31562,\n      \"급\": 31563,\n      \"洲\": 31564,\n      \"ղ\": 31565,\n      \"說\": 31566,\n      \"ĭ\": 31567,\n      \"尝\": 31568,\n      \"담\": 31569,\n      \"फ\": 31570,\n      \"哥\": 31571,\n      \"圣\": 31572,\n      \"萨\": 31573,\n      \"😏\": 31574,\n      \"ʏ\": 31575,\n      \"ெ\": 31576,\n      \"丁\": 31577,\n      \"虎\": 31578,\n      \"권\": 31579,\n      \"善\": 31580,\n      \"岩\": 31581,\n      \"커\": 31582,\n      \"◦\": 31583,\n      \"抛\": 31584,\n      \"석\": 31585,\n      \"Έ\": 31586,\n      \"宣\": 31587,\n      \"拳\": 31588,\n      \"팅\": 31589,\n      \"枚\": 31590,\n      \"洛\": 31591,\n      \"証\": 31592,\n      \"陵\": 31593,\n      \"佐\": 31594,\n      \"館\": 31595,\n      \"누\": 31596,\n      \"돌\": 31597,\n      \"₄\": 31598,\n      \"稱\": 31599,\n      \"聊\": 31600,\n      \"車\": 31601,\n      \"루\": 31602,\n      \"״\": 31603,\n      \"ಠ\": 31604,\n      \"庫\": 31605,\n      \"མ\": 31606,\n      \"統\": 31607,\n      \"련\": 31608,\n      \"़\": 31609,\n      \"ṯ\": 31610,\n      \"ക\": 31611,\n      \"旗\": 31612,\n      \"励\": 31613,\n      \"紀\": 31614,\n      \"忠\": 31615,\n      \"າ\": 31616,\n      \"杨\": 31617,\n      \"丹\": 31618,\n      \"Ù\": 31619,\n      \"ฝ\": 31620,\n      \"却\": 31621,\n      \"舞\": 31622,\n      \"轉\": 31623,\n      \"တ\": 31624,\n      \"丽\": 31625,\n      \"借\": 31626,\n      \"ා\": 31627,\n      \"ょ\": 31628,\n      \"옵\": 31629,\n      \"편\": 31630,\n      \"蒙\": 31631,\n      \"衡\": 31632,\n      \"ʋ\": 31633,\n      \"叶\": 31634,\n      \"̇\": 31635,\n      \"⬜\": 31636,\n      \"🇺\": 31637,\n      \"Հ\": 31638,\n      \"谢\": 31639,\n      \"Ą\": 31640,\n      \"ே\": 31641,\n      \"ằ\": 31642,\n      \"既\": 31643,\n      \"济\": 31644,\n      \"≯\": 31645,\n      \"準\": 31646,\n      \"답\": 31647,\n      \"ಲ\": 31648,\n      \"残\": 31649,\n      \"虑\": 31650,\n      \"̆\": 31651,\n      \"┘\": 31652,\n      \"急\": 31653,\n      \"招\": 31654,\n      \"막\": 31655,\n      \"≮\": 31656,\n      \"產\": 31657,\n      \"Ṭ\": 31658,\n      \"😢\": 31659,\n      \"垂\": 31660,\n      \"親\": 31661,\n      \"ģ\": 31662,\n      \"־\": 31663,\n      \"猫\": 31664,\n      \"ʟ\": 31665,\n      \"☃\": 31666,\n      \"✪\": 31667,\n      \"刪\": 31668,\n      \"胡\": 31669,\n      \"☉\": 31670,\n      \"晚\": 31671,\n      \"군\": 31672,\n      \"승\": 31673,\n      \"న\": 31674,\n      \"ὴ\": 31675,\n      \"曾\": 31676,\n      \"論\": 31677,\n      \"ɯ\": 31678,\n      \"త\": 31679,\n      \"戰\": 31680,\n      \"鱼\": 31681,\n      \"ǧ\": 31682,\n      \"寶\": 31683,\n      \"특\": 31684,\n      \"💯\": 31685,\n      \"崎\": 31686,\n      \"甘\": 31687,\n      \"該\": 31688,\n      \"링\": 31689,\n      \"😡\": 31690,\n      \"उ\": 31691,\n      \"ែ\": 31692,\n      \"頁\": 31693,\n      \"큰\": 31694,\n      \"➤\": 31695,\n      \"총\": 31696,\n      \"💰\": 31697,\n      \"∂\": 31698,\n      \"毁\": 31699,\n      \"聖\": 31700,\n      \"麻\": 31701,\n      \"ʐ\": 31702,\n      \"敏\": 31703,\n      \"運\": 31704,\n      \"될\": 31705,\n      \"쓰\": 31706,\n      \"ಸ\": 31707,\n      \"စ\": 31708,\n      \"✦\": 31709,\n      \"젝\": 31710,\n      \"復\": 31711,\n      \"寻\": 31712,\n      \"茶\": 31713,\n      \"ਾ\": 31714,\n      \"竹\": 31715,\n      \"遇\": 31716,\n      \"順\": 31717,\n      \"며\": 31718,\n      \"累\": 31719,\n      \"ĝ\": 31720,\n      \"ˇ\": 31721,\n      \"覧\": 31722,\n      \"এ\": 31723,\n      \"株\": 31724,\n      \"취\": 31725,\n      \"ስ\": 31726,\n      \"争\": 31727,\n      \"势\": 31728,\n      \"宇\": 31729,\n      \"橋\": 31730,\n      \"Ӏ\": 31731,\n      \"堆\": 31732,\n      \"ⵙ\": 31733,\n      \"丶\": 31734,\n      \"棋\": 31735,\n      \"肉\": 31736,\n      \"የ\": 31737,\n      \"\": 31738,\n      \"❶\": 31739,\n      \"季\": 31740,\n      \"ል\": 31741,\n      \"殿\": 31742,\n      \"優\": 31743,\n      \"試\": 31744,\n      \"첫\": 31745,\n      \"Ό\": 31746,\n      \"戶\": 31747,\n      \"ண\": 31748,\n      \"羅\": 31749,\n      \"桃\": 31750,\n      \"립\": 31751,\n      \"浪\": 31752,\n      \"脑\": 31753,\n      \"😛\": 31754,\n      \"弃\": 31755,\n      \"炮\": 31756,\n      \"轻\": 31757,\n      \"울\": 31758,\n      \"﻿\": 31759,\n      \"ヘ\": 31760,\n      \"奥\": 31761,\n      \"💜\": 31762,\n      \"忘\": 31763,\n      \"遠\": 31764,\n      \"飛\": 31765,\n      \"魏\": 31766,\n      \"Ē\": 31767,\n      \"汇\": 31768,\n      \"央\": 31769,\n      \"逆\": 31770,\n      \"露\": 31771,\n      \"須\": 31772,\n      \"ѐ\": 31773,\n      \"ḷ\": 31774,\n      \"ದ\": 31775,\n      \"✭\": 31776,\n      \"寄\": 31777,\n      \"盟\": 31778,\n      \"财\": 31779,\n      \"際\": 31780,\n      \"ἔ\": 31781,\n      \"ǫ\": 31782,\n      \"थ\": 31783,\n      \"ാ\": 31784,\n      \"宫\": 31785,\n      \"巨\": 31786,\n      \"途\": 31787,\n      \"ʹ\": 31788,\n      \"ಗ\": 31789,\n      \"帐\": 31790,\n      \"‪\": 31791,\n      \"拒\": 31792,\n      \"药\": 31793,\n      \"🙃\": 31794,\n      \"ŕ\": 31795,\n      \"亡\": 31796,\n      \"壁\": 31797,\n      \"ም\": 31798,\n      \"參\": 31799,\n      \"😩\": 31800,\n      \"շ\": 31801,\n      \"ವ\": 31802,\n      \"ណ\": 31803,\n      \"丰\": 31804,\n      \"獲\": 31805,\n      \"莉\": 31806,\n      \"좋\": 31807,\n      \"ရ\": 31808,\n      \"₦\": 31809,\n      \"겠\": 31810,\n      \"👉\": 31811,\n      \"吴\": 31812,\n      \"岡\": 31813,\n      \"诉\": 31814,\n      \"읽\": 31815,\n      \"🥺\": 31816,\n      \"爆\": 31817,\n      \"🇸\": 31818,\n      \"ভ\": 31819,\n      \"迭\": 31820,\n      \"엔\": 31821,\n      \"ἄ\": 31822,\n      \"捷\": 31823,\n      \"納\": 31824,\n      \"邀\": 31825,\n      \"ಯ\": 31826,\n      \"爾\": 31827,\n      \"船\": 31828,\n      \"赞\": 31829,\n      \"胜\": 31830,\n      \"므\": 31831,\n      \"သ\": 31832,\n      \"構\": 31833,\n      \"磁\": 31834,\n      \"冰\": 31835,\n      \"딩\": 31836,\n      \"ે\": 31837,\n      \"媒\": 31838,\n      \"繁\": 31839,\n      \"☠\": 31840,\n      \"❒\": 31841,\n      \"仪\": 31842,\n      \"렬\": 31843,\n      \"昭\": 31844,\n      \"珠\": 31845,\n      \"離\": 31846,\n      \"ན\": 31847,\n      \"ల\": 31848,\n      \"ತ\": 31849,\n      \"拷\": 31850,\n      \"粉\": 31851,\n      \"벤\": 31852,\n      \"⇽\": 31853,\n      \"乌\": 31854,\n      \"拥\": 31855,\n      \"ҳ\": 31856,\n      \"ය\": 31857,\n      \"ེ\": 31858,\n      \"仙\": 31859,\n      \"塊\": 31860,\n      \"幅\": 31861,\n      \"🎉\": 31862,\n      \"Մ\": 31863,\n      \"跨\": 31864,\n      \"ٔ\": 31865,\n      \"恩\": 31866,\n      \"损\": 31867,\n      \"养\": 31868,\n      \"奈\": 31869,\n      \"ǀ\": 31870,\n      \"严\": 31871,\n      \"卫\": 31872,\n      \"迟\": 31873,\n      \"様\": 31874,\n      \"裡\": 31875,\n      \"난\": 31876,\n      \"았\": 31877,\n      \"͜\": 31878,\n      \"Ζ\": 31879,\n      \"ਰ\": 31880,\n      \"պ\": 31881,\n      \"ং\": 31882,\n      \"丢\": 31883,\n      \"伝\": 31884,\n      \"컨\": 31885,\n      \"ව\": 31886,\n      \"ြ\": 31887,\n      \"冷\": 31888,\n      \"遗\": 31889,\n      \"銀\": 31890,\n      \"̌\": 31891,\n      \"ᴜ\": 31892,\n      \"瑞\": 31893,\n      \"ฌ\": 31894,\n      \"❍\": 31895,\n      \"ふ\": 31896,\n      \"聚\": 31897,\n      \"碎\": 31898,\n      \"衛\": 31899,\n      \"অ\": 31900,\n      \"ញ\": 31901,\n      \"퍼\": 31902,\n      \"Ս\": 31903,\n      \"ນ\": 31904,\n      \"ẓ\": 31905,\n      \"✌\": 31906,\n      \"孝\": 31907,\n      \"陳\": 31908,\n      \"히\": 31909,\n      \"ක\": 31910,\n      \"黒\": 31911,\n      \"💖\": 31912,\n      \"ḩ\": 31913,\n      \"応\": 31914,\n      \"饰\": 31915,\n      \"∪\": 31916,\n      \"宜\": 31917,\n      \"樂\": 31918,\n      \"則\": 31919,\n      \"勇\": 31920,\n      \"徐\": 31921,\n      \"ⵓ\": 31922,\n      \"權\": 31923,\n      \"鲁\": 31924,\n      \"‟\": 31925,\n      \"庭\": 31926,\n      \"苗\": 31927,\n      \"🔴\": 31928,\n      \"闲\": 31929,\n      \"독\": 31930,\n      \"ɹ\": 31931,\n      \"ҽ\": 31932,\n      \"ថ\": 31933,\n      \"宏\": 31934,\n      \"尊\": 31935,\n      \"總\": 31936,\n      \"裝\": 31937,\n      \"ම\": 31938,\n      \"▸\": 31939,\n      \"測\": 31940,\n      \"ಮ\": 31941,\n      \"አ\": 31942,\n      \"轩\": 31943,\n      \"兄\": 31944,\n      \"剑\": 31945,\n      \"ન\": 31946,\n      \"朱\": 31947,\n      \"ǝ\": 31948,\n      \"Ḩ\": 31949,\n      \"担\": 31950,\n      \"灰\": 31951,\n      \"讲\": 31952,\n      \"롤\": 31953,\n      \"︎\": 31954,\n      \"😤\": 31955,\n      \"ោ\": 31956,\n      \"애\": 31957,\n      \"였\": 31958,\n      \"질\": 31959,\n      \"振\": 31960,\n      \"灯\": 31961,\n      \"ĉ\": 31962,\n      \"ස\": 31963,\n      \"閉\": 31964,\n      \"램\": 31965,\n      \"ಂ\": 31966,\n      \"げ\": 31967,\n      \"̧\": 31968,\n      \"狂\": 31969,\n      \"融\": 31970,\n      \"仍\": 31971,\n      \"實\": 31972,\n      \"楽\": 31973,\n      \"範\": 31974,\n      \"ٌ\": 31975,\n      \"వ\": 31976,\n      \"嵌\": 31977,\n      \"摩\": 31978,\n      \"袁\": 31979,\n      \"ষ\": 31980,\n      \"乎\": 31981,\n      \"규\": 31982,\n      \"岗\": 31983,\n      \"糊\": 31984,\n      \"క\": 31985,\n      \"雲\": 31986,\n      \"심\": 31987,\n      \"ई\": 31988,\n      \"འ\": 31989,\n      \"ἡ\": 31990,\n      \"丝\": 31991,\n      \"Ħ\": 31992,\n      \"ٍ\": 31993,\n      \"ٓ\": 31994,\n      \"အ\": 31995,\n      \"執\": 31996,\n      \"벨\": 31997,\n      \"ゼ\": 31998,\n      \"梦\": 31999\n    },\n    \"merges\": [\n      \"▁ t\",\n      \"i n\",\n      \"e r\",\n      \"▁ a\",\n      \"h e\",\n      \"o n\",\n      \"r e\",\n      \"▁ s\",\n      \"e n\",\n      \"a t\",\n      \"o r\",\n      \"▁t he\",\n      \"▁th e\",\n      \"▁ the\",\n      \"e s\",\n      \"▁ w\",\n      \"a n\",\n      \"▁ c\",\n      \"i s\",\n      \"i t\",\n      \"o u\",\n      \"▁ d\",\n      \"a l\",\n      \"a r\",\n      \"▁ p\",\n      \"▁ f\",\n      \"e d\",\n      \"▁ b\",\n      \"in g\",\n      \"i ng\",\n      \"▁ o\",\n      \"▁ m\",\n      \"l e\",\n      \"n d\",\n      \"a s\",\n      \"i c\",\n      \"▁ h\",\n      \"io n\",\n      \"i on\",\n      \"▁i n\",\n      \"▁ in\",\n      \"▁t o\",\n      \"▁ to\",\n      \"e t\",\n      \"o m\",\n      \"e l\",\n      \"▁o f\",\n      \"▁ of\",\n      \"s t\",\n      \"▁a nd\",\n      \"▁an d\",\n      \"▁ and\",\n      \"▁ l\",\n      \"▁t h\",\n      \"▁ th\",\n      \"▁ n\",\n      \"en t\",\n      \"e nt\",\n      \"i l\",\n      \"c t\",\n      \"r o\",\n      \"▁r e\",\n      \"▁ re\",\n      \"i d\",\n      \"a m\",\n      \"▁ I\",\n      \"a d\",\n      \"▁ e\",\n      \"▁ S\",\n      \"▁ g\",\n      \"▁ T\",\n      \"i m\",\n      \"o t\",\n      \"a c\",\n      \"u r\",\n      \"▁ (\",\n      \"i g\",\n      \"▁ =\",\n      \"o l\",\n      \"u t\",\n      \"▁ A\",\n      \"s e\",\n      \"▁ u\",\n      \"v e\",\n      \"▁ C\",\n      \"i f\",\n      \"o w\",\n      \"▁ y\",\n      \"c h\",\n      \"a y\",\n      \"▁d e\",\n      \"▁ de\",\n      \"▁s t\",\n      \"▁ st\",\n      \"▁ |\",\n      \"ve r\",\n      \"v er\",\n      \") ;\",\n      \"▁ \\\"\",\n      \"l y\",\n      \"▁b e\",\n      \"▁ be\",\n      \"* *\",\n      \"▁i s\",\n      \"▁ is\",\n      \"o d\",\n      \"▁ M\",\n      \"at ion\",\n      \"ati on\",\n      \"atio n\",\n      \"u l\",\n      \"▁f or\",\n      \"▁fo r\",\n      \"▁ for\",\n      \"▁o n\",\n      \"▁ on\",\n      \"a g\",\n      \"c e\",\n      \"te r\",\n      \"t er\",\n      \"i r\",\n      \"t h\",\n      \"▁ v\",\n      \"q u\",\n      \"▁ B\",\n      \"e m\",\n      \"▁ P\",\n      \"▁y ou\",\n      \"▁yo u\",\n      \"▁ you\",\n      \"▁t hat\",\n      \"▁th at\",\n      \"▁ that\",\n      \"u n\",\n      \"▁ {\",\n      \"it h\",\n      \"i th\",\n      \"r i\",\n      \"es t\",\n      \"e st\",\n      \"a b\",\n      \"- -\",\n      \"a p\",\n      \"▁i t\",\n      \"▁ it\",\n      \"▁c on\",\n      \"▁co n\",\n      \"▁ con\",\n      \"at e\",\n      \"a te\",\n      \"u s\",\n      \"▁ H\",\n      \"u m\",\n      \"▁ D\",\n      \"o s\",\n      \"p e\",\n      \"▁ -\",\n      \"▁w h\",\n      \"▁ wh\",\n      \"▁a l\",\n      \"▁ al\",\n      \"▁a s\",\n      \"▁ as\",\n      \"an d\",\n      \"a nd\",\n      \"is t\",\n      \"i st\",\n      \"▁ L\",\n      \"▁ W\",\n      \"▁w ith\",\n      \"▁ with\",\n      \"▁a n\",\n      \"▁ an\",\n      \"er e\",\n      \"e re\",\n      \"▁ *\",\n      \"▁ R\",\n      \"▁h e\",\n      \"▁ he\",\n      \"▁ F\",\n      \"o c\",\n      \"▁w as\",\n      \"▁wa s\",\n      \"▁ was\",\n      \"er s\",\n      \"e rs\",\n      \"k e\",\n      \"ou t\",\n      \"o ut\",\n      \"h t\",\n      \"▁ r\",\n      \"es s\",\n      \"e ss\",\n      \"o p\",\n      \"re s\",\n      \"r es\",\n      \"i e\",\n      \"▁ E\",\n      \"▁ \\\\\",\n      \"▁T he\",\n      \"▁Th e\",\n      \"▁ The\",\n      \"en d\",\n      \"e nd\",\n      \"l d\",\n      \"▁ N\",\n      \"or t\",\n      \"o rt\",\n      \"▁ G\",\n      \"/ /\",\n      \"▁ #\",\n      \"ou r\",\n      \"o ur\",\n      \"t e\",\n      \"il l\",\n      \"i ll\",\n      \"ai n\",\n      \"a in\",\n      \"▁s e\",\n      \"▁ se\",\n      \"▁ $\",\n      \"▁p ro\",\n      \"▁pr o\",\n      \"▁ pro\",\n      \"or e\",\n      \"o re\",\n      \"▁c om\",\n      \"▁co m\",\n      \"▁ com\",\n      \"am e\",\n      \"a me\",\n      \"t r\",\n      \"▁n e\",\n      \"▁ ne\",\n      \"ro m\",\n      \"r om\",\n      \"u b\",\n      \"▁a t\",\n      \"▁ at\",\n      \"▁e x\",\n      \"▁ ex\",\n      \"an t\",\n      \"a nt\",\n      \"u e\",\n      \"▁o r\",\n      \"▁ or\",\n      \"▁ }\",\n      \"ar t\",\n      \"a rt\",\n      \"ct ion\",\n      \"▁ k\",\n      \"p t\",\n      \"n t\",\n      \"i v\",\n      \"d e\",\n      \"▁ O\",\n      \"p l\",\n      \"ur n\",\n      \"u rn\",\n      \"ig ht\",\n      \"igh t\",\n      \"i ght\",\n      \"al l\",\n      \"a ll\",\n      \"▁t his\",\n      \"▁th is\",\n      \"▁ this\",\n      \"se r\",\n      \"s er\",\n      \"av e\",\n      \"a ve\",\n      \"▁n ot\",\n      \"▁no t\",\n      \"▁ not\",\n      \"▁a re\",\n      \"▁ar e\",\n      \"▁ are\",\n      \"▁ j\",\n      \"▁l e\",\n      \"▁ le\",\n      \"i z\",\n      \"▁ '\",\n      \"ag e\",\n      \"a ge\",\n      \"me nt\",\n      \"men t\",\n      \"m ent\",\n      \"▁t r\",\n      \"▁ tr\",\n      \"ac k\",\n      \"a ck\",\n      \"us t\",\n      \"u st\",\n      \"( )\",\n      \"- >\",\n      \"it y\",\n      \"i ty\",\n      \"in e\",\n      \"i ne\",\n      \"ou ld\",\n      \"oul d\",\n      \"o uld\",\n      \"▁ J\",\n      \"o g\",\n      \"▁f rom\",\n      \"▁fr om\",\n      \"▁fro m\",\n      \"▁ from\",\n      \"▁w e\",\n      \"▁ we\",\n      \"el l\",\n      \"e ll\",\n      \"▁s h\",\n      \"▁ sh\",\n      \"▁e n\",\n      \"▁ en\",\n      \"ur e\",\n      \"u re\",\n      \"por t\",\n      \"po rt\",\n      \"p ort\",\n      \"▁c h\",\n      \"▁ ch\",\n      \"n e\",\n      \"▁b y\",\n      \"▁ by\",\n      \"pe r\",\n      \"p er\",\n      \"ar d\",\n      \"a rd\",\n      \"as s\",\n      \"a ss\",\n      \"g e\",\n      \"a k\",\n      \"ar e\",\n      \"a re\",\n      \"o k\",\n      \"a v\",\n      \"iv e\",\n      \"i ve\",\n      \"f f\",\n      \"ie s\",\n      \"i es\",\n      \"at h\",\n      \"a th\",\n      \"tu rn\",\n      \"t urn\",\n      \"▁ U\",\n      \"in t\",\n      \"i nt\",\n      \"-- --\",\n      \"--- -\",\n      \"- ---\",\n      \"▁i m\",\n      \"▁ im\",\n      \"os t\",\n      \"o st\",\n      \"ia l\",\n      \"i al\",\n      \"▁h ave\",\n      \"▁ha ve\",\n      \"▁hav e\",\n      \"▁ have\",\n      \"in d\",\n      \"i nd\",\n      \"i p\",\n      \"an s\",\n      \"a ns\",\n      \"x t\",\n      \"▁d o\",\n      \"▁ do\",\n      \"c l\",\n      \"▁i f\",\n      \"▁ if\",\n      \"co n\",\n      \"c on\",\n      \"i a\",\n      \"▁h is\",\n      \"▁hi s\",\n      \"▁ his\",\n      \"ul t\",\n      \"u lt\",\n      \"ro u\",\n      \"r ou\",\n      \"▁s u\",\n      \"▁ su\",\n      \"r a\",\n      \"▁u n\",\n      \"▁ un\",\n      \"ab le\",\n      \"abl e\",\n      \"a ble\",\n      \"▁ <\",\n      \"▁ K\",\n      \"om e\",\n      \"o me\",\n      \"▁q u\",\n      \"▁ qu\",\n      \"ge t\",\n      \"g et\",\n      \"▁m e\",\n      \"▁ me\",\n      \"as t\",\n      \"a st\",\n      \"ec t\",\n      \"e ct\",\n      \"▁# #\",\n      \"▁ ##\",\n      \"t o\",\n      \"▁c l\",\n      \"▁ cl\",\n      \"▁a b\",\n      \"▁ ab\",\n      \"ic e\",\n      \"i ce\",\n      \"ir e\",\n      \"i re\",\n      \"be r\",\n      \"b er\",\n      \"on e\",\n      \"o ne\",\n      \"ic h\",\n      \"i ch\",\n      \"he n\",\n      \"h en\",\n      \"▁c an\",\n      \"▁ca n\",\n      \"▁ can\",\n      \"▁T h\",\n      \"▁ Th\",\n      \"▁l a\",\n      \"▁ la\",\n      \"▁a ll\",\n      \"▁al l\",\n      \"▁ all\",\n      \"im e\",\n      \"i me\",\n      \"il e\",\n      \"i le\",\n      \"id e\",\n      \"i de\",\n      \"\\\" ,\",\n      \"▁p l\",\n      \"▁ pl\",\n      \"▁ V\",\n      \"r u\",\n      \"or m\",\n      \"o rm\",\n      \"▁h ad\",\n      \"▁ha d\",\n      \"▁ had\",\n      \"u d\",\n      \"as e\",\n      \"a se\",\n      \"or d\",\n      \"o rd\",\n      \") ,\",\n      \"▁h er\",\n      \"▁he r\",\n      \"▁ her\",\n      \"▁I n\",\n      \"▁ In\",\n      \"ac e\",\n      \"a ce\",\n      \"▁b ut\",\n      \"▁bu t\",\n      \"▁ but\",\n      \"at a\",\n      \"a ta\",\n      \": :\",\n      \"** **\",\n      \"*** *\",\n      \"* ***\",\n      \"on g\",\n      \"o ng\",\n      \"▁ &\",\n      \". .\",\n      \"it e\",\n      \"i te\",\n      \"yp e\",\n      \"y pe\",\n      \"ac t\",\n      \"a ct\",\n      \"od e\",\n      \"o de\",\n      \"▁y our\",\n      \"▁you r\",\n      \"▁yo ur\",\n      \"▁ your\",\n      \"▁o ut\",\n      \"▁ou t\",\n      \"▁ out\",\n      \"▁g o\",\n      \"▁ go\",\n      \"li c\",\n      \"l ic\",\n      \"al ly\",\n      \"all y\",\n      \"▁s o\",\n      \"▁ so\",\n      \"or k\",\n      \"a u\",\n      \"▁u p\",\n      \"▁ up\",\n      \"▁ _\",\n      \"l l\",\n      \"= =\",\n      \"▁m y\",\n      \"▁ my\",\n      \"p p\",\n      \"c c\",\n      \"▁/ /\",\n      \"▁ //\",\n      \"▁the y\",\n      \"▁th ey\",\n      \"▁ they\",\n      \"g h\",\n      \"▁u s\",\n      \"▁ us\",\n      \"i b\",\n      \"ion s\",\n      \"io ns\",\n      \"i ons\",\n      \"ac h\",\n      \"a ch\",\n      \"en s\",\n      \"e ns\",\n      \"▁a r\",\n      \"▁ ar\",\n      \"o b\",\n      \"el f\",\n      \"oo k\",\n      \"o ok\",\n      \"at ed\",\n      \"ate d\",\n      \"a ted\",\n      \"an g\",\n      \"a ng\",\n      \"ig n\",\n      \"i gn\",\n      \"▁re turn\",\n      \"▁r eturn\",\n      \"▁ret urn\",\n      \"▁ return\",\n      \"▁re s\",\n      \"▁r es\",\n      \"▁ res\",\n      \"c k\",\n      \"ou s\",\n      \"o us\",\n      \"с т\",\n      \") .\",\n      \"▁ п\",\n      \". \\\"\",\n      \"н а\",\n      \"▁ i\",\n      \"ai l\",\n      \"a il\",\n      \"e p\",\n      \"▁a d\",\n      \"▁ ad\",\n      \"an ce\",\n      \"anc e\",\n      \"( \\\"\",\n      \"▁* *\",\n      \"▁ **\",\n      \"th er\",\n      \"the r\",\n      \"t her\",\n      \"ak e\",\n      \"a ke\",\n      \"▁w ill\",\n      \"▁ will\",\n      \"▁c omp\",\n      \"▁com p\",\n      \"▁co mp\",\n      \"▁ comp\",\n      \"▁o ne\",\n      \"▁on e\",\n      \"▁ one\",\n      \"▁g et\",\n      \"▁ge t\",\n      \"▁ get\",\n      \"o v\",\n      \"▁ Y\",\n      \"ar y\",\n      \"a ry\",\n      \"oc k\",\n      \"o ck\",\n      \"▁s he\",\n      \"▁sh e\",\n      \"▁ she\",\n      \"ch e\",\n      \"c he\",\n      \"f t\",\n      \"▁n ew\",\n      \"▁ne w\",\n      \"▁ new\",\n      \"▁d es\",\n      \"▁de s\",\n      \"▁ des\",\n      \"▁l i\",\n      \"▁ li\",\n      \"en ce\",\n      \"enc e\",\n      \"▁s a\",\n      \"▁ sa\",\n      \"re ss\",\n      \"res s\",\n      \"r ess\",\n      \"▁e l\",\n      \"▁ el\",\n      \"▁u nd\",\n      \"▁un d\",\n      \"▁ und\",\n      \"e g\",\n      \"fe r\",\n      \"f er\",\n      \"r y\",\n      \"ea r\",\n      \"e ar\",\n      \"os e\",\n      \"o se\",\n      \"ve ry\",\n      \"ver y\",\n      \"v ery\",\n      \"' ,\",\n      \"▁ +\",\n      \"▁ в\",\n      \"▁H e\",\n      \"▁ He\",\n      \"ub lic\",\n      \"ubl ic\",\n      \"u blic\",\n      \"▁the ir\",\n      \"iz e\",\n      \"i ze\",\n      \"▁w ere\",\n      \"▁we re\",\n      \"▁wer e\",\n      \"▁ were\",\n      \"in k\",\n      \"ow n\",\n      \"o wn\",\n      \"I n\",\n      \"{ \\\\\",\n      \"▁h as\",\n      \"▁ha s\",\n      \"▁ has\",\n      \"▁p er\",\n      \"▁pe r\",\n      \"▁ per\",\n      \"▁I t\",\n      \"▁ It\",\n      \"▁S t\",\n      \"▁ St\",\n      \"he r\",\n      \"h er\",\n      \"je ct\",\n      \"j ect\",\n      \"р а\",\n      \"il d\",\n      \"i ld\",\n      \"s o\",\n      \"▁s p\",\n      \"▁ sp\",\n      \"н и\",\n      \"d u\",\n      \"ro w\",\n      \"r ow\",\n      \"al ue\",\n      \"alu e\",\n      \"se t\",\n      \"s et\",\n      \"fo rm\",\n      \"for m\",\n      \"f orm\",\n      \"co m\",\n      \"c om\",\n      \"▁m an\",\n      \"▁ma n\",\n      \"▁ man\",\n      \"on t\",\n      \"o nt\",\n      \"ul l\",\n      \"u ll\",\n      \"▁c ont\",\n      \"▁con t\",\n      \"▁co nt\",\n      \"▁ cont\",\n      \"▁m ore\",\n      \"▁mor e\",\n      \"▁mo re\",\n      \"▁ more\",\n      \"ic k\",\n      \"i ck\",\n      \"▁w ould\",\n      \"▁wo uld\",\n      \"▁e v\",\n      \"▁ ev\",\n      \"▁ab out\",\n      \"▁ about\",\n      \"it ion\",\n      \"iti on\",\n      \"▁ z\",\n      \"ou nd\",\n      \"oun d\",\n      \"o und\",\n      \"re e\",\n      \"r ee\",\n      \"▁C h\",\n      \"▁ Ch\",\n      \"▁wh ich\",\n      \"▁ which\",\n      \"i o\",\n      \"() ;\",\n      \"( );\",\n      \"▁w ho\",\n      \"▁wh o\",\n      \"▁ who\",\n      \"er r\",\n      \"e rr\",\n      \"or y\",\n      \"o ry\",\n      \"ou nt\",\n      \"oun t\",\n      \"o unt\",\n      \"at ions\",\n      \"ation s\",\n      \"ati ons\",\n      \"atio ns\",\n      \"▁ с\",\n      \"ri ng\",\n      \"rin g\",\n      \"r ing\",\n      \"< /\",\n      \"▁f e\",\n      \"▁ fe\",\n      \"к о\",\n      \"н о\",\n      \"▁d is\",\n      \"▁di s\",\n      \"▁ dis\",\n      \"m a\",\n      \"▁t hem\",\n      \"▁the m\",\n      \"▁th em\",\n      \"▁a ny\",\n      \"▁an y\",\n      \"▁ any\",\n      \"▁n o\",\n      \"▁ no\",\n      \"-- ------\",\n      \"---- ----\",\n      \"--- -----\",\n      \"----- ---\",\n      \"------ --\",\n      \"------- -\",\n      \"- -------\",\n      \"▁p re\",\n      \"▁pr e\",\n      \"▁ pre\",\n      \"▁t e\",\n      \"▁ te\",\n      \"▁r o\",\n      \"▁ ro\",\n      \"▁h im\",\n      \"▁hi m\",\n      \"▁ him\",\n      \"▁ :\",\n      \"u p\",\n      \"▁in t\",\n      \"▁i nt\",\n      \"▁ int\",\n      \"▁a g\",\n      \"▁ ag\",\n      \"S t\",\n      \"ar k\",\n      \"e x\",\n      \"p h\",\n      \"ie nt\",\n      \"ien t\",\n      \"i ent\",\n      \"el y\",\n      \"e ly\",\n      \"▁p r\",\n      \"▁ pr\",\n      \"E R\",\n      \"▁im port\",\n      \"▁imp ort\",\n      \"▁ import\",\n      \"▁t ime\",\n      \"▁tim e\",\n      \"▁ti me\",\n      \"▁ time\",\n      \"р о\",\n      \"pr o\",\n      \"p ro\",\n      \"Us er\",\n      \"Use r\",\n      \"U ser\",\n      \"l o\",\n      \"▁ /\",\n      \"▁ [\",\n      \"or s\",\n      \"o rs\",\n      \"= \\\"\",\n      \"▁t here\",\n      \"▁the re\",\n      \"▁th ere\",\n      \"▁ther e\",\n      \"▁ there\",\n      \"▁l ike\",\n      \"▁li ke\",\n      \"▁lik e\",\n      \"▁ like\",\n      \"ol d\",\n      \"o ld\",\n      \"▁w hen\",\n      \"▁wh en\",\n      \"▁whe n\",\n      \"▁ when\",\n      \"ve rs\",\n      \"ver s\",\n      \"v ers\",\n      \"▁s ome\",\n      \"▁so me\",\n      \"▁som e\",\n      \"▁ some\",\n      \"in gs\",\n      \"ing s\",\n      \") )\",\n      \"▁p art\",\n      \"▁par t\",\n      \"▁pa rt\",\n      \"▁ part\",\n      \"ic al\",\n      \"ica l\",\n      \"i cal\",\n      \"▁f un\",\n      \"▁fu n\",\n      \"▁ fun\",\n      \"▁k n\",\n      \"▁ kn\",\n      \"ay s\",\n      \"a ys\",\n      \"ie r\",\n      \"i er\",\n      \"▁b een\",\n      \"▁be en\",\n      \"ov e\",\n      \"o ve\",\n      \"▁s c\",\n      \"▁ sc\",\n      \"ia n\",\n      \"i an\",\n      \"▁o ver\",\n      \"▁ov er\",\n      \"▁ over\",\n      \"ie l\",\n      \"i el\",\n      \"▁p e\",\n      \"▁ pe\",\n      \"ri b\",\n      \"r ib\",\n      \"pu t\",\n      \"p ut\",\n      \"e c\",\n      \"et h\",\n      \"e th\",\n      \"ar am\",\n      \"ara m\",\n      \"a ram\",\n      \"ap p\",\n      \"a pp\",\n      \"▁ –\",\n      \"▁s tat\",\n      \"▁st at\",\n      \"▁sta t\",\n      \"▁ stat\",\n      \"po n\",\n      \"p on\",\n      \"▁w hat\",\n      \"▁wh at\",\n      \"▁ what\",\n      \"pt ion\",\n      \"w e\",\n      \"ad e\",\n      \"a de\",\n      \"▁w ork\",\n      \"▁wor k\",\n      \"▁ work\",\n      \"te xt\",\n      \"tex t\",\n      \"t ext\",\n      \"▁s aid\",\n      \"▁sa id\",\n      \"▁# ##\",\n      \"▁## #\",\n      \"▁ ###\",\n      \"I N\",\n      \"▁j ust\",\n      \"▁ju st\",\n      \"▁ just\",\n      \"ir st\",\n      \"irs t\",\n      \"▁in to\",\n      \"▁int o\",\n      \"▁ into\",\n      \"▁con st\",\n      \"▁cons t\",\n      \"▁ const\",\n      \"our ce\",\n      \"t t\",\n      \"p s\",\n      \"p r\",\n      \"er v\",\n      \"e rv\",\n      \"it t\",\n      \"i tt\",\n      \"u g\",\n      \"_ {\",\n      \"en ts\",\n      \"ent s\",\n      \"is h\",\n      \"i sh\",\n      \"en er\",\n      \"ene r\",\n      \"e ner\",\n      \"▁in ter\",\n      \"▁int er\",\n      \"▁inte r\",\n      \"▁ inter\",\n      \"pl e\",\n      \"p le\",\n      \"ol l\",\n      \"o ll\",\n      \"me r\",\n      \"m er\",\n      \"at er\",\n      \"ate r\",\n      \"a ter\",\n      \"oo l\",\n      \"o ol\",\n      \"e f\",\n      \"▁p ublic\",\n      \"▁pub lic\",\n      \"▁pu blic\",\n      \"▁publi c\",\n      \"▁ public\",\n      \"▁o ther\",\n      \"▁ot her\",\n      \"▁ other\",\n      \"р е\",\n      \"▁d ef\",\n      \"▁de f\",\n      \"▁ def\",\n      \"▁ @\",\n      \"г о\",\n      \"oin t\",\n      \"oi nt\",\n      \"o int\",\n      \"▁o ff\",\n      \"▁of f\",\n      \"▁ off\",\n      \"oi d\",\n      \"o id\",\n      \"re turn\",\n      \"ret urn\",\n      \"r eturn\",\n      \"▁s et\",\n      \"▁se t\",\n      \"▁ set\",\n      \"w o\",\n      \"ft er\",\n      \"fte r\",\n      \"f ter\",\n      \"s h\",\n      \"** ******\",\n      \"**** ****\",\n      \"****** **\",\n      \"▁o ur\",\n      \"▁ou r\",\n      \"▁ our\",\n      \"ri v\",\n      \"r iv\",\n      \"is s\",\n      \"i ss\",\n      \"▁W e\",\n      \"▁ We\",\n      \"n g\",\n      \"▁o b\",\n      \"▁ ob\",\n      \"s s\",\n      \"g r\",\n      \"▁t han\",\n      \"▁th an\",\n      \"▁ than\",\n      \"pe ct\",\n      \"pec t\",\n      \"p ect\",\n      \"ie d\",\n      \"i ed\",\n      \"s c\",\n      \"ie w\",\n      \"i ew\",\n      \"de r\",\n      \"d er\",\n      \"ys t\",\n      \"y st\",\n      \"e v\",\n      \"▁c ould\",\n      \"▁co uld\",\n      \"▁cou ld\",\n      \"▁ could\",\n      \"an n\",\n      \"a nn\",\n      \"en c\",\n      \"e nc\",\n      \"O N\",\n      \"i x\",\n      \"an c\",\n      \"a nc\",\n      \"▁al so\",\n      \"▁als o\",\n      \"▁ also\",\n      \"re at\",\n      \"rea t\",\n      \"▁a m\",\n      \"▁ am\",\n      \"▁b ec\",\n      \"▁be c\",\n      \"▁ bec\",\n      \"▁ и\",\n      \"ua l\",\n      \"u al\",\n      \"pe c\",\n      \"p ec\",\n      \"▁ .\",\n      \"▁b l\",\n      \"▁ bl\",\n      \"le ct\",\n      \"l ect\",\n      \"op le\",\n      \"opl e\",\n      \"o ple\",\n      \"y s\",\n      \"▁g r\",\n      \"▁ gr\",\n      \"ic t\",\n      \"i ct\",\n      \"i k\",\n      \"tr ing\",\n      \"tri ng\",\n      \"t ring\",\n      \"▁T his\",\n      \"▁Th is\",\n      \"▁ This\",\n      \"▁b ack\",\n      \"▁ba ck\",\n      \"▁ back\",\n      \"▁ о\",\n      \"▁f in\",\n      \"▁fi n\",\n      \"▁ fin\",\n      \"at ch\",\n      \"Co n\",\n      \"C on\",\n      \"( '\",\n      \"er m\",\n      \"e rm\",\n      \"▁= =\",\n      \"▁ ==\",\n      \"_ _\",\n      \"na me\",\n      \"nam e\",\n      \"n ame\",\n      \", \\\"\",\n      \"▁d id\",\n      \"▁di d\",\n      \"▁ did\",\n      \"is e\",\n      \"i se\",\n      \"▁on ly\",\n      \"▁ only\",\n      \"ru ct\",\n      \"r uct\",\n      \"le s\",\n      \"l es\",\n      \"▁t hen\",\n      \"▁the n\",\n      \"▁th en\",\n      \"▁ then\",\n      \"au se\",\n      \"aus e\",\n      \"a use\",\n      \"в а\",\n      \"▁it s\",\n      \"▁i ts\",\n      \"▁ its\",\n      \"ri t\",\n      \"r it\",\n      \"▁k now\",\n      \"▁kn ow\",\n      \"▁ know\",\n      \"ie ld\",\n      \"iel d\",\n      \"i eld\",\n      \"▁c lass\",\n      \"▁cl ass\",\n      \"▁clas s\",\n      \"▁ class\",\n      \"▁ >\",\n      \"▁e m\",\n      \"▁ em\",\n      \"▁$ \\\\\",\n      \"▁ $\\\\\",\n      \"▁y ear\",\n      \"▁ye ar\",\n      \"▁ year\",\n      \"w n\",\n      \"} ,\",\n      \"▁d el\",\n      \"▁de l\",\n      \"▁ del\",\n      \"al e\",\n      \"a le\",\n      \"t y\",\n      \"fi g\",\n      \"f ig\",\n      \"s p\",\n      \"he d\",\n      \"h ed\",\n      \"ro und\",\n      \"rou nd\",\n      \"r ound\",\n      \"e w\",\n      \"▁d i\",\n      \"▁ di\",\n      \"▁d er\",\n      \"▁de r\",\n      \"▁ der\",\n      \"р и\",\n      \"re d\",\n      \"r ed\",\n      \"th is\",\n      \"t his\",\n      \"le t\",\n      \"l et\",\n      \"R E\",\n      \"a x\",\n      \"f r\",\n      \"ess age\",\n      \"essa ge\",\n      \"ou gh\",\n      \"o ugh\",\n      \"▁c omm\",\n      \"▁com m\",\n      \"▁co mm\",\n      \"▁ comm\",\n      \"f o\",\n      \"uc h\",\n      \"u ch\",\n      \"o y\",\n      \"▁pe ople\",\n      \"▁ people\",\n      \"yst em\",\n      \"ys tem\",\n      \"▁f irst\",\n      \"▁fir st\",\n      \"▁ first\",\n      \"▁f unction\",\n      \"▁fun ction\",\n      \"▁ function\",\n      \"an ge\",\n      \"ang e\",\n      \"▁h ow\",\n      \"▁ho w\",\n      \"▁ how\",\n      \"▁e t\",\n      \"▁ et\",\n      \"a h\",\n      \"▁l ook\",\n      \"▁lo ok\",\n      \"▁ look\",\n      \"т о\",\n      \"un d\",\n      \"u nd\",\n      \"▁u nder\",\n      \"▁un der\",\n      \"▁und er\",\n      \"▁ under\",\n      \"к а\",\n      \"▁ !\",\n      \"ra y\",\n      \"r ay\",\n      \"S T\",\n      \"if ic\",\n      \"ifi c\",\n      \"i fic\",\n      \"л и\",\n      \"re ad\",\n      \"rea d\",\n      \"r ead\",\n      \"▁b et\",\n      \"▁be t\",\n      \"▁ bet\",\n      \"io us\",\n      \"i ous\",\n      \"ar g\",\n      \"a rg\",\n      \"▁n eed\",\n      \"▁ne ed\",\n      \"▁ need\",\n      \"ma th\",\n      \"mat h\",\n      \"m ath\",\n      \"▁н а\",\n      \"▁ на\",\n      \"er t\",\n      \"e rt\",\n      \"▁o p\",\n      \"▁ op\",\n      \"▁a cc\",\n      \"▁ac c\",\n      \"▁ acc\",\n      \"Pr o\",\n      \"P ro\",\n      \"▁e st\",\n      \"▁es t\",\n      \"▁ est\",\n      \"▁U n\",\n      \"▁ Un\",\n      \"▁e nt\",\n      \"▁en t\",\n      \"▁ ent\",\n      \"▁re c\",\n      \"▁r ec\",\n      \"▁ rec\",\n      \"▁u se\",\n      \"▁us e\",\n      \"▁ use\",\n      \"е н\",\n      \"▁p ar\",\n      \"▁pa r\",\n      \"▁ par\",\n      \"a z\",\n      \"▁ д\",\n      \"▁W h\",\n      \"▁ Wh\",\n      \"sel f\",\n      \"s elf\",\n      \"▁k e\",\n      \"▁ ke\",\n      \"т а\",\n      \"▁w ant\",\n      \"▁wa nt\",\n      \"▁ want\",\n      \"▁e nd\",\n      \"▁en d\",\n      \"▁ end\",\n      \"▁d on\",\n      \"▁do n\",\n      \"▁ don\",\n      \"e k\",\n      \"re n\",\n      \"r en\",\n      \"Na me\",\n      \"N ame\",\n      \"▁= >\",\n      \"▁ =>\",\n      \"▁a pp\",\n      \"▁ap p\",\n      \"▁ app\",\n      \"▁qu e\",\n      \"▁q ue\",\n      \"▁ que\",\n      \"ig h\",\n      \"i gh\",\n      \"▁b u\",\n      \"▁ bu\",\n      \"eq u\",\n      \"e qu\",\n      \"ve l\",\n      \"v el\",\n      \"▁a ct\",\n      \"▁ac t\",\n      \"▁ act\",\n      \"cr e\",\n      \"c re\",\n      \"A T\",\n      \"▁v ar\",\n      \"▁va r\",\n      \"▁ var\",\n      \"ce ss\",\n      \"ces s\",\n      \"c ess\",\n      \"== ==\",\n      \"=== =\",\n      \"= ===\",\n      \"E x\",\n      \"▁a dd\",\n      \"▁ad d\",\n      \"▁ add\",\n      \"▁m od\",\n      \"▁mo d\",\n      \"▁ mod\",\n      \"un g\",\n      \"u ng\",\n      \"▁w here\",\n      \"▁wh ere\",\n      \"▁whe re\",\n      \"▁ where\",\n      \"ni ng\",\n      \"n ing\",\n      \"▁f l\",\n      \"▁ fl\",\n      \"al s\",\n      \"a ls\",\n      \"ter n\",\n      \"te rn\",\n      \"t ern\",\n      \"} }\",\n      \"▁A l\",\n      \"▁ Al\",\n      \"▁p os\",\n      \"▁po s\",\n      \"▁ pos\",\n      \"an k\",\n      \"▁a p\",\n      \"▁ ap\",\n      \"en g\",\n      \"e ng\",\n      \"▁ “\",\n      \"bl e\",\n      \"b le\",\n      \"▁re g\",\n      \"▁r eg\",\n      \"▁ reg\",\n      \"^ {\",\n      \"▁S he\",\n      \"▁Sh e\",\n      \"▁ She\",\n      \"▁* /\",\n      \"▁ */\",\n      \"ud e\",\n      \"u de\",\n      \"ad d\",\n      \"a dd\",\n      \"▁t wo\",\n      \"▁tw o\",\n      \"▁ two\",\n      \"▁c ol\",\n      \"▁co l\",\n      \"▁ col\",\n      \"▁s m\",\n      \"▁ sm\",\n      \"ai r\",\n      \"a ir\",\n      \"▁m ay\",\n      \"▁ma y\",\n      \"▁ may\",\n      \"fo re\",\n      \"for e\",\n      \"f ore\",\n      \"▁Y ou\",\n      \"▁ You\",\n      \"ro ugh\",\n      \"rou gh\",\n      \"r ough\",\n      \"▁c he\",\n      \"▁ch e\",\n      \"▁ che\",\n      \"▁a tt\",\n      \"▁at t\",\n      \"▁ att\",\n      \"ot h\",\n      \"o th\",\n      \"л а\",\n      \"▁c o\",\n      \"▁ co\",\n      \"at es\",\n      \"ate s\",\n      \"a tes\",\n      \"▁re m\",\n      \"▁r em\",\n      \"▁ rem\",\n      \"oo d\",\n      \"o od\",\n      \"Ty pe\",\n      \"Typ e\",\n      \"T ype\",\n      \"le d\",\n      \"l ed\",\n      \"fu l\",\n      \"f ul\",\n      \"▁s elf\",\n      \"▁sel f\",\n      \"▁ self\",\n      \"o f\",\n      \"▁A r\",\n      \"▁ Ar\",\n      \"qu e\",\n      \"q ue\",\n      \"▁e very\",\n      \"▁ev ery\",\n      \"▁ever y\",\n      \"▁ every\",\n      \"re f\",\n      \"r ef\",\n      \"Th e\",\n      \"T he\",\n      \"▁A nd\",\n      \"▁An d\",\n      \"▁ And\",\n      \"▁re l\",\n      \"▁r el\",\n      \"▁ rel\",\n      \"O R\",\n      \"I d\",\n      \"▁e ven\",\n      \"▁ev en\",\n      \"▁ even\",\n      \"E N\",\n      \"▁h and\",\n      \"▁ha nd\",\n      \"▁han d\",\n      \"▁ hand\",\n      \"ai t\",\n      \"a it\",\n      \"▁sh ould\",\n      \"▁ should\",\n      \"▁a fter\",\n      \"▁af ter\",\n      \"▁ after\",\n      \"▁d if\",\n      \"▁di f\",\n      \"gh t\",\n      \"g ht\",\n      \"if e\",\n      \"i fe\",\n      \"at or\",\n      \"ato r\",\n      \"a tor\",\n      \"as h\",\n      \"a sh\",\n      \"ri but\",\n      \"rib ut\",\n      \"ribu t\",\n      \"um ber\",\n      \"umb er\",\n      \"u mber\",\n      \"▁s ee\",\n      \"▁se e\",\n      \"▁ see\",\n      \"m s\",\n      \"▁c all\",\n      \"▁cal l\",\n      \"▁ca ll\",\n      \"▁ call\",\n      \"y n\",\n      \"d d\",\n      \"▁e s\",\n      \"▁ es\",\n      \"▁m ake\",\n      \"▁ma ke\",\n      \"▁ make\",\n      \"ot her\",\n      \"oth er\",\n      \"othe r\",\n      \"o ther\",\n      \"▁ —\",\n      \"\\\") ;\",\n      \"\\\" );\",\n      \"st r\",\n      \"s tr\",\n      \"▁l ong\",\n      \"▁lo ng\",\n      \"▁lon g\",\n      \"▁ long\",\n      \"le ment\",\n      \"lem ent\",\n      \"l ement\",\n      \"▁w or\",\n      \"▁wo r\",\n      \"▁ wor\",\n      \"it s\",\n      \"i ts\",\n      \"▁I f\",\n      \"▁ If\",\n      \"al se\",\n      \"als e\",\n      \"л ь\",\n      \"wa rd\",\n      \"war d\",\n      \"w ard\",\n      \"▁п о\",\n      \"▁ по\",\n      \"va l\",\n      \"v al\",\n      \"on s\",\n      \"o ns\",\n      \"▁ Z\",\n      \"▁n ow\",\n      \"▁no w\",\n      \"▁ now\",\n      \"da ta\",\n      \"dat a\",\n      \"d ata\",\n      \"am p\",\n      \"a mp\",\n      \"en se\",\n      \"ens e\",\n      \"▁th rough\",\n      \"▁thr ough\",\n      \"▁thro ugh\",\n      \"▁ through\",\n      \"▁d own\",\n      \"▁do wn\",\n      \"▁dow n\",\n      \"▁ down\",\n      \"at t\",\n      \"a tt\",\n      \"▁st atic\",\n      \"▁stat ic\",\n      \"▁ static\",\n      \"ic s\",\n      \"i cs\",\n      \"# #\",\n      \"po s\",\n      \"p os\",\n      \"▁v oid\",\n      \"▁vo id\",\n      \"▁ void\",\n      \"a w\",\n      \"ou n\",\n      \"o un\",\n      \"▁w ay\",\n      \"▁wa y\",\n      \"▁ way\",\n      \"ib le\",\n      \"i ble\",\n      \"ve nt\",\n      \"ven t\",\n      \"v ent\",\n      \"ow er\",\n      \"owe r\",\n      \"o wer\",\n      \"▁th ink\",\n      \"▁thin k\",\n      \"▁ think\",\n      \"t s\",\n      \"* /\",\n      \"▁a gain\",\n      \"▁ag ain\",\n      \"▁ again\",\n      \"at ing\",\n      \"ati ng\",\n      \"atin g\",\n      \"a ting\",\n      \"т е\",\n      \"ne r\",\n      \"n er\",\n      \"▁m ost\",\n      \"▁mo st\",\n      \"▁mos t\",\n      \"▁ most\",\n      \"li ne\",\n      \"lin e\",\n      \"l ine\",\n      \"y m\",\n      \"▁s ub\",\n      \"▁su b\",\n      \"▁ sub\",\n      \"er son\",\n      \"ers on\",\n      \"▁re qu\",\n      \"▁r equ\",\n      \"▁req u\",\n      \"▁ requ\",\n      \"A L\",\n      \"A R\",\n      \"ab el\",\n      \"abe l\",\n      \"a bel\",\n      \"on d\",\n      \"o nd\",\n      \")) ;\",\n      \") );\",\n      \"▁S e\",\n      \"▁ Se\",\n      \"▁B ut\",\n      \"▁Bu t\",\n      \"▁ But\",\n      \"al k\",\n      \"▁A n\",\n      \"▁ An\",\n      \"ne w\",\n      \"n ew\",\n      \"▁b ecause\",\n      \"▁bec ause\",\n      \"▁ because\",\n      \"ge r\",\n      \"g er\",\n      \"ul ar\",\n      \"ula r\",\n      \"u lar\",\n      \"ro up\",\n      \"rou p\",\n      \"r oup\",\n      \"t a\",\n      \".. .\",\n      \". ..\",\n      \"▁c ons\",\n      \"▁con s\",\n      \"▁co ns\",\n      \"▁ cons\",\n      \"▁r ight\",\n      \"▁ri ght\",\n      \"▁rig ht\",\n      \"▁ right\",\n      \"▁f r\",\n      \"▁ fr\",\n      \"b e\",\n      \"il y\",\n      \"i ly\",\n      \"к и\",\n      \"▁p h\",\n      \"▁ ph\",\n      \"ea d\",\n      \"e ad\",\n      \"? \\\"\",\n      \"▁g u\",\n      \"▁ gu\",\n      \"▁el se\",\n      \"▁els e\",\n      \"▁ else\",\n      \"▁s om\",\n      \"▁so m\",\n      \"▁ som\",\n      \"re nt\",\n      \"ren t\",\n      \"r ent\",\n      \"c o\",\n      \"em ent\",\n      \"eme nt\",\n      \"emen t\",\n      \"e ment\",\n      \"▁s tr\",\n      \"▁st r\",\n      \"▁ str\",\n      \"au lt\",\n      \"aul t\",\n      \"a ult\",\n      \"▁ з\",\n      \"л о\",\n      \"se rt\",\n      \"ser t\",\n      \"s ert\",\n      \"va r\",\n      \"v ar\",\n      \"ty pe\",\n      \"typ e\",\n      \"t ype\",\n      \"▁C om\",\n      \"▁Co m\",\n      \"▁ Com\",\n      \"л е\",\n      \"in s\",\n      \"i ns\",\n      \"m e\",\n      \"wa y\",\n      \"w ay\",\n      \"id ent\",\n      \"ide nt\",\n      \"iden t\",\n      \"▁p rov\",\n      \"▁pro v\",\n      \"▁pr ov\",\n      \"▁ prov\",\n      \"▁ м\",\n      \"▁tr ue\",\n      \"▁ true\",\n      \"▁P ro\",\n      \"▁Pr o\",\n      \"▁ Pro\",\n      \"f l\",\n      \"▁s l\",\n      \"▁ sl\",\n      \"▁A s\",\n      \"▁ As\",\n      \"} \\\\\",\n      \"I D\",\n      \"ue s\",\n      \"u es\",\n      \"▁in st\",\n      \"▁ins t\",\n      \"▁ inst\",\n      \"▁n ame\",\n      \"▁na me\",\n      \"▁nam e\",\n      \"▁ name\",\n      \"o x\",\n      \"▁ )\",\n      \"l i\",\n      \"am es\",\n      \"ame s\",\n      \"a mes\",\n      \"Re s\",\n      \"R es\",\n      \"▁s ur\",\n      \"▁su r\",\n      \"▁ sur\",\n      \"par am\",\n      \"pa ram\",\n      \"para m\",\n      \"p aram\",\n      \"▁st art\",\n      \"▁star t\",\n      \"▁sta rt\",\n      \"▁ start\",\n      \"a j\",\n      \"S E\",\n      \"as k\",\n      \"a sk\",\n      \"I T\",\n      \"St ring\",\n      \"Str ing\",\n      \"S tring\",\n      \"▁a ss\",\n      \"▁as s\",\n      \"▁ ass\",\n      \"▁p lay\",\n      \"▁pl ay\",\n      \"▁ play\",\n      \"ti ng\",\n      \"t ing\",\n      \"to n\",\n      \"t on\",\n      \"▁b efore\",\n      \"▁be fore\",\n      \"▁bef ore\",\n      \"▁ before\",\n      \"▁p ol\",\n      \"▁po l\",\n      \"▁ pol\",\n      \"ar ch\",\n      \"arc h\",\n      \"▁w ell\",\n      \"▁we ll\",\n      \"▁wel l\",\n      \"▁ well\",\n      \"Co m\",\n      \"C om\",\n      \"an y\",\n      \"a ny\",\n      \"ol og\",\n      \"olo g\",\n      \"o log\",\n      \"▁e rr\",\n      \"▁er r\",\n      \"▁ err\",\n      \"▁the se\",\n      \"▁th ese\",\n      \"ar s\",\n      \"a rs\",\n      \"e b\",\n      \"▁b r\",\n      \"▁ br\",\n      \"▁in cl\",\n      \"▁inc l\",\n      \"▁ incl\",\n      \"▁h el\",\n      \"▁he l\",\n      \"▁ hel\",\n      \"er n\",\n      \"e rn\",\n      \"od y\",\n      \"o dy\",\n      \"в о\",\n      \"▁in d\",\n      \"▁i nd\",\n      \"▁ ind\",\n      \"-- --------------\",\n      \"---- ------------\",\n      \"-------- --------\",\n      \"--- -------------\",\n      \"------------ ----\",\n      \"----- -----------\",\n      \"---------- ------\",\n      \"------ ----------\",\n      \"------------- ---\",\n      \"-------------- --\",\n      \"--------- -------\",\n      \"------- ---------\",\n      \"----------- -----\",\n      \"▁d ata\",\n      \"▁da ta\",\n      \"▁dat a\",\n      \"▁ data\",\n      \"▁g ood\",\n      \"▁go od\",\n      \"▁ good\",\n      \"L E\",\n      \"] ,\",\n      \"▁a v\",\n      \"▁ av\",\n      \"▁a c\",\n      \"▁ ac\",\n      \"id er\",\n      \"ide r\",\n      \"i der\",\n      \"н е\",\n      \"▁ Q\",\n      \"▁m in\",\n      \"▁mi n\",\n      \"▁ min\",\n      \"▁m uch\",\n      \"▁mu ch\",\n      \"c i\",\n      \"el s\",\n      \"e ls\",\n      \"▁c ur\",\n      \"▁cu r\",\n      \"▁ cur\",\n      \"▁v alue\",\n      \"▁val ue\",\n      \"▁ value\",\n      \"er y\",\n      \"e ry\",\n      \"u f\",\n      \"▁l oc\",\n      \"▁lo c\",\n      \"▁ loc\",\n      \"re ak\",\n      \"rea k\",\n      \"at ive\",\n      \"ati ve\",\n      \"ativ e\",\n      \"im es\",\n      \"ime s\",\n      \"i mes\",\n      \"C l\",\n      \"▁ ,\",\n      \"▁s er\",\n      \"▁se r\",\n      \"▁ ser\",\n      \"▁d ie\",\n      \"▁di e\",\n      \"▁ die\",\n      \"▁tr ans\",\n      \"▁tra ns\",\n      \"▁ trans\",\n      \"▁res ult\",\n      \"▁ result\",\n      \"ex t\",\n      \"e xt\",\n      \"▁a ut\",\n      \"▁au t\",\n      \"▁ aut\",\n      \"la nd\",\n      \"lan d\",\n      \"l and\",\n      \"▁& &\",\n      \"▁ &&\",\n      \"C h\",\n      \"te n\",\n      \"t en\",\n      \"} $\",\n      \"▁t ype\",\n      \"▁typ e\",\n      \"▁ty pe\",\n      \"▁ type\",\n      \"con d\",\n      \"co nd\",\n      \"c ond\",\n      \"ic es\",\n      \"ice s\",\n      \"i ces\",\n      \"▁v ery\",\n      \"▁ver y\",\n      \"▁ve ry\",\n      \"▁ very\",\n      \"▁o wn\",\n      \"▁ own\",\n      \"▁f il\",\n      \"▁fi l\",\n      \"▁ fil\",\n      \"it ies\",\n      \"iti es\",\n      \"i ties\",\n      \"▁p rodu\",\n      \"▁pro du\",\n      \"▁prod u\",\n      \"▁ produ\",\n      \"▁re ad\",\n      \"▁r ead\",\n      \"▁ read\",\n      \"▁f orm\",\n      \"▁for m\",\n      \"▁fo rm\",\n      \"▁ form\",\n      \"▁c ase\",\n      \"▁cas e\",\n      \"▁ca se\",\n      \"▁ case\",\n      \"at her\",\n      \"ath er\",\n      \"a ther\",\n      \"т и\",\n      \"д а\",\n      \"е р\",\n      \"T h\",\n      \"au t\",\n      \"a ut\",\n      \"▁s pec\",\n      \"▁sp ec\",\n      \"▁spe c\",\n      \"▁ spec\",\n      \"i j\",\n      \"b l\",\n      \"il ity\",\n      \"ili ty\",\n      \"▁ é\",\n      \"▁e r\",\n      \"▁ er\",\n      \"▁d oes\",\n      \"▁do es\",\n      \"▁ does\",\n      \"▁h ere\",\n      \"▁he re\",\n      \"▁her e\",\n      \"▁ here\",\n      \"th e\",\n      \"t he\",\n      \"ur es\",\n      \"ure s\",\n      \"u res\",\n      \"▁ %\",\n      \"mi n\",\n      \"m in\",\n      \"▁n ull\",\n      \"▁nu ll\",\n      \"▁ null\",\n      \"ra p\",\n      \"r ap\",\n      \"\\\" )\",\n      \"r r\",\n      \"Li st\",\n      \"L ist\",\n      \"ri ght\",\n      \"rig ht\",\n      \"r ight\",\n      \"▁U ser\",\n      \"▁Us er\",\n      \"▁Use r\",\n      \"▁ User\",\n      \"U L\",\n      \"at ional\",\n      \"ation al\",\n      \"ati onal\",\n      \"atio nal\",\n      \"▁b eing\",\n      \"▁be ing\",\n      \"▁bei ng\",\n      \"▁ being\",\n      \"A N\",\n      \"s k\",\n      \"▁c ar\",\n      \"▁ca r\",\n      \"▁ car\",\n      \"ol e\",\n      \"o le\",\n      \"▁d ist\",\n      \"▁dis t\",\n      \"▁di st\",\n      \"▁ dist\",\n      \"pl ic\",\n      \"p lic\",\n      \"ol low\",\n      \"oll ow\",\n      \"▁p res\",\n      \"▁pre s\",\n      \"▁pr es\",\n      \"▁ pres\",\n      \"▁s uch\",\n      \"▁su ch\",\n      \"▁suc h\",\n      \"▁ such\",\n      \"re am\",\n      \"rea m\",\n      \"in ce\",\n      \"inc e\",\n      \"ga n\",\n      \"g an\",\n      \"▁F or\",\n      \"▁Fo r\",\n      \"▁ For\",\n      \"\\\" :\",\n      \"so n\",\n      \"s on\",\n      \"riv ate\",\n      \"▁y ears\",\n      \"▁year s\",\n      \"▁ye ars\",\n      \"▁s erv\",\n      \"▁se rv\",\n      \"▁ser v\",\n      \"▁ serv\",\n      \"▁m ade\",\n      \"▁ma de\",\n      \"▁mad e\",\n      \"▁ made\",\n      \"de f\",\n      \"d ef\",\n      \"; \\r\",\n      \"▁g l\",\n      \"▁ gl\",\n      \"▁b el\",\n      \"▁be l\",\n      \"▁ bel\",\n      \"▁l ist\",\n      \"▁li st\",\n      \"▁ list\",\n      \"▁c or\",\n      \"▁co r\",\n      \"▁ cor\",\n      \"▁d et\",\n      \"▁de t\",\n      \"▁ det\",\n      \"ce ption\",\n      \"cept ion\",\n      \"eg in\",\n      \"e gin\",\n      \"▁ б\",\n      \"▁c har\",\n      \"▁ch ar\",\n      \"▁cha r\",\n      \"▁ char\",\n      \"tr ans\",\n      \"tra ns\",\n      \"▁f am\",\n      \"▁fa m\",\n      \"▁! =\",\n      \"▁ !=\",\n      \"ou se\",\n      \"ous e\",\n      \"o use\",\n      \"▁d ec\",\n      \"▁de c\",\n      \"▁ dec\",\n      \"ic a\",\n      \"i ca\",\n      \"▁m any\",\n      \"▁man y\",\n      \"▁ma ny\",\n      \"▁ many\",\n      \"ak ing\",\n      \"aki ng\",\n      \"a king\",\n      \"▁ à\",\n      \"▁s im\",\n      \"▁si m\",\n      \"▁ sim\",\n      \"ag es\",\n      \"age s\",\n      \"a ges\",\n      \"uf f\",\n      \"u ff\",\n      \"as ed\",\n      \"ase d\",\n      \"a sed\",\n      \"ma n\",\n      \"m an\",\n      \"▁S h\",\n      \"▁ Sh\",\n      \"ie t\",\n      \"i et\",\n      \"ir ect\",\n      \"ire ct\",\n      \"i rect\",\n      \"▁R e\",\n      \"▁ Re\",\n      \"▁d iffer\",\n      \"▁dif fer\",\n      \"▁diff er\",\n      \"▁f ind\",\n      \"▁fin d\",\n      \"▁fi nd\",\n      \"▁ find\",\n      \"eth od\",\n      \"▁ \\r\",\n      \"in es\",\n      \"ine s\",\n      \"i nes\",\n      \"▁in v\",\n      \"▁i nv\",\n      \"▁ inv\",\n      \"▁p oint\",\n      \"▁po int\",\n      \"▁poi nt\",\n      \"▁ point\",\n      \"▁The y\",\n      \"▁Th ey\",\n      \"▁ They\",\n      \"▁u sed\",\n      \"▁us ed\",\n      \"▁use d\",\n      \"▁ used\",\n      \"ct ions\",\n      \"ction s\",\n      \"▁st ill\",\n      \"i ó\",\n      \"in ed\",\n      \"ine d\",\n      \"i ned\",\n      \"▁wh ile\",\n      \"▁ while\",\n      \"I t\",\n      \"em ber\",\n      \"emb er\",\n      \"e mber\",\n      \"▁s ay\",\n      \"▁sa y\",\n      \"▁ say\",\n      \"▁he lp\",\n      \"▁hel p\",\n      \"▁ help\",\n      \"▁c re\",\n      \"▁cr e\",\n      \"▁ cre\",\n      \"▁ x\",\n      \"▁T r\",\n      \"▁ Tr\",\n      \"um ent\",\n      \"ume nt\",\n      \"umen t\",\n      \"u ment\",\n      \"▁s k\",\n      \"▁ sk\",\n      \"ou ght\",\n      \"ough t\",\n      \"ual ly\",\n      \"u ally\",\n      \"m essage\",\n      \"▁C on\",\n      \"▁Co n\",\n      \"▁ Con\",\n      \"▁m on\",\n      \"▁mo n\",\n      \"▁ mon\",\n      \"ar ed\",\n      \"are d\",\n      \"a red\",\n      \"wor k\",\n      \"w ork\",\n      \") :\",\n      \"is ter\",\n      \"ist er\",\n      \"iste r\",\n      \"i ster\",\n      \"ar n\",\n      \"a rn\",\n      \"iz ed\",\n      \"ize d\",\n      \"i zed\",\n      \"Dat a\",\n      \"Da ta\",\n      \"D ata\",\n      \"or n\",\n      \"o rn\",\n      \"▁h ead\",\n      \"▁he ad\",\n      \"▁ head\",\n      \"D E\",\n      \"▁L e\",\n      \"▁ Le\",\n      \"▁p erson\",\n      \"▁per son\",\n      \"▁pers on\",\n      \"▁ person\",\n      \"ment s\",\n      \"men ts\",\n      \"m ents\",\n      \"eng th\",\n      \"e ngth\",\n      \"▁f alse\",\n      \"▁fal se\",\n      \"▁fals e\",\n      \"▁ false\",\n      \"▁m ed\",\n      \"▁me d\",\n      \"▁ med\",\n      \"▁D e\",\n      \"▁ De\",\n      \"ac he\",\n      \"ach e\",\n      \"a che\",\n      \"it ed\",\n      \"ite d\",\n      \"i ted\",\n      \"▁l et\",\n      \"▁le t\",\n      \"▁ let\",\n      \"▁s how\",\n      \"▁sh ow\",\n      \"▁ show\",\n      \"▁s ame\",\n      \"▁sa me\",\n      \"▁sam e\",\n      \"▁ same\",\n      \"us s\",\n      \"u ss\",\n      \"▁g ener\",\n      \"▁gen er\",\n      \"▁ge ner\",\n      \"▁gene r\",\n      \"▁ gener\",\n      \"▁ у\",\n      \"cu r\",\n      \"c ur\",\n      \"▁re al\",\n      \"▁ real\",\n      \"ce d\",\n      \"c ed\",\n      \"\\\" >\",\n      \"st ruct\",\n      \"str uct\",\n      \"stru ct\",\n      \"be gin\",\n      \"b egin\",\n      \"ce pt\",\n      \"cep t\",\n      \"▁b o\",\n      \"▁ bo\",\n      \"ir ed\",\n      \"ire d\",\n      \"i red\",\n      \"▁F r\",\n      \"▁ Fr\",\n      \"▁st ud\",\n      \"▁ stud\",\n      \"de v\",\n      \"d ev\",\n      \"A r\",\n      \"( \\\\\",\n      \"▁C l\",\n      \"▁ Cl\",\n      \"we en\",\n      \"w een\",\n      \"▁t oo\",\n      \"▁to o\",\n      \"▁ too\",\n      \"▁t est\",\n      \"▁te st\",\n      \"▁ test\",\n      \"▁d ay\",\n      \"▁da y\",\n      \"▁ day\",\n      \"o h\",\n      \"▁f ollow\",\n      \"▁fol low\",\n      \"▁ follow\",\n      \"at ure\",\n      \"atur e\",\n      \"atu re\",\n      \"z e\",\n      \"ie n\",\n      \"i en\",\n      \"re g\",\n      \"r eg\",\n      \"ce s\",\n      \"c es\",\n      \"ur ing\",\n      \"uri ng\",\n      \"u ring\",\n      \"am b\",\n      \"a mb\",\n      \"in a\",\n      \"i na\",\n      \"cr i\",\n      \"c ri\",\n      \"▁e d\",\n      \"▁ ed\",\n      \"S S\",\n      \"uc k\",\n      \"u ck\",\n      \"▁/ *\",\n      \"▁ /*\",\n      \"C T\",\n      \"▁T here\",\n      \"▁The re\",\n      \"▁Th ere\",\n      \"▁Ther e\",\n      \"▁ There\",\n      \"▁t ake\",\n      \"▁tak e\",\n      \"▁ta ke\",\n      \"▁ take\",\n      \"pa r\",\n      \"p ar\",\n      \"ul e\",\n      \"u le\",\n      \"ca l\",\n      \"c al\",\n      \"fo r\",\n      \"f or\",\n      \"** **************\",\n      \"**** ************\",\n      \"******** ********\",\n      \"************ ****\",\n      \"************** **\",\n      \"s ource\",\n      \"▁th ose\",\n      \"co l\",\n      \"c ol\",\n      \"▁e ff\",\n      \"▁ eff\",\n      \"mo d\",\n      \"m od\",\n      \"con t\",\n      \"co nt\",\n      \"c ont\",\n      \"} {\",\n      \"▁a round\",\n      \"▁ar ound\",\n      \"▁ around\",\n      \"pr ess\",\n      \"pre ss\",\n      \"pres s\",\n      \"p ress\",\n      \"b y\",\n      \"▁go ing\",\n      \"▁ going\",\n      \"pon se\",\n      \"pons e\",\n      \"▁ С\",\n      \"▁l ine\",\n      \"▁li ne\",\n      \"▁lin e\",\n      \"▁ line\",\n      \"da te\",\n      \"dat e\",\n      \"d ate\",\n      \"co de\",\n      \"cod e\",\n      \"c ode\",\n      \"[ '\",\n      \"▁l ife\",\n      \"▁li fe\",\n      \"▁lif e\",\n      \"▁ life\",\n      \"as on\",\n      \"a son\",\n      \"▁u sing\",\n      \"▁us ing\",\n      \"▁ using\",\n      \"▁v al\",\n      \"▁va l\",\n      \"▁ val\",\n      \"▁d u\",\n      \"▁ du\",\n      \"y p\",\n      \"▁O n\",\n      \"▁ On\",\n      \"▁f ound\",\n      \"▁fo und\",\n      \"▁fou nd\",\n      \"▁ found\",\n      \"ol ut\",\n      \"olu t\",\n      \"' ]\",\n      \"ar ent\",\n      \"are nt\",\n      \"aren t\",\n      \"a rent\",\n      \"▁s tring\",\n      \"▁st ring\",\n      \"▁str ing\",\n      \"▁stri ng\",\n      \"▁ string\",\n      \"▁m et\",\n      \"▁me t\",\n      \"▁ met\",\n      \"▁w r\",\n      \"▁ wr\",\n      \"us h\",\n      \"u sh\",\n      \"st ring\",\n      \"str ing\",\n      \"stri ng\",\n      \"s tring\",\n      \"si ze\",\n      \"s ize\",\n      \"▁v er\",\n      \"▁ve r\",\n      \"▁ ver\",\n      \"▁e ach\",\n      \"▁ each\",\n      \"val ue\",\n      \"v alue\",\n      \"▁l ast\",\n      \"▁la st\",\n      \"▁las t\",\n      \"▁ last\",\n      \"▁g ot\",\n      \"▁go t\",\n      \"▁ got\",\n      \"ve n\",\n      \"v en\",\n      \"ba ck\",\n      \"b ack\",\n      \"Se t\",\n      \"S et\",\n      \"e y\",\n      \"ro l\",\n      \"r ol\",\n      \"▁c r\",\n      \"▁ cr\",\n      \"th ing\",\n      \"t hing\",\n      \"re t\",\n      \"r et\",\n      \"é s\",\n      \"is m\",\n      \"i sm\",\n      \"▁bet ween\",\n      \"▁ between\",\n      \"O b\",\n      \"et hing\",\n      \"eth ing\",\n      \"e thing\",\n      \"m p\",\n      \"▁l o\",\n      \"▁ lo\",\n      \"at s\",\n      \"a ts\",\n      \"▁N ew\",\n      \"▁Ne w\",\n      \"▁ New\",\n      \"в и\",\n      \"ad o\",\n      \"a do\",\n      \"de x\",\n      \"d ex\",\n      \"д и\",\n      \"▁p ass\",\n      \"▁pas s\",\n      \"▁pa ss\",\n      \"▁ pass\",\n      \"w h\",\n      \"▁d en\",\n      \"▁de n\",\n      \"▁ den\",\n      \"Ge t\",\n      \"G et\",\n      \"ap t\",\n      \"a pt\",\n      \"▁a sk\",\n      \"▁as k\",\n      \"▁ ask\",\n      \"▁s up\",\n      \"▁su p\",\n      \"▁ sup\",\n      \"Val ue\",\n      \"V alue\",\n      \"н ы\",\n      \"▁t ry\",\n      \"▁tr y\",\n      \"▁ try\",\n      \"lat ion\",\n      \"l ation\",\n      \"da y\",\n      \"d ay\",\n      \"ne ss\",\n      \"nes s\",\n      \"n ess\",\n      \"et s\",\n      \"e ts\",\n      \"▁ex per\",\n      \"▁exp er\",\n      \"▁ exper\",\n      \"T r\",\n      \"▁M ar\",\n      \"▁Ma r\",\n      \"▁ Mar\",\n      \"se rv\",\n      \"ser v\",\n      \"s erv\",\n      \"b r\",\n      \"▁n umber\",\n      \"▁num ber\",\n      \"▁nu mber\",\n      \"▁ number\",\n      \"in al\",\n      \"ina l\",\n      \"i nal\",\n      \"ce nt\",\n      \"cen t\",\n      \"c ent\",\n      \"/ *\",\n      \"no t\",\n      \"n ot\",\n      \"ion al\",\n      \"io nal\",\n      \"iona l\",\n      \"i onal\",\n      \"▁f inal\",\n      \"▁fin al\",\n      \"▁fi nal\",\n      \"▁ final\",\n      \"' )\",\n      \"▁r un\",\n      \"▁ru n\",\n      \"▁ run\",\n      \"ov er\",\n      \"ove r\",\n      \"o ver\",\n      \"▁n ever\",\n      \"▁ne ver\",\n      \"▁ never\",\n      \"u c\",\n      \"▁h igh\",\n      \"▁hig h\",\n      \"▁hi gh\",\n      \"▁ high\",\n      \"yl e\",\n      \"y le\",\n      \"▁in s\",\n      \"▁i ns\",\n      \"▁ ins\",\n      \"▁b est\",\n      \"▁be st\",\n      \"▁bes t\",\n      \"▁ best\",\n      \"it tle\",\n      \"itt le\",\n      \"ri c\",\n      \"r ic\",\n      \"▁s ign\",\n      \"▁si gn\",\n      \"▁sig n\",\n      \"▁ sign\",\n      \"▁d em\",\n      \"▁de m\",\n      \"▁ dem\",\n      \"in ess\",\n      \"ine ss\",\n      \"ines s\",\n      \"i ness\",\n      \"g y\",\n      \"▁w ar\",\n      \"▁wa r\",\n      \"▁ war\",\n      \"is hed\",\n      \"ish ed\",\n      \"▁g iv\",\n      \"▁gi v\",\n      \"ke y\",\n      \"k ey\",\n      \"▁ X\",\n      \"( $\",\n      \"▁ch ild\",\n      \"▁chi ld\",\n      \"▁ child\",\n      \"le ss\",\n      \"les s\",\n      \"l ess\",\n      \"way s\",\n      \"wa ys\",\n      \"w ays\",\n      \"in cl\",\n      \"inc l\",\n      \"ro p\",\n      \"r op\",\n      \"ra w\",\n      \"r aw\",\n      \": //\",\n      \"▁ «\",\n      \"n o\",\n      \"ind ow\",\n      \"indo w\",\n      \"f e\",\n      \"ri end\",\n      \"rie nd\",\n      \"rien d\",\n      \"▁l es\",\n      \"▁le s\",\n      \"▁ les\",\n      \"▁l os\",\n      \"▁lo s\",\n      \"▁ los\",\n      \"fil e\",\n      \"fi le\",\n      \"f ile\",\n      \"form ation\",\n      \"format ion\",\n      \"cc ess\",\n      \"c cess\",\n      \"▁ В\",\n      \"n a\",\n      \"▁i l\",\n      \"▁ il\",\n      \"is ion\",\n      \"isi on\",\n      \"le r\",\n      \"l er\",\n      \"▁a rt\",\n      \"▁ar t\",\n      \"▁ art\",\n      \"Con t\",\n      \"Co nt\",\n      \"C ont\",\n      \"▁w orld\",\n      \"▁wor ld\",\n      \"▁ world\",\n      \"▁t urn\",\n      \"▁tu rn\",\n      \"▁tur n\",\n      \"▁ turn\",\n      \"▁re ally\",\n      \"▁real ly\",\n      \"▁E x\",\n      \"▁ Ex\",\n      \"м а\",\n      \"▁ П\",\n      \"ter s\",\n      \"te rs\",\n      \"t ers\",\n      \"ar get\",\n      \"arg et\",\n      \"arge t\",\n      \"Er r\",\n      \"E rr\",\n      \"▁h app\",\n      \"▁ha pp\",\n      \"ti me\",\n      \"tim e\",\n      \"t ime\",\n      \"▁S o\",\n      \"▁ So\",\n      \"di v\",\n      \"d iv\",\n      \"▁did n\",\n      \"▁di dn\",\n      \"ad a\",\n      \"a da\",\n      \"oo t\",\n      \"o ot\",\n      \"} )\",\n      \"▁s ch\",\n      \"▁sc h\",\n      \"▁ sch\",\n      \"▁c le\",\n      \"▁cl e\",\n      \"▁ cle\",\n      \"▁some thing\",\n      \"▁som ething\",\n      \"▁somet hing\",\n      \"▁ something\",\n      \"() .\",\n      \"( ).\",\n      \"▁c our\",\n      \"▁co ur\",\n      \"▁cou r\",\n      \"ev er\",\n      \"eve r\",\n      \"e ver\",\n      \"an ts\",\n      \"ant s\",\n      \"▁ ?\",\n      \"T o\",\n      \"▁ `\",\n      \"tr y\",\n      \"t ry\",\n      \"u x\",\n      \"ai s\",\n      \"a is\",\n      \"ro ss\",\n      \"ros s\",\n      \"r oss\",\n      \"hi p\",\n      \"h ip\",\n      \"▁re p\",\n      \"▁r ep\",\n      \"▁ rep\",\n      \"la bel\",\n      \"lab el\",\n      \"l abel\",\n      \"▁b oth\",\n      \"▁bo th\",\n      \"▁bot h\",\n      \"▁ both\",\n      \"* ,\",\n      \"ot t\",\n      \"o tt\",\n      \"м и\",\n      \"an e\",\n      \"a ne\",\n      \"▁o pen\",\n      \"▁op en\",\n      \"▁ open\",\n      \"w w\",\n      \"▁c ome\",\n      \"▁com e\",\n      \"▁co me\",\n      \"▁ come\",\n      \"▁e xt\",\n      \"▁ex t\",\n      \"▁ ext\",\n      \"re m\",\n      \"r em\",\n      \"_{ \\\\\",\n      \"_ {\\\\\",\n      \"▁o ld\",\n      \"▁ol d\",\n      \"▁ old\",\n      \"ch ed\",\n      \"che d\",\n      \"c hed\",\n      \". _\",\n      \"M E\",\n      \"if y\",\n      \"i fy\",\n      \"g g\",\n      \"Co l\",\n      \"C ol\",\n      \"vi ew\",\n      \"v iew\",\n      \"▁b us\",\n      \"▁bu s\",\n      \"▁ bus\",\n      \"▁m ust\",\n      \"▁mus t\",\n      \"▁mu st\",\n      \"▁ must\",\n      \"▁d ifferent\",\n      \"▁differ ent\",\n      \"lo g\",\n      \"l og\",\n      \"is ts\",\n      \"ist s\",\n      \"i sts\",\n      \"ro ll\",\n      \"rol l\",\n      \"r oll\",\n      \"a i\",\n      \"▁з а\",\n      \"▁ за\",\n      \"▁s ystem\",\n      \"▁sys tem\",\n      \"▁syst em\",\n      \"▁ system\",\n      \"iv ers\",\n      \"ive rs\",\n      \"iver s\",\n      \"i vers\",\n      \"at us\",\n      \"atu s\",\n      \"ot e\",\n      \"o te\",\n      \"me d\",\n      \"m ed\",\n      \"] .\",\n      \"ak es\",\n      \"ake s\",\n      \"a kes\",\n      \"R O\",\n      \"▁c ent\",\n      \"▁ce nt\",\n      \"▁ cent\",\n      \"gr am\",\n      \"gra m\",\n      \"g ram\",\n      \"▁p rivate\",\n      \"▁priv ate\",\n      \"▁ private\",\n      \"▁g reat\",\n      \"▁gre at\",\n      \"\\\" ;\",\n      \"op y\",\n      \"o py\",\n      \"▁fe el\",\n      \"▁fee l\",\n      \"▁H ow\",\n      \"▁Ho w\",\n      \"▁ How\",\n      \"// //\",\n      \"/// /\",\n      \"/ ///\",\n      \"I C\",\n      \"▁d r\",\n      \"▁ dr\",\n      \"ain s\",\n      \"ai ns\",\n      \"a ins\",\n      \"lo ck\",\n      \"loc k\",\n      \"l ock\",\n      \"E n\",\n      \"▁S ch\",\n      \"▁Sc h\",\n      \"▁ Sch\",\n      \"▁m at\",\n      \"▁ma t\",\n      \"▁ mat\",\n      \"▁h ome\",\n      \"▁hom e\",\n      \"▁ho me\",\n      \"▁ home\",\n      \"per ty\",\n      \"pert y\",\n      \"te st\",\n      \"tes t\",\n      \"t est\",\n      \"lo c\",\n      \"l oc\",\n      \"▁w om\",\n      \"▁wo m\",\n      \"s w\",\n      \"ar ly\",\n      \"arl y\",\n      \"▁E n\",\n      \"▁ En\",\n      \"▁к о\",\n      \"▁ ко\",\n      \"de n\",\n      \"d en\",\n      \"ст а\",\n      \"с та\",\n      \"▁ а\",\n      \"et er\",\n      \"ete r\",\n      \"e ter\",\n      \"▁incl ud\",\n      \"▁inclu d\",\n      \"UL L\",\n      \"U LL\",\n      \"▁m em\",\n      \"▁me m\",\n      \"▁ mem\",\n      \"▁p o\",\n      \"▁ po\",\n      \"▁l ittle\",\n      \"▁lit tle\",\n      \"▁litt le\",\n      \"▁a rg\",\n      \"▁ar g\",\n      \"▁ arg\",\n      \"▁} ,\",\n      \"▁ },\",\n      \"in clude\",\n      \"incl ude\",\n      \"et a\",\n      \"e ta\",\n      \"▁p lace\",\n      \"▁pl ace\",\n      \"▁plac e\",\n      \"▁ place\",\n      \"id th\",\n      \"us tom\",\n      \"ust om\",\n      \"▁| |\",\n      \"▁ ||\",\n      \"▁t em\",\n      \"▁te m\",\n      \"▁ tem\",\n      \"ri ed\",\n      \"rie d\",\n      \"r ied\",\n      \"▁f act\",\n      \"▁fac t\",\n      \"▁fa ct\",\n      \"▁ fact\",\n      \"ien ce\",\n      \"i ence\",\n      \"▁P l\",\n      \"▁ Pl\",\n      \"op t\",\n      \"o pt\",\n      \"el e\",\n      \"e le\",\n      \"g o\",\n      \"A C\",\n      \"in ter\",\n      \"int er\",\n      \"inte r\",\n      \"==== ====\",\n      \"() ,\",\n      \"( ),\",\n      \"ot s\",\n      \"o ts\",\n      \"ra l\",\n      \"r al\",\n      \"iqu e\",\n      \"iq ue\",\n      \"i que\",\n      \"av ing\",\n      \"avi ng\",\n      \"a ving\",\n      \"m l\",\n      \"▁th ought\",\n      \"▁though t\",\n      \"▁thou ght\",\n      \"fr ac\",\n      \"f rac\",\n      \"▁c are\",\n      \"▁car e\",\n      \"▁ca re\",\n      \"▁ care\",\n      \"() );\",\n      \"()) ;\",\n      \"( ));\",\n      \"▁p ut\",\n      \"▁pu t\",\n      \"▁ put\",\n      \"▁m ight\",\n      \"▁mi ght\",\n      \"▁mig ht\",\n      \"▁A mer\",\n      \"▁Am er\",\n      \"▁ Amer\",\n      \"▁( !\",\n      \"▁ (!\",\n      \"am ple\",\n      \"amp le\",\n      \"al th\",\n      \"alt h\",\n      \"▁f ew\",\n      \"▁fe w\",\n      \"▁st ate\",\n      \"▁stat e\",\n      \"▁sta te\",\n      \"▁ state\",\n      \"su b\",\n      \"s ub\",\n      \"▁O r\",\n      \"▁ Or\",\n      \"] ;\",\n      \"▁s ize\",\n      \"▁si ze\",\n      \"▁ size\",\n      \"▁S p\",\n      \"▁ Sp\",\n      \"▁with out\",\n      \"▁ without\",\n      \"▁p oss\",\n      \"▁pos s\",\n      \"▁po ss\",\n      \"▁ poss\",\n      \"e q\",\n      \"pl ay\",\n      \"p lay\",\n      \"▁ex pect\",\n      \"▁exp ect\",\n      \"▁ expect\",\n      \"▁se cond\",\n      \"▁sec ond\",\n      \"▁ second\",\n      \"▁S tring\",\n      \"▁St ring\",\n      \"▁Str ing\",\n      \"▁ String\",\n      \"ui ld\",\n      \"u ild\",\n      \"▁n ext\",\n      \"▁ne xt\",\n      \"▁ next\",\n      \"+ +\",\n      \"re qu\",\n      \"req u\",\n      \"r equ\",\n      \"▁A ll\",\n      \"▁Al l\",\n      \"▁ All\",\n      \"▁m en\",\n      \"▁me n\",\n      \"▁ men\",\n      \"▁W hen\",\n      \"▁Wh en\",\n      \"▁Whe n\",\n      \"▁ When\",\n      \"it er\",\n      \"ite r\",\n      \"i ter\",\n      \"am ent\",\n      \"ame nt\",\n      \"amen t\",\n      \"a ment\",\n      \"ne t\",\n      \"n et\",\n      \"▁ К\",\n      \"ro n\",\n      \"r on\",\n      \"ain t\",\n      \"ai nt\",\n      \"a int\",\n      \"▁I s\",\n      \"▁ Is\",\n      \"в е\",\n      \"pe nd\",\n      \"pen d\",\n      \"p end\",\n      \"trans lation\",\n      \"transl ation\",\n      \"▁г о\",\n      \"▁ го\",\n      \"ч е\",\n      \"▁v an\",\n      \"▁va n\",\n      \"▁ van\",\n      \"▁an other\",\n      \"▁ano ther\",\n      \"▁re t\",\n      \"▁r et\",\n      \"▁ ret\",\n      \"▁L a\",\n      \"▁ La\",\n      \"Mo d\",\n      \"M od\",\n      \"IO N\",\n      \"I ON\",\n      \"li st\",\n      \"l ist\",\n      \"▁p ost\",\n      \"▁pos t\",\n      \"▁po st\",\n      \"▁ post\",\n      \"d a\",\n      \"wa re\",\n      \"war e\",\n      \"w are\",\n      \"▁w ord\",\n      \"▁wor d\",\n      \"▁wo rd\",\n      \"▁ word\",\n      \"Err or\",\n      \"Er ror\",\n      \"▁se em\",\n      \"▁see m\",\n      \"▁cont in\",\n      \"▁ contin\",\n      \"at ic\",\n      \"ati c\",\n      \"▁th ree\",\n      \"▁thr ee\",\n      \"▁ three\",\n      \"Ob ject\",\n      \"Obj ect\",\n      \"▁part ic\",\n      \"▁parti c\",\n      \"$ .\",\n      \"▁m ark\",\n      \"▁mar k\",\n      \"▁ mark\",\n      \"▁v is\",\n      \"▁vi s\",\n      \"▁ vis\",\n      \"r c\",\n      \"▁s w\",\n      \"▁ sw\",\n      \"pt ions\",\n      \"ption s\",\n      \"▁b reak\",\n      \"▁bre ak\",\n      \"▁ break\",\n      \"▁th ings\",\n      \"▁thing s\",\n      \"▁thin gs\",\n      \"ut e\",\n      \"u te\",\n      \"u i\",\n      \"▁T hat\",\n      \"▁Th at\",\n      \"▁ That\",\n      \"ur s\",\n      \"u rs\",\n      \"g l\",\n      \"р у\",\n      \"▁f ile\",\n      \"▁fil e\",\n      \"▁fi le\",\n      \"▁ file\",\n      \"us e\",\n      \"u se\",\n      \"ig ned\",\n      \"ign ed\",\n      \"igne d\",\n      \"par t\",\n      \"pa rt\",\n      \"p art\",\n      \"U n\",\n      \"▁e qu\",\n      \"▁eq u\",\n      \"▁ equ\",\n      \"( &\",\n      \"▁l ead\",\n      \"▁le ad\",\n      \"r m\",\n      \"ain ed\",\n      \"ai ned\",\n      \"aine d\",\n      \"a ined\",\n      \"▁B e\",\n      \"▁ Be\",\n      \"pat h\",\n      \"pa th\",\n      \"p ath\",\n      \"▁sm all\",\n      \"▁ small\",\n      \"ag er\",\n      \"age r\",\n      \"a ger\",\n      \"▁al ways\",\n      \"▁ always\",\n      \"▁E l\",\n      \"▁ El\",\n      \"▁or der\",\n      \"▁ord er\",\n      \"▁ order\",\n      \"▁e y\",\n      \"▁ ey\",\n      \"▁w on\",\n      \"▁wo n\",\n      \"▁ won\",\n      \"ap e\",\n      \"a pe\",\n      \"▁l eft\",\n      \"▁le ft\",\n      \"▁ left\",\n      \"av a\",\n      \"a va\",\n      \"it em\",\n      \"ite m\",\n      \"i tem\",\n      \"ho r\",\n      \"h or\",\n      \"▁a way\",\n      \"▁aw ay\",\n      \"▁ away\",\n      \"b b\",\n      \"fu n\",\n      \"f un\",\n      \"▁I nd\",\n      \"▁In d\",\n      \"▁ Ind\",\n      \"m b\",\n      \"▁st ruct\",\n      \"▁str uct\",\n      \"▁stru ct\",\n      \"▁ struct\",\n      \"▁pro cess\",\n      \"▁proc ess\",\n      \"▁proces s\",\n      \"▁ process\",\n      \"▁s upport\",\n      \"▁sup port\",\n      \"▁supp ort\",\n      \"▁ support\",\n      \"); \\r\",\n      \") ;\\r\",\n      \"ió n\",\n      \"i ón\",\n      \"L O\",\n      \"▁o per\",\n      \"▁op er\",\n      \"▁ oper\",\n      \"U T\",\n      \"▁ ·\",\n      \"P E\",\n      \"lo ad\",\n      \"l oad\",\n      \"of f\",\n      \"o ff\",\n      \"▁N o\",\n      \"▁ No\",\n      \"iv es\",\n      \"ive s\",\n      \"i ves\",\n      \"ic an\",\n      \"ica n\",\n      \"i can\",\n      \"▁v e\",\n      \"▁ ve\",\n      \"act ion\",\n      \"a ction\",\n      \"' ;\",\n      \"▁v o\",\n      \"▁ vo\",\n      \"$ ,\",\n      \"▁G r\",\n      \"▁ Gr\",\n      \"pr e\",\n      \"p re\",\n      \"n y\",\n      \"ain ing\",\n      \"ai ning\",\n      \"a ining\",\n      \"io r\",\n      \"i or\",\n      \"in it\",\n      \"ini t\",\n      \"i nit\",\n      \"le ction\",\n      \"lect ion\",\n      \"l ection\",\n      \"ar m\",\n      \"a rm\",\n      \"um n\",\n      \"u mn\",\n      \"ag s\",\n      \"a gs\",\n      \"ц и\",\n      \"ск о\",\n      \"с ко\",\n      \"vers ion\",\n      \"v ersion\",\n      \"▁T o\",\n      \"▁ To\",\n      \"▁re f\",\n      \"▁r ef\",\n      \"▁ ref\",\n      \"st and\",\n      \"sta nd\",\n      \"stan d\",\n      \"▁A t\",\n      \"▁ At\",\n      \"if t\",\n      \"i ft\",\n      \"▁e in\",\n      \"fa ce\",\n      \"fac e\",\n      \"f ace\",\n      \"b o\",\n      \"if ied\",\n      \"ifi ed\",\n      \"ve d\",\n      \"v ed\",\n      \"su m\",\n      \"s um\",\n      \"un e\",\n      \"u ne\",\n      \"it al\",\n      \"ita l\",\n      \"i tal\",\n      \"um p\",\n      \"u mp\",\n      \"com m\",\n      \"co mm\",\n      \"c omm\",\n      \"▁m ov\",\n      \"▁mo v\",\n      \"▁ mov\",\n      \"el t\",\n      \"e lt\",\n      \"▁v on\",\n      \"▁vo n\",\n      \"vel op\",\n      \"ct or\",\n      \"c tor\",\n      \"he ad\",\n      \"h ead\",\n      \"cl e\",\n      \"c le\",\n      \"▁b uild\",\n      \"▁bu ild\",\n      \"▁ build\",\n      \"in c\",\n      \"i nc\",\n      \". '\",\n      \"b s\",\n      \"in fo\",\n      \"inf o\",\n      \"ch n\",\n      \"c hn\",\n      \"▁we ek\",\n      \"▁ week\",\n      \"▁b ook\",\n      \"▁bo ok\",\n      \"▁ book\",\n      \"H E\",\n      \"ba r\",\n      \"b ar\",\n      \"ic ense\",\n      \"▁W hat\",\n      \"▁Wh at\",\n      \"▁ What\",\n      \"▁qu est\",\n      \"▁que st\",\n      \"▁q uest\",\n      \"▁ quest\",\n      \"ur ch\",\n      \"at o\",\n      \"a to\",\n      \"le ft\",\n      \"l eft\",\n      \"▁m ar\",\n      \"▁ma r\",\n      \"▁ mar\",\n      \"▁t op\",\n      \"▁to p\",\n      \"▁ top\",\n      \"F F\",\n      \"▁f riend\",\n      \"▁ friend\",\n      \"▁b eh\",\n      \"▁be h\",\n      \"▁f ield\",\n      \"▁fi eld\",\n      \"▁ field\",\n      \"▁again st\",\n      \"ra ct\",\n      \"rac t\",\n      \"r act\",\n      \"iz ation\",\n      \"us er\",\n      \"use r\",\n      \"u ser\",\n      \"ch en\",\n      \"che n\",\n      \"c hen\",\n      \"▁ke ep\",\n      \"▁ keep\",\n      \"A D\",\n      \"it or\",\n      \"ito r\",\n      \"i tor\",\n      \"▁n on\",\n      \"▁no n\",\n      \"▁ non\",\n      \"ir d\",\n      \"i rd\",\n      \"op e\",\n      \"o pe\",\n      \"▁re st\",\n      \"▁r est\",\n      \"▁res t\",\n      \"▁ rest\",\n      \"▁d ev\",\n      \"▁de v\",\n      \"▁ dev\",\n      \"▁_ _\",\n      \"▁ __\",\n      \"▁u na\",\n      \"▁un a\",\n      \"▁ una\",\n      \"▁t erm\",\n      \"▁te rm\",\n      \"▁ter m\",\n      \"▁ term\",\n      \"I S\",\n      \"▁p op\",\n      \"▁po p\",\n      \"▁ pop\",\n      \"ri st\",\n      \"ris t\",\n      \"r ist\",\n      \"▁s ince\",\n      \"▁sin ce\",\n      \"▁sinc e\",\n      \"▁ since\",\n      \"ve s\",\n      \"v es\",\n      \"▁h ard\",\n      \"▁ha rd\",\n      \"▁har d\",\n      \"▁ hard\",\n      \"p i\",\n      \"ut il\",\n      \"uti l\",\n      \"u til\",\n      \"▁s oc\",\n      \"▁so c\",\n      \"▁ soc\",\n      \"en e\",\n      \"e ne\",\n      \"Ex ception\",\n      \"▁l ocal\",\n      \"▁loc al\",\n      \"▁lo cal\",\n      \"▁ local\",\n      \"▁d irect\",\n      \"▁di rect\",\n      \"▁dire ct\",\n      \"▁dir ect\",\n      \"▁ direct\",\n      \"▁s ure\",\n      \"▁su re\",\n      \"▁sur e\",\n      \"▁ sure\",\n      \"▁b ro\",\n      \"▁br o\",\n      \"▁ bro\",\n      \"▁d a\",\n      \"▁ da\",\n      \"▁< /\",\n      \"▁ </\",\n      \"▁cur rent\",\n      \"▁curr ent\",\n      \"▁ current\",\n      \"' :\",\n      \"W h\",\n      \"▁in formation\",\n      \"▁inform ation\",\n      \"▁ information\",\n      \"▁i de\",\n      \"▁id e\",\n      \"▁ ide\",\n      \"▁bet ter\",\n      \"Te xt\",\n      \"Tex t\",\n      \"T ext\",\n      \"ra ph\",\n      \"rap h\",\n      \"r aph\",\n      \"▁st and\",\n      \"▁stan d\",\n      \"▁sta nd\",\n      \"▁ stand\",\n      \"▁c heck\",\n      \"▁che ck\",\n      \"▁ check\",\n      \"▁ к\",\n      \"▁n a\",\n      \"▁ na\",\n      \"( (\",\n      \"ou th\",\n      \"out h\",\n      \"o uth\",\n      \"ap s\",\n      \"a ps\",\n      \"▁u nt\",\n      \"▁un t\",\n      \"▁ unt\",\n      \"b f\",\n      \"▁con f\",\n      \"▁co nf\",\n      \"▁ conf\",\n      \"▁s pe\",\n      \"▁sp e\",\n      \"▁ spe\",\n      \"it le\",\n      \"i tle\",\n      \"▁C ol\",\n      \"▁Co l\",\n      \"▁ Col\",\n      \"cl ass\",\n      \"c lass\",\n      \"ur al\",\n      \"ura l\",\n      \"u ral\",\n      \"ber s\",\n      \"be rs\",\n      \"b ers\",\n      \"M A\",\n      \"ess ion\",\n      \"▁ М\",\n      \"In fo\",\n      \"Inf o\",\n      \"▁B r\",\n      \"▁ Br\",\n      \"▁e as\",\n      \"erv ice\",\n      \"au s\",\n      \"a us\",\n      \"ar i\",\n      \"a ri\",\n      \"п о\",\n      \"▁c oun\",\n      \"▁co un\",\n      \"▁cou n\",\n      \"д е\",\n      \"() )\",\n      \"( ))\",\n      \"li ng\",\n      \"lin g\",\n      \"l ing\",\n      \"E D\",\n      \"ab ly\",\n      \"abl y\",\n      \"▁p at\",\n      \"▁pa t\",\n      \"▁ pat\",\n      \"or g\",\n      \"o rg\",\n      \"▁i d\",\n      \"▁ id\",\n      \"▁ г\",\n      \"▁t ell\",\n      \"▁te ll\",\n      \"▁tel l\",\n      \"le x\",\n      \"l ex\",\n      \"▁al low\",\n      \"▁all ow\",\n      \"▁ allow\",\n      \"re en\",\n      \"ree n\",\n      \"r een\",\n      \"m y\",\n      \"▁cons ider\",\n      \"▁consid er\",\n      \"▁te am\",\n      \"▁tea m\",\n      \"▁ team\",\n      \"le ase\",\n      \"ht t\",\n      \"h tt\",\n      \"▁P r\",\n      \"▁ Pr\",\n      \"/* *\",\n      \"/ **\",\n      \"▁s ing\",\n      \"▁si ng\",\n      \"▁sin g\",\n      \"▁ sing\",\n      \"Re qu\",\n      \"Req u\",\n      \"R equ\",\n      \"R e\",\n      \"id es\",\n      \"ide s\",\n      \"i des\",\n      \"ch es\",\n      \"che s\",\n      \"c hes\",\n      \"▁ob ject\",\n      \"▁obj ect\",\n      \"▁ object\",\n      \"ial ly\",\n      \"i ally\",\n      \"B y\",\n      \"с я\",\n      \"id ed\",\n      \"ide d\",\n      \"i ded\",\n      \"▁f ree\",\n      \"▁fr ee\",\n      \"▁fre e\",\n      \"▁ free\",\n      \"▁pro ble\",\n      \"▁prob le\",\n      \"ci te\",\n      \"cit e\",\n      \"c ite\",\n      \"▁) ;\",\n      \"▁ );\",\n      \"iss ion\",\n      \"▁d uring\",\n      \"▁du ring\",\n      \"▁dur ing\",\n      \"▁- -\",\n      \"▁ --\",\n      \"it her\",\n      \"ith er\",\n      \"i ther\",\n      \"л я\",\n      \"▁l eg\",\n      \"▁le g\",\n      \"▁ leg\",\n      \"▁s it\",\n      \"▁si t\",\n      \"ic ally\",\n      \"ical ly\",\n      \"▁k ey\",\n      \"▁ke y\",\n      \"▁ key\",\n      \"le g\",\n      \"l eg\",\n      \"tr a\",\n      \"t ra\",\n      \"▁m om\",\n      \"▁mo m\",\n      \"▁ex pl\",\n      \"▁exp l\",\n      \"▁ expl\",\n      \"▁de velop\",\n      \"▁ develop\",\n      \"▁e vent\",\n      \"▁ev ent\",\n      \"▁even t\",\n      \"▁ event\",\n      \"▁N ULL\",\n      \"▁ NULL\",\n      \"oh n\",\n      \"o hn\",\n      \"▁// /\",\n      \"▁/ //\",\n      \"▁ ///\",\n      \"▁bus iness\",\n      \"▁ business\",\n      \"ч а\",\n      \"▁pro f\",\n      \"▁pr of\",\n      \"▁ prof\",\n      \"er ror\",\n      \"err or\",\n      \"▁p or\",\n      \"▁po r\",\n      \"▁ por\",\n      \"▁com mun\",\n      \"▁comm un\",\n      \"▁ commun\",\n      \"In d\",\n      \"I nd\",\n      \"iu m\",\n      \"i um\",\n      \"Te st\",\n      \"T est\",\n      \"▁A d\",\n      \"▁ Ad\",\n      \"ou ble\",\n      \"▁s on\",\n      \"▁so n\",\n      \"▁ son\",\n      \"ri te\",\n      \"rit e\",\n      \"r ite\",\n      \"re ady\",\n      \"read y\",\n      \"rea dy\",\n      \"▁{ \\r\",\n      \"▁ {\\r\",\n      \"▁t hing\",\n      \"▁th ing\",\n      \"▁thin g\",\n      \"▁ thing\",\n      \"н я\",\n      \"▁P h\",\n      \"▁ Ph\",\n      \"pe d\",\n      \"p ed\",\n      \"с ь\",\n      \"iv ed\",\n      \"ive d\",\n      \"i ved\",\n      \"Y ou\",\n      \"ar l\",\n      \"a rl\",\n      \"con st\",\n      \"cons t\",\n      \".. /\",\n      \". ./\",\n      \"S e\",\n      \"S h\",\n      \"▁p ower\",\n      \"▁po wer\",\n      \"▁pow er\",\n      \"▁ power\",\n      \"rib ute\",\n      \"ribut e\",\n      \"ribu te\",\n      \"▁M y\",\n      \"▁ My\",\n      \"▁t alk\",\n      \"▁tal k\",\n      \"▁ talk\",\n      \"it ch\",\n      \"▁c alled\",\n      \"▁call ed\",\n      \"▁cal led\",\n      \"▁ called\",\n      \"▁c ame\",\n      \"▁cam e\",\n      \"▁ca me\",\n      \"▁be lie\",\n      \"▁bel ie\",\n      \"U R\",\n      \"Ad d\",\n      \"A dd\",\n      \"▁R es\",\n      \"▁Re s\",\n      \"▁ Res\",\n      \"as ter\",\n      \"ast er\",\n      \"aste r\",\n      \"a ster\",\n      \"el la\",\n      \"ell a\",\n      \"e lla\",\n      \"ob al\",\n      \"oba l\",\n      \"o bal\",\n      \"▁u ntil\",\n      \"▁un til\",\n      \"▁unt il\",\n      \"▁ until\",\n      \"▁h um\",\n      \"▁ hum\",\n      \"C O\",\n      \"at ely\",\n      \"ate ly\",\n      \"atel y\",\n      \"## ##\",\n      \"### #\",\n      \"# ###\",\n      \"pu blic\",\n      \"pub lic\",\n      \"p ublic\",\n      \"[ ]\",\n      \"▁r oom\",\n      \"▁ro om\",\n      \"▁ room\",\n      \"le n\",\n      \"l en\",\n      \"▁f amily\",\n      \"▁fam ily\",\n      \"▁famil y\",\n      \"▁ family\",\n      \"po r\",\n      \"p or\",\n      \"▁pro gram\",\n      \"▁pr ogram\",\n      \"▁ program\",\n      \"▁h ist\",\n      \"▁his t\",\n      \"▁hi st\",\n      \"▁ hist\",\n      \"▁m us\",\n      \"▁mu s\",\n      \"▁ mus\",\n      \"ar ge\",\n      \"arg e\",\n      \"on ey\",\n      \"one y\",\n      \"o ney\",\n      \"I m\",\n      \"el se\",\n      \"els e\",\n      \"ail s\",\n      \"ai ls\",\n      \"a ils\",\n      \"a f\",\n      \"▁l ove\",\n      \"▁lo ve\",\n      \"▁lov e\",\n      \"▁ love\",\n      \"ä r\",\n      \"as es\",\n      \"ase s\",\n      \"a ses\",\n      \"ph a\",\n      \"p ha\",\n      \"ou rs\",\n      \"our s\",\n      \"o urs\",\n      \"di s\",\n      \"d is\",\n      \"ma p\",\n      \"m ap\",\n      \"iv er\",\n      \"ive r\",\n      \"i ver\",\n      \"ö r\",\n      \"▁B l\",\n      \"▁ Bl\",\n      \"at eg\",\n      \"ate g\",\n      \"st ate\",\n      \"stat e\",\n      \"sta te\",\n      \"St ate\",\n      \"Stat e\",\n      \"er tain\",\n      \"ert ain\",\n      \"erta in\",\n      \"▁e ffect\",\n      \"▁eff ect\",\n      \"▁ effect\",\n      \"pr int\",\n      \"▁b ig\",\n      \"▁bi g\",\n      \"▁ big\",\n      \"in dex\",\n      \"ind ex\",\n      \"inde x\",\n      \"▁p ub\",\n      \"▁pu b\",\n      \"▁ pub\",\n      \"ve rt\",\n      \"ver t\",\n      \"v ert\",\n      \"er o\",\n      \"e ro\",\n      \"m d\",\n      \"▁m ethod\",\n      \"▁meth od\",\n      \"▁ method\",\n      \"▁g ame\",\n      \"▁gam e\",\n      \"▁ga me\",\n      \"▁ game\",\n      \"ri es\",\n      \"rie s\",\n      \"r ies\",\n      \"le te\",\n      \"let e\",\n      \"l ete\",\n      \"It em\",\n      \"I tem\",\n      \"IN G\",\n      \"I NG\",\n      \"re sent\",\n      \"res ent\",\n      \"al ity\",\n      \"ali ty\",\n      \"pt y\",\n      \"p ty\",\n      \"le y\",\n      \"l ey\",\n      \"oc ument\",\n      \"▁b eg\",\n      \"▁be g\",\n      \"T R\",\n      \"} .\",\n      \"▁sch ool\",\n      \"▁ school\",\n      \"he s\",\n      \"h es\",\n      \"д о\",\n      \"▁l ot\",\n      \"▁lo t\",\n      \"▁ lot\",\n      \"▁t ook\",\n      \"▁to ok\",\n      \"▁too k\",\n      \"▁a dv\",\n      \"▁ad v\",\n      \"▁ adv\",\n      \"▁c ap\",\n      \"▁ca p\",\n      \"▁ cap\",\n      \"M P\",\n      \"un k\",\n      \"▁l ight\",\n      \"▁li ght\",\n      \"▁lig ht\",\n      \"▁ light\",\n      \"▁l ater\",\n      \"▁la ter\",\n      \"▁late r\",\n      \"▁lat er\",\n      \". ,\",\n      \"Ke y\",\n      \"K ey\",\n      \"it ions\",\n      \"ition s\",\n      \"iti ons\",\n      \"▁en ough\",\n      \"▁/ **\",\n      \"▁/* *\",\n      \"▁ /**\",\n      \"▁w ent\",\n      \"▁we nt\",\n      \"▁wen t\",\n      \"ã o\",\n      \"▁th ough\",\n      \"▁thou gh\",\n      \"▁ though\",\n      \"▁g roup\",\n      \"▁gr oup\",\n      \"▁gro up\",\n      \"▁ group\",\n      \"▁me an\",\n      \"▁ mean\",\n      \"ск и\",\n      \"с ки\",\n      \"A P\",\n      \"▁n um\",\n      \"▁nu m\",\n      \"▁ num\",\n      \"▁c ond\",\n      \"▁con d\",\n      \"▁co nd\",\n      \"▁ cond\",\n      \"н і\",\n      \"▁g iven\",\n      \"▁giv en\",\n      \"▁give n\",\n      \"▁gi ven\",\n      \"▁w hy\",\n      \"▁wh y\",\n      \"▁ why\",\n      \"▁re ce\",\n      \"▁rec e\",\n      \"▁s ide\",\n      \"▁si de\",\n      \"▁sid e\",\n      \"▁ side\",\n      \"▁f ar\",\n      \"▁fa r\",\n      \"▁ far\",\n      \"Con text\",\n      \"Cont ext\",\n      \"м е\",\n      \"▁l og\",\n      \"▁lo g\",\n      \"▁ log\",\n      \"Vi ew\",\n      \"V iew\",\n      \"▁< <\",\n      \"▁ <<\",\n      \"fi l\",\n      \"f il\",\n      \"ac es\",\n      \"ace s\",\n      \"a ces\",\n      \"en cy\",\n      \"enc y\",\n      \"oa d\",\n      \"o ad\",\n      \"er ed\",\n      \"ere d\",\n      \"e red\",\n      \"▁pro duct\",\n      \"▁produ ct\",\n      \"▁prod uct\",\n      \"▁ product\",\n      \"E T\",\n      \"▁p aram\",\n      \"▁par am\",\n      \"▁para m\",\n      \"▁pa ram\",\n      \"▁ param\",\n      \"▁p rote\",\n      \"▁pro te\",\n      \"▁pr ote\",\n      \"▁prot e\",\n      \"▁ prote\",\n      \"te s\",\n      \"t es\",\n      \"Tim e\",\n      \"T ime\",\n      \"j e\",\n      \"ol ution\",\n      \"olut ion\",\n      \"▁р а\",\n      \"▁ ра\",\n      \"▁mon th\",\n      \"▁mont h\",\n      \"▁ month\",\n      \"fer ence\",\n      \"fe rence\",\n      \"▁a ppe\",\n      \"▁app e\",\n      \"▁ap pe\",\n      \"▁ appe\",\n      \"▁f ace\",\n      \"▁fac e\",\n      \"▁fa ce\",\n      \"▁ face\",\n      \"en ed\",\n      \"ene d\",\n      \"e ned\",\n      \"tr act\",\n      \"tra ct\",\n      \"t ract\",\n      \"▁l ess\",\n      \"▁le ss\",\n      \"▁les s\",\n      \"▁ less\",\n      \"A S\",\n      \"é e\",\n      \"▁g ive\",\n      \"▁giv e\",\n      \"▁gi ve\",\n      \"▁k ind\",\n      \"▁ki nd\",\n      \"▁kin d\",\n      \"▁ kind\",\n      \"▁c ount\",\n      \"▁co unt\",\n      \"▁coun t\",\n      \"▁cou nt\",\n      \"▁ count\",\n      \"co unt\",\n      \"cou nt\",\n      \"c ount\",\n      \"▁s top\",\n      \"▁st op\",\n      \"▁sto p\",\n      \"▁ stop\",\n      \"▁g over\",\n      \"▁go ver\",\n      \"k a\",\n      \"▁err or\",\n      \"▁er ror\",\n      \"▁ error\",\n      \"en ces\",\n      \"ence s\",\n      \"enc es\",\n      \"▁m il\",\n      \"▁mi l\",\n      \"▁ mil\",\n      \"al f\",\n      \"yn c\",\n      \"y nc\",\n      \"vi ous\",\n      \"v ious\",\n      \"h o\",\n      \"▁n ight\",\n      \"▁ni ght\",\n      \"▁ night\",\n      \"er a\",\n      \"e ra\",\n      \"▁п ро\",\n      \"▁пр о\",\n      \"▁ про\",\n      \"▁s ol\",\n      \"▁so l\",\n      \"▁ sol\",\n      \"me n\",\n      \"m en\",\n      \"▁w ater\",\n      \"▁wat er\",\n      \"▁wa ter\",\n      \"▁ water\",\n      \"er ing\",\n      \"eri ng\",\n      \"e ring\",\n      \"▁l im\",\n      \"▁li m\",\n      \"▁ lim\",\n      \"Par am\",\n      \"P aram\",\n      \"▁h ouse\",\n      \"▁hous e\",\n      \"▁ho use\",\n      \"▁ house\",\n      \"▁S ystem\",\n      \"▁ System\",\n      \"▁p ay\",\n      \"▁pa y\",\n      \"▁ pay\",\n      \"▁: =\",\n      \"ur o\",\n      \"u ro\",\n      \"oc i\",\n      \"o ci\",\n      \"z y\",\n      \"▁al ready\",\n      \", \\\\\",\n      \"le ngth\",\n      \"l ength\",\n      \"▁s i\",\n      \"▁ si\",\n      \"▁inter est\",\n      \"▁inte rest\",\n      \"▁ interest\",\n      \"af f\",\n      \"a ff\",\n      \"ct ed\",\n      \"c ted\",\n      \"ent ion\",\n      \"enti on\",\n      \"▁д о\",\n      \"▁ до\",\n      \"um e\",\n      \"u me\",\n      \"▁app ro\",\n      \"▁ap pro\",\n      \"▁ appro\",\n      \"br e\",\n      \"b re\",\n      \"I G\",\n      \"▁th row\",\n      \"▁thr ow\",\n      \"▁thro w\",\n      \"▁ throw\",\n      \"math cal\",\n      \"ir l\",\n      \"i rl\",\n      \"▁p rom\",\n      \"▁pro m\",\n      \"▁pr om\",\n      \"▁ prom\",\n      \"os s\",\n      \"o ss\",\n      \"▁re quest\",\n      \"▁requ est\",\n      \"▁req uest\",\n      \"▁ request\",\n      \"equ ation\",\n      \"eq uation\",\n      \"ol ogy\",\n      \"olog y\",\n      \"olo gy\",\n      \"mi t\",\n      \"m it\",\n      \"▁p ack\",\n      \"▁pa ck\",\n      \"▁pac k\",\n      \"▁ pack\",\n      \"in o\",\n      \"i no\",\n      \"ar ray\",\n      \"arr ay\",\n      \"z a\",\n      \"ti l\",\n      \"t il\",\n      \"U N\",\n      \"▁p resent\",\n      \"▁pre sent\",\n      \"▁pres ent\",\n      \"▁ present\",\n      \"▁or gan\",\n      \"▁org an\",\n      \"▁ organ\",\n      \"Fil e\",\n      \"Fi le\",\n      \"F ile\",\n      \"▁o rig\",\n      \"▁or ig\",\n      \"▁ orig\",\n      \"▁f ull\",\n      \"▁ful l\",\n      \"▁fu ll\",\n      \"▁ full\",\n      \"is tr\",\n      \"ist r\",\n      \"i str\",\n      \"▁f lo\",\n      \"▁fl o\",\n      \"h r\",\n      \"▁as sert\",\n      \"▁ass ert\",\n      \"▁ assert\",\n      \"ar ds\",\n      \"ard s\",\n      \"ur l\",\n      \"u rl\",\n      \"en n\",\n      \"e nn\",\n      \"s l\",\n      \"▁ А\",\n      \"▁c ho\",\n      \"▁ch o\",\n      \"▁ cho\",\n      \"▁l evel\",\n      \"▁le vel\",\n      \"▁lev el\",\n      \"▁ level\",\n      \"O T\",\n      \"wo rd\",\n      \"wor d\",\n      \"w ord\",\n      \"▁b ody\",\n      \"▁bo dy\",\n      \"▁bod y\",\n      \"▁ body\",\n      \"▁u ser\",\n      \"▁us er\",\n      \"▁use r\",\n      \"▁ user\",\n      \"í a\",\n      \"Q u\",\n      \"▁m ain\",\n      \"▁ma in\",\n      \"▁mai n\",\n      \"▁ main\",\n      \"A B\",\n      \"pl oy\",\n      \"plo y\",\n      \"Ev ent\",\n      \"Even t\",\n      \"E vent\",\n      \"▁s uper\",\n      \"▁su per\",\n      \"▁sup er\",\n      \"▁ super\",\n      \"ok en\",\n      \"oke n\",\n      \"o ken\",\n      \"▁ Н\",\n      \"A s\",\n      \"th ers\",\n      \"ther s\",\n      \"the rs\",\n      \"м о\",\n      \"к у\",\n      \"▁d ays\",\n      \"▁day s\",\n      \"▁da ys\",\n      \"▁ days\",\n      \"▁d one\",\n      \"▁do ne\",\n      \"▁don e\",\n      \"▁ done\",\n      \"▁v iew\",\n      \"▁vi ew\",\n      \"▁vie w\",\n      \"▁ view\",\n      \"si de\",\n      \"sid e\",\n      \"s ide\",\n      \"с и\",\n      \"') ;\",\n      \"' );\",\n      \"▁v ol\",\n      \"▁vo l\",\n      \"▁ vol\",\n      \"▁t ot\",\n      \"▁to t\",\n      \"▁ tot\",\n      \"ca se\",\n      \"cas e\",\n      \"c ase\",\n      \"▁a ff\",\n      \"▁af f\",\n      \"▁ aff\",\n      \"Requ est\",\n      \"Re quest\",\n      \"Req uest\",\n      \"▁M an\",\n      \"▁Ma n\",\n      \"▁ Man\",\n      \"\\\\ \\\\\",\n      \"▁J ohn\",\n      \"▁Jo hn\",\n      \"▁Joh n\",\n      \"▁ John\",\n      \"▁ Б\",\n      \"or th\",\n      \"ort h\",\n      \"▁j e\",\n      \"▁ je\",\n      \"▁u ne\",\n      \"▁un e\",\n      \"▁ une\",\n      \"l a\",\n      \"[ \\\"\",\n      \"fi eld\",\n      \"f ield\",\n      \"▁U S\",\n      \"▁ US\",\n      \"ic o\",\n      \"i co\",\n      \"▁per form\",\n      \"▁perf orm\",\n      \"▁ perform\",\n      \"ail able\",\n      \"Con fig\",\n      \"Conf ig\",\n      \"O r\",\n      \"▁mod el\",\n      \"▁mo del\",\n      \"▁mode l\",\n      \"▁ model\",\n      \"al es\",\n      \"ale s\",\n      \"a les\",\n      \"▁c reate\",\n      \"▁cre ate\",\n      \"▁creat e\",\n      \"▁ create\",\n      \"▁a nn\",\n      \"▁an n\",\n      \"▁ ann\",\n      \"an ces\",\n      \"ance s\",\n      \"anc es\",\n      \"I L\",\n      \"in ation\",\n      \"▁I m\",\n      \"▁ Im\",\n      \"an te\",\n      \"ant e\",\n      \"a nte\",\n      \"an a\",\n      \"a na\",\n      \"а н\",\n      \"▁t old\",\n      \"▁to ld\",\n      \"con fig\",\n      \"conf ig\",\n      \"\\\" ]\",\n      \"me t\",\n      \"m et\",\n      \"l t\",\n      \"▁t ext\",\n      \"▁te xt\",\n      \"▁tex t\",\n      \"▁ text\",\n      \"▁M ay\",\n      \"▁Ma y\",\n      \"▁ May\",\n      \"▁o rg\",\n      \"▁or g\",\n      \"▁ org\",\n      \"▁p ort\",\n      \"▁po rt\",\n      \"▁por t\",\n      \"▁ port\",\n      \"P l\",\n      \"ent ly\",\n      \"▁d oor\",\n      \"▁do or\",\n      \"▁ door\",\n      \"U S\",\n      \"▁( *\",\n      \"▁ (*\",\n      \"k t\",\n      \"E S\",\n      \"ent ial\",\n      \"enti al\",\n      \"▁is s\",\n      \"▁i ss\",\n      \"▁ iss\",\n      \"▁in c\",\n      \"▁i nc\",\n      \"▁ inc\",\n      \"No de\",\n      \"N ode\",\n      \"iv ely\",\n      \"ive ly\",\n      \"ivel y\",\n      \"▁as ked\",\n      \"▁ask ed\",\n      \"ir t\",\n      \"i rt\",\n      \"▁T e\",\n      \"▁ Te\",\n      \"▁re port\",\n      \"▁rep ort\",\n      \"▁repo rt\",\n      \"▁ report\",\n      \"▁c hang\",\n      \"▁ch ang\",\n      \"▁cha ng\",\n      \"ст и\",\n      \"с ти\",\n      \"▁a long\",\n      \"▁al ong\",\n      \"▁ch ange\",\n      \"▁chang e\",\n      \"▁ change\",\n      \"Si ze\",\n      \"S ize\",\n      \"▁e ver\",\n      \"▁ev er\",\n      \"▁ ever\",\n      \"▁o cc\",\n      \"▁oc c\",\n      \"▁ occ\",\n      \"ur y\",\n      \"u ry\",\n      \"▁m ind\",\n      \"▁min d\",\n      \"▁mi nd\",\n      \"▁ mind\",\n      \"or der\",\n      \"ord er\",\n      \"po int\",\n      \"p oint\",\n      \"ст о\",\n      \"с то\",\n      \"▁w he\",\n      \"▁wh e\",\n      \"▁ whe\",\n      \"▁import ant\",\n      \"▁ important\",\n      \"de s\",\n      \"d es\",\n      \"▁N ot\",\n      \"▁No t\",\n      \"▁ Not\",\n      \"▁w rit\",\n      \"▁wr it\",\n      \"▁ writ\",\n      \"▁e yes\",\n      \"▁ey es\",\n      \"▁eye s\",\n      \"▁d esc\",\n      \"▁de sc\",\n      \"▁des c\",\n      \"▁ desc\",\n      \"mo st\",\n      \"mos t\",\n      \"m ost\",\n      \"k s\",\n      \"▁b it\",\n      \"▁bi t\",\n      \"▁ bit\",\n      \"▁su ccess\",\n      \"▁suc cess\",\n      \"▁succ ess\",\n      \"▁ success\",\n      \"т ь\",\n      \"б о\",\n      \"co re\",\n      \"cor e\",\n      \"c ore\",\n      \"} (\",\n      \"▁ar ray\",\n      \"▁arr ay\",\n      \"▁ array\",\n      \"li n\",\n      \"l in\",\n      \"li sh\",\n      \"l ish\",\n      \"▁follow ing\",\n      \"Fi eld\",\n      \"F ield\",\n      \"id s\",\n      \"i ds\",\n      \"hi ng\",\n      \"hin g\",\n      \"h ing\",\n      \"▁c al\",\n      \"▁ca l\",\n      \"▁ cal\",\n      \"I s\",\n      \"ar ing\",\n      \"ari ng\",\n      \"arin g\",\n      \"a ring\",\n      \"le v\",\n      \"l ev\",\n      \"al t\",\n      \"a lt\",\n      \"C H\",\n      \"▁d é\",\n      \"al pha\",\n      \"alph a\",\n      \"▁f our\",\n      \"▁fo ur\",\n      \"▁fou r\",\n      \"▁ four\",\n      \"▁l aw\",\n      \"▁la w\",\n      \"▁ law\",\n      \"▁с е\",\n      \"▁ се\",\n      \"ir on\",\n      \"iro n\",\n      \"i ron\",\n      \"▁d isc\",\n      \"▁dis c\",\n      \"▁di sc\",\n      \"с е\",\n      \"ke n\",\n      \"k en\",\n      \"no de\",\n      \"nod e\",\n      \"n ode\",\n      \"▁P ar\",\n      \"▁Pa r\",\n      \"▁ Par\",\n      \"▁E ng\",\n      \"▁En g\",\n      \"▁ Eng\",\n      \"▁m ove\",\n      \"▁mov e\",\n      \"▁mo ve\",\n      \"▁ move\",\n      \"▁L icense\",\n      \"▁Lic ense\",\n      \"▁ License\",\n      \"cu l\",\n      \"c ul\",\n      \"ion e\",\n      \"io ne\",\n      \"i one\",\n      \") $\",\n      \"▁t w\",\n      \"▁ tw\",\n      \"W e\",\n      \"se l\",\n      \"s el\",\n      \"▁W ith\",\n      \"▁Wi th\",\n      \"▁ With\",\n      \"▁on ce\",\n      \"▁ once\",\n      \"Serv ice\",\n      \"S ervice\",\n      \"bo l\",\n      \"b ol\",\n      \"ur ed\",\n      \"ure d\",\n      \"u red\",\n      \"id a\",\n      \"i da\",\n      \"▁Q u\",\n      \"▁ Qu\",\n      \"▁g row\",\n      \"▁gr ow\",\n      \"▁gro w\",\n      \"▁ grow\",\n      \"▁c onne\",\n      \"▁con ne\",\n      \"▁conn e\",\n      \"▁ conne\",\n      \"E X\",\n      \"▁h tt\",\n      \"▁ htt\",\n      \"▁} ;\",\n      \"▁ };\",\n      \"▁w alk\",\n      \"▁wal k\",\n      \"▁ walk\",\n      \"▁in it\",\n      \"▁i nit\",\n      \"▁ init\",\n      \"na l\",\n      \"n al\",\n      \"en der\",\n      \"end er\",\n      \"ende r\",\n      \"e nder\",\n      \"cri ption\",\n      \"cript ion\",\n      \"mb er\",\n      \"m ber\",\n      \"le cted\",\n      \"lect ed\",\n      \"p o\",\n      \"▁n il\",\n      \"▁ni l\",\n      \"▁ nil\",\n      \"▁p rob\",\n      \"▁pro b\",\n      \"▁pr ob\",\n      \"▁ prob\",\n      \"ч и\",\n      \"▁S te\",\n      \"▁St e\",\n      \"▁ Ste\",\n      \"is on\",\n      \"iso n\",\n      \"i son\",\n      \"an ds\",\n      \"and s\",\n      \"os ed\",\n      \"ose d\",\n      \"o sed\",\n      \"ж е\",\n      \"▁H is\",\n      \"▁Hi s\",\n      \"▁ His\",\n      \"ü r\",\n      \"Ma n\",\n      \"M an\",\n      \"El ement\",\n      \"Elem ent\",\n      \"E lement\",\n      \"▁a ble\",\n      \"▁ab le\",\n      \"▁ able\",\n      \"In dex\",\n      \"Ind ex\",\n      \"se arch\",\n      \"s earch\",\n      \"▁m ag\",\n      \"▁ma g\",\n      \"▁ mag\",\n      \"а р\",\n      \"▁c ourse\",\n      \"▁cour se\",\n      \"▁cours e\",\n      \"▁ course\",\n      \"▁C ar\",\n      \"▁Ca r\",\n      \"▁ Car\",\n      \"▁e xp\",\n      \"▁ex p\",\n      \"▁ exp\",\n      \"ap h\",\n      \"a ph\",\n      \"▁m it\",\n      \"▁mi t\",\n      \"▁ mit\",\n      \"▁does n\",\n      \"▁def ault\",\n      \"▁ default\",\n      \"/ >\",\n      \"ai m\",\n      \"a im\",\n      \"▁s ervice\",\n      \"▁serv ice\",\n      \"▁ service\",\n      \"▁with in\",\n      \"an gu\",\n      \"ang u\",\n      \"▁ Д\",\n      \"uf fer\",\n      \"uff er\",\n      \"A G\",\n      \"▁D o\",\n      \"▁ Do\",\n      \"▁in cre\",\n      \"▁inc re\",\n      \"▁under stand\",\n      \"} ^\",\n      \"▁look ed\",\n      \"▁lo oked\",\n      \"ge n\",\n      \"g en\",\n      \"ail ed\",\n      \"ai led\",\n      \"a iled\",\n      \"▁ е\",\n      \"ay er\",\n      \"aye r\",\n      \"a yer\",\n      \"▁O ne\",\n      \"▁On e\",\n      \"▁ One\",\n      \"▁b as\",\n      \"▁ba s\",\n      \"▁ bas\",\n      \"▁j ob\",\n      \"▁jo b\",\n      \"▁ job\",\n      \"m u\",\n      \"bu t\",\n      \"b ut\",\n      \"el ta\",\n      \"elt a\",\n      \"▁Ch rist\",\n      \"▁Chris t\",\n      \"▁ Christ\",\n      \"ur ation\",\n      \"▁re cord\",\n      \"▁rec ord\",\n      \"▁ record\",\n      \"▁Un ivers\",\n      \"▁ Univers\",\n      \"iv id\",\n      \"ivi d\",\n      \"i vid\",\n      \"val id\",\n      \"▁ Р\",\n      \"▁h old\",\n      \"▁hol d\",\n      \"▁ho ld\",\n      \"▁ hold\",\n      \"▁t able\",\n      \"▁tab le\",\n      \"▁ta ble\",\n      \"▁ table\",\n      \"on es\",\n      \"one s\",\n      \"o nes\",\n      \"lin k\",\n      \"l ink\",\n      \"▁G e\",\n      \"▁ Ge\",\n      \"▁of fer\",\n      \"▁off er\",\n      \"st er\",\n      \"ste r\",\n      \"s ter\",\n      \"For m\",\n      \"F orm\",\n      \"= {\",\n      \"▁н е\",\n      \"▁ не\",\n      \"st ance\",\n      \"stan ce\",\n      \"▁g overn\",\n      \"▁go vern\",\n      \"▁gover n\",\n      \"▁ govern\",\n      \"▁te chn\",\n      \"▁tech n\",\n      \"▁ techn\",\n      \"▁p rim\",\n      \"▁pr im\",\n      \"▁pri m\",\n      \"▁ prim\",\n      \"* .\",\n      \"ch o\",\n      \"c ho\",\n      \"ma x\",\n      \"m ax\",\n      \"▁f ore\",\n      \"▁for e\",\n      \"▁fo re\",\n      \"▁ fore\",\n      \"▁C an\",\n      \"▁Ca n\",\n      \"▁ Can\",\n      \"▁pol it\",\n      \"▁po lit\",\n      \"▁ polit\",\n      \"or ies\",\n      \"ori es\",\n      \"orie s\",\n      \"o ries\",\n      \"▁t imes\",\n      \"▁time s\",\n      \"▁tim es\",\n      \"▁ti mes\",\n      \"▁ times\",\n      \"▁d ans\",\n      \"▁da ns\",\n      \"▁dan s\",\n      \"▁a ir\",\n      \"▁ai r\",\n      \"▁ air\",\n      \"▁any thing\",\n      \"▁s ever\",\n      \"▁se ver\",\n      \"ac y\",\n      \"a cy\",\n      \"} _\",\n      \"H e\",\n      \"▁l east\",\n      \"▁le ast\",\n      \"ip s\",\n      \"i ps\",\n      \"EN T\",\n      \"E NT\",\n      \"d o\",\n      \"▁о т\",\n      \"▁ от\",\n      \"▁c ost\",\n      \"▁co st\",\n      \"▁cos t\",\n      \"▁ cost\",\n      \". ”\",\n      \"▁child ren\",\n      \"▁ children\",\n      \"ab ility\",\n      \"abil ity\",\n      \"Bu t\",\n      \"B ut\",\n      \"▁p ath\",\n      \"▁pat h\",\n      \"▁pa th\",\n      \"▁ path\",\n      \"res ult\",\n      \"ac ter\",\n      \"act er\",\n      \"▁e lement\",\n      \"▁el ement\",\n      \"▁ele ment\",\n      \"▁elem ent\",\n      \"▁ element\",\n      \"e e\",\n      \"▁w ait\",\n      \"▁wa it\",\n      \"▁ wait\",\n      \"▁m oney\",\n      \"▁mon ey\",\n      \"▁mo ney\",\n      \"Ma p\",\n      \"M ap\",\n      \"t d\",\n      \"oi n\",\n      \"o in\",\n      \"iv ing\",\n      \"ivi ng\",\n      \"i ving\",\n      \"ic ht\",\n      \"ich t\",\n      \"i cht\",\n      \"ic y\",\n      \"i cy\",\n      \"sc h\",\n      \"s ch\",\n      \"st e\",\n      \"s te\",\n      \"д у\",\n      \"or ed\",\n      \"ore d\",\n      \"o red\",\n      \"ou d\",\n      \"o ud\",\n      \"il le\",\n      \"ill e\",\n      \"i lle\",\n      \"is ed\",\n      \"ise d\",\n      \"i sed\",\n      \"pl ication\",\n      \"plic ation\",\n      \"▁c ustom\",\n      \"▁cust om\",\n      \"▁ custom\",\n      \"▁h aving\",\n      \"▁ha ving\",\n      \"▁hav ing\",\n      \"pon ent\",\n      \"po nent\",\n      \"▁B y\",\n      \"▁ By\",\n      \"ul es\",\n      \"ule s\",\n      \"u les\",\n      \"ue d\",\n      \"u ed\",\n      \"at ter\",\n      \"att er\",\n      \"atte r\",\n      \"An d\",\n      \"A nd\",\n      \"it ive\",\n      \"iti ve\",\n      \"De f\",\n      \"D ef\",\n      \"▁m oment\",\n      \"▁mom ent\",\n      \"▁mo ment\",\n      \"▁ moment\",\n      \"at erial\",\n      \"ate rial\",\n      \"ater ial\",\n      \"Cl ass\",\n      \"C lass\",\n      \"og raph\",\n      \"ograp h\",\n      \"o graph\",\n      \"ik e\",\n      \"i ke\",\n      \"▁l arge\",\n      \"▁larg e\",\n      \"▁ large\",\n      \"▁# ###\",\n      \"▁## ##\",\n      \"▁### #\",\n      \"▁ ####\",\n      \"▁e ither\",\n      \"du ct\",\n      \"duc t\",\n      \"d uct\",\n      \"▁T hen\",\n      \"▁The n\",\n      \"▁Th en\",\n      \"▁ Then\",\n      \"▁G u\",\n      \"▁ Gu\",\n      \"ole an\",\n      \"o lean\",\n      \"pe rt\",\n      \"per t\",\n      \"p ert\",\n      \"▁G et\",\n      \"▁Ge t\",\n      \"▁ Get\",\n      \"▁A b\",\n      \"▁ Ab\",\n      \"▁sh ort\",\n      \"▁ short\",\n      \"O n\",\n      \"im ent\",\n      \"ime nt\",\n      \"imen t\",\n      \"i ment\",\n      \"▁pro ject\",\n      \"▁ project\",\n      \"cri pt\",\n      \"cr ipt\",\n      \"c ript\",\n      \"▁incl uding\",\n      \"▁includ ing\",\n      \"▁inclu ding\",\n      \"▁ including\",\n      \"ни я\",\n      \"▁m aking\",\n      \"▁ma king\",\n      \"▁ making\",\n      \"▁some one\",\n      \"▁F l\",\n      \"▁ Fl\",\n      \"▁s at\",\n      \"▁sa t\",\n      \"▁ sat\",\n      \"▁comp any\",\n      \"▁compan y\",\n      \"▁ company\",\n      \"oc us\",\n      \"p u\",\n      \"▁G od\",\n      \"▁Go d\",\n      \"▁ God\",\n      \"if ication\",\n      \"ific ation\",\n      \"N o\",\n      \"▁s n\",\n      \"▁ sn\",\n      \"an o\",\n      \"a no\",\n      \"g a\",\n      \"▁a u\",\n      \"▁ au\",\n      \"▁c ou\",\n      \"▁co u\",\n      \"▁ cou\",\n      \"á s\",\n      \"en ded\",\n      \"end ed\",\n      \"ende d\",\n      \"т у\",\n      \"ob er\",\n      \"obe r\",\n      \"o ber\",\n      \"▁n othing\",\n      \"▁not hing\",\n      \"▁no thing\",\n      \"▁n et\",\n      \"▁ne t\",\n      \"▁ net\",\n      \"▁p ot\",\n      \"▁po t\",\n      \"▁ pot\",\n      \"▁t yp\",\n      \"▁ty p\",\n      \"▁ typ\",\n      \"▁it em\",\n      \"▁i tem\",\n      \"▁ item\",\n      \"re w\",\n      \"r ew\",\n      \"At t\",\n      \"A tt\",\n      \"▁you ng\",\n      \"▁yo ung\",\n      \"} \\r\",\n      \"nd er\",\n      \"nde r\",\n      \"n der\",\n      \"st art\",\n      \"sta rt\",\n      \"star t\",\n      \"▁S c\",\n      \"▁ Sc\",\n      \"* )\",\n      \"▁e nc\",\n      \"▁en c\",\n      \"▁ enc\",\n      \"▁w omen\",\n      \"▁wom en\",\n      \"▁wo men\",\n      \"▁look ing\",\n      \"▁lo oking\",\n      \"▁ looking\",\n      \"▁р о\",\n      \"▁ ро\",\n      \"▁he alth\",\n      \"▁heal th\",\n      \"▁ health\",\n      \"Pat h\",\n      \"P ath\",\n      \"▁A fter\",\n      \"▁Af ter\",\n      \"▁ After\",\n      \"▁m ult\",\n      \"▁mu lt\",\n      \"▁mul t\",\n      \"▁ mult\",\n      \"▁{ \\\\\",\n      \"▁ {\\\\\",\n      \"▁l and\",\n      \"▁la nd\",\n      \"▁lan d\",\n      \"▁ land\",\n      \"or ld\",\n      \"▁D es\",\n      \"▁De s\",\n      \"▁ Des\",\n      \"▁e ng\",\n      \"▁en g\",\n      \"▁ eng\",\n      \"in put\",\n      \"▁P ol\",\n      \"▁Po l\",\n      \"▁ Pol\",\n      \"\\\" \\\"\",\n      \"Co de\",\n      \"C ode\",\n      \"▁s upp\",\n      \"▁su pp\",\n      \"▁sup p\",\n      \"▁ supp\",\n      \"ain er\",\n      \"ai ner\",\n      \"aine r\",\n      \"a iner\",\n      \"he ck\",\n      \"▁m or\",\n      \"▁mo r\",\n      \"▁ mor\",\n      \"▁m ill\",\n      \"▁mil l\",\n      \"▁mi ll\",\n      \"▁ mill\",\n      \"▁a w\",\n      \"▁ aw\",\n      \"f s\",\n      \"▁do ing\",\n      \"ting s\",\n      \"t ings\",\n      \"ad es\",\n      \"ade s\",\n      \"a des\",\n      \"▁to get\",\n      \"▁c ertain\",\n      \"▁cert ain\",\n      \"▁cer tain\",\n      \"▁t ogether\",\n      \"▁toget her\",\n      \"C E\",\n      \"ide o\",\n      \"▁Amer ican\",\n      \"▁America n\",\n      \"▁ American\",\n      \"on y\",\n      \"o ny\",\n      \"id d\",\n      \"i dd\",\n      \"I I\",\n      \"ge d\",\n      \"g ed\",\n      \"ab les\",\n      \"able s\",\n      \"abl es\",\n      \"a bles\",\n      \"▁ide nt\",\n      \"▁id ent\",\n      \"▁ ident\",\n      \"io d\",\n      \"i od\",\n      \"▁p arent\",\n      \"▁par ent\",\n      \"▁pa rent\",\n      \"▁pare nt\",\n      \"▁ parent\",\n      \"F or\",\n      \"amb da\",\n      \"an do\",\n      \"and o\",\n      \"= \\\\\",\n      \"ag ed\",\n      \"age d\",\n      \"a ged\",\n      \"en ding\",\n      \"end ing\",\n      \"In t\",\n      \"I nt\",\n      \"▁poss ible\",\n      \"▁ possible\",\n      \"▁с о\",\n      \"▁ со\",\n      \"iv ity\",\n      \"ivi ty\",\n      \"nu m\",\n      \"n um\",\n      \"r t\",\n      \"aj or\",\n      \"ajo r\",\n      \"a jor\",\n      \"cre ate\",\n      \"creat e\",\n      \"c reate\",\n      \"ri de\",\n      \"rid e\",\n      \"r ide\",\n      \"▁k new\",\n      \"▁kn ew\",\n      \"▁kne w\",\n      \"bi t\",\n      \"b it\",\n      \"it ional\",\n      \"ition al\",\n      \"iti onal\",\n      \"▁l ik\",\n      \"▁li k\",\n      \"▁ lik\",\n      \"▁H er\",\n      \"▁He r\",\n      \"▁ Her\",\n      \"ens ion\",\n      \"\\\" .\",\n      \"ot o\",\n      \"o to\",\n      \"▁ex ist\",\n      \"▁ exist\",\n      \"ak en\",\n      \"ake n\",\n      \"a ken\",\n      \"▁act ually\",\n      \"▁actual ly\",\n      \"c a\",\n      \"▁ Г\",\n      \"х о\",\n      \"in n\",\n      \"i nn\",\n      \"Al l\",\n      \"A ll\",\n      \"bu f\",\n      \"b uf\",\n      \"▁M e\",\n      \"▁ Me\",\n      \"▁s een\",\n      \"▁se en\",\n      \"▁see n\",\n      \"▁ seen\",\n      \"op s\",\n      \"o ps\",\n      \"No t\",\n      \"N ot\",\n      \"▁cont rol\",\n      \"▁contr ol\",\n      \"▁contro l\",\n      \"▁ control\",\n      \"▁res pon\",\n      \"▁resp on\",\n      \"▁ respon\",\n      \"} ;\",\n      \"il t\",\n      \"i lt\",\n      \"is k\",\n      \"i sk\",\n      \"▁b ad\",\n      \"▁ba d\",\n      \"▁ bad\",\n      \"▁o ften\",\n      \"▁of ten\",\n      \"▁p ast\",\n      \"▁pas t\",\n      \"▁pa st\",\n      \"ap er\",\n      \"ape r\",\n      \"a per\",\n      \"▁re ason\",\n      \"▁ reason\",\n      \"et ers\",\n      \"eter s\",\n      \"ete rs\",\n      \"e ters\",\n      \"▁w anted\",\n      \"▁want ed\",\n      \"ur a\",\n      \"u ra\",\n      \"ta ble\",\n      \"tab le\",\n      \"t able\",\n      \"or mal\",\n      \"orm al\",\n      \"wid th\",\n      \"w idth\",\n      \"г а\",\n      \"pt r\",\n      \"p tr\",\n      \"▁d est\",\n      \"▁de st\",\n      \"▁des t\",\n      \"▁ dest\",\n      \"▁de sign\",\n      \"▁des ign\",\n      \"▁ design\",\n      \"▁s ound\",\n      \"▁so und\",\n      \"▁sou nd\",\n      \"▁ sound\",\n      \"▁p lan\",\n      \"▁pl an\",\n      \"▁ plan\",\n      \"▁b ase\",\n      \"▁bas e\",\n      \"▁ba se\",\n      \"▁ base\",\n      \"ha nd\",\n      \"han d\",\n      \"h and\",\n      \"g s\",\n      \"▁s ays\",\n      \"▁sa ys\",\n      \"▁say s\",\n      \"fun ction\",\n      \"f unction\",\n      \"▁t ri\",\n      \"▁tr i\",\n      \"▁ tri\",\n      \"m t\",\n      \"▁in vest\",\n      \"▁inv est\",\n      \"▁av ailable\",\n      \"▁ available\",\n      \"ay out\",\n      \"a yout\",\n      \"▁o ch\",\n      \"▁oc h\",\n      \"▁ och\",\n      \"▁l as\",\n      \"▁la s\",\n      \"▁ las\",\n      \"il led\",\n      \"ill ed\",\n      \"ille d\",\n      \"V al\",\n      \"▁ ф\",\n      \"ie ty\",\n      \"iet y\",\n      \"i ety\",\n      \"mo n\",\n      \"m on\",\n      \"Ha nd\",\n      \"H and\",\n      \"F r\",\n      \"ia m\",\n      \"i am\",\n      \"pa ce\",\n      \"p ace\",\n      \"▁O b\",\n      \"▁ Ob\",\n      \"▁p ara\",\n      \"▁par a\",\n      \"▁pa ra\",\n      \"▁ para\",\n      \"▁me et\",\n      \"▁s um\",\n      \"▁su m\",\n      \"▁ sum\",\n      \"M essage\",\n      \"ic i\",\n      \"i ci\",\n      \"▁k nown\",\n      \"▁kn own\",\n      \"▁know n\",\n      \"▁ known\",\n      \"▁g en\",\n      \"▁ge n\",\n      \"▁ gen\",\n      \"am ma\",\n      \"amm a\",\n      \"a mma\",\n      \"ar r\",\n      \"a rr\",\n      \"▁t re\",\n      \"▁tr e\",\n      \"▁ tre\",\n      \"ok e\",\n      \"o ke\",\n      \"ut h\",\n      \"u th\",\n      \"~ \\\\\",\n      \"▁exper ience\",\n      \"▁experi ence\",\n      \"ic le\",\n      \"icl e\",\n      \"i cle\",\n      \"▁I l\",\n      \"▁ Il\",\n      \"▁s ent\",\n      \"▁se nt\",\n      \"▁sen t\",\n      \"▁ sent\",\n      \"▁o thers\",\n      \"▁other s\",\n      \"▁ others\",\n      \"▁s oft\",\n      \"▁so ft\",\n      \"▁ soft\",\n      \"I P\",\n      \"▁m ax\",\n      \"▁ma x\",\n      \"▁ max\",\n      \"ba ll\",\n      \"bal l\",\n      \"b all\",\n      \"▁mark et\",\n      \"▁mar ket\",\n      \"▁ market\",\n      \"▁p our\",\n      \"▁po ur\",\n      \"▁pou r\",\n      \"pr ession\",\n      \"press ion\",\n      \"p ression\",\n      \"ep s\",\n      \"e ps\",\n      \"▁s aw\",\n      \"▁sa w\",\n      \"▁a cross\",\n      \"▁ac ross\",\n      \"▁S u\",\n      \"▁ Su\",\n      \"O ver\",\n      \"ни е\",\n      \"ul ation\",\n      \"u lation\",\n      \"▁R eg\",\n      \"▁Re g\",\n      \"▁ Reg\",\n      \"▁+ =\",\n      \"▁ +=\",\n      \"bo dy\",\n      \"b ody\",\n      \") \\\\\",\n      \"▁pr int\",\n      \"▁pri nt\",\n      \"▁prin t\",\n      \"▁ print\",\n      \"▁п ри\",\n      \"▁пр и\",\n      \"▁ при\",\n      \"d b\",\n      \"our ces\",\n      \"ource s\",\n      \"ward s\",\n      \"war ds\",\n      \"w ards\",\n      \"▁bl ack\",\n      \"▁ black\",\n      \"с о\",\n      \"il i\",\n      \"i li\",\n      \"▁E d\",\n      \"▁ Ed\",\n      \"▁com plet\",\n      \"▁comp let\",\n      \"▁compl et\",\n      \"▁s ingle\",\n      \"▁sing le\",\n      \"▁sin gle\",\n      \"▁ single\",\n      \"▁I N\",\n      \"▁ IN\",\n      \"ac hed\",\n      \"ach ed\",\n      \"ache d\",\n      \"a ched\",\n      \"b t\",\n      \"▁c ode\",\n      \"▁co de\",\n      \"▁cod e\",\n      \"▁ code\",\n      \"▁b ool\",\n      \"▁bo ol\",\n      \"▁ bool\",\n      \"▁a rea\",\n      \"▁are a\",\n      \"▁ar ea\",\n      \"▁ area\",\n      \"▁re quire\",\n      \"▁requ ire\",\n      \"▁ require\",\n      \"▁pro blem\",\n      \"▁proble m\",\n      \"▁prob lem\",\n      \"ac ed\",\n      \"ace d\",\n      \"a ced\",\n      \"Eq u\",\n      \"E qu\",\n      \"▁con fig\",\n      \"▁conf ig\",\n      \"▁ config\",\n      \"ve c\",\n      \"v ec\",\n      \"ne y\",\n      \"n ey\",\n      \"c y\",\n      \"A l\",\n      \"▁acc ount\",\n      \"▁ac count\",\n      \"▁ account\",\n      \"ym bol\",\n      \"▁s te\",\n      \"▁st e\",\n      \"▁ ste\",\n      \"ge s\",\n      \"g es\",\n      \"Ar ray\",\n      \"Arr ay\",\n      \"em pl\",\n      \"emp l\",\n      \"con text\",\n      \"cont ext\",\n      \"De s\",\n      \"D es\",\n      \"Res ult\",\n      \"ec ut\",\n      \"e cut\",\n      \"▁t arget\",\n      \"▁tar get\",\n      \"▁ target\",\n      \"▁get ting\",\n      \"\\\" />\",\n      \"og le\",\n      \"o gle\",\n      \"▁him self\",\n      \"▁was n\",\n      \"▁wa sn\",\n      \"▁b lock\",\n      \"▁bl ock\",\n      \"▁blo ck\",\n      \"▁ block\",\n      \"▁a nt\",\n      \"▁an t\",\n      \"▁ ant\",\n      \"▁Y ork\",\n      \"▁be come\",\n      \"▁bec ome\",\n      \"if f\",\n      \"i ff\",\n      \"port s\",\n      \"por ts\",\n      \"p orts\",\n      \"re ate\",\n      \"reat e\",\n      \"rea te\",\n      \"= '\",\n      \"c d\",\n      \"loc ation\",\n      \"l ocation\",\n      \"е т\",\n      \"▁a ccess\",\n      \"▁acc ess\",\n      \"▁ac cess\",\n      \"▁ access\",\n      \"gr ess\",\n      \"gre ss\",\n      \"gres s\",\n      \"g ress\",\n      \"ro s\",\n      \"r os\",\n      \"U p\",\n      \"▁work ing\",\n      \"▁wor king\",\n      \"▁ working\",\n      \"▁A m\",\n      \"▁ Am\",\n      \"iq u\",\n      \"i qu\",\n      \"ce r\",\n      \"c er\",\n      \"▁( (\",\n      \"▁ ((\",\n      \"▁P er\",\n      \"▁Pe r\",\n      \"▁ Per\",\n      \"▁f unc\",\n      \"▁fun c\",\n      \"▁fu nc\",\n      \"▁ func\",\n      \"▁g irl\",\n      \"▁gi rl\",\n      \"▁gir l\",\n      \"▁ girl\",\n      \"▁ab ove\",\n      \"pe n\",\n      \"p en\",\n      \"п и\",\n      \"id o\",\n      \"i do\",\n      \"▁v ersion\",\n      \"▁vers ion\",\n      \"▁ version\",\n      \"T Y\",\n      \"▁ ;\",\n      \"ma ry\",\n      \"mar y\",\n      \"m ary\",\n      \"ab led\",\n      \"able d\",\n      \"abl ed\",\n      \"a bled\",\n      \"an nel\",\n      \"ann el\",\n      \"anne l\",\n      \"▁ex ample\",\n      \"▁exam ple\",\n      \"▁ example\",\n      \"▁con text\",\n      \"▁cont ext\",\n      \"▁ context\",\n      \"O P\",\n      \"▁re d\",\n      \"▁r ed\",\n      \"▁ red\",\n      \"▁c ir\",\n      \"▁ci r\",\n      \"▁ cir\",\n      \"s m\",\n      \"Lo g\",\n      \"L og\",\n      \"▁s pace\",\n      \"▁sp ace\",\n      \"▁ space\",\n      \"▁f ut\",\n      \"▁fu t\",\n      \"▁G ener\",\n      \"▁Ge ner\",\n      \"▁Gen er\",\n      \"▁Gene r\",\n      \"▁ Gener\",\n      \"il ls\",\n      \"ill s\",\n      \"▁d ri\",\n      \"▁dr i\",\n      \"_ .\",\n      \"▁f elt\",\n      \"▁fe lt\",\n      \"▁fel t\",\n      \"▁o ffic\",\n      \"▁of fic\",\n      \"▁off ic\",\n      \"▁= ==\",\n      \"▁== =\",\n      \"▁ ===\",\n      \"i i\",\n      \"▁start ed\",\n      \"▁star ted\",\n      \"▁ Т\",\n      \"▁} );\",\n      \"▁}) ;\",\n      \"▁ });\",\n      \"j s\",\n      \"▁fr ont\",\n      \"▁fro nt\",\n      \"▁ front\",\n      \"▁al most\",\n      \"ir m\",\n      \"i rm\",\n      \"! \\\"\",\n      \"sign ed\",\n      \"sig ned\",\n      \"s igned\",\n      \"▁y et\",\n      \"▁ye t\",\n      \"▁t rad\",\n      \"▁tr ad\",\n      \"▁tra d\",\n      \"ient s\",\n      \"ien ts\",\n      \"i ents\",\n      \"am a\",\n      \"a ma\",\n      \"▁in put\",\n      \"▁ input\",\n      \"li m\",\n      \"l im\",\n      \"п а\",\n      \"▁к а\",\n      \"▁ ка\",\n      \"▁c amp\",\n      \"▁cam p\",\n      \"▁ca mp\",\n      \"▁ camp\",\n      \"ib r\",\n      \"i br\",\n      \"fe ct\",\n      \"f ect\",\n      \"un t\",\n      \"u nt\",\n      \"▁h alf\",\n      \"▁hal f\",\n      \"▁ half\",\n      \"▁c over\",\n      \"▁co ver\",\n      \"▁cov er\",\n      \"▁ cover\",\n      \"angu age\",\n      \"▁b en\",\n      \"▁be n\",\n      \"▁ ben\",\n      \"h a\",\n      \"▁d iff\",\n      \"▁di ff\",\n      \"▁dif f\",\n      \"▁ diff\",\n      \"_ \\\\\",\n      \"▁о б\",\n      \"▁ об\",\n      \"] )\",\n      \"od es\",\n      \"ode s\",\n      \"o des\",\n      \"he l\",\n      \"h el\",\n      \"io s\",\n      \"i os\",\n      \"▁ О\",\n      \"▁m ot\",\n      \"▁mo t\",\n      \"▁ mot\",\n      \"▁s ocial\",\n      \"▁so cial\",\n      \"▁soc ial\",\n      \"▁soci al\",\n      \"▁ social\",\n      \"//// ////\",\n      \"▁s tre\",\n      \"▁st re\",\n      \"▁str e\",\n      \"▁ stre\",\n      \"gr ound\",\n      \"gro und\",\n      \"g round\",\n      \"і в\",\n      \"ob ject\",\n      \"obj ect\",\n      \"pl es\",\n      \"ple s\",\n      \"p les\",\n      \"re ed\",\n      \"ree d\",\n      \"r eed\",\n      \"▁e en\",\n      \"▁ een\",\n      \"▁b ased\",\n      \"▁bas ed\",\n      \"▁base d\",\n      \"▁ba sed\",\n      \"▁ based\",\n      \"▁r ange\",\n      \"▁ran ge\",\n      \"▁rang e\",\n      \"▁ range\",\n      \"A n\",\n      \"ur g\",\n      \"u rg\",\n      \"▁le arn\",\n      \"▁lear n\",\n      \"▁ learn\",\n      \"▁e xc\",\n      \"▁ex c\",\n      \"▁ exc\",\n      \"▁im p\",\n      \"▁i mp\",\n      \"▁ imp\",\n      \"▁me ans\",\n      \"▁mean s\",\n      \"▁w ur\",\n      \"en ds\",\n      \"end s\",\n      \"vo id\",\n      \"v oid\",\n      \"▁s td\",\n      \"▁st d\",\n      \"▁ std\",\n      \"▁part icular\",\n      \"▁partic ular\",\n      \"▁particul ar\",\n      \"▁parti cular\",\n      \"j a\",\n      \"▁s ource\",\n      \"▁sour ce\",\n      \"▁ source\",\n      \"def ault\",\n      \"p y\",\n      \"▁a ls\",\n      \"▁al s\",\n      \"▁ als\",\n      \"sc ri\",\n      \"scr i\",\n      \"s cri\",\n      \"st atus\",\n      \"stat us\",\n      \"▁st ory\",\n      \"▁stor y\",\n      \"▁sto ry\",\n      \"▁ story\",\n      \"▁b egin\",\n      \"▁be gin\",\n      \"▁beg in\",\n      \"▁ begin\",\n      \"▁pos ition\",\n      \"▁posit ion\",\n      \"▁ position\",\n      \"▁spec ial\",\n      \"▁spe cial\",\n      \"▁ special\",\n      \"ph p\",\n      \"p hp\",\n      \"▁b ar\",\n      \"▁ba r\",\n      \"▁ bar\",\n      \"▁p ract\",\n      \"▁pr act\",\n      \"▁pra ct\",\n      \"▁prac t\",\n      \"cal l\",\n      \"ca ll\",\n      \"c all\",\n      \"▁d as\",\n      \"▁da s\",\n      \"▁ das\",\n      \"▁r ad\",\n      \"▁ra d\",\n      \"▁ rad\",\n      \"▁cl ose\",\n      \"▁clos e\",\n      \"▁clo se\",\n      \"▁ close\",\n      \"ww w\",\n      \"w ww\",\n      \"ер е\",\n      \"е ре\",\n      \"g u\",\n      \"▁E r\",\n      \"▁ Er\",\n      \"▁d om\",\n      \"▁do m\",\n      \"▁ dom\",\n      \"A M\",\n      \"▁b ed\",\n      \"▁be d\",\n      \"▁ bed\",\n      \"▁sever al\",\n      \"au l\",\n      \"a ul\",\n      \"bo x\",\n      \"b ox\",\n      \"▁l ow\",\n      \"▁lo w\",\n      \"▁ low\",\n      \"pa ck\",\n      \"p ack\",\n      \"Re g\",\n      \"R eg\",\n      \"O f\",\n      \"at ures\",\n      \"ature s\",\n      \"atur es\",\n      \"atu res\",\n      \"é n\",\n      \"ed er\",\n      \"ede r\",\n      \"e der\",\n      \"uild er\",\n      \"ca st\",\n      \"cas t\",\n      \"c ast\",\n      \"con om\",\n      \"co nom\",\n      \"c onom\",\n      \"ra ft\",\n      \"raf t\",\n      \"r aft\",\n      \"▁m akes\",\n      \"▁make s\",\n      \"▁ma kes\",\n      \"Lo c\",\n      \"L oc\",\n      \"ht tp\",\n      \"htt p\",\n      \"h ttp\",\n      \"▁a bs\",\n      \"▁ab s\",\n      \"▁ abs\",\n      \"re sh\",\n      \"res h\",\n      \"r esh\",\n      \"▁W ill\",\n      \"▁Wil l\",\n      \"▁Wi ll\",\n      \"▁ Will\",\n      \"bre ak\",\n      \"b reak\",\n      \"▁o ptions\",\n      \"▁opt ions\",\n      \"▁option s\",\n      \"▁ options\",\n      \"fo rt\",\n      \"for t\",\n      \"f ort\",\n      \"▁и з\",\n      \"▁ из\",\n      \"▁a nal\",\n      \"▁an al\",\n      \"▁ anal\",\n      \"▁e nv\",\n      \"▁en v\",\n      \"▁ env\",\n      \"( {\",\n      \"ev ent\",\n      \"even t\",\n      \"eve nt\",\n      \"e vent\",\n      \"▁p age\",\n      \"▁pa ge\",\n      \"▁pag e\",\n      \"▁ page\",\n      \"ter nal\",\n      \"tern al\",\n      \"▁d istribut\",\n      \"▁dist ribut\",\n      \"▁f ood\",\n      \"▁fo od\",\n      \"▁foo d\",\n      \"▁ food\",\n      \"che ck\",\n      \"c heck\",\n      \"C K\",\n      \"▁в о\",\n      \"▁ во\",\n      \"as sert\",\n      \"ass ert\",\n      \"asse rt\",\n      \"á n\",\n      \"ba se\",\n      \"bas e\",\n      \"b ase\",\n      \"▁w hole\",\n      \"▁wh ole\",\n      \"▁who le\",\n      \"ac ión\",\n      \"ació n\",\n      \"aci ón\",\n      \"a ción\",\n      \"O D\",\n      \"▁turn ed\",\n      \"▁tur ned\",\n      \"ig ma\",\n      \"▁res ponse\",\n      \"▁respon se\",\n      \"▁respons e\",\n      \"▁ response\",\n      \"▁Univers ity\",\n      \"▁d iv\",\n      \"▁di v\",\n      \"▁ div\",\n      \"ap ter\",\n      \"apt er\",\n      \"▁result s\",\n      \"▁ results\",\n      \"▁re present\",\n      \"▁rep resent\",\n      \"▁every thing\",\n      \"▁C ent\",\n      \"▁Ce nt\",\n      \"▁ Cent\",\n      \"ut es\",\n      \"ute s\",\n      \"u tes\",\n      \"ri x\",\n      \"r ix\",\n      \"▁S ome\",\n      \"▁So me\",\n      \"▁Som e\",\n      \"▁ Some\",\n      \"▁be hind\",\n      \"▁beh ind\",\n      \"▁c reat\",\n      \"▁cre at\",\n      \"▁ creat\",\n      \"pl ace\",\n      \"plac e\",\n      \"p lace\",\n      \"s u\",\n      \"▁P art\",\n      \"▁Par t\",\n      \"▁Pa rt\",\n      \"▁ Part\",\n      \"um b\",\n      \"u mb\",\n      \"math bb\",\n      \"pi ng\",\n      \"pin g\",\n      \"p ing\",\n      \"▁m atch\",\n      \"▁mat ch\",\n      \"▁ match\",\n      \"O ut\",\n      \"do m\",\n      \"d om\",\n      \"▁s itu\",\n      \"▁sit u\",\n      \"▁si tu\",\n      \"d r\",\n      \"ar a\",\n      \"a ra\",\n      \"▁w indow\",\n      \"▁wind ow\",\n      \"▁ window\",\n      \"n s\",\n      \"lish ed\",\n      \"l ished\",\n      \"▁V er\",\n      \"▁Ve r\",\n      \"▁ Ver\",\n      \"▁m essage\",\n      \"▁mess age\",\n      \"▁ message\",\n      \"▁E m\",\n      \"▁ Em\",\n      \"▁h uman\",\n      \"▁hum an\",\n      \"▁ human\",\n      \"per ties\",\n      \"pert ies\",\n      \"л у\",\n      \"le m\",\n      \"l em\",\n      \"OR T\",\n      \"O RT\",\n      \"▁e arly\",\n      \"▁ear ly\",\n      \"▁qu ick\",\n      \"▁qui ck\",\n      \"▁ quick\",\n      \"▁т а\",\n      \"▁ та\",\n      \"ro id\",\n      \"r oid\",\n      \"▁c ountry\",\n      \"▁coun try\",\n      \"▁count ry\",\n      \"▁countr y\",\n      \"▁ country\",\n      \"▁d ue\",\n      \"▁du e\",\n      \"▁ due\",\n      \"▁D ie\",\n      \"▁Di e\",\n      \"▁ Die\",\n      \"▁t rying\",\n      \"▁tr ying\",\n      \"▁try ing\",\n      \"▁l ive\",\n      \"▁li ve\",\n      \"▁liv e\",\n      \"▁ live\",\n      \"▁p ress\",\n      \"▁pre ss\",\n      \"▁pr ess\",\n      \"▁pres s\",\n      \"▁ press\",\n      \"IN T\",\n      \"I NT\",\n      \"W ith\",\n      \"ov ed\",\n      \"ove d\",\n      \"o ved\",\n      \"▁spec ific\",\n      \"▁ specific\",\n      \"▁f all\",\n      \"▁fa ll\",\n      \"▁fal l\",\n      \"▁ fall\",\n      \"u k\",\n      \"y l\",\n      \"▁gener al\",\n      \"▁gen eral\",\n      \"▁gene ral\",\n      \"▁ general\",\n      \"м у\",\n      \"н у\",\n      \"▁n ames\",\n      \"▁name s\",\n      \"▁na mes\",\n      \"▁nam es\",\n      \"▁ names\",\n      \"wh ere\",\n      \"whe re\",\n      \"w here\",\n      \"▁The se\",\n      \"▁Th ese\",\n      \"▁ These\",\n      \"▁s il\",\n      \"▁si l\",\n      \"▁ sil\",\n      \"é t\",\n      \"▁e ner\",\n      \"▁en er\",\n      \"▁ ener\",\n      \"▁N ow\",\n      \"▁No w\",\n      \"▁ Now\",\n      \"▁add ress\",\n      \"▁addr ess\",\n      \"▁ address\",\n      \"Res ponse\",\n      \"▁M r\",\n      \"▁ Mr\",\n      \"▁an sw\",\n      \"▁ans w\",\n      \"▁fil m\",\n      \"▁fi lm\",\n      \"▁ film\",\n      \"▁str ong\",\n      \"▁stro ng\",\n      \"▁ strong\",\n      \"▁b ring\",\n      \"▁br ing\",\n      \"▁Un ited\",\n      \"▁Unit ed\",\n      \"▁g e\",\n      \"▁ ge\",\n      \"▁w oman\",\n      \"▁wom an\",\n      \"▁wo man\",\n      \"▁ woman\",\n      \"Ne w\",\n      \"N ew\",\n      \"et t\",\n      \"e tt\",\n      \". )\",\n      \"en ame\",\n      \"ena me\",\n      \"e name\",\n      \"▁A N\",\n      \"▁ AN\",\n      \"▁de scrib\",\n      \"▁desc rib\",\n      \"з а\",\n      \"is ing\",\n      \"isi ng\",\n      \"i sing\",\n      \"E L\",\n      \"q l\",\n      \"▁f ur\",\n      \"▁fu r\",\n      \"▁ fur\",\n      \"y ing\",\n      \"▁C al\",\n      \"▁Ca l\",\n      \"▁ Cal\",\n      \"▁D r\",\n      \"▁ Dr\",\n      \"ER R\",\n      \"E RR\",\n      \"▁\\\\ \\\\\",\n      \"▁ \\\\\\\\\",\n      \"an gle\",\n      \"ang le\",\n      \"ur ope\",\n      \"uro pe\",\n      \"urop e\",\n      \"▁c ity\",\n      \"▁cit y\",\n      \"▁ci ty\",\n      \"▁ city\",\n      \"▁in dex\",\n      \"▁ind ex\",\n      \"▁inde x\",\n      \"▁ index\",\n      \"▁a ction\",\n      \"▁act ion\",\n      \"▁ action\",\n      \"▁How ever\",\n      \"▁ However\",\n      \"▁f ig\",\n      \"▁fi g\",\n      \"▁ fig\",\n      \"ia s\",\n      \"i as\",\n      \"▁quest ion\",\n      \"▁ question\",\n      \"▁J an\",\n      \"▁Ja n\",\n      \"▁ Jan\",\n      \"▁M ed\",\n      \"▁Me d\",\n      \"▁ Med\",\n      \"▁C ont\",\n      \"▁Con t\",\n      \"▁Co nt\",\n      \"▁ Cont\",\n      \"am ed\",\n      \"ame d\",\n      \"a med\",\n      \"Cal l\",\n      \"C all\",\n      \"pl ied\",\n      \"tt y\",\n      \"t ty\",\n      \"▁ind ivid\",\n      \"pa ge\",\n      \"pag e\",\n      \"p age\",\n      \"▁c omb\",\n      \"▁com b\",\n      \"▁co mb\",\n      \"▁ comb\",\n      \"se ction\",\n      \"sect ion\",\n      \"s ection\",\n      \"▁C omm\",\n      \"▁Com m\",\n      \"▁Co mm\",\n      \"▁ Comm\",\n      \"ue l\",\n      \"u el\",\n      \"▁h et\",\n      \"▁he t\",\n      \"▁ het\",\n      \"▁B ar\",\n      \"▁Ba r\",\n      \"▁ Bar\",\n      \"ag ement\",\n      \"age ment\",\n      \"agem ent\",\n      \"fi n\",\n      \"f in\",\n      \"▁m ajor\",\n      \"▁ma jor\",\n      \"▁maj or\",\n      \"▁ major\",\n      \"op er\",\n      \"ope r\",\n      \"o per\",\n      \"ap i\",\n      \"a pi\",\n      \"ro om\",\n      \"r oom\",\n      \"▁ „\",\n      \"▁h ab\",\n      \"▁ha b\",\n      \"▁ hab\",\n      \"з и\",\n      \"▁a uf\",\n      \"▁au f\",\n      \"▁ auf\",\n      \"cur rent\",\n      \"curr ent\",\n      \"n i\",\n      \"▁in clude\",\n      \"▁incl ude\",\n      \"▁includ e\",\n      \"▁inclu de\",\n      \"▁ include\",\n      \"▁qu i\",\n      \"▁q ui\",\n      \"v a\",\n      \"U E\",\n      \"▁ide a\",\n      \"▁id ea\",\n      \"▁ idea\",\n      \", '\",\n      \"▁requ ired\",\n      \"▁require d\",\n      \"▁ required\",\n      \"▁he art\",\n      \"▁hear t\",\n      \"▁ heart\",\n      \"ib ility\",\n      \"ibil ity\",\n      \"ict ion\",\n      \"i ction\",\n      \"Mod el\",\n      \"Mode l\",\n      \"Mo del\",\n      \"wr ite\",\n      \"writ e\",\n      \"w rite\",\n      \"▁cont ent\",\n      \"▁conten t\",\n      \"▁ content\",\n      \"▁w er\",\n      \"▁we r\",\n      \"▁ wer\",\n      \"▁h ands\",\n      \"▁hand s\",\n      \"▁han ds\",\n      \"ze n\",\n      \"z en\",\n      \"ch ar\",\n      \"cha r\",\n      \"c har\",\n      \"}^ {\",\n      \"} ^{\",\n      \"▁m ass\",\n      \"▁ma ss\",\n      \"▁mas s\",\n      \"▁ mass\",\n      \"pl y\",\n      \"p ly\",\n      \"▁n at\",\n      \"▁na t\",\n      \"▁ nat\",\n      \"re l\",\n      \"r el\",\n      \"▁d at\",\n      \"▁da t\",\n      \"▁ dat\",\n      \"==== ============\",\n      \"======== ========\",\n      \"============ ====\",\n      \"im al\",\n      \"ima l\",\n      \"i mal\",\n      \"▁pro bably\",\n      \"▁prob ably\",\n      \"un ch\",\n      \"unc h\",\n      \"▁m er\",\n      \"▁me r\",\n      \"▁ mer\",\n      \"il ar\",\n      \"ila r\",\n      \"i lar\",\n      \"ir es\",\n      \"ire s\",\n      \"i res\",\n      \"▁w atch\",\n      \"▁wat ch\",\n      \"▁ watch\",\n      \"S I\",\n      \"▁c ult\",\n      \"▁cu lt\",\n      \"▁cul t\",\n      \"▁m other\",\n      \"▁mot her\",\n      \"▁mo ther\",\n      \"▁ mother\",\n      \"▁govern ment\",\n      \"or ding\",\n      \"ord ing\",\n      \"▁( )\",\n      \"▁ ()\",\n      \"▁p ri\",\n      \"▁pr i\",\n      \"▁l ink\",\n      \"▁lin k\",\n      \"▁ link\",\n      \"gr oup\",\n      \"gro up\",\n      \"g roup\",\n      \"O L\",\n      \"▁n ear\",\n      \"▁ne ar\",\n      \"▁S er\",\n      \"▁Se r\",\n      \"▁ Ser\",\n      \"Se r\",\n      \"S er\",\n      \"it o\",\n      \"i to\",\n      \"▁value s\",\n      \"▁val ues\",\n      \"▁ values\",\n      \"▁j ava\",\n      \"▁ja va\",\n      \"▁ java\",\n      \"ful ly\",\n      \"full y\",\n      \"f ully\",\n      \"Co unt\",\n      \"C ount\",\n      \"++ )\",\n      \"▁v i\",\n      \"▁ vi\",\n      \"▁wh ite\",\n      \"▁ white\",\n      \"ma t\",\n      \"m at\",\n      \"ct x\",\n      \"c tx\",\n      \"▁con c\",\n      \"▁co nc\",\n      \"▁ conc\",\n      \"▁st ay\",\n      \"▁sta y\",\n      \"gi ng\",\n      \"gin g\",\n      \"g ing\",\n      \"▁c lear\",\n      \"▁cl ear\",\n      \"▁cle ar\",\n      \"▁ clear\",\n      \"▁c opy\",\n      \"▁co py\",\n      \"▁cop y\",\n      \"▁ copy\",\n      \"sel ves\",\n      \"▁prov ide\",\n      \"▁w ords\",\n      \"▁wor ds\",\n      \"▁word s\",\n      \"▁ words\",\n      \"com p\",\n      \"co mp\",\n      \"c omp\",\n      \"ar gs\",\n      \"arg s\",\n      \"▁p ick\",\n      \"▁pi ck\",\n      \"▁pic k\",\n      \"▁ pick\",\n      \"ul y\",\n      \"u ly\",\n      \"▁v ari\",\n      \"▁var i\",\n      \"▁va ri\",\n      \"▁ vari\",\n      \"▁bel ieve\",\n      \"▁belie ve\",\n      \"▁C o\",\n      \"▁ Co\",\n      \"Pro perty\",\n      \"Gr oup\",\n      \"G roup\",\n      \"▁t en\",\n      \"▁te n\",\n      \"▁ ten\",\n      \"is chen\",\n      \"isch en\",\n      \"ische n\",\n      \"isc hen\",\n      \"i schen\",\n      \"et urn\",\n      \"e turn\",\n      \"iv al\",\n      \"iva l\",\n      \"i val\",\n      \"Sys tem\",\n      \"S ystem\",\n      \"C L\",\n      \"be d\",\n      \"b ed\",\n      \"▁t otal\",\n      \"▁to tal\",\n      \"▁tot al\",\n      \"▁ total\",\n      \"▁is t\",\n      \"▁i st\",\n      \"▁ ist\",\n      \"In put\",\n      \"um ents\",\n      \"ument s\",\n      \"umen ts\",\n      \"u ments\",\n      \"Man ager\",\n      \"ш и\",\n      \"▁w in\",\n      \"▁ win\",\n      \"le ep\",\n      \"lee p\",\n      \"P I\",\n      \"но го\",\n      \"н ого\",\n      \"ru ction\",\n      \"ruct ion\",\n      \"r uction\",\n      \"▁in te\",\n      \"▁i nte\",\n      \"▁int e\",\n      \"▁ inte\",\n      \"Ap p\",\n      \"A pp\",\n      \"av or\",\n      \"avo r\",\n      \"a vor\",\n      \"▁re spect\",\n      \"▁res pect\",\n      \"▁resp ect\",\n      \"▁ respect\",\n      \"at ors\",\n      \"ator s\",\n      \"ato rs\",\n      \"▁c omo\",\n      \"▁com o\",\n      \"▁co mo\",\n      \"▁c ut\",\n      \"▁cu t\",\n      \"▁ cut\",\n      \"F A\",\n      \"▁s us\",\n      \"▁su s\",\n      \"▁A pp\",\n      \"▁Ap p\",\n      \"▁ App\",\n      \"re ct\",\n      \"rec t\",\n      \"r ect\",\n      \"F I\",\n      \"▁be gan\",\n      \"▁beg an\",\n      \"op h\",\n      \"o ph\",\n      \"▁s ort\",\n      \"▁so rt\",\n      \"▁sor t\",\n      \"▁ sort\",\n      \"th ough\",\n      \"ј е\",\n      \"ic ro\",\n      \"i cro\",\n      \"Tr ans\",\n      \"Tra ns\",\n      \"л і\",\n      \"▁In st\",\n      \"▁Ins t\",\n      \"▁ Inst\",\n      \"re quest\",\n      \"requ est\",\n      \"req uest\",\n      \"о р\",\n      \"▁rel ations\",\n      \"▁relation s\",\n      \"- \\\\\",\n      \"St atus\",\n      \"Stat us\",\n      \"ж и\",\n      \"▁f ather\",\n      \"▁fa ther\",\n      \"▁fat her\",\n      \"▁ father\",\n      \"c s\",\n      \"▁s ex\",\n      \"▁se x\",\n      \"▁ sex\",\n      \"is ch\",\n      \"isc h\",\n      \"i sch\",\n      \"v o\",\n      \"}_ {\",\n      \"} _{\",\n      \"ave n\",\n      \"av en\",\n      \"a ven\",\n      \"▁N e\",\n      \"▁ Ne\",\n      \"AT E\",\n      \"A TE\",\n      \"it ten\",\n      \"itt en\",\n      \"itte n\",\n      \"▁e ss\",\n      \"▁es s\",\n      \"▁ ess\",\n      \"T H\",\n      \"ight s\",\n      \"igh ts\",\n      \"▁h om\",\n      \"▁ho m\",\n      \"▁ hom\",\n      \"▁t oday\",\n      \"▁to day\",\n      \"▁tod ay\",\n      \"▁toda y\",\n      \"▁z u\",\n      \"▁ zu\",\n      \"it a\",\n      \"i ta\",\n      \"▁is n\",\n      \"▁i sn\",\n      \"▁o pt\",\n      \"▁op t\",\n      \"▁ opt\",\n      \"og n\",\n      \"o gn\",\n      \"é r\",\n      \"▁wh ether\",\n      \"▁whe ther\",\n      \"ix ed\",\n      \"ph i\",\n      \"p hi\",\n      \"id ence\",\n      \"iden ce\",\n      \"al d\",\n      \"a ld\",\n      \"Cl ient\",\n      \"A t\",\n      \"▁de ath\",\n      \"▁L et\",\n      \"▁Le t\",\n      \"▁ Let\",\n      \"iu s\",\n      \"i us\",\n      \"г и\",\n      \"▁р е\",\n      \"▁ ре\",\n      \"be n\",\n      \"b en\",\n      \") \\r\",\n      \"b a\",\n      \">< /\",\n      \"> </\",\n      \"ave l\",\n      \"av el\",\n      \"a vel\",\n      \"▁m iss\",\n      \"▁mis s\",\n      \"▁mi ss\",\n      \"▁ miss\",\n      \"▁n ode\",\n      \"▁no de\",\n      \"▁nod e\",\n      \"▁ node\",\n      \"▁( $\",\n      \"▁ ($\",\n      \"▁col or\",\n      \"▁co lor\",\n      \"▁ color\",\n      \"▁o bt\",\n      \"▁ob t\",\n      \"to t\",\n      \"t ot\",\n      \"▁п ре\",\n      \"▁пр е\",\n      \"▁ пре\",\n      \"CO N\",\n      \"C ON\",\n      \"et te\",\n      \"ett e\",\n      \"▁G o\",\n      \"▁ Go\",\n      \"F l\",\n      \"▁D on\",\n      \"▁Do n\",\n      \"▁ Don\",\n      \"▁c rit\",\n      \"▁cr it\",\n      \"▁cri t\",\n      \"▁ crit\",\n      \"▁r i\",\n      \"▁ ri\",\n      \"pos t\",\n      \"po st\",\n      \"p ost\",\n      \"▁- >\",\n      \"▁ ->\",\n      \"▁J ust\",\n      \"▁Ju st\",\n      \"▁ Just\",\n      \"Wh at\",\n      \"W hat\",\n      \"at al\",\n      \"ata l\",\n      \"a tal\",\n      \"▁M in\",\n      \"▁Mi n\",\n      \"▁ Min\",\n      \"▁C or\",\n      \"▁Co r\",\n      \"▁ Cor\",\n      \"▁d ark\",\n      \"▁dar k\",\n      \"▁ dark\",\n      \"r l\",\n      \"▁l arg\",\n      \"▁la rg\",\n      \"▁ larg\",\n      \"di ng\",\n      \"d ing\",\n      \"ó n\",\n      \"ou ch\",\n      \"o uch\",\n      \"▁u m\",\n      \"▁ um\",\n      \"▁e lect\",\n      \"▁el ect\",\n      \"▁ele ct\",\n      \"▁ elect\",\n      \"▁d am\",\n      \"▁da m\",\n      \"▁ dam\",\n      \"▁ne eds\",\n      \"▁need s\",\n      \"▁m atter\",\n      \"▁mat ter\",\n      \"▁matt er\",\n      \"▁r ather\",\n      \"▁rat her\",\n      \"▁ra ther\",\n      \"fr om\",\n      \"f rom\",\n      \"ra m\",\n      \"r am\",\n      \"▁ і\",\n      \"▁t aken\",\n      \"▁take n\",\n      \"▁tak en\",\n      \"▁ta ken\",\n      \"▁de al\",\n      \"▁per iod\",\n      \"▁ period\",\n      \"▁M on\",\n      \"▁Mo n\",\n      \"▁ Mon\",\n      \"▁ Л\",\n      \"▁A ug\",\n      \"▁Au g\",\n      \"▁ Aug\",\n      \"ru n\",\n      \"r un\",\n      \"m m\",\n      \"el le\",\n      \"ell e\",\n      \"e lle\",\n      \"▁ex port\",\n      \"▁exp ort\",\n      \"▁ export\",\n      \"S c\",\n      \"vi s\",\n      \"v is\",\n      \"ab or\",\n      \"a bor\",\n      \"▁aut hor\",\n      \"▁auth or\",\n      \"▁ author\",\n      \"è re\",\n      \"▁re member\",\n      \"▁rem ember\",\n      \"▁remem ber\",\n      \"▁re du\",\n      \"▁r edu\",\n      \"▁red u\",\n      \"▁ redu\",\n      \"▁L ist\",\n      \"▁Li st\",\n      \"▁Lis t\",\n      \"▁ List\",\n      \"▁f ocus\",\n      \"▁ focus\",\n      \"▁char acter\",\n      \"▁ character\",\n      \"Tab le\",\n      \"T able\",\n      \"▁individ ual\",\n      \"▁need ed\",\n      \"bu m\",\n      \"b um\",\n      \"▁st yle\",\n      \"▁sty le\",\n      \"▁ style\",\n      \"in ary\",\n      \"ina ry\",\n      \"inar y\",\n      \"ers ion\",\n      \"ou te\",\n      \"out e\",\n      \"o ute\",\n      \"▁P e\",\n      \"▁ Pe\",\n      \"▁h on\",\n      \"▁ho n\",\n      \"▁ hon\",\n      \"mu t\",\n      \"m ut\",\n      \"se e\",\n      \"s ee\",\n      \"▁bec ame\",\n      \"▁d ire\",\n      \"▁di re\",\n      \"▁dir e\",\n      \"▁ dire\",\n      \"▁d ocument\",\n      \"▁doc ument\",\n      \"▁ document\",\n      \"se c\",\n      \"s ec\",\n      \"en ing\",\n      \"eni ng\",\n      \"e ning\",\n      \"▁vis it\",\n      \"▁ visit\",\n      \"▁f ac\",\n      \"▁fa c\",\n      \"▁ fac\",\n      \"t x\",\n      \"do wn\",\n      \"d own\",\n      \"pl it\",\n      \"p lit\",\n      \"▁ph ys\",\n      \"▁ phys\",\n      \"it ting\",\n      \"itt ing\",\n      \"jo y\",\n      \"j oy\",\n      \"▁h ig\",\n      \"▁hi g\",\n      \"Th is\",\n      \"T his\",\n      \"A d\",\n      \"▁B rit\",\n      \"▁Br it\",\n      \"▁em ploy\",\n      \"▁r é\",\n      \"▁ ré\",\n      \"▁ т\",\n      \"l ambda\",\n      \"▁im pro\",\n      \"▁imp ro\",\n      \"▁B o\",\n      \"▁ Bo\",\n      \"id ing\",\n      \"idi ng\",\n      \"i ding\",\n      \"▁on line\",\n      \"▁ online\",\n      \"me m\",\n      \"m em\",\n      \"at form\",\n      \"▁W ar\",\n      \"▁Wa r\",\n      \"▁ War\",\n      \"▁c as\",\n      \"▁ca s\",\n      \"▁ cas\",\n      \"as ure\",\n      \"a sure\",\n      \"▁p ur\",\n      \"▁pu r\",\n      \"▁ pur\",\n      \"me di\",\n      \"med i\",\n      \"m edi\",\n      \"Di s\",\n      \"D is\",\n      \"▁G erm\",\n      \"▁Ge rm\",\n      \"▁Ger m\",\n      \"p c\",\n      \"с а\",\n      \"▁friend s\",\n      \"▁M c\",\n      \"▁ Mc\",\n      \"D I\",\n      \"▁pl us\",\n      \"▁ plus\",\n      \"▁S et\",\n      \"▁Se t\",\n      \"▁ Set\",\n      \"idd le\",\n      \"it ut\",\n      \"itu t\",\n      \"▁de pend\",\n      \"▁dep end\",\n      \"▁ depend\",\n      \"re st\",\n      \"res t\",\n      \"r est\",\n      \"▁J e\",\n      \"▁ Je\",\n      \"▁h or\",\n      \"▁ho r\",\n      \"▁ hor\",\n      \"▁ent ire\",\n      \"Qu ery\",\n      \"Que ry\",\n      \"▁re fer\",\n      \"▁ref er\",\n      \"▁ refer\",\n      \"▁h ot\",\n      \"▁ho t\",\n      \"▁ hot\",\n      \"▁A ust\",\n      \"▁Aus t\",\n      \"▁Au st\",\n      \"▁com mon\",\n      \"▁comm on\",\n      \"▁ common\",\n      \"ц і\",\n      \"▁p ull\",\n      \"▁pu ll\",\n      \"▁pul l\",\n      \"▁ pull\",\n      \"▁A dd\",\n      \"▁Ad d\",\n      \"▁ Add\",\n      \"▁se ason\",\n      \"▁sea son\",\n      \"▁seas on\",\n      \"▁ season\",\n      \"▁in vol\",\n      \"▁inv ol\",\n      \"▁W orld\",\n      \"▁Wor ld\",\n      \"▁ World\",\n      \"cl ient\",\n      \"cli ent\",\n      \"no w\",\n      \"n ow\",\n      \"tr ue\",\n      \"ap pend\",\n      \"app end\",\n      \"appe nd\",\n      \"appen d\",\n      \"it ted\",\n      \"itt ed\",\n      \"itte d\",\n      \"em pt\",\n      \"emp t\",\n      \") {\",\n      \"// /\",\n      \"/ //\",\n      \"▁p rop\",\n      \"▁pro p\",\n      \"▁pr op\",\n      \"▁ prop\",\n      \"im ate\",\n      \"ima te\",\n      \"imat e\",\n      \"i mate\",\n      \"S C\",\n      \"▁h ours\",\n      \"▁hour s\",\n      \"▁ho urs\",\n      \"▁h ope\",\n      \"▁hop e\",\n      \"▁ho pe\",\n      \"an dom\",\n      \"and om\",\n      \"ando m\",\n      \"і д\",\n      \"ist ic\",\n      \"isti c\",\n      \"▁pro perty\",\n      \"▁proper ty\",\n      \"▁ property\",\n      \"s g\",\n      \"> (\",\n      \"▁w rite\",\n      \"▁wr ite\",\n      \"▁writ e\",\n      \"▁ write\",\n      \"mar k\",\n      \"m ark\",\n      \"fin d\",\n      \"fi nd\",\n      \"f ind\",\n      \"▁person al\",\n      \"▁pers onal\",\n      \"▁persona l\",\n      \"▁ personal\",\n      \"] [\",\n      \"ro wn\",\n      \"row n\",\n      \"r own\",\n      \"P h\",\n      \"▁f oot\",\n      \"▁fo ot\",\n      \"▁foo t\",\n      \"▁ foot\",\n      \"▁re search\",\n      \"▁res earch\",\n      \"iron ment\",\n      \"▁n om\",\n      \"▁no m\",\n      \"▁ nom\",\n      \"▁in stance\",\n      \"▁inst ance\",\n      \"▁ instance\",\n      \"▁h eld\",\n      \"▁he ld\",\n      \"▁hel d\",\n      \"▁ held\",\n      \"D e\",\n      \"▁mem bers\",\n      \"▁member s\",\n      \"▁ members\",\n      \"▁f ire\",\n      \"▁fi re\",\n      \"▁fir e\",\n      \"▁ fire\",\n      \"▁hist ory\",\n      \"▁histor y\",\n      \"▁hi story\",\n      \"▁ history\",\n      \"▁m ap\",\n      \"▁ma p\",\n      \"▁ map\",\n      \"▁dis cuss\",\n      \"▁disc uss\",\n      \"▁e spec\",\n      \"▁es pec\",\n      \"▁esp ec\",\n      \"▁ espec\",\n      \"▁t aking\",\n      \"▁tak ing\",\n      \"▁ta king\",\n      \"▁s ervices\",\n      \"▁serv ices\",\n      \"▁service s\",\n      \"▁ services\",\n      \"▁ind ust\",\n      \"▁indu st\",\n      \"▁ indust\",\n      \"ig en\",\n      \"ige n\",\n      \"i gen\",\n      \"▁A ss\",\n      \"▁As s\",\n      \"▁ Ass\",\n      \"▁e xpected\",\n      \"▁ex pected\",\n      \"▁expect ed\",\n      \"▁ expected\",\n      \"▁wur de\",\n      \"di r\",\n      \"d ir\",\n      \"▁a mong\",\n      \"▁am ong\",\n      \"▁s ugg\",\n      \"▁su gg\",\n      \"▁sug g\",\n      \"re c\",\n      \"r ec\",\n      \"In ter\",\n      \"Int er\",\n      \"bl ock\",\n      \"blo ck\",\n      \"b lock\",\n      \"▁R ep\",\n      \"▁Re p\",\n      \"▁ Rep\",\n      \"▁p ain\",\n      \"▁pa in\",\n      \"▁f ive\",\n      \"▁fi ve\",\n      \"▁ five\",\n      \"▁f und\",\n      \"▁fun d\",\n      \"▁fu nd\",\n      \"▁ fund\",\n      \"ri d\",\n      \"r id\",\n      \"ar row\",\n      \"arr ow\",\n      \"▁t reat\",\n      \"▁tre at\",\n      \"▁he ard\",\n      \"▁hear d\",\n      \"▁de term\",\n      \"▁det erm\",\n      \"▁deter m\",\n      \"ic ult\",\n      \"▁s ense\",\n      \"▁sens e\",\n      \"▁sen se\",\n      \"es e\",\n      \"e se\",\n      \"F un\",\n      \"▁month s\",\n      \"▁mont hs\",\n      \"js on\",\n      \"j son\",\n      \", ”\",\n      \"T I\",\n      \"or age\",\n      \"ora ge\",\n      \"o rage\",\n      \"▁ У\",\n      \"▁every one\",\n      \"▁c los\",\n      \"▁cl os\",\n      \"▁clo s\",\n      \"▁ clos\",\n      \"ie rs\",\n      \"ier s\",\n      \"i ers\",\n      \"air s\",\n      \"ai rs\",\n      \"a irs\",\n      \"def ine\",\n      \"I f\",\n      \"os p\",\n      \"o sp\",\n      \"▁w onder\",\n      \"▁won der\",\n      \"▁wo nder\",\n      \"N A\",\n      \"qu ery\",\n      \"que ry\",\n      \"quer y\",\n      \"p g\",\n      \"it es\",\n      \"ite s\",\n      \"i tes\",\n      \"▁m aterial\",\n      \"▁mat erial\",\n      \"▁mate rial\",\n      \"▁mater ial\",\n      \"▁ material\",\n      \"y d\",\n      \"Re ad\",\n      \"R ead\",\n      \"ht ml\",\n      \"h tml\",\n      \"T E\",\n      \"P r\",\n      \"^{ \\\\\",\n      \"^ {\\\\\",\n      \"▁g ave\",\n      \"▁ga ve\",\n      \"▁I S\",\n      \"▁ IS\",\n      \"▁s uggest\",\n      \"▁sugg est\",\n      \"▁sug gest\",\n      \"Over ride\",\n      \"ro du\",\n      \"rod u\",\n      \"Fr om\",\n      \"F rom\",\n      \"▁E urope\",\n      \"▁Europ e\",\n      \"▁Euro pe\",\n      \"▁ Europe\",\n      \"P O\",\n      \"▁s oon\",\n      \"▁so on\",\n      \"ho st\",\n      \"hos t\",\n      \"h ost\",\n      \"▁B er\",\n      \"▁Be r\",\n      \"▁ Ber\",\n      \".. ..\",\n      \"... .\",\n      \". ...\",\n      \"▁H ar\",\n      \"▁Ha r\",\n      \"▁ Har\",\n      \"▁e nergy\",\n      \"▁ener gy\",\n      \"▁energ y\",\n      \"▁ energy\",\n      \"> <\",\n      \"ave s\",\n      \"av es\",\n      \"a ves\",\n      \"▁e asy\",\n      \"▁eas y\",\n      \"▁b re\",\n      \"▁br e\",\n      \"▁ bre\",\n      \"fr ame\",\n      \"▁g round\",\n      \"▁gr ound\",\n      \"▁gro und\",\n      \"▁ ground\",\n      \"wi th\",\n      \"w ith\",\n      \"▁in side\",\n      \"▁ins ide\",\n      \"ie f\",\n      \"i ef\",\n      \"▁m o\",\n      \"▁ mo\",\n      \"p m\",\n      \"pa n\",\n      \"p an\",\n      \"ig r\",\n      \"i gr\",\n      \"▁o m\",\n      \"▁ om\",\n      \"ne xt\",\n      \"nex t\",\n      \"n ext\",\n      \"om et\",\n      \"ome t\",\n      \"o met\",\n      \"▁st atus\",\n      \"▁stat us\",\n      \"▁ status\",\n      \"▁} \\r\",\n      \"▁ }\\r\",\n      \"▁mus ic\",\n      \"or a\",\n      \"o ra\",\n      \"il es\",\n      \"ile s\",\n      \"i les\",\n      \"k i\",\n      \"▁e sc\",\n      \"▁es c\",\n      \"▁ esc\",\n      \"▁b es\",\n      \"▁be s\",\n      \"▁ bes\",\n      \"▁D is\",\n      \"▁Di s\",\n      \"▁ Dis\",\n      \"▁h ost\",\n      \"▁ho st\",\n      \"▁ host\",\n      \"▁c omes\",\n      \"▁com es\",\n      \"▁co mes\",\n      \"▁come s\",\n      \"▁ comes\",\n      \"us ed\",\n      \"use d\",\n      \"u sed\",\n      \"▁f uture\",\n      \"▁fut ure\",\n      \"▁ future\",\n      \"lic k\",\n      \"li ck\",\n      \"l ick\",\n      \"ai d\",\n      \"a id\",\n      \"▁com pet\",\n      \"▁comp et\",\n      \"▁ compet\",\n      \"▁v oice\",\n      \"▁vo ice\",\n      \"▁ voice\",\n      \"▁l oad\",\n      \"▁lo ad\",\n      \"▁ load\",\n      \"ev el\",\n      \"eve l\",\n      \"e vel\",\n      \"▁n eg\",\n      \"▁ne g\",\n      \"▁ neg\",\n      \"▁com mand\",\n      \"▁comm and\",\n      \"▁ command\",\n      \"▁f ür\",\n      \"▁p ie\",\n      \"▁pi e\",\n      \"▁ pie\",\n      \"▁qu ite\",\n      \"▁qui te\",\n      \"▁quit e\",\n      \"▁b lo\",\n      \"▁bl o\",\n      \"▁ blo\",\n      \"ag n\",\n      \"a gn\",\n      \"il on\",\n      \"ilo n\",\n      \"i lon\",\n      \"▁cl aim\",\n      \"▁ claim\",\n      \"▁t each\",\n      \"▁te ach\",\n      \"▁tea ch\",\n      \"▁pre vious\",\n      \"▁prev ious\",\n      \"▁ previous\",\n      \"▁s ite\",\n      \"▁sit e\",\n      \"▁si te\",\n      \"▁ site\",\n      \"co lor\",\n      \"col or\",\n      \"colo r\",\n      \"at tr\",\n      \"att r\",\n      \"▁ac cept\",\n      \"▁ accept\",\n      \"▁ex act\",\n      \") }\",\n      \"af t\",\n      \"a ft\",\n      \"rol ler\",\n      \"roll er\",\n      \"о н\",\n      \"o o\",\n      \"Dat e\",\n      \"Da te\",\n      \"D ate\",\n      \"▁o u\",\n      \"▁ ou\",\n      \"s y\",\n      \"▁pre tty\",\n      \"▁pret ty\",\n      \"▁im age\",\n      \"▁imag e\",\n      \"▁ image\",\n      \"B U\",\n      \"▁term s\",\n      \"▁ter ms\",\n      \"▁s earch\",\n      \"▁se arch\",\n      \"▁sear ch\",\n      \"▁ search\",\n      \"▁ è\",\n      \"▁V al\",\n      \"▁Va l\",\n      \"▁ Val\",\n      \"▁ ‘\",\n      \"▁D av\",\n      \"▁Da v\",\n      \"M S\",\n      \"sr c\",\n      \"s rc\",\n      \"ma r\",\n      \"m ar\",\n      \"in cip\",\n      \"inc ip\",\n      \"▁could n\",\n      \"ad os\",\n      \"ado s\",\n      \"▁d ro\",\n      \"▁dr o\",\n      \"▁ dro\",\n      \"be ta\",\n      \"bet a\",\n      \"b eta\",\n      \"im um\",\n      \"▁min utes\",\n      \"▁minute s\",\n      \"▁minut es\",\n      \"▁g rand\",\n      \"▁gr and\",\n      \"▁gran d\",\n      \"▁gra nd\",\n      \"▁ grand\",\n      \"▁ »\",\n      \"▁O ur\",\n      \"▁ Our\",\n      \"St r\",\n      \"S tr\",\n      \"VE R\",\n      \"V ER\",\n      \"ma z\",\n      \"m az\",\n      \"▁or iginal\",\n      \"▁orig inal\",\n      \"▁origin al\",\n      \"▁ original\",\n      \"in i\",\n      \"i ni\",\n      \"▁c oll\",\n      \"▁col l\",\n      \"▁co ll\",\n      \"▁ coll\",\n      \"lo at\",\n      \"▁o s\",\n      \"▁ os\",\n      \"}) ;\",\n      \"} );\",\n      \"sum mary\",\n      \"▁w all\",\n      \"▁wa ll\",\n      \"▁wal l\",\n      \"▁ wall\",\n      \"Col or\",\n      \"Co lor\",\n      \"▁v ers\",\n      \"▁ver s\",\n      \"▁ve rs\",\n      \"▁ vers\",\n      \"▁d ella\",\n      \"▁de lla\",\n      \"▁del la\",\n      \"▁dell a\",\n      \"▁\\\" \\\"\\\"\",\n      \"▁\\\"\\\" \\\"\",\n      \"▁ \\\"\\\"\\\"\",\n      \"math bf\",\n      \"ze r\",\n      \"z er\",\n      \"au r\",\n      \"a ur\",\n      \"▁tr ack\",\n      \"▁tra ck\",\n      \"▁ track\",\n      \"▁ass oci\",\n      \"▁ associ\",\n      \"▁s uff\",\n      \"▁su ff\",\n      \"▁in de\",\n      \"▁i nde\",\n      \"▁ind e\",\n      \"▁ inde\",\n      \"ag ue\",\n      \"agu e\",\n      \"a gue\",\n      \"▁A pr\",\n      \"▁Ap r\",\n      \"▁ Apr\",\n      \"L e\",\n      \"ro ups\",\n      \"rou ps\",\n      \"roup s\",\n      \"bo ard\",\n      \"b oard\",\n      \"▁att ack\",\n      \"▁s eries\",\n      \"▁se ries\",\n      \"▁ser ies\",\n      \"▁serie s\",\n      \"▁ series\",\n      \"▁in stead\",\n      \"▁inst ead\",\n      \"ha m\",\n      \"h am\",\n      \"bo ok\",\n      \"b ook\",\n      \"▁s ix\",\n      \"▁si x\",\n      \"▁ six\",\n      \"▁R ec\",\n      \"▁Re c\",\n      \"▁ Rec\",\n      \"▁c oming\",\n      \"▁com ing\",\n      \"▁co ming\",\n      \"▁ coming\",\n      \"ur t\",\n      \"u rt\",\n      \"▁gl obal\",\n      \"▁glob al\",\n      \"▁glo bal\",\n      \"▁ global\",\n      \"▁ne cess\",\n      \"▁neces s\",\n      \"▁ necess\",\n      \"le ge\",\n      \"leg e\",\n      \"Po s\",\n      \"P os\",\n      \"▁le ave\",\n      \"▁ leave\",\n      \"▁p od\",\n      \"▁po d\",\n      \"▁ pod\",\n      \"ateg ory\",\n      \"ategor y\",\n      \"u z\",\n      \"▁de ep\",\n      \"▁ deep\",\n      \"▁k m\",\n      \"▁ km\",\n      \"▁out side\",\n      \"▁outs ide\",\n      \"ha s\",\n      \"h as\",\n      \"opt ions\",\n      \"option s\",\n      \"o ptions\",\n      \"▁S m\",\n      \"▁ Sm\",\n      \"Su b\",\n      \"S ub\",\n      \"ro ws\",\n      \"row s\",\n      \"r ows\",\n      \"▁в и\",\n      \"▁ ви\",\n      \"▁St ates\",\n      \"▁State s\",\n      \"▁Stat es\",\n      \"▁Sta tes\",\n      \"▁ States\",\n      \"▁wr ong\",\n      \"▁how ever\",\n      \"▁s em\",\n      \"▁se m\",\n      \"▁ sem\",\n      \"▁c atch\",\n      \"▁cat ch\",\n      \"▁ catch\",\n      \"\\\") ,\",\n      \"\\\" ),\",\n      \"mod el\",\n      \"mode l\",\n      \"mo del\",\n      \"▁h ttp\",\n      \"▁htt p\",\n      \"▁ http\",\n      \"▁o ption\",\n      \"▁opt ion\",\n      \"▁ option\",\n      \"ri e\",\n      \"r ie\",\n      \"▁с та\",\n      \"▁ст а\",\n      \"▁ ста\",\n      \"▁ä r\",\n      \"▁ är\",\n      \"▁en joy\",\n      \"▁enjo y\",\n      \"n u\",\n      \"▁p as\",\n      \"▁pa s\",\n      \"▁ pas\",\n      \"▁a mount\",\n      \"▁am ount\",\n      \"▁ amount\",\n      \"▁res pons\",\n      \"▁respon s\",\n      \"▁resp ons\",\n      \"▁ respons\",\n      \"▁In tern\",\n      \"▁Inter n\",\n      \"▁Int ern\",\n      \"▁ Intern\",\n      \"▁my self\",\n      \"▁o pp\",\n      \"▁op p\",\n      \"▁ opp\",\n      \"▁S im\",\n      \"▁Si m\",\n      \"▁ Sim\",\n      \"▁s ens\",\n      \"▁se ns\",\n      \"▁sen s\",\n      \"E d\",\n      \"▁( \\\\\",\n      \"▁ (\\\\\",\n      \"▁stud ents\",\n      \"▁student s\",\n      \"но в\",\n      \"н ов\",\n      \"▁point s\",\n      \"▁ points\",\n      \"ar ning\",\n      \"arn ing\",\n      \"U P\",\n      \"el ling\",\n      \"ell ing\",\n      \"elli ng\",\n      \"▁c annot\",\n      \"▁can not\",\n      \"B e\",\n      \"▁l ength\",\n      \"▁le ngth\",\n      \"▁ length\",\n      \"nu ll\",\n      \"n ull\",\n      \"ui nt\",\n      \"u int\",\n      \"wi se\",\n      \"w ise\",\n      \"▁d ouble\",\n      \"▁dou ble\",\n      \"▁doub le\",\n      \"▁ double\",\n      \"ig e\",\n      \"i ge\",\n      \"is ta\",\n      \"ist a\",\n      \"i sta\",\n      \"▁est ab\",\n      \"▁es tab\",\n      \"▁esta b\",\n      \"an ch\",\n      \"anc h\",\n      \"▁a go\",\n      \"▁ag o\",\n      \"▁ ago\",\n      \"▁b ound\",\n      \"▁bo und\",\n      \"▁bou nd\",\n      \"▁ bound\",\n      \"▁f a\",\n      \"▁ fa\",\n      \"▁c lean\",\n      \"▁cle an\",\n      \"▁ clean\",\n      \"▁sim ple\",\n      \"▁simpl e\",\n      \"▁ simple\",\n      \"m i\",\n      \"#### ####\",\n      \"if ier\",\n      \"ifi er\",\n      \"▁Gener al\",\n      \"▁Gen eral\",\n      \"▁Gene ral\",\n      \"▁ General\",\n      \"▁se emed\",\n      \"▁see med\",\n      \"▁seem ed\",\n      \"en a\",\n      \"e na\",\n      \"▁a ge\",\n      \"▁ag e\",\n      \"▁ age\",\n      \"но й\",\n      \"end if\",\n      \"A A\",\n      \"▁c aus\",\n      \"▁ca us\",\n      \"▁e duc\",\n      \"▁ed uc\",\n      \"▁ educ\",\n      \"▁c ell\",\n      \"▁ce ll\",\n      \"▁cel l\",\n      \"▁ cell\",\n      \"Ge ner\",\n      \"Gen er\",\n      \"G ener\",\n      \"sp ace\",\n      \"s pace\",\n      \"▁Y our\",\n      \"▁You r\",\n      \"▁ Your\",\n      \"▁be aut\",\n      \"g t\",\n      \"▁l imit\",\n      \"▁li mit\",\n      \"▁lim it\",\n      \"▁ limit\",\n      \"▁d ate\",\n      \"▁da te\",\n      \"▁dat e\",\n      \"▁ date\",\n      \"Ut il\",\n      \"U til\",\n      \"▁N ational\",\n      \"▁Nat ional\",\n      \"▁Nation al\",\n      \"▁ National\",\n      \"ow s\",\n      \"o ws\",\n      \"pa t\",\n      \"p at\",\n      \"qu ad\",\n      \"▁o k\",\n      \"▁ ok\",\n      \"▁ И\",\n      \"ar th\",\n      \"art h\",\n      \"ha t\",\n      \"h at\",\n      \"▁comm unity\",\n      \"▁commun ity\",\n      \"ou l\",\n      \"o ul\",\n      \"▁e conom\",\n      \"▁ec onom\",\n      \"▁ econom\",\n      \"Com ponent\",\n      \"bo r\",\n      \"b or\",\n      \"us ion\",\n      \"▁be low\",\n      \"▁bel ow\",\n      \"ear ch\",\n      \"e arch\",\n      \"or es\",\n      \"ore s\",\n      \"o res\",\n      \"ba n\",\n      \"b an\",\n      \"▁Aug ust\",\n      \"▁fur ther\",\n      \"sig ma\",\n      \"s igma\",\n      \"▁h a\",\n      \"▁ ha\",\n      \"j i\",\n      \"▁com put\",\n      \"▁comp ut\",\n      \"▁ comput\",\n      \"г ра\",\n      \"▁N one\",\n      \"▁No ne\",\n      \"▁Non e\",\n      \"▁ None\",\n      \"▁t er\",\n      \"▁te r\",\n      \"▁ ter\",\n      \"▁any one\",\n      \"▁t ask\",\n      \"▁ta sk\",\n      \"▁ task\",\n      \"en te\",\n      \"ent e\",\n      \"e nte\",\n      \"pos ition\",\n      \"pp ed\",\n      \"ppe d\",\n      \"p ped\",\n      \"▁a us\",\n      \"▁au s\",\n      \"▁ aus\",\n      \"Att ribute\",\n      \"Attrib ute\",\n      \"re q\",\n      \"r eq\",\n      \"ad dr\",\n      \"add r\",\n      \"li ght\",\n      \"lig ht\",\n      \"l ight\",\n      \"ш е\",\n      \"▁a rm\",\n      \"▁ar m\",\n      \"▁ arm\",\n      \"co ver\",\n      \"cov er\",\n      \"c over\",\n      \"up port\",\n      \"upp ort\",\n      \"▁G l\",\n      \"▁ Gl\",\n      \"▁S an\",\n      \"▁Sa n\",\n      \"▁ San\",\n      \"▁wr iting\",\n      \"▁writ ing\",\n      \"▁ writing\",\n      \"▁l ost\",\n      \"▁lo st\",\n      \"▁los t\",\n      \"▁M ark\",\n      \"▁Mar k\",\n      \"▁ Mark\",\n      \"▁g re\",\n      \"▁gr e\",\n      \"▁ gre\",\n      \"TY PE\",\n      \"T YPE\",\n      \"▁S outh\",\n      \"▁So uth\",\n      \"▁Sou th\",\n      \"▁Sout h\",\n      \"▁ South\",\n      \"▁per fect\",\n      \"▁perf ect\",\n      \"▁pack age\",\n      \"▁ package\",\n      \"▁in fl\",\n      \"▁inf l\",\n      \"▁ infl\",\n      \"ha ps\",\n      \"h aps\",\n      \"▁A ng\",\n      \"▁An g\",\n      \"▁ Ang\",\n      \"res pon\",\n      \"resp on\",\n      \"ri s\",\n      \"r is\",\n      \"pt ember\",\n      \"pte mber\",\n      \"▁build ing\",\n      \"▁ building\",\n      \"VA L\",\n      \"V AL\",\n      \"fr ee\",\n      \"fre e\",\n      \"f ree\",\n      \"▁c e\",\n      \"▁ ce\",\n      \"H T\",\n      \"▁F rom\",\n      \"▁Fr om\",\n      \"▁Fro m\",\n      \"▁ From\",\n      \"d s\",\n      \"ro y\",\n      \"r oy\",\n      \"ach ine\",\n      \"achi ne\",\n      \"no wn\",\n      \"now n\",\n      \"n own\",\n      \"▁sa ying\",\n      \"▁say ing\",\n      \"▁б ы\",\n      \"▁ бы\",\n      \"o e\",\n      \"Re f\",\n      \"R ef\",\n      \"▁net work\",\n      \"▁ network\",\n      \"par ent\",\n      \"pa rent\",\n      \"pare nt\",\n      \"paren t\",\n      \"p arent\",\n      \"ug e\",\n      \"u ge\",\n      \"▁sim ilar\",\n      \"> \\r\",\n      \"Build er\",\n      \"B uilder\",\n      \"▁l iving\",\n      \"▁li ving\",\n      \"▁liv ing\",\n      \"▁contin ue\",\n      \"▁continu e\",\n      \"▁ continue\",\n      \"an ger\",\n      \"ang er\",\n      \"ange r\",\n      \"▁R ed\",\n      \"▁Re d\",\n      \"▁ Red\",\n      \"▁h air\",\n      \"▁ha ir\",\n      \"an ced\",\n      \"ance d\",\n      \"anc ed\",\n      \"ia ns\",\n      \"ian s\",\n      \"i ans\",\n      \"▁d ead\",\n      \"▁de ad\",\n      \"▁ dead\",\n      \"▁bo olean\",\n      \"▁ boolean\",\n      \"ic ation\",\n      \"▁д е\",\n      \"▁ де\",\n      \"▁cl ient\",\n      \"▁ client\",\n      \"uc t\",\n      \"u ct\",\n      \"▁ •\",\n      \"S P\",\n      \"ol der\",\n      \"old er\",\n      \"п е\",\n      \"ud io\",\n      \"udi o\",\n      \"▁d eg\",\n      \"▁de g\",\n      \"▁ deg\",\n      \"as ing\",\n      \"asi ng\",\n      \"a sing\",\n      \"▁st ep\",\n      \"▁ste p\",\n      \"▁ step\",\n      \"▁p ers\",\n      \"▁per s\",\n      \"▁pe rs\",\n      \"▁ pers\",\n      \"ç ão\",\n      \"ob j\",\n      \"o z\",\n      \"ul a\",\n      \"u la\",\n      \"▁r ound\",\n      \"▁ro und\",\n      \"▁rou nd\",\n      \"▁ round\",\n      \"▁u pon\",\n      \"▁up on\",\n      \"▁re source\",\n      \"▁res ource\",\n      \"▁ resource\",\n      \"▁val id\",\n      \"▁ valid\",\n      \"▁I I\",\n      \"▁ II\",\n      \"bu g\",\n      \"b ug\",\n      \"st d\",\n      \"s td\",\n      \"▁a ng\",\n      \"▁an g\",\n      \"▁ ang\",\n      \"sp an\",\n      \"s pan\",\n      \"po l\",\n      \"p ol\",\n      \"ial og\",\n      \"ia log\",\n      \"▁p hot\",\n      \"▁ph ot\",\n      \"? '\",\n      \"D B\",\n      \"▁F in\",\n      \"▁Fi n\",\n      \"▁ Fin\",\n      \"V E\",\n      \"E m\",\n      \"▁c am\",\n      \"▁ca m\",\n      \"▁ cam\",\n      \"tar get\",\n      \"t arget\",\n      \"pe cted\",\n      \"pect ed\",\n      \"pec ted\",\n      \"He l\",\n      \"H el\",\n      \"▁u t\",\n      \"▁ ut\",\n      \"▁T est\",\n      \"▁Te st\",\n      \"▁Tes t\",\n      \"▁ Test\",\n      \"▁t own\",\n      \"▁to wn\",\n      \"▁tow n\",\n      \"▁ town\",\n      \"al ign\",\n      \"ali gn\",\n      \"▁we bs\",\n      \"▁web s\",\n      \"in ner\",\n      \"inn er\",\n      \"au gh\",\n      \"aug h\",\n      \"a ugh\",\n      \"▁ex cept\",\n      \"▁ except\",\n      \"▁init ial\",\n      \"▁initi al\",\n      \"▁ initial\",\n      \"en ty\",\n      \"ent y\",\n      \"lic h\",\n      \"li ch\",\n      \"l ich\",\n      \"▁A ut\",\n      \"▁Au t\",\n      \"▁ Aut\",\n      \"to p\",\n      \"t op\",\n      \"▁f ail\",\n      \"▁fa il\",\n      \"▁ fail\",\n      \"on a\",\n      \"o na\",\n      \"▁ben ef\",\n      \"an ks\",\n      \"ank s\",\n      \"is che\",\n      \"isch e\",\n      \"isc he\",\n      \"i sche\",\n      \". *\",\n      \"▁sign ific\",\n      \"▁cont act\",\n      \"▁ contact\",\n      \"Re c\",\n      \"R ec\",\n      \"ar io\",\n      \"ari o\",\n      \"a rio\",\n      \"ot tom\",\n      \"ott om\",\n      \"otto m\",\n      \"▁rel ationship\",\n      \"▁relations hip\",\n      \"▁relation ship\",\n      \"]) ;\",\n      \"] );\",\n      \"▁Н а\",\n      \"▁ На\",\n      \"He ad\",\n      \"H ead\",\n      \"form at\",\n      \"for mat\",\n      \"▁é t\",\n      \"▁ ét\",\n      \"▁M ore\",\n      \"▁Mor e\",\n      \"▁Mo re\",\n      \"▁ More\",\n      \"act ory\",\n      \"actor y\",\n      \"port un\",\n      \"+ \\\\\",\n      \"▁sim ply\",\n      \"▁simpl y\",\n      \"▁e p\",\n      \"▁ ep\",\n      \"▁R uss\",\n      \"▁Ru ss\",\n      \"▁Rus s\",\n      \"n í\",\n      \"u a\",\n      \"er c\",\n      \"e rc\",\n      \"▁long er\",\n      \"▁lon ger\",\n      \"in ition\",\n      \"init ion\",\n      \"ect or\",\n      \"ec tor\",\n      \"e ctor\",\n      \"apt ion\",\n      \"a ption\",\n      \"▁prof ess\",\n      \"▁profes s\",\n      \"▁M us\",\n      \"▁Mu s\",\n      \"▁ Mus\",\n      \"il ities\",\n      \"ili ties\",\n      \"è s\",\n      \"▁A ct\",\n      \"▁Ac t\",\n      \"▁ Act\",\n      \"off set\",\n      \"offs et\",\n      \"▁i ll\",\n      \"▁il l\",\n      \"▁ ill\",\n      \"ba nd\",\n      \"ban d\",\n      \"b and\",\n      \"▁A g\",\n      \"▁ Ag\",\n      \"▁П о\",\n      \"▁ По\",\n      \"б и\",\n      \"cont ent\",\n      \"ic on\",\n      \"ico n\",\n      \"i con\",\n      \"▁work s\",\n      \"▁wor ks\",\n      \"▁ works\",\n      \"yn am\",\n      \"yna m\",\n      \"y nam\",\n      \"pl ement\",\n      \"ple ment\",\n      \"p lement\",\n      \"Res ource\",\n      \"Re source\",\n      \"Act ion\",\n      \"A ction\",\n      \"▁diff icult\",\n      \"▁W est\",\n      \"▁We st\",\n      \"▁Wes t\",\n      \"▁ West\",\n      \"▁v ideo\",\n      \"▁vide o\",\n      \"▁ video\",\n      \"▁T HE\",\n      \"▁TH E\",\n      \"▁ THE\",\n      \"▁de cl\",\n      \"▁dec l\",\n      \"▁ decl\",\n      \"on don\",\n      \"ond on\",\n      \"ondo n\",\n      \"de d\",\n      \"d ed\",\n      \"}{ \\\\\",\n      \"} {\\\\\",\n      \"oc r\",\n      \"o cr\",\n      \"▁C ity\",\n      \"▁Cit y\",\n      \"▁Ci ty\",\n      \"▁ City\",\n      \"▁ я\",\n      \"ue r\",\n      \"u er\",\n      \"c z\",\n      \"▁im ag\",\n      \"▁i mag\",\n      \"▁ imag\",\n      \"c r\",\n      \"et e\",\n      \"e te\",\n      \"id get\",\n      \"idge t\",\n      \"▁M od\",\n      \"▁Mo d\",\n      \"▁ Mod\",\n      \"▁for ward\",\n      \"▁ forward\",\n      \"▁p ict\",\n      \"▁pi ct\",\n      \"▁pic t\",\n      \"or ge\",\n      \"org e\",\n      \"▁sub ject\",\n      \"▁ subject\",\n      \"up date\",\n      \"at tle\",\n      \"att le\",\n      \"s a\",\n      \"▁A nt\",\n      \"▁An t\",\n      \"▁ Ant\",\n      \"▁r unning\",\n      \"▁run ning\",\n      \"▁ running\",\n      \"▁s al\",\n      \"▁sa l\",\n      \"▁ sal\",\n      \"con ne\",\n      \"conn e\",\n      \"c onne\",\n      \"▁out put\",\n      \"▁ output\",\n      \"ad ata\",\n      \"ada ta\",\n      \"a data\",\n      \"M L\",\n      \"Che ck\",\n      \"C heck\",\n      \"led ge\",\n      \"l edge\",\n      \"▁p aper\",\n      \"▁pa per\",\n      \"▁pap er\",\n      \"▁ paper\",\n      \"param s\",\n      \"par ams\",\n      \"para ms\",\n      \"av y\",\n      \"a vy\",\n      \"▁a f\",\n      \"▁ af\",\n      \"▁e ine\",\n      \"▁ein e\",\n      \"▁j our\",\n      \"▁jo ur\",\n      \"▁jou r\",\n      \"▁ jour\",\n      \"A Y\",\n      \"▁it self\",\n      \"▁its elf\",\n      \"▁S tr\",\n      \"▁St r\",\n      \"▁ Str\",\n      \"st yle\",\n      \"sty le\",\n      \"Th at\",\n      \"T hat\",\n      \"▁m illion\",\n      \"▁mill ion\",\n      \"▁l anguage\",\n      \"▁ language\",\n      \"O S\",\n      \"vi ng\",\n      \"vin g\",\n      \"v ing\",\n      \"▁м а\",\n      \"▁ ма\",\n      \"▁т о\",\n      \"▁ то\",\n      \") (\",\n      \"▁b uy\",\n      \"▁bu y\",\n      \". /\",\n      \"▁. ..\",\n      \"▁.. .\",\n      \"▁ ...\",\n      \"▁t ried\",\n      \"▁tr ied\",\n      \"▁tri ed\",\n      \"▁com pl\",\n      \"▁comp l\",\n      \"▁act iv\",\n      \"▁ activ\",\n      \"ap ped\",\n      \"app ed\",\n      \"appe d\",\n      \"a pped\",\n      \"But ton\",\n      \"B utton\",\n      \"To ken\",\n      \"Tok en\",\n      \"T oken\",\n      \"▁prov ided\",\n      \"▁provide d\",\n      \"ib er\",\n      \"ibe r\",\n      \"i ber\",\n      \"▁c reated\",\n      \"▁cre ated\",\n      \"▁create d\",\n      \"▁creat ed\",\n      \"▁ created\",\n      \"cur ity\",\n      \"c urity\",\n      \"En d\",\n      \"E nd\",\n      \"a ł\",\n      \"us ter\",\n      \"ust er\",\n      \"u ster\",\n      \"iz ing\",\n      \"izi ng\",\n      \"i zing\",\n      \"om b\",\n      \"o mb\",\n      \"▁s ich\",\n      \"▁si ch\",\n      \"▁com pon\",\n      \"▁comp on\",\n      \"▁S ee\",\n      \"▁Se e\",\n      \"▁ See\",\n      \"▁u int\",\n      \"▁ui nt\",\n      \"▁ uint\",\n      \"▁l abel\",\n      \"▁la bel\",\n      \"▁lab el\",\n      \"▁ label\",\n      \"vo l\",\n      \"v ol\",\n      \"ó w\",\n      \"oc ol\",\n      \"oco l\",\n      \"o col\",\n      \"▁re ceived\",\n      \"▁rece ived\",\n      \"▁receive d\",\n      \"▁in tern\",\n      \"▁int ern\",\n      \"▁inter n\",\n      \"▁inte rn\",\n      \"▁ intern\",\n      \"ц е\",\n      \"R un\",\n      \"▁r oad\",\n      \"▁ro ad\",\n      \"▁ road\",\n      \"▁O ct\",\n      \"▁ Oct\",\n      \"▁C omp\",\n      \"▁Com p\",\n      \"▁Co mp\",\n      \"▁ Comp\",\n      \"▁stud y\",\n      \"▁т е\",\n      \"▁ те\",\n      \"Ac t\",\n      \"A ct\",\n      \"▁t our\",\n      \"▁to ur\",\n      \"▁tou r\",\n      \"▁St ate\",\n      \"▁Stat e\",\n      \"▁Sta te\",\n      \"▁ State\",\n      \"▁ad ded\",\n      \"▁add ed\",\n      \"▁ added\",\n      \"htt ps\",\n      \"http s\",\n      \"st ream\",\n      \"stre am\",\n      \"▁l ower\",\n      \"▁lo wer\",\n      \"▁low er\",\n      \"▁ lower\",\n      \"▁b ox\",\n      \"▁bo x\",\n      \"▁ box\",\n      \"▁S k\",\n      \"▁ Sk\",\n      \"▁them selves\",\n      \"▁c ross\",\n      \"▁cr oss\",\n      \"▁cro ss\",\n      \"▁ cross\",\n      \"▁e cho\",\n      \"▁ec ho\",\n      \"▁ echo\",\n      \"▁dev ice\",\n      \"▁ device\",\n      \"pos e\",\n      \"po se\",\n      \"p ose\",\n      \"▁g ames\",\n      \"▁game s\",\n      \"▁gam es\",\n      \"▁ga mes\",\n      \"P L\",\n      \"W indow\",\n      \"is es\",\n      \"ise s\",\n      \"i ses\",\n      \"ti tle\",\n      \"tit le\",\n      \"t itle\",\n      \"St ream\",\n      \"z t\",\n      \"▁S w\",\n      \"▁ Sw\",\n      \"▁r ole\",\n      \"▁ro le\",\n      \"▁ role\",\n      \"ia nt\",\n      \"ian t\",\n      \"i ant\",\n      \"k u\",\n      \"se qu\",\n      \"seq u\",\n      \"s equ\",\n      \"▁l ate\",\n      \"▁la te\",\n      \"▁lat e\",\n      \"▁ late\",\n      \"▁s old\",\n      \"▁so ld\",\n      \"▁sol d\",\n      \"р я\",\n      \"Com m\",\n      \"Co mm\",\n      \"C omm\",\n      \"▁en tre\",\n      \"▁ent re\",\n      \"▁entr e\",\n      \"▁ entre\",\n      \"▁d og\",\n      \"▁do g\",\n      \"▁ dog\",\n      \"dev ice\",\n      \"P ar\",\n      \"▁like ly\",\n      \"▁lik ely\",\n      \"▁ likely\",\n      \"^{ -\",\n      \"^ {-\",\n      \"▁l en\",\n      \"▁le n\",\n      \"▁ len\",\n      \"▁P aul\",\n      \"▁Pa ul\",\n      \"▁ Paul\",\n      \"▁t ool\",\n      \"▁to ol\",\n      \"▁too l\",\n      \"▁ tool\",\n      \"Of f\",\n      \"O ff\",\n      \"▁f amil\",\n      \"▁fam il\",\n      \"▁fa mil\",\n      \"▁d raw\",\n      \"▁dr aw\",\n      \"▁ draw\",\n      \"ap ping\",\n      \"app ing\",\n      \"a pping\",\n      \"▁ev ents\",\n      \"▁even ts\",\n      \"▁event s\",\n      \"▁ events\",\n      \"cre t\",\n      \"cr et\",\n      \"c ret\",\n      \"rou ght\",\n      \"rough t\",\n      \"r ought\",\n      \"Cont ent\",\n      \"▁soft ware\",\n      \"ri a\",\n      \"r ia\",\n      \"ms g\",\n      \"m sg\",\n      \"ga mma\",\n      \"g amma\",\n      \"▁h ear\",\n      \"▁he ar\",\n      \"Op er\",\n      \"O per\",\n      \"▁your self\",\n      \"▁yours elf\",\n      \"▁l iter\",\n      \"▁li ter\",\n      \"▁lit er\",\n      \"▁ liter\",\n      \"em p\",\n      \"e mp\",\n      \"▁se par\",\n      \"▁sep ar\",\n      \"▁ separ\",\n      \"▁ З\",\n      \"▁t itle\",\n      \"▁tit le\",\n      \"▁ti tle\",\n      \"▁ title\",\n      \"M ethod\",\n      \"math rm\",\n      \"▁s low\",\n      \"▁sl ow\",\n      \"▁R om\",\n      \"▁Ro m\",\n      \"▁ Rom\",\n      \"! !\",\n      \"▁t ax\",\n      \"▁ta x\",\n      \"▁ tax\",\n      \"ск а\",\n      \"с ка\",\n      \"empl ate\",\n      \"emp late\",\n      \"o i\",\n      \"▁A rt\",\n      \"▁Ar t\",\n      \"▁ Art\",\n      \"f alse\",\n      \"ast ic\",\n      \"ст ь\",\n      \"с ть\",\n      \"oc ket\",\n      \"ock et\",\n      \"▁e ns\",\n      \"▁en s\",\n      \"▁ ens\",\n      \"T O\",\n      \"am ente\",\n      \"ame nte\",\n      \"ament e\",\n      \"amen te\",\n      \"a mente\",\n      \"lo cal\",\n      \"loc al\",\n      \"l ocal\",\n      \"ch ie\",\n      \"chi e\",\n      \"▁p an\",\n      \"▁pa n\",\n      \"▁ pan\",\n      \"ни й\",\n      \"ch ema\",\n      \"che ma\",\n      \"chem a\",\n      \"▁N orth\",\n      \"▁Nor th\",\n      \"▁Nort h\",\n      \"з о\",\n      \"▁> =\",\n      \"▁ >=\",\n      \"A ut\",\n      \"▁d ig\",\n      \"▁di g\",\n      \"▁ dig\",\n      \"▁se ems\",\n      \"▁see ms\",\n      \"▁seem s\",\n      \"▁mor ning\",\n      \"so le\",\n      \"sol e\",\n      \"s ole\",\n      \"um er\",\n      \"ume r\",\n      \"u mer\",\n      \"del ta\",\n      \"d elta\",\n      \"it é\",\n      \"i té\",\n      \"ab ase\",\n      \"aba se\",\n      \"a base\",\n      \"ra f\",\n      \"r af\",\n      \"▁ob serv\",\n      \"▁obs erv\",\n      \"▁ observ\",\n      \"▁E st\",\n      \"▁Es t\",\n      \"▁ Est\",\n      \"▁s eg\",\n      \"▁se g\",\n      \"▁ seg\",\n      \"▁[ ]\",\n      \"▁ []\",\n      \"▁P res\",\n      \"▁Pr es\",\n      \"▁Pre s\",\n      \"▁ Pres\",\n      \"if ul\",\n      \"i ful\",\n      \"pu sh\",\n      \"pus h\",\n      \"p ush\",\n      \"▁O ff\",\n      \"▁Of f\",\n      \"▁ Off\",\n      \"ip e\",\n      \"i pe\",\n      \"at i\",\n      \"a ti\",\n      \"▁d im\",\n      \"▁di m\",\n      \"▁ dim\",\n      \"ce ed\",\n      \"c eed\",\n      \"En t\",\n      \"E nt\",\n      \"__ __\",\n      \"___ _\",\n      \"_ ___\",\n      \"en try\",\n      \"ent ry\",\n      \"entr y\",\n      \"▁f ight\",\n      \"▁fig ht\",\n      \"▁fi ght\",\n      \"▁c red\",\n      \"▁cre d\",\n      \"▁cr ed\",\n      \"▁ cred\",\n      \"▁O R\",\n      \"▁ OR\",\n      \"▁D ep\",\n      \"▁De p\",\n      \"▁ Dep\",\n      \"$ {\",\n      \"ле н\",\n      \"л ен\",\n      \"Creat e\",\n      \"C reate\",\n      \"▁Apr il\",\n      \"▁Ap ril\",\n      \"min istr\",\n      \"F L\",\n      \"▁A p\",\n      \"▁ Ap\",\n      \"▁H ere\",\n      \"▁He re\",\n      \"▁Her e\",\n      \"▁ Here\",\n      \"priv ate\",\n      \"p rivate\",\n      \"In stance\",\n      \"Inst ance\",\n      \"ie m\",\n      \"i em\",\n      \"▁off ice\",\n      \"▁offic e\",\n      \"▁th ird\",\n      \"▁ third\",\n      \"▁up date\",\n      \"▁ update\",\n      \"Lin e\",\n      \"Li ne\",\n      \"L ine\",\n      \"ta g\",\n      \"t ag\",\n      \"▁e specially\",\n      \"▁espec ially\",\n      \"▁especial ly\",\n      \"▁ especially\",\n      \"▁го да\",\n      \"▁год а\",\n      \"▁c u\",\n      \"▁ cu\",\n      \"▁k ill\",\n      \"▁kil l\",\n      \"▁ki ll\",\n      \"▁ kill\",\n      \"au ght\",\n      \"augh t\",\n      \"aug ht\",\n      \"▁s we\",\n      \"▁sw e\",\n      \"Option s\",\n      \"Opt ions\",\n      \"O ptions\",\n      \"I M\",\n      \"C C\",\n      \"▁com pan\",\n      \"▁comp an\",\n      \"ju st\",\n      \"j ust\",\n      \"▁Wh ile\",\n      \"▁ While\",\n      \"iz er\",\n      \"ize r\",\n      \"i zer\",\n      \"▁м о\",\n      \"▁ мо\",\n      \"к е\",\n      \"▁a uto\",\n      \"▁aut o\",\n      \"▁au to\",\n      \"▁ auto\",\n      \"▁b and\",\n      \"▁ban d\",\n      \"▁ba nd\",\n      \"▁ band\",\n      \"ме н\",\n      \"м ен\",\n      \"ique s\",\n      \"iqu es\",\n      \"iq ues\",\n      \"i ques\",\n      \"▁p le\",\n      \"▁pl e\",\n      \"▁ ple\",\n      \"N O\",\n      \"▁O F\",\n      \"▁ OF\",\n      \"▁s ong\",\n      \"▁so ng\",\n      \"▁son g\",\n      \"▁A cc\",\n      \"▁Ac c\",\n      \"▁ Acc\",\n      \"EX T\",\n      \"E XT\",\n      \"en sor\",\n      \"ens or\",\n      \"enso r\",\n      \"in ing\",\n      \"ini ng\",\n      \"i ning\",\n      \"▁l at\",\n      \"▁la t\",\n      \"▁ lat\",\n      \"bi g\",\n      \"b ig\",\n      \"▁K ing\",\n      \"▁Ki ng\",\n      \"▁Kin g\",\n      \"▁ King\",\n      \"oc h\",\n      \"o ch\",\n      \"s i\",\n      \"▁H ist\",\n      \"▁His t\",\n      \"▁Hi st\",\n      \"▁ Hist\",\n      \"▁qu ality\",\n      \"▁qual ity\",\n      \"▁ quality\",\n      \"mod e\",\n      \"mo de\",\n      \"m ode\",\n      \"▁op portun\",\n      \"▁would n\",\n      \":* *\",\n      \": **\",\n      \"out put\",\n      \"▁fe et\",\n      \"▁fee t\",\n      \"▁m is\",\n      \"▁mi s\",\n      \"d f\",\n      \"ag ing\",\n      \"agi ng\",\n      \"a ging\",\n      \"▁м е\",\n      \"▁ ме\",\n      \"▁t ro\",\n      \"▁tr o\",\n      \"▁d efined\",\n      \"▁def ined\",\n      \"▁define d\",\n      \"▁defin ed\",\n      \"▁ defined\",\n      \"▁re view\",\n      \"▁rev iew\",\n      \"▁ review\",\n      \"▁F il\",\n      \"▁Fi l\",\n      \"▁ Fil\",\n      \"> >\",\n      \"▁pr incip\",\n      \"▁prin cip\",\n      \"Bas e\",\n      \"B ase\",\n      \"di ct\",\n      \"d ict\",\n      \"ve rage\",\n      \"ver age\",\n      \"ic ient\",\n      \"ici ent\",\n      \"I F\",\n      \"▁h it\",\n      \"▁hi t\",\n      \"▁ hit\",\n      \"Pag e\",\n      \"P age\",\n      \"▁p erm\",\n      \"▁per m\",\n      \"▁pe rm\",\n      \"▁ perm\",\n      \"ce l\",\n      \"c el\",\n      \"í t\",\n      \"▁ex press\",\n      \"▁exp ress\",\n      \"▁expr ess\",\n      \"▁ express\",\n      \"▁ind ic\",\n      \"▁Se ptember\",\n      \"▁Sept ember\",\n      \"im age\",\n      \"ima ge\",\n      \"imag e\",\n      \"▁product s\",\n      \"▁ products\",\n      \"▁m edia\",\n      \"▁med ia\",\n      \"▁medi a\",\n      \"▁ media\",\n      \"ch ange\",\n      \"chan ge\",\n      \"ig ger\",\n      \"igg er\",\n      \"▁s end\",\n      \"▁se nd\",\n      \"▁sen d\",\n      \"▁ send\",\n      \"la st\",\n      \"las t\",\n      \"l ast\",\n      \"min g\",\n      \"mi ng\",\n      \"m ing\",\n      \"p a\",\n      \"ua ry\",\n      \"uar y\",\n      \"u ary\",\n      \"▁spe ak\",\n      \"ны й\",\n      \"щ е\",\n      \"ys is\",\n      \"y sis\",\n      \"ly ing\",\n      \"l ying\",\n      \"▁ ч\",\n      \"li ke\",\n      \"lik e\",\n      \"l ike\",\n      \"р ы\",\n      \"в і\",\n      \"▁M ich\",\n      \"▁Mic h\",\n      \"▁Mi ch\",\n      \"M O\",\n      \"▁J ah\",\n      \"▁Ja h\",\n      \"ens ive\",\n      \"▁sh are\",\n      \"▁shar e\",\n      \"▁sha re\",\n      \"▁ share\",\n      \"▁develop ment\",\n      \"C P\",\n      \"sp ec\",\n      \"spe c\",\n      \"s pec\",\n      \"▁f ast\",\n      \"▁fa st\",\n      \"▁ fast\",\n      \"he t\",\n      \"h et\",\n      \"H O\",\n      \"▁part icip\",\n      \"▁partic ip\",\n      \"▁parti cip\",\n      \"Bl ock\",\n      \"Blo ck\",\n      \"B lock\",\n      \"▁vi ol\",\n      \"▁fr ame\",\n      \"▁fra me\",\n      \"▁fram e\",\n      \"▁ frame\",\n      \"▁qu al\",\n      \"▁q ual\",\n      \"▁ qual\",\n      \"tr e\",\n      \"t re\",\n      \"▁ Ф\",\n      \"▁to ward\",\n      \"▁tow ard\",\n      \"f g\",\n      \"Bo x\",\n      \"B ox\",\n      \"Col umn\",\n      \"▁mil it\",\n      \"▁mi lit\",\n      \"▁M arch\",\n      \"▁Mar ch\",\n      \"▁Marc h\",\n      \"▁var ious\",\n      \"▁vari ous\",\n      \"pa ss\",\n      \"pas s\",\n      \"p ass\",\n      \"▁P ark\",\n      \"▁Par k\",\n      \"▁B en\",\n      \"▁Be n\",\n      \"▁ Ben\",\n      \"Fr ame\",\n      \"▁n ormal\",\n      \"▁nor mal\",\n      \"▁norm al\",\n      \"▁ normal\",\n      \"op en\",\n      \"ope n\",\n      \"o pen\",\n      \"p x\",\n      \"▁ph one\",\n      \"▁ phone\",\n      \"▁E ven\",\n      \"▁Ev en\",\n      \"▁Eve n\",\n      \"▁ Even\",\n      \"▁m a\",\n      \"▁ ma\",\n      \"ibr ary\",\n      \"St art\",\n      \"Star t\",\n      \"id den\",\n      \"idd en\",\n      \"rh o\",\n      \"r ho\",\n      \"gr aph\",\n      \"gra ph\",\n      \"g raph\",\n      \"ac ing\",\n      \"aci ng\",\n      \"a cing\",\n      \"' .\",\n      \"ar ter\",\n      \"art er\",\n      \"arte r\",\n      \"me s\",\n      \"m es\",\n      \"in st\",\n      \"ins t\",\n      \"▁i r\",\n      \"▁ ir\",\n      \"act ive\",\n      \"activ e\",\n      \"▁f em\",\n      \"▁fe m\",\n      \"▁ fem\",\n      \"▁m oved\",\n      \"▁mov ed\",\n      \"▁move d\",\n      \"▁mo ved\",\n      \"▁st ore\",\n      \"▁stor e\",\n      \"▁sto re\",\n      \"▁ store\",\n      \"▁p rice\",\n      \"▁pr ice\",\n      \"▁pri ce\",\n      \"▁ price\",\n      \"\\\") .\",\n      \"\\\" ).\",\n      \"ber g\",\n      \"be rg\",\n      \"b erg\",\n      \"▁n ov\",\n      \"▁no v\",\n      \"▁ nov\",\n      \"▁c ard\",\n      \"▁car d\",\n      \"▁ca rd\",\n      \"▁ card\",\n      \"el low\",\n      \"ell ow\",\n      \"ello w\",\n      \"▁part y\",\n      \"▁par ty\",\n      \"▁ party\",\n      \"▁M or\",\n      \"▁Mo r\",\n      \"ae l\",\n      \"a el\",\n      \"▁per cent\",\n      \"▁ percent\",\n      \"▁tr aining\",\n      \"▁tra ining\",\n      \"▁train ing\",\n      \"▁ training\",\n      \"▁in g\",\n      \"▁i ng\",\n      \"▁ ing\",\n      \"im er\",\n      \"ime r\",\n      \"i mer\",\n      \"▁S am\",\n      \"▁Sa m\",\n      \"▁ Sam\",\n      \"Def ault\",\n      \"▁f uck\",\n      \"▁fu ck\",\n      \"▁com plete\",\n      \"▁comp lete\",\n      \"▁complet e\",\n      \"▁compl ete\",\n      \"▁ complete\",\n      \"ui d\",\n      \"u id\",\n      \"▁det ails\",\n      \"▁detail s\",\n      \"▁ details\",\n      \"▁l ed\",\n      \"▁le d\",\n      \"▁ led\",\n      \"Po int\",\n      \"P oint\",\n      \"▁C ount\",\n      \"▁Co unt\",\n      \"▁Coun t\",\n      \"▁Cou nt\",\n      \"▁ Count\",\n      \"▁reg ard\",\n      \"z o\",\n      \"▁B ro\",\n      \"▁Br o\",\n      \"▁ Bro\",\n      \"▁rec ogn\",\n      \"▁ recogn\",\n      \"▁H ol\",\n      \"▁Ho l\",\n      \"▁ Hol\",\n      \"U M\",\n      \"el ement\",\n      \"ele ment\",\n      \"elem ent\",\n      \"e lement\",\n      \"Mod e\",\n      \"Mo de\",\n      \"M ode\",\n      \"▁ex am\",\n      \"▁E X\",\n      \"▁ EX\",\n      \"Im age\",\n      \"ver se\",\n      \"vers e\",\n      \"ri ter\",\n      \"rit er\",\n      \"rite r\",\n      \"r iter\",\n      \"so ft\",\n      \"s oft\",\n      \"▁int rodu\",\n      \"▁intro du\",\n      \"▁sur pr\",\n      \"Buf fer\",\n      \"Buff er\",\n      \"B uffer\",\n      \"le ctor\",\n      \"lect or\",\n      \"l ector\",\n      \"ar en\",\n      \"are n\",\n      \"a ren\",\n      \"an ged\",\n      \"ang ed\",\n      \"ange d\",\n      \"▁P at\",\n      \"▁Pa t\",\n      \"▁ Pat\",\n      \"▁P al\",\n      \"▁Pa l\",\n      \"▁ Pal\",\n      \"▁con tr\",\n      \"▁cont r\",\n      \"▁ contr\",\n      \"Hand ler\",\n      \"Handle r\",\n      \"▁fe atures\",\n      \"▁feature s\",\n      \"▁feat ures\",\n      \"▁ features\",\n      \"ip le\",\n      \"i ple\",\n      \"▁C ON\",\n      \"▁CO N\",\n      \"▁ CON\",\n      \"Fi l\",\n      \"F il\",\n      \"▁P ort\",\n      \"▁Po rt\",\n      \"▁Por t\",\n      \"▁ Port\",\n      \"▁th inking\",\n      \"▁think ing\",\n      \"▁thin king\",\n      \"do c\",\n      \"d oc\",\n      \"we r\",\n      \"w er\",\n      \"▁work ed\",\n      \"▁wor ked\",\n      \"P C\",\n      \"c m\",\n      \"da t\",\n      \"d at\",\n      \"PR O\",\n      \"P RO\",\n      \"▁E very\",\n      \"▁Ev ery\",\n      \"▁Ever y\",\n      \"▁Eve ry\",\n      \"▁ Every\",\n      \"▁e ra\",\n      \"▁er a\",\n      \"▁ era\",\n      \"▁F irst\",\n      \"▁ First\",\n      \"g n\",\n      \"▁im medi\",\n      \"▁imm edi\",\n      \"ov ember\",\n      \"ove mber\",\n      \"ap an\",\n      \"apa n\",\n      \"a pan\",\n      \"▁ex tra\",\n      \"▁ext ra\",\n      \"▁extr a\",\n      \"▁ extra\",\n      \"▁s ection\",\n      \"▁se ction\",\n      \"▁sect ion\",\n      \"▁ section\",\n      \"▁J une\",\n      \"▁Jun e\",\n      \"▁Ju ne\",\n      \"▁v ia\",\n      \"▁vi a\",\n      \"▁ via\",\n      \"▁g one\",\n      \"▁go ne\",\n      \"com e\",\n      \"co me\",\n      \"c ome\",\n      \"▁s tri\",\n      \"▁st ri\",\n      \"▁str i\",\n      \"▁ stri\",\n      \"^ \\\\\",\n      \"ant ly\",\n      \"▁ar ch\",\n      \"▁arc h\",\n      \"▁ arch\",\n      \"S ource\",\n      \"▁con v\",\n      \"▁co nv\",\n      \"▁ conv\",\n      \"▁L ondon\",\n      \"▁Lond on\",\n      \"▁ London\",\n      \"Num ber\",\n      \"N umber\",\n      \"▁quest ions\",\n      \"▁question s\",\n      \"an did\",\n      \"and id\",\n      \"▁play ed\",\n      \"en v\",\n      \"e nv\",\n      \"▁Sch ool\",\n      \"▁nat ural\",\n      \"▁natur al\",\n      \"▁ natural\",\n      \"ca n\",\n      \"c an\",\n      \"▁ne ws\",\n      \"▁new s\",\n      \"▁ news\",\n      \"D R\",\n      \"▁c hall\",\n      \"▁ch all\",\n      \"▁cha ll\",\n      \"▁S oc\",\n      \"▁So c\",\n      \"▁ э\",\n      \"▁att empt\",\n      \"* }\",\n      \"N ull\",\n      \"ro te\",\n      \"rot e\",\n      \"r ote\",\n      \"▁b i\",\n      \"▁ bi\",\n      \"▁wr itten\",\n      \"▁writ ten\",\n      \"▁ written\",\n      \"▁bl ood\",\n      \"▁blo od\",\n      \"▁happ ened\",\n      \"▁happen ed\",\n      \"▁c ause\",\n      \"▁caus e\",\n      \"▁ca use\",\n      \"as hing\",\n      \"ash ing\",\n      \"ashi ng\",\n      \"▁Will iam\",\n      \"ad em\",\n      \"ade m\",\n      \"a dem\",\n      \"▁b rought\",\n      \"▁br ought\",\n      \"▁dis play\",\n      \"▁displ ay\",\n      \"▁disp lay\",\n      \"▁ display\",\n      \"im a\",\n      \"i ma\",\n      \"▁fin ally\",\n      \"▁final ly\",\n      \"ta b\",\n      \"t ab\",\n      \"▁return ed\",\n      \"ны х\",\n      \"ni e\",\n      \"n ie\",\n      \"▁ q\",\n      \"▁h ers\",\n      \"▁he rs\",\n      \"▁her s\",\n      \"▁P re\",\n      \"▁Pr e\",\n      \"▁ Pre\",\n      \"▁d ou\",\n      \"▁do u\",\n      \"buf fer\",\n      \"buff er\",\n      \"b uffer\",\n      \"▁eff ort\",\n      \"ain e\",\n      \"ai ne\",\n      \"a ine\",\n      \"x y\",\n      \"▁his tor\",\n      \"▁hist or\",\n      \"en u\",\n      \"e nu\",\n      \"▁ar riv\",\n      \"▁arr iv\",\n      \"▁D em\",\n      \"▁De m\",\n      \"▁ Dem\",\n      \"▁f avor\",\n      \"▁fa vor\",\n      \"▁fav or\",\n      \"▁hand le\",\n      \"▁ handle\",\n      \"SE T\",\n      \"S ET\",\n      \"▁P ublic\",\n      \"▁Pub lic\",\n      \"▁Pu blic\",\n      \"▁ Public\",\n      \"ru pt\",\n      \"rup t\",\n      \"r upt\",\n      \"▁u r\",\n      \"▁ ur\",\n      \"▁for ce\",\n      \"▁ force\",\n      \"▁é s\",\n      \"▁ és\",\n      \"ub e\",\n      \"u be\",\n      \"Pr e\",\n      \"P re\",\n      \"р і\",\n      \"in y\",\n      \"i ny\",\n      \"th eta\",\n      \"the ta\",\n      \"is f\",\n      \"i sf\",\n      \"▁n ational\",\n      \"▁nat ional\",\n      \"▁nation al\",\n      \"Equ al\",\n      \"Eq ual\",\n      \"E qual\",\n      \"ren ch\",\n      \"▁w ife\",\n      \"▁c apt\",\n      \"▁cap t\",\n      \"▁ca pt\",\n      \"▁In ter\",\n      \"▁Int er\",\n      \"▁ Inter\",\n      \"ta u\",\n      \"t au\",\n      \"▁s leep\",\n      \"▁sle ep\",\n      \"▁ sleep\",\n      \"../ ../\",\n      \"▁iss ue\",\n      \"▁ issue\",\n      \"▁m ember\",\n      \"▁me mber\",\n      \"▁mem ber\",\n      \"▁ member\",\n      \"▁a wait\",\n      \"▁aw ait\",\n      \"▁ await\",\n      \"▁D an\",\n      \"▁Da n\",\n      \"▁ Dan\",\n      \"z i\",\n      \"in ate\",\n      \"ina te\",\n      \"i nate\",\n      \"▁s ym\",\n      \"▁sy m\",\n      \"▁ sym\",\n      \"ch an\",\n      \"cha n\",\n      \"c han\",\n      \"▁J ack\",\n      \"▁Jac k\",\n      \"▁Ja ck\",\n      \"▁ Jack\",\n      \"▁Eng lish\",\n      \"▁ English\",\n      \"▁s z\",\n      \"▁ sz\",\n      \"rib utes\",\n      \"ribut es\",\n      \"ribute s\",\n      \"ribu tes\",\n      \"▁i gn\",\n      \"▁ig n\",\n      \"▁ ign\",\n      \"á l\",\n      \"▁app ear\",\n      \"▁appe ar\",\n      \"ra d\",\n      \"r ad\",\n      \"id ge\",\n      \"▁co uple\",\n      \"▁cou ple\",\n      \"▁coup le\",\n      \"▁s hip\",\n      \"▁sh ip\",\n      \"▁ ship\",\n      \"li g\",\n      \"l ig\",\n      \"we b\",\n      \"w eb\",\n      \"▁us ually\",\n      \"▁usual ly\",\n      \"▁re ady\",\n      \"▁read y\",\n      \"▁ ready\",\n      \"▁v ill\",\n      \"▁vi ll\",\n      \"▁vil l\",\n      \"▁W hy\",\n      \"▁Wh y\",\n      \"▁ Why\",\n      \"eb ru\",\n      \"e bru\",\n      \"▁g rad\",\n      \"▁gr ad\",\n      \"▁gra d\",\n      \"▁ grad\",\n      \"or ds\",\n      \"ord s\",\n      \"▁in f\",\n      \"▁i nf\",\n      \"▁ inf\",\n      \"▁l oss\",\n      \"▁lo ss\",\n      \"▁los s\",\n      \"▁ loss\",\n      \"▁o d\",\n      \"▁ od\",\n      \"▁Ph il\",\n      \"▁ Phil\",\n      \"ser ver\",\n      \"serv er\",\n      \"serve r\",\n      \"▁U p\",\n      \"▁ Up\",\n      \"▁b uff\",\n      \"▁bu ff\",\n      \"▁buf f\",\n      \"▁ buff\",\n      \"▁fil ename\",\n      \"▁file name\",\n      \"▁ filename\",\n      \"AB LE\",\n      \"it ing\",\n      \"iti ng\",\n      \"i ting\",\n      \"ef ore\",\n      \"e fore\",\n      \"() ->\",\n      \"( )->\",\n      \"▁cond itions\",\n      \"▁condition s\",\n      \"▁ conditions\",\n      \"v m\",\n      \"el d\",\n      \"e ld\",\n      \"it z\",\n      \"i tz\",\n      \"▁Tr ans\",\n      \"▁Tra ns\",\n      \"▁ Trans\",\n      \"▁w eight\",\n      \"▁we ight\",\n      \"▁weigh t\",\n      \"▁ weight\",\n      \"▁high er\",\n      \"▁hig her\",\n      \"▁r ate\",\n      \"▁rat e\",\n      \"▁ra te\",\n      \"▁ rate\",\n      \"▁acc om\",\n      \"▁ac com\",\n      \"vi der\",\n      \"vid er\",\n      \"v ider\",\n      \"O M\",\n      \"▁w ays\",\n      \"▁way s\",\n      \"▁wa ys\",\n      \"▁ ways\",\n      \"com ing\",\n      \"co ming\",\n      \"c oming\",\n      \"▁l ock\",\n      \"▁loc k\",\n      \"▁lo ck\",\n      \"▁ lock\",\n      \"▁e tc\",\n      \"▁et c\",\n      \"▁ etc\",\n      \"▁a vec\",\n      \"▁av ec\",\n      \"▁ave c\",\n      \"▁t akes\",\n      \"▁take s\",\n      \"▁tak es\",\n      \"▁ta kes\",\n      \"▁C har\",\n      \"▁Ch ar\",\n      \"▁Cha r\",\n      \"▁ Char\",\n      \"▁N ovember\",\n      \"▁Nov ember\",\n      \"m ethod\",\n      \"▁A ustral\",\n      \"▁Aust ral\",\n      \"▁ Austral\",\n      \"▁Amer ica\",\n      \"▁ America\",\n      \"lo ng\",\n      \"lon g\",\n      \"l ong\",\n      \"ce mber\",\n      \"c ember\",\n      \"▁polit ical\",\n      \"fl ow\",\n      \"f low\",\n      \"▁may be\",\n      \"▁ maybe\",\n      \"▁a mb\",\n      \"▁am b\",\n      \"▁ amb\",\n      \"La yout\",\n      \"L ayout\",\n      \"il ed\",\n      \"ile d\",\n      \"i led\",\n      \"om en\",\n      \"ome n\",\n      \"o men\",\n      \"ol a\",\n      \"o la\",\n      \"ic ip\",\n      \"ici p\",\n      \"i cip\",\n      \"part ial\",\n      \"Tr ue\",\n      \"▁f loor\",\n      \"▁fl oor\",\n      \"▁flo or\",\n      \"▁ floor\",\n      \"▁D ef\",\n      \"▁De f\",\n      \"▁ Def\",\n      \"▁conc ern\",\n      \"▁conce rn\",\n      \"▁concer n\",\n      \"y r\",\n      \"▁sh ows\",\n      \"▁show s\",\n      \"i h\",\n      \"▁an swer\",\n      \"▁answ er\",\n      \"▁ans wer\",\n      \"▁ answer\",\n      \"ac c\",\n      \"a cc\",\n      \"▁b all\",\n      \"▁bal l\",\n      \"▁ba ll\",\n      \"▁ ball\",\n      \"▁R ev\",\n      \"▁Re v\",\n      \"▁ Rev\",\n      \"▁s un\",\n      \"▁su n\",\n      \"▁ sun\",\n      \"▁quick ly\",\n      \"▁s omet\",\n      \"▁so met\",\n      \"▁some t\",\n      \"▁som et\",\n      \"ment e\",\n      \"me nte\",\n      \"men te\",\n      \"m ente\",\n      \"▁M al\",\n      \"▁Ma l\",\n      \"▁ Mal\",\n      \"und red\",\n      \"▁iss ues\",\n      \"▁issue s\",\n      \"▁ issues\",\n      \"ec ause\",\n      \"eca use\",\n      \"pe s\",\n      \"p es\",\n      \"▁p layer\",\n      \"▁pl ayer\",\n      \"▁play er\",\n      \"▁ player\",\n      \"▁par ents\",\n      \"▁parent s\",\n      \"▁ parents\",\n      \"▁pop ular\",\n      \"▁popula r\",\n      \"▁popul ar\",\n      \"▁m ode\",\n      \"▁mod e\",\n      \"▁mo de\",\n      \"▁ mode\",\n      \"▁m ention\",\n      \"▁ment ion\",\n      \"N E\",\n      \"Lo ad\",\n      \"L oad\",\n      \"▁reg ular\",\n      \"▁regul ar\",\n      \"▁ regular\",\n      \"ave d\",\n      \"av ed\",\n      \"a ved\",\n      \"? :\",\n      \"ye ar\",\n      \"y ear\",\n      \"fun c\",\n      \"fu nc\",\n      \"f unc\",\n      \"▁per formance\",\n      \"▁perform ance\",\n      \"▁J uly\",\n      \"▁Jul y\",\n      \"▁Ju ly\",\n      \"th ern\",\n      \"ther n\",\n      \"the rn\",\n      \"▁we bsite\",\n      \"▁webs ite\",\n      \"▁web site\",\n      \"fo rd\",\n      \"for d\",\n      \"f ord\",\n      \"P R\",\n      \"el a\",\n      \"e la\",\n      \"le vel\",\n      \"lev el\",\n      \"l evel\",\n      \"ui t\",\n      \"u it\",\n      \"fl ags\",\n      \"flag s\",\n      \"▁w orth\",\n      \"▁wor th\",\n      \"▁ worth\",\n      \"▁cor respon\",\n      \"▁Brit ish\",\n      \"si m\",\n      \"s im\",\n      \"▁al one\",\n      \"▁ alone\",\n      \"▁h ar\",\n      \"▁ha r\",\n      \"▁ har\",\n      \"▁o nes\",\n      \"▁on es\",\n      \"▁one s\",\n      \"▁ ones\",\n      \"ob ile\",\n      \"obi le\",\n      \"obil e\",\n      \"▁d ru\",\n      \"▁dr u\",\n      \"▁ dru\",\n      \"ch i\",\n      \"c hi\",\n      \"▁D avid\",\n      \"▁Dav id\",\n      \"▁Da vid\",\n      \"▁ David\",\n      \"▁proble ms\",\n      \"▁problem s\",\n      \"▁col umn\",\n      \"▁ column\",\n      \"() ;\\r\",\n      \"(); \\r\",\n      \"( );\\r\",\n      \"Z E\",\n      \"▁re lig\",\n      \"▁rel ig\",\n      \"▁reli g\",\n      \"olog ical\",\n      \"▁reg ion\",\n      \"▁ region\",\n      \"ad y\",\n      \"a dy\",\n      \"I O\",\n      \"an der\",\n      \"and er\",\n      \"ande r\",\n      \"a nder\",\n      \"Ne t\",\n      \"N et\",\n      \"▁bu ilt\",\n      \"▁ built\",\n      \"▁inst all\",\n      \"▁ install\",\n      \"▁appro ach\",\n      \"C ur\",\n      \"▁f ine\",\n      \"▁fin e\",\n      \"▁fi ne\",\n      \"▁talk ing\",\n      \"▁tal king\",\n      \"▁ch anges\",\n      \"▁chang es\",\n      \"▁change s\",\n      \"▁ changes\",\n      \"St yle\",\n      \"▁M art\",\n      \"▁Mar t\",\n      \"▁Ma rt\",\n      \"▁ Mart\",\n      \"л ю\",\n      \"res ponse\",\n      \"respon se\",\n      \"respons e\",\n      \"te ger\",\n      \"{ \\r\",\n      \"ir it\",\n      \"iri t\",\n      \"i rit\",\n      \"▁prote cted\",\n      \"▁protect ed\",\n      \"▁ protected\",\n      \"▁re le\",\n      \"▁r ele\",\n      \"▁rel e\",\n      \"er ship\",\n      \"ers hip\",\n      \"те ль\",\n      \"тел ь\",\n      \"un signed\",\n      \"uns igned\",\n      \"ial ize\",\n      \"▁htt ps\",\n      \"▁http s\",\n      \"▁ https\",\n      \"T ag\",\n      \"▁$ (\",\n      \"▁ $(\",\n      \"mo re\",\n      \"mor e\",\n      \"m ore\",\n      \"ype s\",\n      \"yp es\",\n      \"y pes\",\n      \"▁st ream\",\n      \"▁stre am\",\n      \"▁ stream\",\n      \"et ch\",\n      \"etc h\",\n      \"▁eng ine\",\n      \"▁ engine\",\n      \"K E\",\n      \"cm d\",\n      \"c md\",\n      \"sc ript\",\n      \"scri pt\",\n      \"scr ipt\",\n      \"s cript\",\n      \"tt p\",\n      \"t tp\",\n      \"▁a void\",\n      \"▁av oid\",\n      \"▁t err\",\n      \"▁te rr\",\n      \"▁ter r\",\n      \"▁r ock\",\n      \"▁ro ck\",\n      \"▁ rock\",\n      \"▁f ul\",\n      \"▁fu l\",\n      \"▁ ful\",\n      \"Up date\",\n      \"▁env ironment\",\n      \"▁environ ment\",\n      \"▁ environment\",\n      \"▁p rec\",\n      \"▁pre c\",\n      \"▁pr ec\",\n      \"▁ prec\",\n      \"▁с а\",\n      \"▁ са\",\n      \"▁c ases\",\n      \"▁case s\",\n      \"▁cas es\",\n      \"▁ca ses\",\n      \"▁ cases\",\n      \"▁off set\",\n      \"▁ offset\",\n      \"▁r ais\",\n      \"▁ra is\",\n      \"▁ rais\",\n      \"li b\",\n      \"l ib\",\n      \"ée s\",\n      \"é es\",\n      \"a a\",\n      \"y t\",\n      \"▁a rr\",\n      \"▁ar r\",\n      \"▁ arr\",\n      \"opy right\",\n      \"f irst\",\n      \"▁u til\",\n      \"▁ut il\",\n      \"▁ util\",\n      \"▁fe ature\",\n      \"▁feat ure\",\n      \"▁ feature\",\n      \"pos ed\",\n      \"po sed\",\n      \"pose d\",\n      \"p osed\",\n      \"ff ect\",\n      \"f fect\",\n      \"ж а\",\n      \"it ude\",\n      \"itu de\",\n      \"itud e\",\n      \"em ents\",\n      \"ement s\",\n      \"emen ts\",\n      \"e ments\",\n      \"as c\",\n      \"a sc\",\n      \"ad or\",\n      \"ado r\",\n      \"le ctions\",\n      \"lect ions\",\n      \"lection s\",\n      \"▁cl ub\",\n      \"▁ club\",\n      \"] {\",\n      \"▁* )\",\n      \"▁ *)\",\n      \"ст во\",\n      \"ств о\",\n      \"с тво\",\n      \"▁im m\",\n      \"▁i mm\",\n      \"▁ imm\",\n      \"▁for mer\",\n      \"▁form er\",\n      \"▁forme r\",\n      \"▁ former\",\n      \"▁r ights\",\n      \"▁right s\",\n      \"▁dec ided\",\n      \"▁decide d\",\n      \"▁decid ed\",\n      \"▁re v\",\n      \"▁r ev\",\n      \"▁ rev\",\n      \"▁m ent\",\n      \"▁me nt\",\n      \"▁men t\",\n      \"▁ ment\",\n      \"an i\",\n      \"a ni\",\n      \"▁st ru\",\n      \"▁str u\",\n      \"▁ stru\",\n      \"▁att ention\",\n      \"art ment\",\n      \"▁I tal\",\n      \"▁It al\",\n      \"al le\",\n      \"all e\",\n      \"a lle\",\n      \"▁b is\",\n      \"▁bi s\",\n      \"▁ bis\",\n      \"ge ner\",\n      \"gen er\",\n      \"g ener\",\n      \"▁in tegr\",\n      \"▁int egr\",\n      \"▁inte gr\",\n      \"▁ integr\",\n      \"el lo\",\n      \"ell o\",\n      \"ry pt\",\n      \"▁a chie\",\n      \"ne s\",\n      \"n es\",\n      \"▁s tra\",\n      \"▁st ra\",\n      \"▁str a\",\n      \"▁ stra\",\n      \"s b\",\n      \"▁t ypes\",\n      \"▁type s\",\n      \"▁typ es\",\n      \"▁ty pes\",\n      \"▁ types\",\n      \"▁R E\",\n      \"▁ RE\",\n      \"In it\",\n      \"I nit\",\n      \"▁com ment\",\n      \"▁comm ent\",\n      \"▁comme nt\",\n      \"▁ comment\",\n      \"▁add ition\",\n      \"▁I D\",\n      \"▁ ID\",\n      \"AR T\",\n      \"A RT\",\n      \"F O\",\n      \"щ и\",\n      \"Con ne\",\n      \"Conn e\",\n      \"C onne\",\n      \"▁s qu\",\n      \"▁sq u\",\n      \"▁consider ed\",\n      \"▁consid ered\",\n      \"id ad\",\n      \"ida d\",\n      \"▁Oct ober\",\n      \"ci al\",\n      \"cia l\",\n      \"c ial\",\n      \"▁O f\",\n      \"▁ Of\",\n      \"▁tr avel\",\n      \"▁tra vel\",\n      \"▁trav el\",\n      \"▁b oy\",\n      \"▁bo y\",\n      \"▁ boy\",\n      \"') .\",\n      \"' ).\",\n      \"u y\",\n      \"il la\",\n      \"ill a\",\n      \"i lla\",\n      \"is try\",\n      \"ist ry\",\n      \"istr y\",\n      \"▁v a\",\n      \"▁ va\",\n      \"▁C he\",\n      \"▁Ch e\",\n      \"▁ Che\",\n      \"ER T\",\n      \"E RT\",\n      \"en de\",\n      \"end e\",\n      \"e nde\",\n      \"un gen\",\n      \"ung en\",\n      \"unge n\",\n      \"ab y\",\n      \"a by\",\n      \"▁R ober\",\n      \"▁Ro ber\",\n      \"▁Rob er\",\n      \"▁play ing\",\n      \"il s\",\n      \"i ls\",\n      \"▁s am\",\n      \"▁sa m\",\n      \"▁ sam\",\n      \"▁ex ecut\",\n      \"▁exec ut\",\n      \"▁ execut\",\n      \"▁U s\",\n      \"▁ Us\",\n      \"▁m ut\",\n      \"▁mu t\",\n      \"▁ mut\",\n      \"▁b al\",\n      \"▁ba l\",\n      \"▁ bal\",\n      \"as se\",\n      \"ass e\",\n      \"▁k ids\",\n      \"▁kid s\",\n      \"▁ki ds\",\n      \"▁fin anc\",\n      \"go r\",\n      \"g or\",\n      \"▁S ec\",\n      \"▁Se c\",\n      \"▁ Sec\",\n      \"ber t\",\n      \"be rt\",\n      \"b ert\",\n      \"▁H igh\",\n      \"▁Hig h\",\n      \"▁Hi gh\",\n      \"▁ High\",\n      \"▁ је\",\n      \"▁ke pt\",\n      \"but ton\",\n      \"b utton\",\n      \"it ory\",\n      \"itor y\",\n      \"ito ry\",\n      \"▁R em\",\n      \"▁Re m\",\n      \"▁ Rem\",\n      \"▁D E\",\n      \"▁ DE\",\n      \"▁re ach\",\n      \"▁r each\",\n      \"▁ reach\",\n      \"▁b ur\",\n      \"▁bu r\",\n      \"▁ bur\",\n      \"La bel\",\n      \"L abel\",\n      \"á t\",\n      \"ag o\",\n      \"a go\",\n      \"▁pass ed\",\n      \"▁pas sed\",\n      \"▁be hav\",\n      \"▁beh av\",\n      \"xF F\",\n      \"x FF\",\n      \"▁R eturn\",\n      \"▁Re turn\",\n      \"▁Ret urn\",\n      \"▁ Return\",\n      \"ST R\",\n      \"S TR\",\n      \"▁L es\",\n      \"▁Le s\",\n      \"▁ Les\",\n      \"▁o rd\",\n      \"▁or d\",\n      \"▁ ord\",\n      \"al a\",\n      \"a la\",\n      \"in ger\",\n      \"ing er\",\n      \"inge r\",\n      \"▁S ince\",\n      \"▁Sin ce\",\n      \"▁ Since\",\n      \"▁exper i\",\n      \"▁exp eri\",\n      \"▁s hall\",\n      \"▁sh all\",\n      \"▁sha ll\",\n      \"▁ shall\",\n      \"▁s tar\",\n      \"▁st ar\",\n      \"▁sta r\",\n      \"▁ star\",\n      \"no n\",\n      \"n on\",\n      \"▁g un\",\n      \"▁gu n\",\n      \"▁ gun\",\n      \"▁B el\",\n      \"▁Be l\",\n      \"▁ Bel\",\n      \"▁ob j\",\n      \"▁ obj\",\n      \"ar es\",\n      \"are s\",\n      \"a res\",\n      \"r s\",\n      \"▁we eks\",\n      \"▁week s\",\n      \"ne n\",\n      \"n en\",\n      \"▁S tre\",\n      \"▁St re\",\n      \"▁Str e\",\n      \"or ing\",\n      \"ori ng\",\n      \"o ring\",\n      \"▁ î\",\n      \"▁ser ious\",\n      \"time s\",\n      \"ti mes\",\n      \"tim es\",\n      \"t imes\",\n      \"▁H ouse\",\n      \"▁Ho use\",\n      \"▁Hou se\",\n      \"▁r oll\",\n      \"▁ro ll\",\n      \"▁ roll\",\n      \"▁reg ister\",\n      \"▁ register\",\n      \"▁mod ule\",\n      \"▁mo dule\",\n      \"▁ module\",\n      \"▁app lic\",\n      \"▁ap plic\",\n      \"▁appl ic\",\n      \"I R\",\n      \"▁c ook\",\n      \"▁co ok\",\n      \"▁ cook\",\n      \"au x\",\n      \"a ux\",\n      \"▁s ave\",\n      \"▁sa ve\",\n      \"▁sav e\",\n      \"▁ save\",\n      \"▁C r\",\n      \"▁ Cr\",\n      \", \\r\",\n      \"▁st ates\",\n      \"▁stat es\",\n      \"▁state s\",\n      \"▁sta tes\",\n      \"▁ states\",\n      \"▁em pty\",\n      \"▁emp ty\",\n      \"▁empt y\",\n      \"▁ empty\",\n      \"▁aut om\",\n      \"▁au tom\",\n      \"▁auto m\",\n      \"▁ autom\",\n      \"fig ure\",\n      \"ian ce\",\n      \"i ance\",\n      \"▁h appy\",\n      \"▁happ y\",\n      \"▁f n\",\n      \"▁ fn\",\n      \"▁j ud\",\n      \"▁ju d\",\n      \"▁ jud\",\n      \"▁h at\",\n      \"▁ha t\",\n      \"▁ hat\",\n      \"AC K\",\n      \"A CK\",\n      \"▁F e\",\n      \"▁ Fe\",\n      \"$ -\",\n      \"iv il\",\n      \"ivi l\",\n      \"i vil\",\n      \"ot ed\",\n      \"ote d\",\n      \"o ted\",\n      \"▁size of\",\n      \"▁ sizeof\",\n      \"▁sit uation\",\n      \"▁situ ation\",\n      \"▁l ives\",\n      \"▁li ves\",\n      \"▁live s\",\n      \"▁liv es\",\n      \"▁fe eling\",\n      \"▁feel ing\",\n      \"▁fee ling\",\n      \"▁r isk\",\n      \"▁ri sk\",\n      \"▁ris k\",\n      \"▁Jan uary\",\n      \"▁Januar y\",\n      \"▁Ob ject\",\n      \"▁ Object\",\n      \"▁re comm\",\n      \"▁rec omm\",\n      \"▁в ы\",\n      \"▁ вы\",\n      \"▁pot ential\",\n      \"ea h\",\n      \"e ah\",\n      \"▁com plex\",\n      \"▁comp lex\",\n      \"▁compl ex\",\n      \"▁ complex\",\n      \"print f\",\n      \"ist ance\",\n      \"istan ce\",\n      \"i stance\",\n      \"ir th\",\n      \"irt h\",\n      \"li k\",\n      \"l ik\",\n      \"as te\",\n      \"ast e\",\n      \"a ste\",\n      \"▁wh ose\",\n      \"▁who se\",\n      \"Ar g\",\n      \"A rg\",\n      \"▁mod ern\",\n      \"▁mo dern\",\n      \"▁mode rn\",\n      \"▁moder n\",\n      \"ion es\",\n      \"io nes\",\n      \"ione s\",\n      \"i ones\",\n      \"▁ч е\",\n      \"▁ че\",\n      \"▁s ett\",\n      \"▁se tt\",\n      \"▁set t\",\n      \"▁M ag\",\n      \"▁Ma g\",\n      \"▁ Mag\",\n      \"a e\",\n      \"▁cond ition\",\n      \"▁ condition\",\n      \"Le ngth\",\n      \"L ength\",\n      \"▁f it\",\n      \"▁fi t\",\n      \"▁ fit\",\n      \"ound s\",\n      \"oun ds\",\n      \"▁ch anged\",\n      \"▁chang ed\",\n      \"▁change d\",\n      \"▁ changed\",\n      \"▁g uy\",\n      \"▁gu y\",\n      \"fil ter\",\n      \"at ever\",\n      \"ate ver\",\n      \"é d\",\n      \"re move\",\n      \"rem ove\",\n      \"▁h op\",\n      \"▁ho p\",\n      \"▁ hop\",\n      \"▁O ut\",\n      \"▁ Out\",\n      \"▁R ich\",\n      \"▁Ric h\",\n      \"▁ Rich\",\n      \"ch ild\",\n      \"chi ld\",\n      \"▁in cluded\",\n      \"▁incl uded\",\n      \"▁includ ed\",\n      \"▁include d\",\n      \"▁inclu ded\",\n      \"$ \\\\\",\n      \"▁T om\",\n      \"▁To m\",\n      \"▁ Tom\",\n      \"el ine\",\n      \"eli ne\",\n      \"elin e\",\n      \"e line\",\n      \"▁s ometimes\",\n      \"▁some times\",\n      \"▁somet imes\",\n      \"▁sometime s\",\n      \"▁dr ink\",\n      \"▁qu ant\",\n      \"▁ quant\",\n      \"▁p lease\",\n      \"▁ple ase\",\n      \"▁I nt\",\n      \"▁In t\",\n      \"▁ Int\",\n      \"ri ef\",\n      \"rie f\",\n      \"r ief\",\n      \"▁ex actly\",\n      \"▁exact ly\",\n      \"ci ng\",\n      \"cin g\",\n      \"c ing\",\n      \"▁all owed\",\n      \"▁allow ed\",\n      \"▁ allowed\",\n      \"bu ild\",\n      \"b uild\",\n      \"▁beaut iful\",\n      \"▁W ell\",\n      \"▁We ll\",\n      \"▁Wel l\",\n      \"▁ Well\",\n      \"▁look s\",\n      \"▁lo oks\",\n      \"▁ ü\",\n      \"▁ch ance\",\n      \"▁w rote\",\n      \"▁wr ote\",\n      \"▁n or\",\n      \"▁no r\",\n      \"▁ nor\",\n      \"▁f ailed\",\n      \"▁fa iled\",\n      \"▁fail ed\",\n      \"▁ failed\",\n      \"Me t\",\n      \"M et\",\n      \"▁p rior\",\n      \"▁pr ior\",\n      \"▁pri or\",\n      \"▁h undred\",\n      \"ско й\",\n      \"с кой\",\n      \"or ia\",\n      \"ori a\",\n      \"o ria\",\n      \"▁c y\",\n      \"▁ cy\",\n      \"▁w eb\",\n      \"▁we b\",\n      \"▁ web\",\n      \"▁m ess\",\n      \"▁me ss\",\n      \"▁mes s\",\n      \"le q\",\n      \"l eq\",\n      \"d y\",\n      \"te x\",\n      \"t ex\",\n      \"▁a nim\",\n      \"▁an im\",\n      \"▁ anim\",\n      \"at ur\",\n      \"atu r\",\n      \"▁str ucture\",\n      \"▁struct ure\",\n      \"▁ structure\",\n      \"opt ion\",\n      \"o ption\",\n      \"▁act ual\",\n      \"▁ actual\",\n      \"▁Fr anc\",\n      \"▁Fra nc\",\n      \"▁Fran c\",\n      \"en ced\",\n      \"ence d\",\n      \"enc ed\",\n      \".< /\",\n      \". </\",\n      \"▁f low\",\n      \"▁fl ow\",\n      \"▁flo w\",\n      \"▁ flow\",\n      \"▁A fr\",\n      \"▁Af r\",\n      \"de t\",\n      \"d et\",\n      \"▁K e\",\n      \"▁ Ke\",\n      \"et y\",\n      \"e ty\",\n      \"ски й\",\n      \"с кий\",\n      \"▁st uff\",\n      \"it ter\",\n      \"itt er\",\n      \"itte r\",\n      \"▁ar gs\",\n      \"▁arg s\",\n      \"▁ args\",\n      \"▁al bum\",\n      \"▁ album\",\n      \"▁ ]\",\n      \"ug in\",\n      \"u gin\",\n      \"S U\",\n      \"Pe r\",\n      \"P er\",\n      \"▁cir c\",\n      \"▁ci rc\",\n      \"▁ circ\",\n      \"▁cor rect\",\n      \"▁corre ct\",\n      \"▁ correct\",\n      \"▁l ines\",\n      \"▁li nes\",\n      \"▁line s\",\n      \"▁lin es\",\n      \"▁ lines\",\n      \"▁complet ely\",\n      \"▁complete ly\",\n      \"kn own\",\n      \"know n\",\n      \"k nown\",\n      \"▁t ree\",\n      \"▁tr ee\",\n      \"▁tre e\",\n      \"▁ tree\",\n      \"ro ot\",\n      \"r oot\",\n      \"▁J apan\",\n      \"▁Ja pan\",\n      \"▁Jap an\",\n      \"ol es\",\n      \"ole s\",\n      \"o les\",\n      \"en do\",\n      \"end o\",\n      \"▁l ocation\",\n      \"▁loc ation\",\n      \"▁ location\",\n      \"▁ Х\",\n      \"▁m id\",\n      \"▁mi d\",\n      \"▁ mid\",\n      \"al ing\",\n      \"ali ng\",\n      \"alin g\",\n      \"a ling\",\n      \"G L\",\n      \"ia no\",\n      \"ian o\",\n      \"i ano\",\n      \"▁{ }\",\n      \"▁ {}\",\n      \"la ng\",\n      \"lan g\",\n      \"l ang\",\n      \"▁equ ip\",\n      \"ERR OR\",\n      \"▁mem ory\",\n      \"▁memor y\",\n      \"▁memo ry\",\n      \"▁ memory\",\n      \"▁( \\\"\",\n      \"▁ (\\\"\",\n      \"▁n ature\",\n      \"▁nat ure\",\n      \"▁natur e\",\n      \"go ogle\",\n      \"ab s\",\n      \"a bs\",\n      \"B C\",\n      \"▁g ets\",\n      \"▁get s\",\n      \"▁ge ts\",\n      \"▁ gets\",\n      \"Com mand\",\n      \"Comm and\",\n      \"TE R\",\n      \"T ER\",\n      \"al ed\",\n      \"ale d\",\n      \"a led\",\n      \"c p\",\n      \"▁p urch\",\n      \"▁pur ch\",\n      \"▁D en\",\n      \"▁De n\",\n      \"▁ Den\",\n      \"▁her self\",\n      \"▁hers elf\",\n      \"▁I r\",\n      \"▁ Ir\",\n      \"▁s ie\",\n      \"▁si e\",\n      \"ga r\",\n      \"g ar\",\n      \"A p\",\n      \"▁n el\",\n      \"▁ne l\",\n      \"▁ nel\",\n      \"ot a\",\n      \"o ta\",\n      \") ]\",\n      \"co r\",\n      \"c or\",\n      \"ac ht\",\n      \"ach t\",\n      \"a cht\",\n      \"( *\",\n      \"irt ual\",\n      \"▁pol ice\",\n      \"▁polic e\",\n      \"▁s kin\",\n      \"▁sk in\",\n      \"▁ski n\",\n      \"▁ skin\",\n      \"sh ip\",\n      \"s hip\",\n      \"ef ined\",\n      \"augh ter\",\n      \"aught er\",\n      \"in ding\",\n      \"ind ing\",\n      \"indi ng\",\n      \"▁S l\",\n      \"▁ Sl\",\n      \"▁in flu\",\n      \"▁infl u\",\n      \"▁inf lu\",\n      \"▁m ount\",\n      \"▁mo unt\",\n      \"▁mou nt\",\n      \"▁ mount\",\n      \"▁a z\",\n      \"▁ az\",\n      \"▁w ood\",\n      \"▁wo od\",\n      \"▁ wood\",\n      \"ot es\",\n      \"ote s\",\n      \"o tes\",\n      \"eg a\",\n      \"e ga\",\n      \"▁acc ording\",\n      \"▁accord ing\",\n      \"▁name space\",\n      \"▁names pace\",\n      \"▁ namespace\",\n      \"Del ta\",\n      \"D elta\",\n      \"st ant\",\n      \"sta nt\",\n      \"stan t\",\n      \"▁pub lished\",\n      \"▁publish ed\",\n      \"▁ published\",\n      \"ak er\",\n      \"ake r\",\n      \"a ker\",\n      \"▁Bl ack\",\n      \"▁ Black\",\n      \"l n\",\n      \"▁indust ry\",\n      \"SO N\",\n      \"S ON\",\n      \"Re p\",\n      \"R ep\",\n      \"▁ch oice\",\n      \"▁cho ice\",\n      \"▁ choice\",\n      \"▁in n\",\n      \"▁i nn\",\n      \"▁ inn\",\n      \"k l\",\n      \"▁p al\",\n      \"▁pa l\",\n      \"▁ pal\",\n      \"▁a ud\",\n      \"▁au d\",\n      \"▁ aud\",\n      \"▁stand ard\",\n      \"▁ standard\",\n      \"▁know ledge\",\n      \"** ,\",\n      \"* *,\",\n      \"▁F rank\",\n      \"▁Fr ank\",\n      \"▁Fran k\",\n      \"s q\",\n      \"Out put\",\n      \"▁f ör\",\n      \"▁fö r\",\n      \"▁ för\",\n      \"Val id\",\n      \"ug h\",\n      \"u gh\",\n      \"▁bo oks\",\n      \"▁book s\",\n      \"▁ books\",\n      \"▁J ames\",\n      \"▁Jam es\",\n      \"▁Ja mes\",\n      \"k o\",\n      \"▁compan ies\",\n      \"an ning\",\n      \"ann ing\",\n      \"anni ng\",\n      \"▁v ict\",\n      \"▁vi ct\",\n      \"▁vic t\",\n      \"▁re pl\",\n      \"▁rep l\",\n      \"▁s che\",\n      \"▁sc he\",\n      \"▁sch e\",\n      \"▁ sche\",\n      \"▁h appen\",\n      \"▁happ en\",\n      \"▁ha ppen\",\n      \"ft y\",\n      \"f ty\",\n      \"ac ity\",\n      \"aci ty\",\n      \"a city\",\n      \"ir a\",\n      \"i ra\",\n      \"▁im plement\",\n      \"▁imp lement\",\n      \"▁impl ement\",\n      \"▁ implement\",\n      \"ско го\",\n      \"ск ого\",\n      \"с кого\",\n      \"num ber\",\n      \"nu mber\",\n      \"n umber\",\n      \"S H\",\n      \"ir o\",\n      \"i ro\",\n      \"▁f ear\",\n      \"▁fe ar\",\n      \"▁t ouch\",\n      \"▁to uch\",\n      \"▁tou ch\",\n      \"▁ touch\",\n      \"▁c ast\",\n      \"▁cas t\",\n      \"▁ca st\",\n      \"▁ cast\",\n      \"AS S\",\n      \"A SS\",\n      \"▁cons ist\",\n      \"T ask\",\n      \"▁s ig\",\n      \"▁si g\",\n      \"▁ sig\",\n      \"б а\",\n      \"ig ation\",\n      \"▁M ost\",\n      \"▁Mo st\",\n      \"▁Mos t\",\n      \"▁ Most\",\n      \"▁D er\",\n      \"▁De r\",\n      \"▁ Der\",\n      \"}( \\\\\",\n      \"} (\\\\\",\n      \": \\\"\",\n      \"▁F ig\",\n      \"▁Fi g\",\n      \"▁ Fig\",\n      \"al i\",\n      \"a li\",\n      \"in er\",\n      \"ine r\",\n      \"i ner\",\n      \"') ,\",\n      \"' ),\",\n      \"▁C oun\",\n      \"▁Co un\",\n      \"▁Cou n\",\n      \"( _\",\n      \"▁d istributed\",\n      \"▁distribut ed\",\n      \"▁distribute d\",\n      \"NA ME\",\n      \"N AME\",\n      \"▁m ur\",\n      \"▁mu r\",\n      \"▁care er\",\n      \"~ ~\",\n      \"pe rs\",\n      \"per s\",\n      \"p ers\",\n      \"ar ies\",\n      \"ari es\",\n      \"a ries\",\n      \"en ses\",\n      \"ens es\",\n      \"ense s\",\n      \"▁Al so\",\n      \"▁Als o\",\n      \"Vers ion\",\n      \"V ersion\",\n      \"▁un ique\",\n      \"▁uniqu e\",\n      \"▁ unique\",\n      \"▁Fr ance\",\n      \"▁Franc e\",\n      \"▁Fran ce\",\n      \"B A\",\n      \"k y\",\n      \"▁F ebru\",\n      \"▁Fe bru\",\n      \"▁Feb ru\",\n      \"▁d ied\",\n      \"▁di ed\",\n      \"▁die d\",\n      \"om ega\",\n      \"ome ga\",\n      \"▁F orm\",\n      \"▁For m\",\n      \"▁Fo rm\",\n      \"▁ Form\",\n      \"▁w idth\",\n      \"▁wid th\",\n      \"▁ width\",\n      \"to col\",\n      \"t ocol\",\n      \"▁l ie\",\n      \"▁li e\",\n      \"▁ lie\",\n      \"Sh e\",\n      \"S he\",\n      \"é m\",\n      \"▁stra ight\",\n      \"▁n ach\",\n      \"▁na ch\",\n      \"▁st ood\",\n      \"▁sto od\",\n      \"▁ stood\",\n      \"ol ds\",\n      \"old s\",\n      \"▁g oes\",\n      \"▁go es\",\n      \"ce ll\",\n      \"cel l\",\n      \"c ell\",\n      \"▁t ill\",\n      \"▁til l\",\n      \"▁ti ll\",\n      \"L I\",\n      \"dr aw\",\n      \"d raw\",\n      \"▁s atisf\",\n      \"▁sat isf\",\n      \"▁re ading\",\n      \"▁read ing\",\n      \"AT ION\",\n      \"A TION\",\n      \"▁A re\",\n      \"▁Ar e\",\n      \"▁ Are\",\n      \"▁A c\",\n      \"▁ Ac\",\n      \") *\",\n      \"▁add itional\",\n      \"▁addition al\",\n      \"wo od\",\n      \"w ood\",\n      \"ci l\",\n      \"c il\",\n      \"п у\",\n      \"UL T\",\n      \"U LT\",\n      \"▁b ill\",\n      \"▁bi ll\",\n      \"▁bil l\",\n      \"ma s\",\n      \"m as\",\n      \"an ia\",\n      \"ani a\",\n      \"a nia\",\n      \"с у\",\n      \"an z\",\n      \"he ight\",\n      \"h eight\",\n      \"j o\",\n      \"▁d os\",\n      \"▁do s\",\n      \"\\\\ \\\"\",\n      \"▁/ >\",\n      \"▁ />\",\n      \"▁p roduction\",\n      \"▁produ ction\",\n      \"▁product ion\",\n      \"▁prod uction\",\n      \"▁ production\",\n      \"ig er\",\n      \"ige r\",\n      \"i ger\",\n      \"▁с т\",\n      \"▁ ст\",\n      \"sh ow\",\n      \"s how\",\n      \"▁pop ulation\",\n      \"▁popul ation\",\n      \"▁p ark\",\n      \"▁par k\",\n      \"▁ park\",\n      \"▁Z e\",\n      \"▁necess ary\",\n      \"▁ necessary\",\n      \"▁t rust\",\n      \"▁tr ust\",\n      \"▁sh own\",\n      \"▁show n\",\n      \"mod ule\",\n      \"mo dule\",\n      \"G E\",\n      \"▁l ay\",\n      \"▁la y\",\n      \"▁ lay\",\n      \"▁ann oun\",\n      \"▁class Name\",\n      \"▁ className\",\n      \"▁cal cul\",\n      \"▁calc ul\",\n      \"Fun ction\",\n      \"F unction\",\n      \"▁S al\",\n      \"▁Sa l\",\n      \"▁ Sal\",\n      \"O K\",\n      \"T P\",\n      \"▁en try\",\n      \"▁ent ry\",\n      \"▁entr y\",\n      \"▁ entry\",\n      \"▁St ud\",\n      \"▁ Stud\",\n      \"▁it ems\",\n      \"▁item s\",\n      \"▁ items\",\n      \"▁se curity\",\n      \"▁sec urity\",\n      \"▁secur ity\",\n      \"▁ security\",\n      \"En try\",\n      \"Ent ry\",\n      \"f loat\",\n      \"l s\",\n      \"ib ly\",\n      \"▁cont ribut\",\n      \"▁C heck\",\n      \"▁Che ck\",\n      \"▁ Check\",\n      \"M D\",\n      \"▁impro ve\",\n      \"Par t\",\n      \"P art\",\n      \"▁system s\",\n      \"▁syst ems\",\n      \"B l\",\n      \"▁pol icy\",\n      \"▁polic y\",\n      \"▁ policy\",\n      \"▁s creen\",\n      \"▁sc reen\",\n      \"▁scr een\",\n      \"▁ screen\",\n      \"▁A ny\",\n      \"▁An y\",\n      \"▁ Any\",\n      \"▁op ened\",\n      \"▁open ed\",\n      \"al loc\",\n      \"all oc\",\n      \"allo c\",\n      \"▁De cember\",\n      \"▁Dec ember\",\n      \"▁ É\",\n      \"▁e mail\",\n      \"▁em ail\",\n      \"▁ email\",\n      \"ad er\",\n      \"ade r\",\n      \"a der\",\n      \"= >\",\n      \"▁H en\",\n      \"▁He n\",\n      \"▁ Hen\",\n      \"▁in fo\",\n      \"▁inf o\",\n      \"▁ info\",\n      \"▁f loat\",\n      \"▁flo at\",\n      \"▁ float\",\n      \"▁sw itch\",\n      \"▁ switch\",\n      \"ра н\",\n      \"р ан\",\n      \"ur ance\",\n      \"▁as sum\",\n      \"▁ass um\",\n      \"us tr\",\n      \"ust r\",\n      \"u str\",\n      \"▁g roups\",\n      \"▁group s\",\n      \"▁gro ups\",\n      \"▁ groups\",\n      \"▁R ead\",\n      \"▁Re ad\",\n      \"▁ Read\",\n      \"▁w at\",\n      \"▁wa t\",\n      \"S p\",\n      \"ве р\",\n      \"в ер\",\n      \"RA N\",\n      \"R AN\",\n      \"hi b\",\n      \"h ib\",\n      \"AL L\",\n      \"A LL\",\n      \"▁h us\",\n      \"▁ hus\",\n      \"Sp ec\",\n      \"Spe c\",\n      \"S pec\",\n      \"\\\") )\",\n      \"\\\" ))\",\n      \"▁F rench\",\n      \"▁C lass\",\n      \"▁Cl ass\",\n      \"▁ Class\",\n      \"▁pres ident\",\n      \"▁presid ent\",\n      \"▁def init\",\n      \"▁defin it\",\n      \"▁N or\",\n      \"▁No r\",\n      \"▁T hom\",\n      \"▁Th om\",\n      \"ai gn\",\n      \"a ign\",\n      \"W idth\",\n      \"D o\",\n      \"▁{ @\",\n      \"ag on\",\n      \"ago n\",\n      \"a gon\",\n      \"▁L u\",\n      \"▁ Lu\",\n      \"▁follow ed\",\n      \"M M\",\n      \"as ons\",\n      \"ason s\",\n      \"tm p\",\n      \"t mp\",\n      \"▁th rows\",\n      \"▁throw s\",\n      \"▁thr ows\",\n      \"▁thro ws\",\n      \"▁ throws\",\n      \"IT Y\",\n      \"I TY\",\n      \"но м\",\n      \"▁f air\",\n      \"▁fa ir\",\n      \"▁p en\",\n      \"▁pe n\",\n      \"▁ pen\",\n      \"é g\",\n      \"▁inter face\",\n      \"▁ interface\",\n      \"▁s af\",\n      \"▁sa f\",\n      \"oo n\",\n      \"o on\",\n      \"B ack\",\n      \"▁s peed\",\n      \"▁sp eed\",\n      \"▁spe ed\",\n      \"▁ speed\",\n      \"▁ext ends\",\n      \"▁extend s\",\n      \"em pty\",\n      \"empt y\",\n      \"emp ty\",\n      \"▁п ере\",\n      \"▁пер е\",\n      \"▁пе ре\",\n      \"▁pro per\",\n      \"▁pr oper\",\n      \"▁prop er\",\n      \"▁d riv\",\n      \"▁dr iv\",\n      \"▁dri v\",\n      \"ф и\",\n      \"▁c enter\",\n      \"▁cent er\",\n      \"▁ center\",\n      \"he ader\",\n      \"head er\",\n      \"▁} )\",\n      \"▁ })\",\n      \"w a\",\n      \"▁m iddle\",\n      \"▁ middle\",\n      \"▁ch oose\",\n      \"▁cho ose\",\n      \"▁St ad\",\n      \"▁Sta d\",\n      \"S O\",\n      \"Fact ory\",\n      \"Factor y\",\n      \"F actory\",\n      \"De v\",\n      \"D ev\",\n      \"ic les\",\n      \"icle s\",\n      \"icl es\",\n      \"i cles\",\n      \"▁ap plication\",\n      \"▁applic ation\",\n      \"▁appl ication\",\n      \"▁ application\",\n      \"▁mod els\",\n      \"▁model s\",\n      \"▁mode ls\",\n      \"▁ models\",\n      \"pi te\",\n      \"pit e\",\n      \"p ite\",\n      \"ca p\",\n      \"c ap\",\n      \"x i\",\n      \"osp ital\",\n      \"▁d ream\",\n      \"▁dre am\",\n      \"EN D\",\n      \"E ND\",\n      \"▁con tract\",\n      \"▁cont ract\",\n      \"▁contr act\",\n      \"▁contra ct\",\n      \"▁ contract\",\n      \"icro soft\",\n      \"▁th ous\",\n      \"▁thou s\",\n      \"iz es\",\n      \"ize s\",\n      \"i zes\",\n      \"▁д а\",\n      \"▁ да\",\n      \"▁C O\",\n      \"▁ CO\",\n      \"▁d irection\",\n      \"▁di rection\",\n      \"▁direct ion\",\n      \"▁dire ction\",\n      \"▁dir ection\",\n      \"▁ direction\",\n      \"▁` `\",\n      \"▁ ``\",\n      \"▁d rive\",\n      \"▁dr ive\",\n      \"▁dri ve\",\n      \"▁driv e\",\n      \"▁ drive\",\n      \"Ma x\",\n      \"M ax\",\n      \"ci a\",\n      \"c ia\",\n      \"▁contin u\",\n      \"▁A lex\",\n      \"▁Al ex\",\n      \"▁Ale x\",\n      \"▁ Alex\",\n      \"▁g old\",\n      \"▁go ld\",\n      \"▁gol d\",\n      \"▁ gold\",\n      \"▁p rep\",\n      \"▁pre p\",\n      \"▁pr ep\",\n      \"▁or igin\",\n      \"▁orig in\",\n      \"▁ origin\",\n      \"▁r ap\",\n      \"▁ra p\",\n      \"▁ rap\",\n      \"O p\",\n      \"ous ly\",\n      \"▁are as\",\n      \"▁area s\",\n      \"PO RT\",\n      \"P ORT\",\n      \"он а\",\n      \"о на\",\n      \"▁sa fe\",\n      \"▁saf e\",\n      \"▁ safe\",\n      \"▁profess ional\",\n      \"▁profession al\",\n      \"ap ache\",\n      \"apa che\",\n      \"▁t emper\",\n      \"▁tem per\",\n      \"▁temp er\",\n      \"s z\",\n      \"▁u nit\",\n      \"▁un it\",\n      \"▁ unit\",\n      \"▁c op\",\n      \"▁co p\",\n      \"▁ cop\",\n      \"eq n\",\n      \"List ener\",\n      \"Listen er\",\n      \"▁for mat\",\n      \"▁form at\",\n      \"▁forma t\",\n      \"▁ format\",\n      \"se lect\",\n      \"sel ect\",\n      \"s elect\",\n      \"▁com fort\",\n      \"▁ comfort\",\n      \"▁me ant\",\n      \"▁mean t\",\n      \"id ay\",\n      \"ida y\",\n      \"i day\",\n      \"em e\",\n      \"e me\",\n      \"▁act ive\",\n      \"▁activ e\",\n      \"▁ active\",\n      \"▁n ote\",\n      \"▁not e\",\n      \"▁no te\",\n      \"▁ note\",\n      \"▁M il\",\n      \"▁Mi l\",\n      \"▁ Mil\",\n      \"on ly\",\n      \"▁< =\",\n      \"▁ <=\",\n      \"▁ne igh\",\n      \"▁nei gh\",\n      \"a o\",\n      \"▁bl ue\",\n      \"▁ blue\",\n      \"▁T V\",\n      \"▁ TV\",\n      \"Ch ild\",\n      \"▁re ached\",\n      \"▁reach ed\",\n      \"Add ress\",\n      \"Addr ess\",\n      \"ст в\",\n      \"▁cl osed\",\n      \"▁close d\",\n      \"▁clos ed\",\n      \"▁clo sed\",\n      \"▁ closed\",\n      \"in der\",\n      \"ind er\",\n      \"inde r\",\n      \"i nder\",\n      \"ol o\",\n      \"o lo\",\n      \"▁a lt\",\n      \"▁al t\",\n      \"▁ alt\",\n      \"▁a dm\",\n      \"▁ad m\",\n      \"Form at\",\n      \"For mat\",\n      \"U I\",\n      \"▁H am\",\n      \"▁Ha m\",\n      \"▁f requ\",\n      \"▁fr equ\",\n      \"▁fre qu\",\n      \"▁in depend\",\n      \"▁inde pend\",\n      \"▁ independ\",\n      \"▁eas ily\",\n      \"▁L and\",\n      \"▁La nd\",\n      \"▁Lan d\",\n      \"▁ Land\",\n      \"▁t or\",\n      \"▁to r\",\n      \"▁ tor\",\n      \"ograph y\",\n      \"ograp hy\",\n      \"in fty\",\n      \"inf ty\",\n      \"▁W ork\",\n      \"▁Wor k\",\n      \"▁ Work\",\n      \"iv en\",\n      \"ive n\",\n      \"i ven\",\n      \"▁Count y\",\n      \"▁Coun ty\",\n      \"▁s rc\",\n      \"▁ src\",\n      \"}$ ,\",\n      \"} $,\",\n      \"par se\",\n      \"pars e\",\n      \"p arse\",\n      \"C D\",\n      \"▁C our\",\n      \"▁Co ur\",\n      \"▁Cou r\",\n      \"▁f ol\",\n      \"▁fo l\",\n      \"▁ fol\",\n      \"Ent ity\",\n      \"pg f\",\n      \"▁Ch ina\",\n      \"▁Chi na\",\n      \"▁S ub\",\n      \"▁Su b\",\n      \"▁ Sub\",\n      \"ho od\",\n      \"h ood\",\n      \"▁field s\",\n      \"▁ fields\",\n      \"▁y es\",\n      \"▁ye s\",\n      \"▁ yes\",\n      \"re nd\",\n      \"ren d\",\n      \"r end\",\n      \"▁to wards\",\n      \"▁toward s\",\n      \"▁tow ards\",\n      \"▁st aff\",\n      \"▁sta ff\",\n      \"▁ staff\",\n      \"▁A ir\",\n      \"▁ Air\",\n      \"▁st ation\",\n      \"▁stat ion\",\n      \"▁ station\",\n      \"at ives\",\n      \"ative s\",\n      \"ati ves\",\n      \"ativ es\",\n      \"▁imp act\",\n      \"в ы\",\n      \"▁direct ly\",\n      \"iss ions\",\n      \"ission s\",\n      \"iv a\",\n      \"i va\",\n      \"| \\\\\",\n      \"Pt r\",\n      \"P tr\",\n      \"▁S ant\",\n      \"▁San t\",\n      \"▁Sa nt\",\n      \"Po l\",\n      \"P ol\",\n      \"▁pro gress\",\n      \"▁ progress\",\n      \"it ar\",\n      \"ita r\",\n      \"i tar\",\n      \"▁p arts\",\n      \"▁part s\",\n      \"▁par ts\",\n      \"▁ parts\",\n      \"▁pl ant\",\n      \"▁plan t\",\n      \"▁ plant\",\n      \"▁abs olut\",\n      \"▁gu ess\",\n      \"eq ref\",\n      \"▁t im\",\n      \"▁ti m\",\n      \"▁ tim\",\n      \"▁L ou\",\n      \"▁Lo u\",\n      \"▁ Lou\",\n      \"▁c ool\",\n      \"▁co ol\",\n      \"al u\",\n      \"a lu\",\n      \"▁m outh\",\n      \"▁mo uth\",\n      \"▁mou th\",\n      \"▁ mouth\",\n      \"ни х\",\n      \"▁h eight\",\n      \"▁he ight\",\n      \"▁ height\",\n      \"ge st\",\n      \"ges t\",\n      \"g est\",\n      \"▁P ost\",\n      \"▁Po st\",\n      \"▁Pos t\",\n      \"▁ Post\",\n      \"▁b oard\",\n      \"▁bo ard\",\n      \"▁ board\",\n      \"▁t it\",\n      \"▁ti t\",\n      \"▁ tit\",\n      \"▁h our\",\n      \"▁ho ur\",\n      \"▁ hour\",\n      \"▁ser ver\",\n      \"▁serv er\",\n      \"▁serve r\",\n      \"▁ server\",\n      \"▁p layers\",\n      \"▁play ers\",\n      \"▁player s\",\n      \"ri er\",\n      \"rie r\",\n      \"r ier\",\n      \"Lin k\",\n      \"L ink\",\n      \"▁Pres ident\",\n      \"] (\",\n      \"▁con struct\",\n      \"▁const ruct\",\n      \"▁constr uct\",\n      \"▁constru ct\",\n      \"▁ construct\",\n      \"hand le\",\n      \"}$ .\",\n      \"} $.\",\n      \"ry ing\",\n      \"r ying\",\n      \"▁s hop\",\n      \"▁sh op\",\n      \"▁ shop\",\n      \"ia na\",\n      \"ian a\",\n      \"i ana\",\n      \"ex p\",\n      \"e xp\",\n      \"Hel per\",\n      \"Help er\",\n      \"Off set\",\n      \"ac hes\",\n      \"ach es\",\n      \"ache s\",\n      \"a ches\",\n      \"▁conne ction\",\n      \"▁connect ion\",\n      \"▁conn ection\",\n      \"▁ connection\",\n      \"▁d ifference\",\n      \"▁dif ference\",\n      \"▁differ ence\",\n      \"serv ice\",\n      \"s ervice\",\n      \"▁g as\",\n      \"▁ga s\",\n      \"▁ gas\",\n      \"▁p riv\",\n      \"▁pr iv\",\n      \"▁pri v\",\n      \"▁ priv\",\n      \"▁un ivers\",\n      \"▁ univers\",\n      \"▁w ish\",\n      \"▁wis h\",\n      \"Re m\",\n      \"R em\",\n      \"U rl\",\n      \"ge b\",\n      \"g eb\",\n      \"S o\",\n      \"ens ions\",\n      \"ension s\",\n      \"Mod ule\",\n      \"Mo dule\",\n      \"SI ZE\",\n      \"▁p rem\",\n      \"▁pre m\",\n      \"▁pr em\",\n      \"wind ow\",\n      \"w indow\",\n      \"▁d ies\",\n      \"▁di es\",\n      \"▁die s\",\n      \"de l\",\n      \"d el\",\n      \"▁r ow\",\n      \"▁ro w\",\n      \"▁ row\",\n      \"▁a verage\",\n      \"▁aver age\",\n      \"▁ave rage\",\n      \"xi m\",\n      \"x im\",\n      \"▁p u\",\n      \"▁ pu\",\n      \"an ç\",\n      \"De t\",\n      \"D et\",\n      \"ke r\",\n      \"k er\",\n      \"y a\",\n      \"▁D et\",\n      \"▁De t\",\n      \"▁ Det\",\n      \"▁p å\",\n      \"▁n amed\",\n      \"▁name d\",\n      \"▁na med\",\n      \"▁nam ed\",\n      \"▁ named\",\n      \"▁dec ision\",\n      \"▁decis ion\",\n      \"wi n\",\n      \"w in\",\n      \"▁Ge orge\",\n      \"▁Georg e\",\n      \"ar ily\",\n      \"ari ly\",\n      \"▁s olution\",\n      \"▁sol ution\",\n      \"▁mult iple\",\n      \"▁multi ple\",\n      \"▁multip le\",\n      \"▁ multiple\",\n      \"at egy\",\n      \"ate gy\",\n      \"ateg y\",\n      \"▁le arning\",\n      \"▁learn ing\",\n      \"▁lear ning\",\n      \"▁ learning\",\n      \"▁se cret\",\n      \"▁sec ret\",\n      \"▁secre t\",\n      \"▁ secret\",\n      \"D O\",\n      \"▁n ice\",\n      \"▁ni ce\",\n      \"▁nic e\",\n      \"▁ nice\",\n      \"//////// ////////\",\n      \"S u\",\n      \"it ation\",\n      \"itat ion\",\n      \"▁j oin\",\n      \"▁jo in\",\n      \"▁ join\",\n      \"▁el ements\",\n      \"▁element s\",\n      \"▁ele ments\",\n      \"▁elem ents\",\n      \"▁ elements\",\n      \"▁e mer\",\n      \"▁em er\",\n      \"til de\",\n      \"t ilde\",\n      \"▁d ep\",\n      \"▁de p\",\n      \"▁ dep\",\n      \"▁s hot\",\n      \"▁sh ot\",\n      \"▁ shot\",\n      \"▁pl atform\",\n      \"▁plat form\",\n      \"▁ platform\",\n      \"ot hing\",\n      \"oth ing\",\n      \"o thing\",\n      \"M y\",\n      \"ed ia\",\n      \"edi a\",\n      \"om s\",\n      \"o ms\",\n      \"ail y\",\n      \"ai ly\",\n      \"a ily\",\n      \"( [\",\n      \"▁d ress\",\n      \"▁dr ess\",\n      \"▁dre ss\",\n      \"▁off icial\",\n      \"▁offic ial\",\n      \"es tern\",\n      \"est ern\",\n      \"ester n\",\n      \"este rn\",\n      \"▁dis cover\",\n      \"▁disc over\",\n      \"▁disco ver\",\n      \"▁m i\",\n      \"▁ mi\",\n      \"ны е\",\n      \"C A\",\n      \"od ing\",\n      \"odi ng\",\n      \"o ding\",\n      \"▁F ound\",\n      \"▁Fou nd\",\n      \"▁Fo und\",\n      \"▁ Found\",\n      \"▁a ffect\",\n      \"▁aff ect\",\n      \"▁af fect\",\n      \"Vi s\",\n      \"V is\",\n      \"st ract\",\n      \"str act\",\n      \"stra ct\",\n      \"s tract\",\n      \"ic ed\",\n      \"ice d\",\n      \"i ced\",\n      \"de bug\",\n      \"d ebug\",\n      \"▁rel ated\",\n      \"▁relate d\",\n      \"▁ related\",\n      \"▁s pect\",\n      \"▁sp ect\",\n      \"▁spec t\",\n      \"▁spe ct\",\n      \"▁ spect\",\n      \"us hed\",\n      \"ush ed\",\n      \"сь ко\",\n      \"▁b ank\",\n      \"▁ban k\",\n      \"▁ bank\",\n      \"▁c ele\",\n      \"▁ce le\",\n      \"▁cel e\",\n      \"AN D\",\n      \"A ND\",\n      \"ol f\",\n      \"е м\",\n      \"▁f ill\",\n      \"▁fil l\",\n      \"▁fi ll\",\n      \"▁ fill\",\n      \"▁g ives\",\n      \"▁giv es\",\n      \"▁give s\",\n      \"▁gi ves\",\n      \"▁б у\",\n      \"▁ бу\",\n      \"ar on\",\n      \"aro n\",\n      \"a ron\",\n      \"▁J es\",\n      \"▁Je s\",\n      \"RE G\",\n      \"▁s udd\",\n      \"▁su dd\",\n      \"▁sud d\",\n      \"date d\",\n      \"da ted\",\n      \"dat ed\",\n      \"d ated\",\n      \"v i\",\n      \"▁g i\",\n      \"▁ gi\",\n      \"se nd\",\n      \"sen d\",\n      \"s end\",\n      \"cp p\",\n      \"c pp\",\n      \"▁s pent\",\n      \"▁sp ent\",\n      \"▁spe nt\",\n      \"an de\",\n      \"and e\",\n      \"a nde\",\n      \"▁oper ation\",\n      \"▁ operation\",\n      \"pro cess\",\n      \"proc ess\",\n      \"▁in form\",\n      \"▁inf orm\",\n      \"▁info rm\",\n      \"▁F ree\",\n      \"▁Fr ee\",\n      \"▁Fre e\",\n      \"▁ Free\",\n      \"yo nd\",\n      \"y ond\",\n      \"▁per haps\",\n      \"▁su rv\",\n      \"▁sur v\",\n      \"▁L oc\",\n      \"▁Lo c\",\n      \"▁ Loc\",\n      \"▁con cl\",\n      \"▁conc l\",\n      \"▁ра з\",\n      \"▁ раз\",\n      \"▁O ver\",\n      \"▁ Over\",\n      \"ho l\",\n      \"h ol\",\n      \"ra z\",\n      \"r az\",\n      \"Wr ite\",\n      \"Writ e\",\n      \"W rite\",\n      \"▁g iving\",\n      \"▁giv ing\",\n      \"▁gi ving\",\n      \"r d\",\n      \"in stance\",\n      \"inst ance\",\n      \"▁re leased\",\n      \"▁rele ased\",\n      \"▁release d\",\n      \"▁R o\",\n      \"▁ Ro\",\n      \"R A\",\n      \"▁pract ice\",\n      \"▁g raph\",\n      \"▁gr aph\",\n      \"▁gra ph\",\n      \"▁grap h\",\n      \"▁ graph\",\n      \"▁incre ase\",\n      \"▁fig ure\",\n      \"▁ figure\",\n      \"Fil ter\",\n      \"HE CK\",\n      \"id x\",\n      \"i dx\",\n      \"▁g lass\",\n      \"▁gl ass\",\n      \"▁ glass\",\n      \"sk i\",\n      \"s ki\",\n      \"com es\",\n      \"co mes\",\n      \"come s\",\n      \"c omes\",\n      \"▁c at\",\n      \"▁ca t\",\n      \"▁ cat\",\n      \"▁c old\",\n      \"▁col d\",\n      \"▁co ld\",\n      \"go to\",\n      \"got o\",\n      \"g oto\",\n      \"uf act\",\n      \"u fact\",\n      \"▁C opyright\",\n      \"▁Copy right\",\n      \"▁ Copyright\",\n      \"}} \\\\\",\n      \"} }\\\\\",\n      \"▁str eng\",\n      \"▁stre ng\",\n      \"▁d ir\",\n      \"▁di r\",\n      \"▁ dir\",\n      \"to ken\",\n      \"tok en\",\n      \"t oken\",\n      \"▁occ ur\",\n      \"▁oc cur\",\n      \"arl ier\",\n      \"▁me asure\",\n      \"▁meas ure\",\n      \"▁ measure\",\n      \"▁s ec\",\n      \"▁se c\",\n      \"▁ sec\",\n      \"▁m ás\",\n      \"▁má s\",\n      \"▁N et\",\n      \"▁Ne t\",\n      \"▁ Net\",\n      \"▁arg ument\",\n      \"▁ argument\",\n      \"▁s ou\",\n      \"▁so u\",\n      \"▁m oving\",\n      \"▁mov ing\",\n      \"▁mo ving\",\n      \"▁p refer\",\n      \"▁pre fer\",\n      \"▁pref er\",\n      \"ma sk\",\n      \"mas k\",\n      \"m ask\",\n      \"< <\",\n      \"▁bre ath\",\n      \"▁breat h\",\n      \"▁phys ical\",\n      \"▁pos itive\",\n      \"▁posit ive\",\n      \"▁s or\",\n      \"▁so r\",\n      \"▁ sor\",\n      \"▁de part\",\n      \"▁dep art\",\n      \"▁re move\",\n      \"▁rem ove\",\n      \"▁ remove\",\n      \"▁k it\",\n      \"▁ki t\",\n      \"▁ kit\",\n      \"▁me eting\",\n      \"▁meet ing\",\n      \"▁D ata\",\n      \"▁Da ta\",\n      \"▁Dat a\",\n      \"▁ Data\",\n      \"og raf\",\n      \"act ions\",\n      \"action s\",\n      \"a ctions\",\n      \"▁param eters\",\n      \"▁parameter s\",\n      \"▁ parameters\",\n      \"▁A tt\",\n      \"▁At t\",\n      \"▁ Att\",\n      \"es ch\",\n      \"esc h\",\n      \"e sch\",\n      \"▁inv olved\",\n      \"▁invol ved\",\n      \"▁involve d\",\n      \"ä t\",\n      \"L L\",\n      \"B ar\",\n      \"▁с и\",\n      \"▁ си\",\n      \"ec h\",\n      \"e ch\",\n      \"GE T\",\n      \"G ET\",\n      \"▁pre vent\",\n      \"▁pr event\",\n      \"▁prev ent\",\n      \"▁ prevent\",\n      \"▁be yond\",\n      \"▁O ther\",\n      \"▁Ot her\",\n      \"▁ Other\",\n      \"ä n\",\n      \"by te\",\n      \"▁sudd en\",\n      \"▁sud den\",\n      \"ol ve\",\n      \"olv e\",\n      \"▁н о\",\n      \"▁ но\",\n      \"LO G\",\n      \"L OG\",\n      \"un it\",\n      \"uni t\",\n      \"u nit\",\n      \"▁tr uth\",\n      \"ra t\",\n      \"r at\",\n      \"S D\",\n      \"▁e at\",\n      \"▁M ad\",\n      \"▁Ma d\",\n      \"▁ Mad\",\n      \"▁prov ides\",\n      \"▁provide s\",\n      \"▁s ession\",\n      \"▁ session\",\n      \"De le\",\n      \"Del e\",\n      \"D ele\",\n      \"▁con vers\",\n      \"▁conv ers\",\n      \"▁conver s\",\n      \"▁conve rs\",\n      \"cent er\",\n      \"cen ter\",\n      \"c enter\",\n      \"▁contin ued\",\n      \"▁continue d\",\n      \"▁continu ed\",\n      \"ot ion\",\n      \"oti on\",\n      \"ca che\",\n      \"c ache\",\n      \"dis play\",\n      \"disp lay\",\n      \"▁prote ct\",\n      \"▁prot ect\",\n      \"am s\",\n      \"a ms\",\n      \"▁p ow\",\n      \"▁po w\",\n      \"▁ pow\",\n      \"CT ION\",\n      \"C TION\",\n      \"▁M ac\",\n      \"▁Ma c\",\n      \"▁ Mac\",\n      \"m o\",\n      \"х а\",\n      \"▁d istance\",\n      \"▁di stance\",\n      \"▁dist ance\",\n      \"▁ distance\",\n      \"▁T ime\",\n      \"▁Tim e\",\n      \"▁Ti me\",\n      \"▁ Time\",\n      \"g i\",\n      \"▁s equ\",\n      \"▁se qu\",\n      \"▁seq u\",\n      \"▁ sequ\",\n      \"T arget\",\n      \"с ле\",\n      \"Ser ver\",\n      \"Serv er\",\n      \"▁w ide\",\n      \"▁wid e\",\n      \"▁ wide\",\n      \"cl ose\",\n      \"clos e\",\n      \"▁c ru\",\n      \"▁cr u\",\n      \"Ex t\",\n      \"E xt\",\n      \"▁s elect\",\n      \"▁se lect\",\n      \"▁sel ect\",\n      \"▁sele ct\",\n      \"▁ select\",\n      \"▁pat tern\",\n      \"▁ pattern\",\n      \"\\\") );\",\n      \"\\\")) ;\",\n      \"\\\" ));\",\n      \"Pro vider\",\n      \"Prov ider\",\n      \"UR L\",\n      \"U RL\",\n      \"▁g reen\",\n      \"▁gr een\",\n      \"▁gre en\",\n      \"▁ green\",\n      \"▁wait ing\",\n      \"▁wa iting\",\n      \"pro to\",\n      \"pr oto\",\n      \"prot o\",\n      \"▁immedi ately\",\n      \"▁immediate ly\",\n      \"com mon\",\n      \"comm on\",\n      \"az ione\",\n      \"azi one\",\n      \"a zione\",\n      \"ri ver\",\n      \"riv er\",\n      \"rive r\",\n      \"r iver\",\n      \"▁s en\",\n      \"▁se n\",\n      \"▁ sen\",\n      \"▁! ==\",\n      \"▁!= =\",\n      \"▁Febru ary\",\n      \"▁Februar y\",\n      \"ur b\",\n      \"u rb\",\n      \"▁S en\",\n      \"▁Se n\",\n      \"de st\",\n      \"des t\",\n      \"d est\",\n      \"< ?\",\n      \"▁ed ge\",\n      \"▁ edge\",\n      \"▁m ais\",\n      \"▁ma is\",\n      \"▁mai s\",\n      \"gor ith\",\n      \"cp u\",\n      \"c pu\",\n      \"▁educ ation\",\n      \"▁associ ated\",\n      \"▁associate d\",\n      \"No ne\",\n      \"Non e\",\n      \"N one\",\n      \"h i\",\n      \"▁p oor\",\n      \"▁po or\",\n      \"se m\",\n      \"s em\",\n      \"▁W il\",\n      \"▁Wi l\",\n      \"▁b ud\",\n      \"▁bu d\",\n      \"▁ bud\",\n      \"▁a uch\",\n      \"▁au ch\",\n      \"▁ auch\",\n      \"el ler\",\n      \"ell er\",\n      \"elle r\",\n      \"▁L ife\",\n      \"▁Li fe\",\n      \"▁ Life\",\n      \"▁f iles\",\n      \"▁fil es\",\n      \"▁file s\",\n      \"▁fi les\",\n      \"▁ files\",\n      \"▁le ading\",\n      \"▁lead ing\",\n      \"▁ leading\",\n      \"▁ob tain\",\n      \"▁obt ain\",\n      \"▁J ul\",\n      \"▁Ju l\",\n      \"at ory\",\n      \"ator y\",\n      \"ato ry\",\n      \"г у\",\n      \"it able\",\n      \"ita ble\",\n      \"i table\",\n      \"▁on to\",\n      \"▁ont o\",\n      \"▁ onto\",\n      \"▁b orn\",\n      \"▁bo rn\",\n      \"▁bor n\",\n      \"▁ born\",\n      \"or em\",\n      \"ore m\",\n      \"o rem\",\n      \"▁Stre et\",\n      \"▁m aint\",\n      \"▁main t\",\n      \"▁ma int\",\n      \"▁mai nt\",\n      \"Param s\",\n      \"Par ams\",\n      \"ri p\",\n      \"r ip\",\n      \"▁S T\",\n      \"▁ ST\",\n      \"u v\",\n      \"ma in\",\n      \"m ain\",\n      \"▁re cent\",\n      \"▁rec ent\",\n      \"▁rece nt\",\n      \"We b\",\n      \"W eb\",\n      \"ov a\",\n      \"o va\",\n      \"ц а\",\n      \"ais e\",\n      \"ai se\",\n      \"a ise\",\n      \"yle s\",\n      \"yl es\",\n      \"y les\",\n      \"▁de scribed\",\n      \"▁desc ribed\",\n      \"▁describ ed\",\n      \"▁describe d\",\n      \"▁begin ning\",\n      \"▁D ay\",\n      \"▁Da y\",\n      \"▁ Day\",\n      \"▁V ol\",\n      \"▁Vo l\",\n      \"▁ Vol\",\n      \"▁h uge\",\n      \"▁hug e\",\n      \"Ha s\",\n      \"H as\",\n      \"an cy\",\n      \"anc y\",\n      \"He ader\",\n      \"Head er\",\n      \"▁a ren\",\n      \"▁are n\",\n      \"▁ar en\",\n      \"▁ aren\",\n      \"ва н\",\n      \"в ан\",\n      \"▁en sure\",\n      \"▁ens ure\",\n      \"▁ ensure\",\n      \"▁p et\",\n      \"▁pe t\",\n      \"▁ pet\",\n      \"mu lt\",\n      \"mul t\",\n      \"m ult\",\n      \"▁L ike\",\n      \"▁Li ke\",\n      \"▁ Like\",\n      \"▁man agement\",\n      \"▁manage ment\",\n      \"▁ management\",\n      \"P S\",\n      \"wh ile\",\n      \"▁back ground\",\n      \"▁ background\",\n      \"ount er\",\n      \"oun ter\",\n      \"o unter\",\n      \"bo ol\",\n      \"b ool\",\n      \"F C\",\n      \"N um\",\n      \"R L\",\n      \"▁ex cl\",\n      \"▁exc l\",\n      \"▁e ye\",\n      \"▁ey e\",\n      \"im g\",\n      \"i mg\",\n      \"▁r om\",\n      \"▁ro m\",\n      \"▁ rom\",\n      \"▁H el\",\n      \"▁He l\",\n      \"▁ Hel\",\n      \"Opt ion\",\n      \"O ption\",\n      \"▁stop ped\",\n      \"▁sto pped\",\n      \"▁th read\",\n      \"▁thr ead\",\n      \"▁ thread\",\n      \"to type\",\n      \"tot ype\",\n      \"t otype\",\n      \")) )\",\n      \") ))\",\n      \"▁st age\",\n      \"▁stag e\",\n      \"▁sta ge\",\n      \"▁ stage\",\n      \"▁ü ber\",\n      \"▁ über\",\n      \"▁al though\",\n      \"▁ although\",\n      \"Type s\",\n      \"Ty pes\",\n      \"Typ es\",\n      \"T ypes\",\n      \"▁O h\",\n      \"▁ Oh\",\n      \"▁e ight\",\n      \"▁ eight\",\n      \"▁de scription\",\n      \"▁des cription\",\n      \"▁ description\",\n      \"' '\",\n      \"ö n\",\n      \"▁sur face\",\n      \"▁surf ace\",\n      \"▁ surface\",\n      \"▁Intern ational\",\n      \"▁ch arg\",\n      \"▁char g\",\n      \"▁cha rg\",\n      \"▁ charg\",\n      \"▁col lection\",\n      \"▁coll ection\",\n      \"▁collect ion\",\n      \"▁colle ction\",\n      \"▁ collection\",\n      \"▁us ers\",\n      \"▁use rs\",\n      \"▁user s\",\n      \"▁ users\",\n      \"▁ob vious\",\n      \"▁cent ury\",\n      \"▁ century\",\n      \"ic ks\",\n      \"ick s\",\n      \"i cks\",\n      \"▁art icle\",\n      \"▁artic le\",\n      \"▁ article\",\n      \"▁\\\" \\\\\",\n      \"▁ \\\"\\\\\",\n      \"di m\",\n      \"d im\",\n      \"▁s in\",\n      \"▁si n\",\n      \"▁ sin\",\n      \"en ge\",\n      \"eng e\",\n      \"Cont rol\",\n      \"▁com mit\",\n      \"▁comm it\",\n      \"▁ commit\",\n      \"ens ity\",\n      \"▁t ra\",\n      \"▁tr a\",\n      \"▁ tra\",\n      \"cript or\",\n      \"▁N OT\",\n      \"▁NO T\",\n      \"▁ NOT\",\n      \"we ll\",\n      \"w ell\",\n      \"▁M ichael\",\n      \"▁Mich ael\",\n      \"▁n od\",\n      \"▁no d\",\n      \"▁ nod\",\n      \"▁m ort\",\n      \"▁mor t\",\n      \"▁mo rt\",\n      \"iv o\",\n      \"i vo\",\n      \"is ation\",\n      \"▁P o\",\n      \"▁ Po\",\n      \"▁P aris\",\n      \"▁Par is\",\n      \"▁Pa ris\",\n      \"▁ad ministr\",\n      \"▁admin istr\",\n      \"▁ administr\",\n      \"bu rg\",\n      \"bur g\",\n      \"b urg\",\n      \"cd ot\",\n      \"c dot\",\n      \"▁mil itary\",\n      \"▁milit ary\",\n      \"▁militar y\",\n      \"▁B est\",\n      \"▁Be st\",\n      \"▁Bes t\",\n      \"▁ Best\",\n      \"▁К а\",\n      \"▁ Ка\",\n      \"IN E\",\n      \"I NE\",\n      \"▁through out\",\n      \"S l\",\n      \"▁im pl\",\n      \"▁imp l\",\n      \"▁ impl\",\n      \"cont rol\",\n      \"contr ol\",\n      \"▁ Ч\",\n      \"▁u it\",\n      \"▁ui t\",\n      \"▁ uit\",\n      \"▁un signed\",\n      \"▁uns igned\",\n      \"▁ unsigned\",\n      \"▁M ary\",\n      \"▁Mar y\",\n      \"▁Ma ry\",\n      \"Ch ar\",\n      \"C har\",\n      \"м і\",\n      \"▁th reat\",\n      \"▁c ourt\",\n      \"▁co urt\",\n      \"▁cour t\",\n      \"▁cou rt\",\n      \"▁ court\",\n      \"vi lle\",\n      \"vil le\",\n      \"v ille\",\n      \"▁ ш\",\n      \"▁C am\",\n      \"▁Ca m\",\n      \"▁ Cam\",\n      \". \\r\",\n      \"▁current ly\",\n      \"▁curr ently\",\n      \"ro t\",\n      \"r ot\",\n      \"▁D ate\",\n      \"▁Da te\",\n      \"▁Dat e\",\n      \"▁ Date\",\n      \"▁s hit\",\n      \"▁sh it\",\n      \"▁ shit\",\n      \"▁$ {\\\\\",\n      \"▁${ \\\\\",\n      \"un n\",\n      \"u nn\",\n      \"U s\",\n      \"▁b uffer\",\n      \"▁buff er\",\n      \"▁buf fer\",\n      \"▁ buffer\",\n      \"▁s ont\",\n      \"▁so nt\",\n      \"▁son t\",\n      \"▁let ter\",\n      \"▁lett er\",\n      \"▁ letter\",\n      \"in ated\",\n      \"ina ted\",\n      \"inate d\",\n      \"Ch ange\",\n      \"▁h ref\",\n      \"▁hr ef\",\n      \"▁ href\",\n      \"▁l ack\",\n      \"▁la ck\",\n      \"▁lac k\",\n      \"▁o il\",\n      \"▁C ons\",\n      \"▁Con s\",\n      \"▁Co ns\",\n      \"▁ Cons\",\n      \"▁J er\",\n      \"▁Je r\",\n      \"BU G\",\n      \"B UG\",\n      \"if orn\",\n      \"▁pro perties\",\n      \"▁proper ties\",\n      \"▁ properties\",\n      \"▁r andom\",\n      \"▁ran dom\",\n      \"▁rand om\",\n      \"▁ random\",\n      \"▁br other\",\n      \"▁bro ther\",\n      \"▁p iece\",\n      \"▁pie ce\",\n      \"▁ piece\",\n      \"б у\",\n      \"ist ics\",\n      \"istic s\",\n      \"isti cs\",\n      \"▁techn ology\",\n      \"gl obal\",\n      \"glob al\",\n      \"▁trans form\",\n      \"▁ transform\",\n      \"er d\",\n      \"e rd\",\n      \"▁B ecause\",\n      \"▁ Because\",\n      \"PE CT\",\n      \"P ECT\",\n      \"pr et\",\n      \"pre t\",\n      \"p ret\",\n      \"▁го ду\",\n      \"▁год у\",\n      \"▁M et\",\n      \"▁Me t\",\n      \"▁ Met\",\n      \"▁p sy\",\n      \"▁ps y\",\n      \"▁ psy\",\n      \"▁о д\",\n      \"▁g od\",\n      \"▁go d\",\n      \"▁ god\",\n      \"▁D el\",\n      \"▁De l\",\n      \"▁ Del\",\n      \"base d\",\n      \"ba sed\",\n      \"bas ed\",\n      \"b ased\",\n      \"▁v oor\",\n      \"▁vo or\",\n      \"▁C all\",\n      \"▁Cal l\",\n      \"▁Ca ll\",\n      \"▁ Call\",\n      \"S A\",\n      \"▁fil ter\",\n      \"▁ filter\",\n      \"▁incl udes\",\n      \"▁includ es\",\n      \"▁include s\",\n      \"▁inclu des\",\n      \"▁ includes\",\n      \"olut ions\",\n      \"olution s\",\n      \"f d\",\n      \"▁w ind\",\n      \"▁win d\",\n      \"▁ wind\",\n      \"▁б о\",\n      \"▁ бо\",\n      \"▁ab ility\",\n      \"▁ ability\",\n      \"ca rd\",\n      \"car d\",\n      \"c ard\",\n      \"▁n umer\",\n      \"▁num er\",\n      \"▁nu mer\",\n      \"▁ numer\",\n      \"add ress\",\n      \"addr ess\",\n      \"▁go al\",\n      \"ash ington\",\n      \"ashing ton\",\n      \"▁s light\",\n      \"▁sl ight\",\n      \"ab a\",\n      \"a ba\",\n      \"▁L og\",\n      \"▁Lo g\",\n      \"▁ Log\",\n      \"Set tings\",\n      \"Setting s\",\n      \"ad ow\",\n      \"ado w\",\n      \"▁p i\",\n      \"▁ pi\",\n      \"ir ing\",\n      \"iri ng\",\n      \"i ring\",\n      \"F T\",\n      \"▁number s\",\n      \"▁num bers\",\n      \"con f\",\n      \"co nf\",\n      \"ta sk\",\n      \"t ask\",\n      \"▁î n\",\n      \"т ы\",\n      \"▁re ceive\",\n      \"▁rece ive\",\n      \"▁r oot\",\n      \"▁ro ot\",\n      \"▁ root\",\n      \"▁Ind ia\",\n      \"pat ch\",\n      \"p atch\",\n      \"é l\",\n      \"▁sum mer\",\n      \"▁method s\",\n      \"▁ methods\",\n      \"▁pl aces\",\n      \"▁place s\",\n      \"▁plac es\",\n      \"▁М а\",\n      \"▁ Ма\",\n      \"▁cap ital\",\n      \"▁capit al\",\n      \"▁ev idence\",\n      \"▁G erman\",\n      \"▁Germ an\",\n      \"▁Ger man\",\n      \"\\\\ ,\",\n      \"D A\",\n      \"ec ute\",\n      \"ecut e\",\n      \"col umn\",\n      \"▁fun ctions\",\n      \"▁function s\",\n      \"▁ functions\",\n      \"▁c ounter\",\n      \"▁co unter\",\n      \"▁coun ter\",\n      \"▁count er\",\n      \"▁ counter\",\n      \"▁ar ms\",\n      \"▁arm s\",\n      \"▁ arms\",\n      \"▁f eed\",\n      \"▁fe ed\",\n      \"▁fee d\",\n      \"▁ feed\",\n      \"ve y\",\n      \"v ey\",\n      \"he nt\",\n      \"hen t\",\n      \"h ent\",\n      \"MA X\",\n      \"M AX\",\n      \"▁ac qu\",\n      \"▁app ly\",\n      \"▁ap ply\",\n      \"▁appl y\",\n      \"▁ apply\",\n      \"▁hus band\",\n      \"▁k illed\",\n      \"▁kill ed\",\n      \"▁kil led\",\n      \"▁S pec\",\n      \"▁Sp ec\",\n      \"▁Spe c\",\n      \"▁ Spec\",\n      \"ent ity\",\n      \"enti ty\",\n      \"▁e arlier\",\n      \"▁M iss\",\n      \"▁Mi ss\",\n      \"▁Mis s\",\n      \"▁ Miss\",\n      \"▁set ting\",\n      \"▁sett ing\",\n      \"▁ setting\",\n      \"it ect\",\n      \"ite ct\",\n      \"▁d ed\",\n      \"▁de d\",\n      \"▁ ded\",\n      \"Ro w\",\n      \"R ow\",\n      \"▁r an\",\n      \"▁ra n\",\n      \"▁ ran\",\n      \"▁Y es\",\n      \"▁Ye s\",\n      \"▁ Yes\",\n      \"▁fin ancial\",\n      \"▁financ ial\",\n      \"s ession\",\n      \"le ar\",\n      \"l ear\",\n      \"is hing\",\n      \"ish ing\",\n      \"ishi ng\",\n      \"▁ne arly\",\n      \"▁near ly\",\n      \"▁d ur\",\n      \"▁du r\",\n      \"▁m achine\",\n      \"▁mach ine\",\n      \"▁ machine\",\n      \"xf f\",\n      \"x ff\",\n      \"br o\",\n      \"b ro\",\n      \"▁s ymbol\",\n      \"▁sym bol\",\n      \"▁ symbol\",\n      \"land s\",\n      \"lan ds\",\n      \"l ands\",\n      \"Ac c\",\n      \"A cc\",\n      \"d i\",\n      \"▁Rober t\",\n      \"▁Ro bert\",\n      \"▁Rob ert\",\n      \"pro p\",\n      \"pr op\",\n      \"p rop\",\n      \"ur ity\",\n      \"uri ty\",\n      \"▁# ####\",\n      \"▁## ###\",\n      \"▁### ##\",\n      \"▁#### #\",\n      \"▁walk ed\",\n      \"▁wal ked\",\n      \"▁intern ational\",\n      \"▁internation al\",\n      \"▁ Е\",\n      \"Y es\",\n      \"▁re lease\",\n      \"▁rele ase\",\n      \"▁ release\",\n      \"▁start ing\",\n      \"▁star ting\",\n      \"st atic\",\n      \"stat ic\",\n      \"▁b ei\",\n      \"▁be i\",\n      \"al low\",\n      \"all ow\",\n      \"allo w\",\n      \"▁Pe ople\",\n      \"▁ People\",\n      \"e z\",\n      \"▁param eter\",\n      \"▁ parameter\",\n      \"C ache\",\n      \"▁$ $\",\n      \"▁ $$\",\n      \"amp ions\",\n      \"ampion s\",\n      \"▁M er\",\n      \"▁Me r\",\n      \"▁ Mer\",\n      \"▁k om\",\n      \"▁ko m\",\n      \"▁ kom\",\n      \"le ted\",\n      \"let ed\",\n      \"lete d\",\n      \"l eted\",\n      \"oi s\",\n      \"o is\",\n      \"▁O pen\",\n      \"▁Op en\",\n      \"▁ Open\",\n      \"ty pes\",\n      \"type s\",\n      \"typ es\",\n      \"t ypes\",\n      \"▁f ue\",\n      \"▁fu e\",\n      \"ac ters\",\n      \"act ers\",\n      \"acter s\",\n      \"▁re ference\",\n      \"▁refer ence\",\n      \"▁ reference\",\n      \"Equ als\",\n      \"Equal s\",\n      \"Eq uals\",\n      \"▁a ware\",\n      \"▁aw are\",\n      \"▁ aware\",\n      \"▁h ol\",\n      \"▁ho l\",\n      \"▁ hol\",\n      \"▁de mand\",\n      \"▁dem and\",\n      \"lo r\",\n      \"l or\",\n      \"▁v eh\",\n      \"▁ve h\",\n      \"▁ veh\",\n      \"▁not ice\",\n      \"▁ notice\",\n      \"▁com ponent\",\n      \"▁compon ent\",\n      \"▁ component\",\n      \"f n\",\n      \"▁anal ysis\",\n      \"▁analy sis\",\n      \"▁analys is\",\n      \"▁ analysis\",\n      \"mat ch\",\n      \"m atch\",\n      \"▁effect ive\",\n      \"▁ effective\",\n      \"pro duct\",\n      \"produ ct\",\n      \"prod uct\",\n      \"ни к\",\n      \"▁le gal\",\n      \"▁leg al\",\n      \"▁ legal\",\n      \"е й\",\n      \"se mb\",\n      \"sem b\",\n      \"s emb\",\n      \"▁loc ated\",\n      \"▁locate d\",\n      \"▁с у\",\n      \"▁ су\",\n      \"Q L\",\n      \"in ct\",\n      \"inc t\",\n      \"et o\",\n      \"e to\",\n      \"Dr aw\",\n      \"D raw\",\n      \"▁sc ale\",\n      \"▁scal e\",\n      \"▁ scale\",\n      \"ро в\",\n      \"р ов\",\n      \"▁w ants\",\n      \"▁want s\",\n      \"H ow\",\n      \"▁w el\",\n      \"▁we l\",\n      \"is ions\",\n      \"ision s\",\n      \"isi ons\",\n      \"▁de liver\",\n      \"▁del iver\",\n      \"un der\",\n      \"und er\",\n      \"unde r\",\n      \"u nder\",\n      \"▁d eb\",\n      \"▁de b\",\n      \"▁j u\",\n      \"▁ ju\",\n      \"val ues\",\n      \"value s\",\n      \"▁s ister\",\n      \"▁si ster\",\n      \"▁sist er\",\n      \"ко в\",\n      \"к ов\",\n      \"▁C reate\",\n      \"▁Creat e\",\n      \"▁Cre ate\",\n      \"▁ Create\",\n      \"▁I nc\",\n      \"▁In c\",\n      \"▁a ux\",\n      \"▁au x\",\n      \"▁ aux\",\n      \"▁Wh ite\",\n      \"▁Whit e\",\n      \"▁ White\",\n      \"Me nu\",\n      \"Men u\",\n      \"M enu\",\n      \"au d\",\n      \"a ud\",\n      \"re source\",\n      \"res ource\",\n      \"▁c ab\",\n      \"▁ca b\",\n      \"▁l if\",\n      \"▁li f\",\n      \"▁ lif\",\n      \"▁c ulture\",\n      \"▁cult ure\",\n      \"ic he\",\n      \"ich e\",\n      \"i che\",\n      \"▁wh atever\",\n      \"▁what ever\",\n      \"▁de signed\",\n      \"▁des igned\",\n      \"▁design ed\",\n      \"▁re pe\",\n      \"▁rep e\",\n      \"▁M ont\",\n      \"▁Mon t\",\n      \"▁Mo nt\",\n      \"▁ Mont\",\n      \"▁ch arge\",\n      \"▁char ge\",\n      \"▁charg e\",\n      \"▁ charge\",\n      \"Name s\",\n      \"Na mes\",\n      \"N ames\",\n      \"▁in sp\",\n      \"▁ins p\",\n      \"▁custom ers\",\n      \"▁customer s\",\n      \"os a\",\n      \"o sa\",\n      \"▁d aughter\",\n      \"▁E ast\",\n      \"E Q\",\n      \"▁o pin\",\n      \"▁op in\",\n      \"▁F re\",\n      \"▁Fr e\",\n      \"▁se ek\",\n      \"▁see k\",\n      \"▁ seek\",\n      \"▁p ush\",\n      \"▁pu sh\",\n      \"▁ push\",\n      \"▁n av\",\n      \"▁na v\",\n      \"▁ nav\",\n      \"▁b urn\",\n      \"▁bu rn\",\n      \"▁bur n\",\n      \"▁ burn\",\n      \"ar den\",\n      \"ard en\",\n      \"arde n\",\n      \"ha sh\",\n      \"has h\",\n      \"h ash\",\n      \"▁opportun ity\",\n      \"▁M at\",\n      \"▁Ma t\",\n      \"▁ Mat\",\n      \"oy al\",\n      \"oya l\",\n      \"o yal\",\n      \"▁p un\",\n      \"▁pu n\",\n      \"sc ale\",\n      \"scal e\",\n      \"yn amic\",\n      \"ynam ic\",\n      \"yna mic\",\n      \"▁T ype\",\n      \"▁Ty pe\",\n      \"▁Typ e\",\n      \"▁ Type\",\n      \"il ing\",\n      \"ili ng\",\n      \"i ling\",\n      \"▁qu ery\",\n      \"▁que ry\",\n      \"▁quer y\",\n      \"▁ query\",\n      \"▁m ist\",\n      \"▁mis t\",\n      \"▁mi st\",\n      \"ro r\",\n      \"r or\",\n      \"for ce\",\n      \"▁On ce\",\n      \"▁ Once\",\n      \"▁med ical\",\n      \"▁medic al\",\n      \"▁medi cal\",\n      \"li e\",\n      \"l ie\",\n      \"▁stud ent\",\n      \"▁ student\",\n      \"ed eral\",\n      \"eder al\",\n      \"ede ral\",\n      \"▁l ov\",\n      \"▁lo v\",\n      \"▁ lov\",\n      \"if orm\",\n      \"i form\",\n      \"▁al tern\",\n      \"▁alt ern\",\n      \"▁alter n\",\n      \"▁ altern\",\n      \"bi n\",\n      \"b in\",\n      \"od er\",\n      \"ode r\",\n      \"o der\",\n      \"▁return s\",\n      \"▁ returns\",\n      \"reg ister\",\n      \"ut s\",\n      \"u ts\",\n      \"C I\",\n      \"▁T or\",\n      \"▁To r\",\n      \"▁ Tor\",\n      \"C R\",\n      \"▁L os\",\n      \"▁Lo s\",\n      \"▁ Los\",\n      \"am ily\",\n      \"ami ly\",\n      \"amil y\",\n      \"air e\",\n      \"ai re\",\n      \"a ire\",\n      \"++ ;\",\n      \"Cont roller\",\n      \"Control ler\",\n      \"wi de\",\n      \"wid e\",\n      \"w ide\",\n      \"x x\",\n      \"row ser\",\n      \"rows er\",\n      \"▁B ook\",\n      \"▁Bo ok\",\n      \"▁ Book\",\n      \"Cont ainer\",\n      \"pl oad\",\n      \"plo ad\",\n      \"p load\",\n      \"▁E v\",\n      \"▁ Ev\",\n      \"▁t al\",\n      \"▁ta l\",\n      \"▁ tal\",\n      \"▁the ory\",\n      \"eqn array\",\n      \"б е\",\n      \"▁rep orted\",\n      \"▁report ed\",\n      \"▁me aning\",\n      \"▁mean ing\",\n      \"▁s y\",\n      \"▁ sy\",\n      \"ri be\",\n      \"rib e\",\n      \"r ibe\",\n      \"ic ate\",\n      \"ica te\",\n      \"ho ld\",\n      \"hol d\",\n      \"h old\",\n      \"▁of fers\",\n      \"▁off ers\",\n      \"▁offer s\",\n      \"▁t empl\",\n      \"▁tem pl\",\n      \"▁temp l\",\n      \"cs s\",\n      \"c ss\",\n      \"▁p icture\",\n      \"▁pict ure\",\n      \"▁ picture\",\n      \"▁a sync\",\n      \"▁as ync\",\n      \"▁ async\",\n      \"▁st ock\",\n      \"▁sto ck\",\n      \"▁ stock\",\n      \"▁in ternal\",\n      \"▁inter nal\",\n      \"▁intern al\",\n      \"▁ internal\",\n      \"t i\",\n      \"B O\",\n      \"V er\",\n      \"с по\",\n      \"▁d emon\",\n      \"▁de mon\",\n      \"▁dem on\",\n      \"▁demo n\",\n      \"▁l augh\",\n      \"▁la ugh\",\n      \"▁laug h\",\n      \"▁E nd\",\n      \"▁En d\",\n      \"▁ End\",\n      \"▁k on\",\n      \"▁ko n\",\n      \"▁ kon\",\n      \"▁ide as\",\n      \"▁idea s\",\n      \"▁c andid\",\n      \"▁can did\",\n      \"▁cand id\",\n      \"Me m\",\n      \"M em\",\n      \"iz z\",\n      \"i zz\",\n      \"re fix\",\n      \"ref ix\",\n      \"▁A ND\",\n      \"▁AN D\",\n      \"▁ AND\",\n      \"eg en\",\n      \"e gen\",\n      \"E l\",\n      \"▁camp aign\",\n      \"H ttp\",\n      \"▁R ob\",\n      \"▁Ro b\",\n      \"▁ Rob\",\n      \"д і\",\n      \"▁b ul\",\n      \"▁bu l\",\n      \"▁ bul\",\n      \"▁К о\",\n      \"▁ Ко\",\n      \"▁count ries\",\n      \"▁countr ies\",\n      \"» .\",\n      \"▁ex pression\",\n      \"▁exp ression\",\n      \"▁express ion\",\n      \"▁expr ession\",\n      \"▁ expression\",\n      \"▁Eng land\",\n      \"s f\",\n      \"▁certain ly\",\n      \"ag en\",\n      \"age n\",\n      \"a gen\",\n      \"▁ч а\",\n      \"▁ ча\",\n      \"▁A NY\",\n      \"▁AN Y\",\n      \"▁ ANY\",\n      \"▁conne ct\",\n      \"▁conn ect\",\n      \"▁ connect\",\n      \"F E\",\n      \"▁and roid\",\n      \"▁ android\",\n      \"▁G old\",\n      \"▁Go ld\",\n      \"▁Gol d\",\n      \"▁ Gold\",\n      \"▁op pos\",\n      \"▁opp os\",\n      \"ov ern\",\n      \"ove rn\",\n      \"over n\",\n      \"o vern\",\n      \"▁Com mun\",\n      \"▁Comm un\",\n      \", _\",\n      \"as ion\",\n      \"asi on\",\n      \"L a\",\n      \"▁f irm\",\n      \"▁fi rm\",\n      \"▁fir m\",\n      \"▁Al though\",\n      \"▁G ood\",\n      \"▁Go od\",\n      \"▁ Good\",\n      \"▁L aw\",\n      \"▁La w\",\n      \"er ve\",\n      \"erv e\",\n      \"▁b rand\",\n      \"▁br and\",\n      \"▁bra nd\",\n      \"▁ brand\",\n      \"M in\",\n      \"fil l\",\n      \"fi ll\",\n      \"f ill\",\n      \"'] ,\",\n      \"' ],\",\n      \"▁J ew\",\n      \"▁Je w\",\n      \"il er\",\n      \"ile r\",\n      \"i ler\",\n      \"in gle\",\n      \"ing le\",\n      \"it hub\",\n      \"ith ub\",\n      \"▁D iv\",\n      \"▁Di v\",\n      \"▁ Div\",\n      \"▁c ert\",\n      \"▁ce rt\",\n      \"▁cer t\",\n      \"▁ cert\",\n      \"He ight\",\n      \"H eight\",\n      \"ra el\",\n      \"r ael\",\n      \"The re\",\n      \"Th ere\",\n      \"T here\",\n      \"it ute\",\n      \"itut e\",\n      \"itu te\",\n      \"▁a maz\",\n      \"▁am az\",\n      \"▁ amaz\",\n      \"lo ok\",\n      \"l ook\",\n      \"▁S E\",\n      \"▁ SE\",\n      \"▁j o\",\n      \"▁ jo\",\n      \"▁pull ed\",\n      \"▁pul led\",\n      \"▁re sources\",\n      \"▁res ources\",\n      \"▁resource s\",\n      \"▁ resources\",\n      \"▁M ax\",\n      \"▁Ma x\",\n      \"▁ Max\",\n      \"▁ag reed\",\n      \"▁agree d\",\n      \"▁agre ed\",\n      \"as y\",\n      \"a sy\",\n      \"▁treat ment\",\n      \"\\\"> </\",\n      \"\\\">< /\",\n      \"\\\" ></\",\n      \"ма н\",\n      \"м ан\",\n      \"▁E rr\",\n      \"▁Er r\",\n      \"▁ Err\",\n      \"or ig\",\n      \"ori g\",\n      \"o rig\",\n      \"co s\",\n      \"c os\",\n      \"▁May be\",\n      \"▁ Maybe\",\n      \"ot al\",\n      \"ota l\",\n      \"o tal\",\n      \"▁tr ain\",\n      \"▁tra in\",\n      \"▁ train\",\n      \"▁S ervice\",\n      \"▁Serv ice\",\n      \"▁ Service\",\n      \"▁i h\",\n      \"▁ ih\",\n      \"▁sp irit\",\n      \"▁spir it\",\n      \"Com p\",\n      \"Co mp\",\n      \"C omp\",\n      \"sq rt\",\n      \"▁b road\",\n      \"▁br oad\",\n      \"▁bro ad\",\n      \"▁ broad\",\n      \"} [\",\n      \"▁sh ape\",\n      \"▁sha pe\",\n      \"▁ shape\",\n      \"▁d oc\",\n      \"▁do c\",\n      \"▁ doc\",\n      \"ho w\",\n      \"h ow\",\n      \"▁t ag\",\n      \"▁ta g\",\n      \"▁ tag\",\n      \"ata log\",\n      \"atal og\",\n      \"s d\",\n      \"▁me as\",\n      \"▁Р о\",\n      \"▁ex ception\",\n      \"▁except ion\",\n      \"▁ exception\",\n      \"▁T w\",\n      \"▁ Tw\",\n      \"▁interest ing\",\n      \"AT A\",\n      \"A TA\",\n      \"▁R el\",\n      \"▁Re l\",\n      \"▁ Rel\",\n      \"á r\",\n      \"▁use ful\",\n      \"use um\",\n      \"▁b ottom\",\n      \"▁bott om\",\n      \"▁bot tom\",\n      \"▁ bottom\",\n      \"▁other wise\",\n      \"▁ag ree\",\n      \"▁agre e\",\n      \"ch t\",\n      \"c ht\",\n      \"th en\",\n      \"the n\",\n      \"t hen\",\n      \"▁signific ant\",\n      \"} /\",\n      \"▁ch annel\",\n      \"▁ channel\",\n      \"ic ial\",\n      \"ici al\",\n      \"icia l\",\n      \"i cial\",\n      \"ти в\",\n      \"var e\",\n      \"va re\",\n      \"v are\",\n      \"▁en ter\",\n      \"▁ent er\",\n      \"▁ enter\",\n      \"En g\",\n      \"E ng\",\n      \"u j\",\n      \"UR E\",\n      \"U RE\",\n      \"que ue\",\n      \"on o\",\n      \"o no\",\n      \"▁cont ains\",\n      \"▁contain s\",\n      \"▁ contains\",\n      \"M I\",\n      \"▁n ation\",\n      \"▁nat ion\",\n      \"▁r ules\",\n      \"▁rule s\",\n      \"▁ru les\",\n      \"▁rul es\",\n      \"▁ rules\",\n      \"fo l\",\n      \"f ol\",\n      \"▁p a\",\n      \"▁ pa\",\n      \"ar p\",\n      \"a rp\",\n      \"▁qu iet\",\n      \"▁qui et\",\n      \"▁t hus\",\n      \"▁th us\",\n      \"ip ped\",\n      \"ipp ed\",\n      \"i pped\",\n      \"an not\",\n      \"ann ot\",\n      \"anno t\",\n      \"ud es\",\n      \"ude s\",\n      \"u des\",\n      \"() :\",\n      \"( ):\",\n      \"name s\",\n      \"na mes\",\n      \"nam es\",\n      \"n ames\",\n      \"▁com pos\",\n      \"▁comp os\",\n      \"▁in j\",\n      \"un a\",\n      \"u na\",\n      \"bin d\",\n      \"bi nd\",\n      \"b ind\",\n      \"▁f ully\",\n      \"▁full y\",\n      \"▁ful ly\",\n      \"▁ fully\",\n      \"ra s\",\n      \"r as\",\n      \"Util s\",\n      \"Ut ils\",\n      \"an ges\",\n      \"ang es\",\n      \"ange s\",\n      \"du le\",\n      \"d ule\",\n      \"▁Christ ian\",\n      \"▁re ve\",\n      \"▁r eve\",\n      \"▁rev e\",\n      \"än d\",\n      \"ä nd\",\n      \"▁col lect\",\n      \"▁coll ect\",\n      \"▁colle ct\",\n      \"▁ collect\",\n      \"▁cele br\",\n      \"an da\",\n      \"and a\",\n      \"í n\",\n      \"jo in\",\n      \"j oin\",\n      \"▁p aid\",\n      \"▁pa id\",\n      \"▁ paid\",\n      \"Co re\",\n      \"Cor e\",\n      \"C ore\",\n      \"G e\",\n      \". $\",\n      \"▁f if\",\n      \"▁fi f\",\n      \"▁ fif\",\n      \"▁u ma\",\n      \"▁um a\",\n      \"▁ uma\",\n      \"▁ ~\",\n      \"erv ices\",\n      \"ervice s\",\n      \"▁rec ently\",\n      \"▁recent ly\",\n      \"de sc\",\n      \"des c\",\n      \"d esc\",\n      \"▁he avy\",\n      \"▁heav y\",\n      \"▁r ule\",\n      \"▁ru le\",\n      \"▁rul e\",\n      \"▁ rule\",\n      \"▁P lease\",\n      \"▁Ple ase\",\n      \"▁ Please\",\n      \"ps i\",\n      \"p si\",\n      \"▁con sole\",\n      \"▁cons ole\",\n      \"▁ console\",\n      \"▁f ort\",\n      \"▁for t\",\n      \"▁fo rt\",\n      \"▁ fort\",\n      \". \\\\\",\n      \"▁W ashington\",\n      \"▁g ar\",\n      \"▁ga r\",\n      \"▁ gar\",\n      \"▁G roup\",\n      \"▁Gr oup\",\n      \"▁Gro up\",\n      \"▁ Group\",\n      \"▁inter view\",\n      \"an ned\",\n      \"ann ed\",\n      \"anne d\",\n      \"sq l\",\n      \"s ql\",\n      \"▁a nc\",\n      \"▁an c\",\n      \"▁ anc\",\n      \"ј а\",\n      \"P ack\",\n      \"▁Cl ub\",\n      \"▁m ask\",\n      \"▁ma sk\",\n      \"▁mas k\",\n      \"▁ mask\",\n      \"▁con cept\",\n      \"▁conce pt\",\n      \"▁[ '\",\n      \"▁ ['\",\n      \"▁se lected\",\n      \"▁select ed\",\n      \"▁sele cted\",\n      \"▁ selected\",\n      \"▁U se\",\n      \"▁Us e\",\n      \"▁ Use\",\n      \"▁e le\",\n      \"▁el e\",\n      \"▁ ele\",\n      \"ear s\",\n      \"ea rs\",\n      \"e ars\",\n      \"▁r ace\",\n      \"▁rac e\",\n      \"▁ra ce\",\n      \"h y\",\n      \"O m\",\n      \"▁st eps\",\n      \"▁ste ps\",\n      \"▁step s\",\n      \"▁ steps\",\n      \"il a\",\n      \"i la\",\n      \"es ts\",\n      \"est s\",\n      \"e sts\",\n      \"ed s\",\n      \"e ds\",\n      \"▁stre et\",\n      \"ne rs\",\n      \"ner s\",\n      \"n ers\",\n      \"▁b irth\",\n      \"po p\",\n      \"p op\",\n      \"▁ ли\",\n      \"M B\",\n      \"к ра\",\n      \"ci r\",\n      \"c ir\",\n      \"eps ilon\",\n      \"e psilon\",\n      \"▁con stant\",\n      \"▁const ant\",\n      \"▁ constant\",\n      \"qu es\",\n      \"que s\",\n      \"q ues\",\n      \"ad as\",\n      \"ada s\",\n      \"a das\",\n      \"▁kn ows\",\n      \"▁know s\",\n      \"▁P y\",\n      \"▁ Py\",\n      \"cl es\",\n      \"cle s\",\n      \"c les\",\n      \"▁c it\",\n      \"▁ci t\",\n      \"▁ cit\",\n      \"▁p air\",\n      \"▁pa ir\",\n      \"▁ pair\",\n      \"in ese\",\n      \"ine se\",\n      \"ines e\",\n      \"▁P eter\",\n      \"▁Pe ter\",\n      \"▁Pet er\",\n      \"▁Pete r\",\n      \"▁fin ished\",\n      \"▁finish ed\",\n      \"▁ finished\",\n      \"▁m aster\",\n      \"▁ma ster\",\n      \"▁mas ter\",\n      \"▁mast er\",\n      \"▁ master\",\n      \"▁tw enty\",\n      \"▁f ell\",\n      \"▁fe ll\",\n      \"▁fel l\",\n      \"▁cent ral\",\n      \"▁m es\",\n      \"▁me s\",\n      \"▁ mes\",\n      \"re v\",\n      \"r ev\",\n      \"ST AT\",\n      \"st at\",\n      \"sta t\",\n      \"s tat\",\n      \"▁all ows\",\n      \"▁allow s\",\n      \"▁g ro\",\n      \"▁gr o\",\n      \"▁ gro\",\n      \"Cl ick\",\n      \"C lick\",\n      \"▁st ories\",\n      \"▁stor ies\",\n      \"▁sto ries\",\n      \"F e\",\n      \"å r\",\n      \"▁b aby\",\n      \"▁bab y\",\n      \"▁ba by\",\n      \"en cia\",\n      \"enc ia\",\n      \"enci a\",\n      \"e ncia\",\n      \"▁e iner\",\n      \"▁ein er\",\n      \"▁eine r\",\n      \"Ar e\",\n      \"A re\",\n      \"eb ug\",\n      \"e bug\",\n      \"st ore\",\n      \"sto re\",\n      \"\\\", \\\"\",\n      \"\\\" ,\\\"\",\n      \"la m\",\n      \"l am\",\n      \"▁s v\",\n      \"▁ sv\",\n      \"ци и\",\n      \"NU LL\",\n      \"N ULL\",\n      \"▁L eg\",\n      \"▁Le g\",\n      \"▁ Leg\",\n      \"▁m ovie\",\n      \"▁mov ie\",\n      \"▁h ous\",\n      \"▁ho us\",\n      \"▁learn ed\",\n      \"▁lear ned\",\n      \"bo n\",\n      \"b on\",\n      \"▁trans fer\",\n      \"▁ transfer\",\n      \"iforn ia\",\n      \"ps ilon\",\n      \"psi lon\",\n      \"▁S oft\",\n      \"▁So ft\",\n      \"▁Sof t\",\n      \"▁ Soft\",\n      \"▁com mer\",\n      \"▁comm er\",\n      \"▁comme r\",\n      \"▁had n\",\n      \"▁ha dn\",\n      \"▁E in\",\n      \"▁T wo\",\n      \"▁Tw o\",\n      \"▁ Two\",\n      \"cr aft\",\n      \"c raft\",\n      \"Pro cess\",\n      \"Proc ess\",\n      \"▁по д\",\n      \"ar gin\",\n      \"arg in\",\n      \"▁est im\",\n      \"▁es tim\",\n      \"▁M em\",\n      \"▁Me m\",\n      \"▁ Mem\",\n      \"ik a\",\n      \"i ka\",\n      \"▁T od\",\n      \"▁To d\",\n      \"du c\",\n      \"d uc\",\n      \"▁d anger\",\n      \"▁dan ger\",\n      \"ri ve\",\n      \"riv e\",\n      \"r ive\",\n      \"Do n\",\n      \"D on\",\n      \"▁Q ue\",\n      \"▁Qu e\",\n      \"▁ Que\",\n      \"ha l\",\n      \"h al\",\n      \"▁m m\",\n      \"▁ mm\",\n      \"▁S ur\",\n      \"▁Su r\",\n      \"▁ Sur\",\n      \"Or der\",\n      \"Ord er\",\n      \"▁d istribution\",\n      \"▁distribut ion\",\n      \"f a\",\n      \"▁M any\",\n      \"▁Man y\",\n      \"▁Ma ny\",\n      \"▁ Many\",\n      \"pl icit\",\n      \"plic it\",\n      \"Em pty\",\n      \"Emp ty\",\n      \"Hand le\",\n      \"▁t oken\",\n      \"▁to ken\",\n      \"▁tok en\",\n      \"▁ token\",\n      \"▁e pis\",\n      \"▁ep is\",\n      \"▁ass ist\",\n      \"▁pur pose\",\n      \"▁ ц\",\n      \"N U\",\n      \"id ers\",\n      \"ide rs\",\n      \"ider s\",\n      \"i ders\",\n      \"ra te\",\n      \"rat e\",\n      \"r ate\",\n      \"The y\",\n      \"Th ey\",\n      \"Param eter\",\n      \"De c\",\n      \"D ec\",\n      \"▁str ugg\",\n      \"▁stru gg\",\n      \"▁sh oot\",\n      \"I V\",\n      \"▁G reat\",\n      \"▁Gre at\",\n      \"▁ Great\",\n      \"▁S il\",\n      \"▁Si l\",\n      \"▁ Sil\",\n      \"▁l oved\",\n      \"▁lo ved\",\n      \"▁love d\",\n      \"▁lov ed\",\n      \"▁c lick\",\n      \"▁cl ick\",\n      \"▁ click\",\n      \"▁re serv\",\n      \"▁res erv\",\n      \"▁в е\",\n      \"▁ ве\",\n      \"▁s pread\",\n      \"▁sp read\",\n      \"▁spr ead\",\n      \"▁o g\",\n      \"▁ og\",\n      \"▁$ {\",\n      \"▁ ${\",\n      \"▁m iles\",\n      \"▁mil es\",\n      \"▁mi les\",\n      \"▁mile s\",\n      \"▁success ful\",\n      \"▁ successful\",\n      \"o j\",\n      \"▁D irect\",\n      \"▁Di rect\",\n      \"▁Dire ct\",\n      \"▁Dir ect\",\n      \"▁ Direct\",\n      \"▁a x\",\n      \"▁ ax\",\n      \"▁grow th\",\n      \"W ork\",\n      \"▁ch urch\",\n      \"In st\",\n      \"Ins t\",\n      \"IC E\",\n      \"I CE\",\n      \"st en\",\n      \"ste n\",\n      \"s ten\",\n      \"ро д\",\n      \"▁C enter\",\n      \"▁Cent er\",\n      \"▁ Center\",\n      \"se s\",\n      \"s es\",\n      \"go t\",\n      \"g ot\",\n      \"de lete\",\n      \"del ete\",\n      \"▁M a\",\n      \"▁ Ma\",\n      \"% %\",\n      \"▁c row\",\n      \"▁cr ow\",\n      \"▁cro w\",\n      \"D F\",\n      \"fr ont\",\n      \"▁b log\",\n      \"▁bl og\",\n      \"▁blo g\",\n      \"▁ blog\",\n      \"▁comp uter\",\n      \"▁comput er\",\n      \"▁compute r\",\n      \"на я\",\n      \"▁m ir\",\n      \"▁mi r\",\n      \"▁ mir\",\n      \"▁S uper\",\n      \"▁Su per\",\n      \"▁Sup er\",\n      \"▁ Super\",\n      \"', '\",\n      \"' ,'\",\n      \"▁mult i\",\n      \"▁mul ti\",\n      \"▁ multi\",\n      \"▁g ru\",\n      \"▁gr u\",\n      \"▁ gru\",\n      \"▁J o\",\n      \"▁ Jo\",\n      \"▁Can ada\",\n      \"▁Canad a\",\n      \"▁Th omas\",\n      \"▁Thom as\",\n      \"▁large r\",\n      \"▁larg er\",\n      \"▁com par\",\n      \"▁comp ar\",\n      \"▁ compar\",\n      \"Cur rent\",\n      \"th at\",\n      \"tha t\",\n      \"t hat\",\n      \"▁d rop\",\n      \"▁dr op\",\n      \"▁dro p\",\n      \"▁ drop\",\n      \"ен т\",\n      \"▁Re public\",\n      \"▁Rep ublic\",\n      \"▁Repub lic\",\n      \"▁d ise\",\n      \"▁dis e\",\n      \"▁di se\",\n      \"▁effect s\",\n      \"▁girl s\",\n      \"▁gir ls\",\n      \"en cies\",\n      \"enc ies\",\n      \"enci es\",\n      \"el lig\",\n      \"ell ig\",\n      \"elli g\",\n      \"▁N ote\",\n      \"▁No te\",\n      \"▁Not e\",\n      \"▁ Note\",\n      \"▁Ass oci\",\n      \"▁ Associ\",\n      \"▁u ses\",\n      \"▁us es\",\n      \"▁use s\",\n      \"▁ uses\",\n      \"el led\",\n      \"ell ed\",\n      \"elle d\",\n      \"▁w arm\",\n      \"▁war m\",\n      \"▁wa rm\",\n      \"th read\",\n      \"fo nt\",\n      \"fon t\",\n      \"f ont\",\n      \"▁z um\",\n      \"▁zu m\",\n      \"▁follow s\",\n      \"▁w hom\",\n      \"▁wh om\",\n      \"▁who m\",\n      \"T A\",\n      \"▁w ild\",\n      \"▁A R\",\n      \"▁ AR\",\n      \"ia ble\",\n      \"i able\",\n      \"▁Tr ue\",\n      \"▁Tru e\",\n      \"▁ True\",\n      \"Pos ition\",\n      \"▁s ell\",\n      \"▁se ll\",\n      \"▁sel l\",\n      \"ch er\",\n      \"che r\",\n      \"c her\",\n      \"▁B us\",\n      \"▁Bu s\",\n      \"▁ Bus\",\n      \"▁le an\",\n      \"▁ lean\",\n      \"AC E\",\n      \"A CE\",\n      \"▁s erved\",\n      \"▁ser ved\",\n      \"▁serv ed\",\n      \"▁serve d\",\n      \"h w\",\n      \"▁C ur\",\n      \"▁Cu r\",\n      \"▁ Cur\",\n      \"▁n orth\",\n      \"▁nor th\",\n      \"▁nort h\",\n      \"Da t\",\n      \"D at\",\n      \"▁> >\",\n      \"▁ >>\",\n      \"com mand\",\n      \"comm and\",\n      \"at z\",\n      \"a tz\",\n      \"▁m al\",\n      \"▁ma l\",\n      \"▁ mal\",\n      \"ста в\",\n      \"▁P ress\",\n      \"▁Pr ess\",\n      \"▁Pres s\",\n      \"▁Pre ss\",\n      \"▁ Press\",\n      \"▁char acters\",\n      \"▁character s\",\n      \"▁z ero\",\n      \"▁ze ro\",\n      \"▁ zero\",\n      \"AG E\",\n      \"A GE\",\n      \"rap per\",\n      \"▁kit chen\",\n      \"am ing\",\n      \"ami ng\",\n      \"amin g\",\n      \"a ming\",\n      \"▁re str\",\n      \"▁r estr\",\n      \"▁res tr\",\n      \"▁rest r\",\n      \"X X\",\n      \"▁Col lege\",\n      \"▁Ar ray\",\n      \"▁Arr ay\",\n      \"▁ Array\",\n      \"▁f resh\",\n      \"▁fr esh\",\n      \"▁fre sh\",\n      \"▁fres h\",\n      \"▁sh ift\",\n      \"▁ shift\",\n      \"▁spec ified\",\n      \"pl ete\",\n      \"ple te\",\n      \"plet e\",\n      \"p lete\",\n      \"IT E\",\n      \"I TE\",\n      \"▁C amp\",\n      \"▁Cam p\",\n      \"▁Ca mp\",\n      \"▁ Camp\",\n      \"ri al\",\n      \"ria l\",\n      \"r ial\",\n      \"c b\",\n      \"▁T H\",\n      \"▁ TH\",\n      \"I B\",\n      \"os en\",\n      \"ose n\",\n      \"o sen\",\n      \"▁ ú\",\n      \"▁par ams\",\n      \"▁param s\",\n      \"▁para ms\",\n      \"▁ params\",\n      \"ign ment\",\n      \"ad ding\",\n      \"add ing\",\n      \"▁deg ree\",\n      \"▁ degree\",\n      \"Loc al\",\n      \"Lo cal\",\n      \"L ocal\",\n      \"O h\",\n      \"▁z ur\",\n      \"▁zu r\",\n      \"▁level s\",\n      \"▁lev els\",\n      \"C S\",\n      \"fin ished\",\n      \"finish ed\",\n      \"C ase\",\n      \"ri age\",\n      \"ria ge\",\n      \"Vec tor\",\n      \"V ector\",\n      \"▁s ea\",\n      \"▁se a\",\n      \"▁ sea\",\n      \"ant ic\",\n      \"anti c\",\n      \"▁Le ague\",\n      \"▁there fore\",\n      \"▁ther efore\",\n      \"On e\",\n      \"O ne\",\n      \"Re turn\",\n      \"Ret urn\",\n      \"R eturn\",\n      \"Acc ess\",\n      \"Ac cess\",\n      \"A ccess\",\n      \"va s\",\n      \"v as\",\n      \"▁о с\",\n      \"▁r at\",\n      \"▁ra t\",\n      \"▁ rat\",\n      \"Bi g\",\n      \"B ig\",\n      \"▁be havior\",\n      \"▁behav ior\",\n      \"▁behavi or\",\n      \"k r\",\n      \"▁un defined\",\n      \"▁und efined\",\n      \"▁ undefined\",\n      \"▁E s\",\n      \"▁ Es\",\n      \"▁appe ared\",\n      \"▁appear ed\",\n      \"el es\",\n      \"ele s\",\n      \"e les\",\n      \"▁W AR\",\n      \"▁WA R\",\n      \"▁ WAR\",\n      \"St at\",\n      \"S tat\",\n      \"▁Go ogle\",\n      \"▁ Google\",\n      \"▁c redit\",\n      \"▁cre dit\",\n      \"▁cr edit\",\n      \"▁cred it\",\n      \"▁F ile\",\n      \"▁Fil e\",\n      \"▁Fi le\",\n      \"▁ File\",\n      \"an ging\",\n      \"ang ing\",\n      \"ho use\",\n      \"hou se\",\n      \"h ouse\",\n      \"rom ise\",\n      \"ge nt\",\n      \"gen t\",\n      \"g ent\",\n      \"▁hab it\",\n      \"▁ha bit\",\n      \"▁soc iety\",\n      \"▁soci ety\",\n      \"▁societ y\",\n      \"▁enc our\",\n      \"▁p aint\",\n      \"▁pain t\",\n      \"▁pa int\",\n      \"pe t\",\n      \"p et\",\n      \"▁U K\",\n      \"▁ UK\",\n      \"aw s\",\n      \"a ws\",\n      \"on om\",\n      \"ono m\",\n      \"o nom\",\n      \"G l\",\n      \"}_ {\\\\\",\n      \"}_{ \\\\\",\n      \"} _{\\\\\",\n      \"el ess\",\n      \"ele ss\",\n      \"eles s\",\n      \"e less\",\n      \"em y\",\n      \"e my\",\n      \"▁C ong\",\n      \"▁Con g\",\n      \"▁Co ng\",\n      \"▁develop ed\",\n      \"▁im ages\",\n      \"▁image s\",\n      \"▁imag es\",\n      \"▁ images\",\n      \"▁ ö\",\n      \"▁f ont\",\n      \"▁fo nt\",\n      \"▁fon t\",\n      \"▁ font\",\n      \"cl ear\",\n      \"cle ar\",\n      \"c lear\",\n      \"gi n\",\n      \"g in\",\n      \"▁L ord\",\n      \"▁Lo rd\",\n      \"▁Lor d\",\n      \"▁trans port\",\n      \"▁ transport\",\n      \"▁: :\",\n      \"▁ ::\",\n      \"▁c up\",\n      \"▁cu p\",\n      \"▁ cup\",\n      \"ul ate\",\n      \"ula te\",\n      \"u late\",\n      \"▁D uring\",\n      \"▁Du ring\",\n      \"▁Dur ing\",\n      \"pr iv\",\n      \"p riv\",\n      \"▁ext rem\",\n      \"▁extr em\",\n      \"▁D i\",\n      \"▁ Di\",\n      \"▁d oubt\",\n      \"▁dou bt\",\n      \"▁doub t\",\n      \"P y\",\n      \"if ying\",\n      \"ify ing\",\n      \"sp lit\",\n      \"spl it\",\n      \"s plit\",\n      \"eg o\",\n      \"e go\",\n      \"git hub\",\n      \"g ithub\",\n      \"▁) ,\",\n      \"▁ ),\",\n      \"RO M\",\n      \"R OM\",\n      \"▁ch air\",\n      \"▁cha ir\",\n      \"▁ chair\",\n      \"▁t rade\",\n      \"▁tr ade\",\n      \"▁trad e\",\n      \"▁tra de\",\n      \"▁n icht\",\n      \"▁ni cht\",\n      \"▁nic ht\",\n      \"To p\",\n      \"T op\",\n      \"St ore\",\n      \"▁p arte\",\n      \"▁part e\",\n      \"▁par te\",\n      \"pro ject\",\n      \"ni a\",\n      \"n ia\",\n      \"▁в ід\",\n      \"▁ві д\",\n      \"wa r\",\n      \"w ar\",\n      \"▁Pro f\",\n      \"▁Pr of\",\n      \"▁c aught\",\n      \"Th read\",\n      \"ст ва\",\n      \"ств а\",\n      \"с тва\",\n      \"aut hor\",\n      \"auth or\",\n      \"▁d oll\",\n      \"▁do ll\",\n      \"▁dol l\",\n      \"▁h arm\",\n      \"▁ha rm\",\n      \"▁har m\",\n      \"▁ harm\",\n      \"▁G en\",\n      \"▁Ge n\",\n      \"▁ Gen\",\n      \"tr ee\",\n      \"tre e\",\n      \"t ree\",\n      \"et ime\",\n      \"eti me\",\n      \"e time\",\n      \"cf g\",\n      \"c fg\",\n      \"▁gu ys\",\n      \"▁guy s\",\n      \"▁Cal ifornia\",\n      \"▁G reen\",\n      \"▁Gr een\",\n      \"▁Gre en\",\n      \"▁Gree n\",\n      \"▁ Green\",\n      \"▁mov ement\",\n      \"▁move ment\",\n      \"▁mo vement\",\n      \"ie j\",\n      \"i ej\",\n      \"▁stat ement\",\n      \"▁state ment\",\n      \"▁ statement\",\n      \"▁se eing\",\n      \"▁see ing\",\n      \"▁h aven\",\n      \"▁have n\",\n      \"▁ha ven\",\n      \"▁hav en\",\n      \"vent ion\",\n      \"v ention\",\n      \"S L\",\n      \"ched ul\",\n      \"ie rt\",\n      \"ier t\",\n      \"i ert\",\n      \"▁pr imary\",\n      \"▁prim ary\",\n      \"▁pri mary\",\n      \"▁prima ry\",\n      \"▁ primary\",\n      \"▁c ivil\",\n      \"▁ci vil\",\n      \"▁civ il\",\n      \"ri an\",\n      \"ria n\",\n      \"r ian\",\n      \"▁b utton\",\n      \"▁but ton\",\n      \"▁butt on\",\n      \"▁ button\",\n      \"▁l ived\",\n      \"▁li ved\",\n      \"▁live d\",\n      \"▁liv ed\",\n      \"P ass\",\n      \"so r\",\n      \"s or\",\n      \"▁watch ing\",\n      \"▁wat ching\",\n      \"▁sk ills\",\n      \"▁skill s\",\n      \"te e\",\n      \"t ee\",\n      \"Le vel\",\n      \"L evel\",\n      \"▁sc ient\",\n      \"h s\",\n      \"▁a gre\",\n      \"▁ag re\",\n      \"ca t\",\n      \"c at\",\n      \"▁t end\",\n      \"▁te nd\",\n      \"▁ten d\",\n      \"▁M ill\",\n      \"▁Mil l\",\n      \"▁Mi ll\",\n      \"▁ Mill\",\n      \"▁C ap\",\n      \"▁Ca p\",\n      \"▁ Cap\",\n      \"OR D\",\n      \"O RD\",\n      \"gl e\",\n      \"g le\",\n      \"▁с во\",\n      \"» ,\",\n      \"▁a head\",\n      \"▁ah ead\",\n      \"ve st\",\n      \"ves t\",\n      \"v est\",\n      \"▁J ose\",\n      \"▁Jo se\",\n      \"▁Jos e\",\n      \"is cher\",\n      \"isch er\",\n      \"ische r\",\n      \"isc her\",\n      \"ș i\",\n      \"▁le aving\",\n      \"▁д ля\",\n      \"▁s outh\",\n      \"▁so uth\",\n      \"▁sou th\",\n      \"▁sout h\",\n      \"▁con sum\",\n      \"▁cons um\",\n      \"▁ consum\",\n      \"R ange\",\n      \"▁activ ities\",\n      \"Se c\",\n      \"S ec\",\n      \"▁s ales\",\n      \"▁sa les\",\n      \"▁sal es\",\n      \"▁sale s\",\n      \"▁f ix\",\n      \"▁fi x\",\n      \"▁ fix\",\n      \"▁j ed\",\n      \"▁je d\",\n      \"▁ jed\",\n      \"ru m\",\n      \"r um\",\n      \"ve ctor\",\n      \"vec tor\",\n      \"v ector\",\n      \"▁s pot\",\n      \"▁sp ot\",\n      \"▁spo t\",\n      \"▁ spot\",\n      \"▁man ufact\",\n      \"к т\",\n      \"or row\",\n      \"orr ow\",\n      \"si gn\",\n      \"sig n\",\n      \"s ign\",\n      \"▁col lege\",\n      \"▁colle ge\",\n      \"▁colleg e\",\n      \"▁d river\",\n      \"▁dr iver\",\n      \"▁dri ver\",\n      \"▁driv er\",\n      \"▁drive r\",\n      \"▁ driver\",\n      \"▁def initely\",\n      \"▁definit ely\",\n      \"▁s pend\",\n      \"▁sp end\",\n      \"▁spe nd\",\n      \"miss ion\",\n      \"m ission\",\n      \"з у\",\n      \"at ively\",\n      \"ative ly\",\n      \"ativ ely\",\n      \"b i\",\n      \"Call back\",\n      \"▁particular ly\",\n      \"▁particul arly\",\n      \"▁h ell\",\n      \"▁he ll\",\n      \"▁hel l\",\n      \"▁ hell\",\n      \"▁p ool\",\n      \"▁po ol\",\n      \"▁ pool\",\n      \"PR E\",\n      \"P RE\",\n      \"▁cle arly\",\n      \"▁clear ly\",\n      \"P T\",\n      \"ot hes\",\n      \"oth es\",\n      \"othe s\",\n      \"▁I d\",\n      \"▁ Id\",\n      \"Loc ation\",\n      \"L ocation\",\n      \"▁R un\",\n      \"▁Ru n\",\n      \"▁ Run\",\n      \"▁f ixed\",\n      \"▁fix ed\",\n      \"▁ fixed\",\n      \"▁H and\",\n      \"▁Ha nd\",\n      \"▁Han d\",\n      \"▁ Hand\",\n      \"ba l\",\n      \"b al\",\n      \"d ouble\",\n      \"C an\",\n      \"Om ega\",\n      \"▁chall eng\",\n      \"▁stand ing\",\n      \"▁stan ding\",\n      \"▁ standing\",\n      \"it en\",\n      \"ite n\",\n      \"i ten\",\n      \"▁me chan\",\n      \"▁d urch\",\n      \"▁dur ch\",\n      \"▁d ell\",\n      \"▁de ll\",\n      \"▁del l\",\n      \"▁rais ed\",\n      \"▁raise d\",\n      \"▁ra ised\",\n      \"▁we ak\",\n      \"▁ weak\",\n      \"▁D u\",\n      \"▁ Du\",\n      \"gr ad\",\n      \"gra d\",\n      \"g rad\",\n      \"▁sc ene\",\n      \"▁scen e\",\n      \"▁ scene\",\n      \"pos s\",\n      \"po ss\",\n      \"p oss\",\n      \"▁t on\",\n      \"▁to n\",\n      \"▁ ton\",\n      \"▁e arth\",\n      \"▁ear th\",\n      \"ul ations\",\n      \"ulation s\",\n      \"▁str ength\",\n      \"▁stre ngth\",\n      \"▁streng th\",\n      \"ak ed\",\n      \"ake d\",\n      \"a ked\",\n      \"▁re main\",\n      \"▁rem ain\",\n      \"▁B i\",\n      \"▁ Bi\",\n      \"▁custom er\",\n      \"▁cust omer\",\n      \"▁ customer\",\n      \"ran ge\",\n      \"r ange\",\n      \"▁inter ested\",\n      \"▁interest ed\",\n      \"ON E\",\n      \"O NE\",\n      \"▁c off\",\n      \"▁co ff\",\n      \"re quire\",\n      \"requ ire\",\n      \"▁On ly\",\n      \"▁ Only\",\n      \"▁W eb\",\n      \"▁We b\",\n      \"▁ Web\",\n      \"▁f arm\",\n      \"▁far m\",\n      \"▁fa rm\",\n      \"▁act ivity\",\n      \"▁activ ity\",\n      \"▁ activity\",\n      \"▁r out\",\n      \"▁ro ut\",\n      \"▁rou t\",\n      \"bl ing\",\n      \"b ling\",\n      \"S Y\",\n      \"▁Rich ard\",\n      \"▁Ric hard\",\n      \"▁R ef\",\n      \"▁Re f\",\n      \"▁ Ref\",\n      \"▁ко н\",\n      \"▁к он\",\n      \"▁ кон\",\n      \"▁j un\",\n      \"▁ju n\",\n      \"bo rn\",\n      \"bor n\",\n      \"b orn\",\n      \"ij n\",\n      \"Config uration\",\n      \"um an\",\n      \"uma n\",\n      \"u man\",\n      \"E E\",\n      \"▁mar ried\",\n      \"▁З а\",\n      \"▁ За\",\n      \"▁f at\",\n      \"▁fa t\",\n      \"▁k id\",\n      \"▁ki d\",\n      \"▁T ur\",\n      \"▁Tu r\",\n      \"▁ Tur\",\n      \"▁off ered\",\n      \"▁offer ed\",\n      \"ni c\",\n      \"n ic\",\n      \"▁B ig\",\n      \"▁Bi g\",\n      \"▁ Big\",\n      \"Ga mma\",\n      \"G amma\",\n      \"▁He alth\",\n      \"▁ Health\",\n      \"▁T R\",\n      \"▁ TR\",\n      \"▁s ię\",\n      \"▁si ę\",\n      \"▁const ruction\",\n      \"▁construct ion\",\n      \"▁constr uction\",\n      \"▁constru ction\",\n      \"▁ construction\",\n      \"▁Ch urch\",\n      \"▁B et\",\n      \"▁Be t\",\n      \"▁ Bet\",\n      \"bu s\",\n      \"b us\",\n      \"▁e arn\",\n      \"▁ear n\",\n      \"ri ct\",\n      \"ric t\",\n      \"r ict\",\n      \"▁п ра\",\n      \"▁пр а\",\n      \"▁ пра\",\n      \"▁br ain\",\n      \"▁bra in\",\n      \"▁f ra\",\n      \"▁fr a\",\n      \"▁O p\",\n      \"▁ Op\",\n      \"FI G\",\n      \"F IG\",\n      \"em a\",\n      \"e ma\",\n      \"▁Europe an\",\n      \"▁S aint\",\n      \"▁Sa int\",\n      \"▁ Saint\",\n      \"AR E\",\n      \"A RE\",\n      \"ur i\",\n      \"u ri\",\n      \"▁R iver\",\n      \"{ }\",\n      \"▁s itting\",\n      \"▁sit ting\",\n      \"▁under standing\",\n      \"▁understand ing\",\n      \"▁pl ans\",\n      \"▁plan s\",\n      \"rop ri\",\n      \"▁old er\",\n      \"▁ol der\",\n      \"▁ older\",\n      \"▁pres sure\",\n      \"▁press ure\",\n      \"Im pl\",\n      \"Imp l\",\n      \"▁pe ace\",\n      \"Conne ction\",\n      \"Conn ection\",\n      \"Connect ion\",\n      \"▁f i\",\n      \"▁ fi\",\n      \"ri ch\",\n      \"ric h\",\n      \"r ich\",\n      \"▁sh ut\",\n      \"ap ers\",\n      \"ape rs\",\n      \"aper s\",\n      \"a pers\",\n      \"Po rt\",\n      \"P ort\",\n      \"▁L ook\",\n      \"▁Lo ok\",\n      \"▁ Look\",\n      \"ri m\",\n      \"r im\",\n      \"au th\",\n      \"aut h\",\n      \"a uth\",\n      \"au to\",\n      \"aut o\",\n      \"a uto\",\n      \"▁high ly\",\n      \"▁un less\",\n      \"▁W al\",\n      \"▁Wa l\",\n      \"▁re n\",\n      \"▁r en\",\n      \"▁ ren\",\n      \"w s\",\n      \"▁c ore\",\n      \"▁co re\",\n      \"▁cor e\",\n      \"▁ core\",\n      \"( -\",\n      \"▁c lim\",\n      \"▁cl im\",\n      \"ru it\",\n      \"r uit\",\n      \"▁call back\",\n      \"▁ callback\",\n      \"he st\",\n      \"hes t\",\n      \"h est\",\n      \"▁Char les\",\n      \"▁Charl es\",\n      \"▁L ong\",\n      \"▁Lo ng\",\n      \"▁ Long\",\n      \"} =\",\n      \"ъ р\",\n      \"▁sh ared\",\n      \"▁share d\",\n      \"▁shar ed\",\n      \"▁sha red\",\n      \"▁ shared\",\n      \"ul ated\",\n      \"ula ted\",\n      \"ulate d\",\n      \"gorith m\",\n      \"▁H ome\",\n      \"▁Ho me\",\n      \"▁Hom e\",\n      \"▁ Home\",\n      \"▁vill age\",\n      \"▁vil lage\",\n      \"ee s\",\n      \"e es\",\n      \"s v\",\n      \"▁rest aur\",\n      \"re y\",\n      \"r ey\",\n      \"▁C ast\",\n      \"▁Cas t\",\n      \"▁Ca st\",\n      \"▁ Cast\",\n      \"▁P erson\",\n      \"▁Per son\",\n      \"▁Pers on\",\n      \"▁ Person\",\n      \"ки й\",\n      \"▁organ iz\",\n      \"▁R ad\",\n      \"▁Ra d\",\n      \"▁ Rad\",\n      \"pon ents\",\n      \"ponent s\",\n      \"▁wer den\",\n      \"▁werd en\",\n      \"▁b ow\",\n      \"▁bo w\",\n      \"▁ bow\",\n      \"se n\",\n      \"s en\",\n      \"am i\",\n      \"a mi\",\n      \"Inter face\",\n      \"▁b asis\",\n      \"▁bas is\",\n      \"▁ba sis\",\n      \"▁Comp any\",\n      \"▁Compan y\",\n      \"▁ Company\",\n      \"er nel\",\n      \"ern el\",\n      \"erne l\",\n      \"it u\",\n      \"i tu\",\n      \"Has h\",\n      \"Ha sh\",\n      \"H ash\",\n      \"▁a an\",\n      \"▁ х\",\n      \"▁s mile\",\n      \"▁sm ile\",\n      \"x ml\",\n      \"▁s cen\",\n      \"▁sc en\",\n      \"am m\",\n      \"a mm\",\n      \"to ol\",\n      \"too l\",\n      \"t ool\",\n      \"ar ia\",\n      \"ari a\",\n      \"a ria\",\n      \"▁acc ur\",\n      \"▁ac cur\",\n      \"▁ accur\",\n      \"set tings\",\n      \"setting s\",\n      \"▁Jes us\",\n      \"ac ement\",\n      \"ace ment\",\n      \"po wer\",\n      \"pow er\",\n      \"p ower\",\n      \"( !\",\n      \"▁c alls\",\n      \"▁call s\",\n      \"▁cal ls\",\n      \"▁ calls\",\n      \"▁bas ic\",\n      \"▁ basic\",\n      \"▁set tings\",\n      \"▁sett ings\",\n      \"▁setting s\",\n      \"▁ settings\",\n      \"ri pt\",\n      \"rip t\",\n      \"r ipt\",\n      \"po ol\",\n      \"p ool\",\n      \"ct ors\",\n      \"ctor s\",\n      \"▁Found ation\",\n      \"▁ Foundation\",\n      \"▁we ap\",\n      \"KE Y\",\n      \"K EY\",\n      \"fo ot\",\n      \"foo t\",\n      \"f oot\",\n      \"▁r adio\",\n      \"▁rad io\",\n      \"▁radi o\",\n      \"▁ radio\",\n      \"▁hel ped\",\n      \"▁help ed\",\n      \"ma nn\",\n      \"man n\",\n      \"m ann\",\n      \"▁j ump\",\n      \"▁ju mp\",\n      \"▁t ick\",\n      \"▁ti ck\",\n      \"▁ tick\",\n      \"▁gr owing\",\n      \"▁grow ing\",\n      \"▁gro wing\",\n      \"at en\",\n      \"ate n\",\n      \"a ten\",\n      \"re al\",\n      \"rea l\",\n      \"▁incre asing\",\n      \"Dev ice\",\n      \"var epsilon\",\n      \"vare psilon\",\n      \"▁s ets\",\n      \"▁se ts\",\n      \"▁set s\",\n      \"▁ sets\",\n      \"▁adv ant\",\n      \"Op en\",\n      \"O pen\",\n      \"▁re asons\",\n      \"▁reason s\",\n      \"▁sup posed\",\n      \"▁supp osed\",\n      \"▁suppose d\",\n      \"oe s\",\n      \"o es\",\n      \"ed e\",\n      \"e de\",\n      \"te en\",\n      \"tee n\",\n      \"t een\",\n      \"if def\",\n      \"▁de lete\",\n      \"▁del ete\",\n      \"▁delet e\",\n      \"▁ delete\",\n      \"▁& =\",\n      \"▁ &=\",\n      \"▁B ill\",\n      \"▁Bi ll\",\n      \"▁Bil l\",\n      \"▁ Bill\",\n      \"▁a im\",\n      \"▁ai m\",\n      \"▁ aim\",\n      \"▁O k\",\n      \"▁ Ok\",\n      \"▁A v\",\n      \"▁ Av\",\n      \"re ci\",\n      \"rec i\",\n      \"ac ks\",\n      \"ack s\",\n      \"a cks\",\n      \"is te\",\n      \"ist e\",\n      \"i ste\",\n      \"Pro perties\",\n      \"▁t mp\",\n      \"▁tm p\",\n      \"▁ tmp\",\n      \"▁d ei\",\n      \"▁de i\",\n      \"PE R\",\n      \"P ER\",\n      \"D C\",\n      \"st a\",\n      \"s ta\",\n      \"ни и\",\n      \"▁lim ited\",\n      \"▁limit ed\",\n      \"▁ limited\",\n      \"▁great er\",\n      \"▁gre ater\",\n      \"de scription\",\n      \"des cription\",\n      \"or i\",\n      \"o ri\",\n      \"ain ts\",\n      \"aint s\",\n      \"▁h y\",\n      \"▁ hy\",\n      \"▁M el\",\n      \"▁Me l\",\n      \"▁C H\",\n      \"▁ CH\",\n      \"con s\",\n      \"co ns\",\n      \"c ons\",\n      \"▁sur round\",\n      \"▁W ho\",\n      \"▁Wh o\",\n      \"▁ Who\",\n      \"ar c\",\n      \"a rc\",\n      \"▁te lev\",\n      \"▁tele v\",\n      \"▁tel ev\",\n      \"it ution\",\n      \"itut ion\",\n      \"▁e qual\",\n      \"▁equ al\",\n      \"▁eq ual\",\n      \"▁ equal\",\n      \"к і\",\n      \"▁Is rael\",\n      \"ä h\",\n      \"▁C aption\",\n      \"▁Capt ion\",\n      \"▁Ca ption\",\n      \"▁ex erc\",\n      \"em por\",\n      \"emp or\",\n      \"▁+ +\",\n      \"▁ ++\",\n      \"▁l ib\",\n      \"▁li b\",\n      \"▁ lib\",\n      \"ma ke\",\n      \"m ake\",\n      \"▁M A\",\n      \"▁ MA\",\n      \"co py\",\n      \"cop y\",\n      \"c opy\",\n      \"f riend\",\n      \"▁ко то\",\n      \"▁ кото\",\n      \"▁dam age\",\n      \"▁\\\\ ,\",\n      \"▁ \\\\,\",\n      \"od ed\",\n      \"ode d\",\n      \"o ded\",\n      \"▁n one\",\n      \"▁no ne\",\n      \"▁non e\",\n      \"▁ none\",\n      \"▁ev alu\",\n      \"▁eval u\",\n      \"▁ evalu\",\n      \"st on\",\n      \"sto n\",\n      \"s ton\",\n      \"> ,\",\n      \"FO R\",\n      \"F OR\",\n      \"▁n orm\",\n      \"▁no rm\",\n      \"▁nor m\",\n      \"▁ norm\",\n      \"ap pe\",\n      \"app e\",\n      \"a ppe\",\n      \"S ession\",\n      \"▁ad ult\",\n      \"▁h ospital\",\n      \"▁hosp ital\",\n      \"▁recomm end\",\n      \"pro perty\",\n      \"ste in\",\n      \"fin al\",\n      \"fi nal\",\n      \"f inal\",\n      \"▁n u\",\n      \"▁ nu\",\n      \"se cond\",\n      \"sec ond\",\n      \"▁a spect\",\n      \"▁as pect\",\n      \"▁asp ect\",\n      \"\\\") ]\",\n      \"\\\" )]\",\n      \"же н\",\n      \"ж ен\",\n      \"am ento\",\n      \"ament o\",\n      \"amen to\",\n      \"▁r ac\",\n      \"▁ra c\",\n      \"▁ rac\",\n      \"sa ve\",\n      \"s ave\",\n      \"▁foot ball\",\n      \"A b\",\n      \"un gs\",\n      \"ung s\",\n      \"ab il\",\n      \"abi l\",\n      \"a bil\",\n      \"▁Ar ch\",\n      \"▁Arc h\",\n      \"▁ Arch\",\n      \"sys tem\",\n      \"s ystem\",\n      \"hi st\",\n      \"his t\",\n      \"h ist\",\n      \"▁l uck\",\n      \"▁lu ck\",\n      \"▁luc k\",\n      \"re nder\",\n      \"ren der\",\n      \"rend er\",\n      \"r ender\",\n      \"▁se in\",\n      \"▁sei n\",\n      \"ion i\",\n      \"io ni\",\n      \"i oni\",\n      \"▁r ot\",\n      \"▁ro t\",\n      \"▁ rot\",\n      \"▁cor ner\",\n      \"▁corn er\",\n      \"▁app ropri\",\n      \"▁ap propri\",\n      \"▁ appropri\",\n      \"▁Soft ware\",\n      \"▁t ele\",\n      \"▁te le\",\n      \"▁tel e\",\n      \"▁ tele\",\n      \"De lete\",\n      \"Dele te\",\n      \"Del ete\",\n      \"▁Acc ording\",\n      \"▁pr ison\",\n      \"▁pri son\",\n      \"▁ prison\",\n      \"▁l ic\",\n      \"▁li c\",\n      \"▁ lic\",\n      \"▁м и\",\n      \"▁ ми\",\n      \"ter m\",\n      \"te rm\",\n      \"t erm\",\n      \"se ts\",\n      \"set s\",\n      \"s ets\",\n      \"▁v el\",\n      \"▁ve l\",\n      \"▁ vel\",\n      \"▁r ank\",\n      \"▁ran k\",\n      \"▁ rank\",\n      \"▁ex isting\",\n      \"▁exist ing\",\n      \"▁ existing\",\n      \"▁V ir\",\n      \"▁Vi r\",\n      \"▁t rip\",\n      \"▁tr ip\",\n      \"▁tri p\",\n      \"▁м у\",\n      \"▁ му\",\n      \"av ax\",\n      \"ava x\",\n      \"▁r is\",\n      \"▁ri s\",\n      \"▁ ris\",\n      \"▁def ine\",\n      \"▁defin e\",\n      \"▁ define\",\n      \"▁he at\",\n      \"ca r\",\n      \"c ar\",\n      \"▁con vert\",\n      \"▁conv ert\",\n      \"▁conver t\",\n      \"▁conve rt\",\n      \"▁ convert\",\n      \"em ail\",\n      \"ema il\",\n      \"e mail\",\n      \"▁U nder\",\n      \"▁Un der\",\n      \"▁Und er\",\n      \"▁ Under\",\n      \"▁ Ш\",\n      \"▁G rand\",\n      \"▁Gr and\",\n      \"▁Gran d\",\n      \"▁Gra nd\",\n      \"▁ex ists\",\n      \"▁exist s\",\n      \"▁ exists\",\n      \"sy s\",\n      \"s ys\",\n      \"ef f\",\n      \"e ff\",\n      \"▁T op\",\n      \"▁To p\",\n      \"▁ Top\",\n      \"▁ č\",\n      \"▁t empor\",\n      \"▁tem por\",\n      \"▁temp or\",\n      \"▁tempo r\",\n      \"▁arg uments\",\n      \"▁argument s\",\n      \"▁ arguments\",\n      \"▁support ed\",\n      \"▁supp orted\",\n      \"▁ supported\",\n      \"en sed\",\n      \"ens ed\",\n      \"ense d\",\n      \"▁Franc is\",\n      \"▁co ord\",\n      \"▁ coord\",\n      \"▁achie ve\",\n      \"▁N ame\",\n      \"▁Na me\",\n      \"▁Nam e\",\n      \"▁ Name\",\n      \"▁J ahr\",\n      \"▁Jah r\",\n      \"▁Ja hr\",\n      \"▁G i\",\n      \"sh e\",\n      \"s he\",\n      \"▁D ev\",\n      \"▁De v\",\n      \"▁ Dev\",\n      \"▁a lla\",\n      \"▁al la\",\n      \"▁all a\",\n      \"▁ alla\",\n      \"▁W IT\",\n      \"ag ment\",\n      \"c ustom\",\n      \"al ls\",\n      \"all s\",\n      \"& &\",\n      \"W E\",\n      \"▁h olding\",\n      \"▁hold ing\",\n      \"▁hol ding\",\n      \"pro totype\",\n      \"proto type\",\n      \"prot otype\",\n      \"▁f ing\",\n      \"▁fin g\",\n      \"▁fi ng\",\n      \"▁b ag\",\n      \"▁ba g\",\n      \"▁ bag\",\n      \"▁Par ty\",\n      \"▁Part y\",\n      \"st ack\",\n      \"sta ck\",\n      \"▁econom ic\",\n      \"▁G al\",\n      \"▁Ga l\",\n      \"id ents\",\n      \"ident s\",\n      \"iden ts\",\n      \"▁J un\",\n      \"▁Ju n\",\n      \"▁sh owed\",\n      \"▁show ed\",\n      \"os h\",\n      \"o sh\",\n      \"▁B ay\",\n      \"▁Ba y\",\n      \"▁ Bay\",\n      \"ma il\",\n      \"m ail\",\n      \"▁S O\",\n      \"▁ SO\",\n      \"▁\\\" <\",\n      \"graph ics\",\n      \"▁f u\",\n      \"▁ fu\",\n      \"cl ick\",\n      \"cli ck\",\n      \"c lick\",\n      \"▁b attle\",\n      \"▁batt le\",\n      \"▁bat tle\",\n      \"{ {\",\n      \"▁E vent\",\n      \"▁Even t\",\n      \"▁Ev ent\",\n      \"▁Eve nt\",\n      \"▁ Event\",\n      \"ri or\",\n      \"rio r\",\n      \"r ior\",\n      \"ch aft\",\n      \"cha ft\",\n      \"▁f avorite\",\n      \"▁favor ite\",\n      \"us ive\",\n      \"sup port\",\n      \"supp ort\",\n      \"s upport\",\n      \"b m\",\n      \"K ind\",\n      \"▁saf ety\",\n      \"▁safe ty\",\n      \"▁E nt\",\n      \"▁En t\",\n      \"▁ Ent\",\n      \"cu p\",\n      \"c up\",\n      \"▁Austral ia\",\n      \"▁dest roy\",\n      \"▁destro y\",\n      \"▁ destroy\",\n      \"▁organ ization\",\n      \"▁organiz ation\",\n      \"id en\",\n      \"ide n\",\n      \"i den\",\n      \"######## ########\",\n      \"de c\",\n      \"d ec\",\n      \"▁z a\",\n      \"▁ za\",\n      \"▁s even\",\n      \"▁se ven\",\n      \"▁ seven\",\n      \"ar ely\",\n      \"are ly\",\n      \"arel y\",\n      \"▁f lag\",\n      \"▁fl ag\",\n      \"▁ flag\",\n      \"Di r\",\n      \"D ir\",\n      \"▁C arl\",\n      \"▁Car l\",\n      \"▁Ca rl\",\n      \"▁do ctor\",\n      \"▁doc tor\",\n      \"▁var iety\",\n      \"▁vari ety\",\n      \"▁L in\",\n      \"▁Li n\",\n      \"▁ Lin\",\n      \"▁t om\",\n      \"▁to m\",\n      \"▁ tom\",\n      \"^{ (\",\n      \"^ {(\",\n      \"B o\",\n      \"an tes\",\n      \"ant es\",\n      \"ante s\",\n      \"▁m ine\",\n      \"▁min e\",\n      \"▁mi ne\",\n      \"▁ mine\",\n      \"▁M it\",\n      \"▁Mi t\",\n      \"▁de scribe\",\n      \"▁desc ribe\",\n      \"▁describ e\",\n      \"Ar gs\",\n      \"Arg s\",\n      \"L S\",\n      \"AP I\",\n      \"A PI\",\n      \"▁L uc\",\n      \"▁Lu c\",\n      \"▁ Luc\",\n      \"ph one\",\n      \"▁sc ience\",\n      \"▁ science\",\n      \"▁O per\",\n      \"▁Op er\",\n      \"▁ Oper\",\n      \"Ne xt\",\n      \"N ext\",\n      \"▁invest ig\",\n      \"▁demon str\",\n      \"▁G overn\",\n      \"▁Go vern\",\n      \"▁object s\",\n      \"▁ objects\",\n      \"▁Lou is\",\n      \"▁Lo uis\",\n      \"▁Return s\",\n      \"▁ Returns\",\n      \"▁h an\",\n      \"▁ha n\",\n      \"▁ han\",\n      \"na m\",\n      \"n am\",\n      \"▁com me\",\n      \"▁comm e\",\n      \"▁pres ence\",\n      \"▁p el\",\n      \"▁pe l\",\n      \"▁ pel\",\n      \"▁det ect\",\n      \"▁ detect\",\n      \") =\",\n      \"▁Ch inese\",\n      \"▁r ich\",\n      \"▁ri ch\",\n      \"▁ric h\",\n      \"▁ rich\",\n      \"▁class es\",\n      \"▁classe s\",\n      \"▁clas ses\",\n      \"▁ classes\",\n      \"▁exp and\",\n      \"▁ expand\",\n      \"▁D om\",\n      \"▁Do m\",\n      \"▁ Dom\",\n      \"▁D ec\",\n      \"▁De c\",\n      \"▁ Dec\",\n      \"s n\",\n      \"pe ed\",\n      \"p eed\",\n      \"▁J im\",\n      \"▁Ji m\",\n      \"sh ould\",\n      \"▁Sm ith\",\n      \"▁p ages\",\n      \"▁page s\",\n      \"▁pa ges\",\n      \"▁pag es\",\n      \"▁ pages\",\n      \"▁Je an\",\n      \"ri cs\",\n      \"ric s\",\n      \"r ics\",\n      \"▁S und\",\n      \"▁Su nd\",\n      \"▁Sun d\",\n      \"ad s\",\n      \"a ds\",\n      \"▁The ir\",\n      \"un icip\",\n      \"uni cip\",\n      \"unic ip\",\n      \"в у\",\n      \"▁down load\",\n      \"▁ download\",\n      \"▁st ress\",\n      \"▁str ess\",\n      \"▁stre ss\",\n      \"▁P et\",\n      \"▁Pe t\",\n      \"▁ Pet\",\n      \"me nu\",\n      \"men u\",\n      \"m enu\",\n      \"re me\",\n      \"rem e\",\n      \"r eme\",\n      \"▁com pared\",\n      \"▁comp ared\",\n      \"▁compar ed\",\n      \"▁compare d\",\n      \"St e\",\n      \"S te\",\n      \"IN D\",\n      \"I ND\",\n      \"cont ainer\",\n      \"▁Ind ian\",\n      \"▁India n\",\n      \"or en\",\n      \"ore n\",\n      \"o ren\",\n      \"▁s es\",\n      \"▁se s\",\n      \"▁ ses\",\n      \"▁W he\",\n      \"▁Wh e\",\n      \"▁ Whe\",\n      \"▁r oku\",\n      \"▁ro ku\",\n      \"▁estab lished\",\n      \"▁establish ed\",\n      \"▁gener ally\",\n      \"▁general ly\",\n      \"▁f le\",\n      \"▁fl e\",\n      \"__ (\",\n      \"_ _(\",\n      \"=\\\" +\",\n      \"= \\\"+\",\n      \"V ar\",\n      \"▁M ake\",\n      \"▁Ma ke\",\n      \"▁Mak e\",\n      \"▁ Make\",\n      \"▁rem oved\",\n      \"▁remove d\",\n      \"▁ removed\",\n      \"z z\",\n      \"ü n\",\n      \"▁m ix\",\n      \"▁mi x\",\n      \"▁ mix\",\n      \"er k\",\n      \"iat ion\",\n      \"i ation\",\n      \"ou ter\",\n      \"out er\",\n      \"oute r\",\n      \"o uter\",\n      \"S K\",\n      \"▁be comes\",\n      \"▁bec omes\",\n      \"▁become s\",\n      \"▁H all\",\n      \"▁Ha ll\",\n      \"▁Hal l\",\n      \"sc ious\",\n      \"▁w atched\",\n      \"▁watch ed\",\n      \"▁wat ched\",\n      \"▁g ather\",\n      \"▁ga ther\",\n      \"▁ gather\",\n      \"▁Res ult\",\n      \"▁ Result\",\n      \"pro of\",\n      \"pa y\",\n      \"p ay\",\n      \"▁produ ced\",\n      \"▁produce d\",\n      \"▁prod uced\",\n      \"▁| =\",\n      \"▁b order\",\n      \"▁bord er\",\n      \"▁bor der\",\n      \"▁ border\",\n      \"▁d in\",\n      \"▁di n\",\n      \"▁s cript\",\n      \"▁sc ript\",\n      \"▁scr ipt\",\n      \"▁ script\",\n      \"▁a ctions\",\n      \"▁act ions\",\n      \"▁action s\",\n      \"▁ actions\",\n      \"▁m as\",\n      \"▁ma s\",\n      \"▁ mas\",\n      \"щ а\",\n      \"oot h\",\n      \"oo th\",\n      \"o oth\",\n      \"▁Te chn\",\n      \"▁Tech n\",\n      \"Js on\",\n      \"J son\",\n      \"▁f illed\",\n      \"▁fil led\",\n      \"▁fill ed\",\n      \"▁ filled\",\n      \"де н\",\n      \"д ен\",\n      \"und le\",\n      \"ст у\",\n      \"с ту\",\n      \"To ol\",\n      \"Too l\",\n      \"T ool\",\n      \"▁k ing\",\n      \"▁ki ng\",\n      \"▁kin g\",\n      \"▁ king\",\n      \"▁v en\",\n      \"▁ve n\",\n      \"▁ ven\",\n      \"st ra\",\n      \"str a\",\n      \"s tra\",\n      \"▁pre dict\",\n      \"▁pred ict\",\n      \"▁ predict\",\n      \"▁l ui\",\n      \"▁lu i\",\n      \"▁WAR RAN\",\n      \"▁F un\",\n      \"▁Fu n\",\n      \"▁ Fun\",\n      \"Sc ript\",\n      \"S cript\",\n      \"▁power ful\",\n      \"▁l ose\",\n      \"▁lo se\",\n      \"▁los e\",\n      \"at ically\",\n      \"atic ally\",\n      \"▁d aily\",\n      \"▁da ily\",\n      \"▁dai ly\",\n      \"▁r ing\",\n      \"▁ri ng\",\n      \"▁ ring\",\n      \"▁ar rived\",\n      \"▁arriv ed\",\n      \"▁arr ived\",\n      \"▁arrive d\",\n      \"St ack\",\n      \"sc ope\",\n      \"s cope\",\n      \"▁B ack\",\n      \"▁Ba ck\",\n      \"▁ Back\",\n      \"el ij\",\n      \"eli j\",\n      \"e lij\",\n      \"▁z e\",\n      \"▁ ze\",\n      \"ke ys\",\n      \"key s\",\n      \"{ \\\"\",\n      \"VI D\",\n      \"V ID\",\n      \"▁l icense\",\n      \"▁lic ense\",\n      \"▁ license\",\n      \"wh at\",\n      \"w hat\",\n      \"▁pro ced\",\n      \"▁proc ed\",\n      \"ra nt\",\n      \"ran t\",\n      \"r ant\",\n      \"est ival\",\n      \"ag ram\",\n      \"agr am\",\n      \"agra m\",\n      \"a gram\",\n      \"▁L O\",\n      \"▁ LO\",\n      \"▁Hen ry\",\n      \"▁fl ags\",\n      \"▁flag s\",\n      \"▁ flags\",\n      \"Do wn\",\n      \"D own\",\n      \"scri ption\",\n      \"script ion\",\n      \"s cription\",\n      \"▁famil ies\",\n      \"▁familie s\",\n      \"is se\",\n      \"iss e\",\n      \"bo ur\",\n      \"b our\",\n      \"▁B ur\",\n      \"▁Bu r\",\n      \"— \\\"\",\n      \"▁b rief\",\n      \"▁br ief\",\n      \"▁ brief\",\n      \"▁cre ating\",\n      \"▁creat ing\",\n      \"▁cl ients\",\n      \"▁client s\",\n      \"ran gle\",\n      \"r angle\",\n      \"▁amaz ing\",\n      \"▁s ind\",\n      \"▁si nd\",\n      \"▁sin d\",\n      \"▁cover ed\",\n      \"▁cov ered\",\n      \"▁ covered\",\n      \"We ll\",\n      \"W ell\",\n      \"ст е\",\n      \"с те\",\n      \"то р\",\n      \"т ор\",\n      \"▁B as\",\n      \"▁Ba s\",\n      \"▁ Bas\",\n      \"to tal\",\n      \"tot al\",\n      \"t otal\",\n      \"▁I nit\",\n      \"▁In it\",\n      \"▁ Init\",\n      \"▁s and\",\n      \"▁sa nd\",\n      \"▁san d\",\n      \"Un it\",\n      \"U nit\",\n      \"▁mur der\",\n      \"▁b right\",\n      \"▁br ight\",\n      \"▁brig ht\",\n      \"▁t rav\",\n      \"▁tr av\",\n      \"▁tra v\",\n      \"ic ans\",\n      \"ica ns\",\n      \"ican s\",\n      \"▁att ribute\",\n      \"▁attribut e\",\n      \"▁ attribute\",\n      \"f c\",\n      \"▁pl aced\",\n      \"▁place d\",\n      \"▁plac ed\",\n      \"ES T\",\n      \"E ST\",\n      \"Var i\",\n      \"V ari\",\n      \"▁c os\",\n      \"▁co s\",\n      \"▁ cos\",\n      \"▁at tract\",\n      \"▁att ract\",\n      \"▁attr act\",\n      \"▁attra ct\",\n      \"an el\",\n      \"ane l\",\n      \"a nel\",\n      \"}) .\",\n      \"} ).\",\n      \"by tes\",\n      \"byte s\",\n      \"▁p arse\",\n      \"▁par se\",\n      \"▁ parse\",\n      \"▁be long\",\n      \"▁bel ong\",\n      \"B N\",\n      \"▁S ol\",\n      \"▁So l\",\n      \"P o\",\n      \"` ,\",\n      \"▁c alling\",\n      \"▁call ing\",\n      \"▁cal ling\",\n      \"▁? >\",\n      \"▁ ?>\",\n      \"▁it er\",\n      \"▁i ter\",\n      \"▁ iter\",\n      \"▁u rl\",\n      \"▁ur l\",\n      \"▁ url\",\n      \"▁ev ening\",\n      \"▁even ing\",\n      \"re ek\",\n      \"ree k\",\n      \"▁hon est\",\n      \"▁direct or\",\n      \"▁dire ctor\",\n      \"▁dir ector\",\n      \"R C\",\n      \"▁s olid\",\n      \"▁sol id\",\n      \"▁ solid\",\n      \"▁ph il\",\n      \"ie ne\",\n      \"ien e\",\n      \"i ene\",\n      \"FA ULT\",\n      \"co pe\",\n      \"cop e\",\n      \"c ope\",\n      \"▁Hist ory\",\n      \"▁Histor y\",\n      \"▁Hi story\",\n      \"▁ History\",\n      \"▁Te am\",\n      \"▁ Team\",\n      \"ree dom\",\n      \"reed om\",\n      \"▁r u\",\n      \"▁ ru\",\n      \"U B\",\n      \"▁w orse\",\n      \"▁wor se\",\n      \"im o\",\n      \"i mo\",\n      \"Ma t\",\n      \"M at\",\n      \"▁M ex\",\n      \"▁Me x\",\n      \"ac tor\",\n      \"act or\",\n      \"a ctor\",\n      \"▁v or\",\n      \"▁vo r\",\n      \"▁ vor\",\n      \"ть ся\",\n      \"▁exper iment\",\n      \"▁experi ment\",\n      \"▁P lay\",\n      \"▁Pl ay\",\n      \"▁ Play\",\n      \"▁An other\",\n      \"▁happ ens\",\n      \"▁happen s\",\n      \"ua n\",\n      \"u an\",\n      \"▁pat ients\",\n      \"▁patient s\",\n      \"▁re nd\",\n      \"▁r end\",\n      \"▁ren d\",\n      \"▁ rend\",\n      \"▁M o\",\n      \"▁ Mo\",\n      \"▁T ex\",\n      \"▁Te x\",\n      \"▁ Tex\",\n      \"▁w ed\",\n      \"▁we d\",\n      \"▁ wed\",\n      \"t n\",\n      \"in sert\",\n      \"ins ert\",\n      \"▁п а\",\n      \"▁ па\",\n      \"▁an ti\",\n      \"▁ant i\",\n      \"▁ anti\",\n      \"Mat ch\",\n      \"M atch\",\n      \"ampions hip\",\n      \"ampion ship\",\n      \"▁for ces\",\n      \"▁force s\",\n      \"▁H ot\",\n      \"▁Ho t\",\n      \"▁ Hot\",\n      \"▁ph ase\",\n      \"▁ phase\",\n      \"▁t emplate\",\n      \"▁templ ate\",\n      \"▁temp late\",\n      \"▁ template\",\n      \"st op\",\n      \"sto p\",\n      \"s top\",\n      \"ic ated\",\n      \"ica ted\",\n      \"icate d\",\n      \"▁man aged\",\n      \"▁manage d\",\n      \"▁ managed\",\n      \"wa it\",\n      \"w ait\",\n      \"▁* (\",\n      \"▁ *(\",\n      \"G B\",\n      \"▁app oint\",\n      \"▁ap point\",\n      \"▁ appoint\",\n      \"ł a\",\n      \"▁s tick\",\n      \"▁st ick\",\n      \"▁ stick\",\n      \"▁F OR\",\n      \"▁FO R\",\n      \"▁ FOR\",\n      \"▁V is\",\n      \"▁Vi s\",\n      \"▁ Vis\",\n      \"to r\",\n      \"t or\",\n      \"▁p ř\",\n      \"qu est\",\n      \"que st\",\n      \"ques t\",\n      \"q uest\",\n      \"us es\",\n      \"use s\",\n      \"u ses\",\n      \"\\\"); \\r\",\n      \"\\\") ;\\r\",\n      \"\\\" );\\r\",\n      \"▁sudden ly\",\n      \"▁sud denly\",\n      \"é c\",\n      \"N D\",\n      \"ur op\",\n      \"uro p\",\n      \"u rop\",\n      \"ре д\",\n      \"▁ins urance\",\n      \"ac cess\",\n      \"acc ess\",\n      \"a ccess\",\n      \"un finished\",\n      \"▁t amb\",\n      \"▁ta mb\",\n      \"▁tam b\",\n      \"▁s ac\",\n      \"▁sa c\",\n      \"▁C ourt\",\n      \"▁Co urt\",\n      \"▁Cour t\",\n      \"▁Cou rt\",\n      \"▁miss ing\",\n      \"▁mis sing\",\n      \"▁ missing\",\n      \"▁W here\",\n      \"▁Wh ere\",\n      \"▁Whe re\",\n      \"▁ Where\",\n      \"▁S um\",\n      \"▁Su m\",\n      \"▁ Sum\",\n      \"}^ {\\\\\",\n      \"}^{ \\\\\",\n      \"} ^{\\\\\",\n      \"▁s ua\",\n      \"▁su a\",\n      \"_ ,\",\n      \"▁th ick\",\n      \"▁Tr ump\",\n      \"▁Tru mp\",\n      \"▁oper ations\",\n      \"▁operation s\",\n      \"▁ operations\",\n      \"F S\",\n      \"▁de ux\",\n      \"d z\",\n      \"Temp late\",\n      \"T emplate\",\n      \"▁\\\" /\",\n      \"▁o dd\",\n      \"▁od d\",\n      \"▁ odd\",\n      \"▁re ality\",\n      \"▁real ity\",\n      \"▁te ams\",\n      \"▁team s\",\n      \"▁tea ms\",\n      \"▁c er\",\n      \"▁ce r\",\n      \"▁ cer\",\n      \"om a\",\n      \"o ma\",\n      \"▁ și\",\n      \"▁cl oud\",\n      \"▁clo ud\",\n      \"▁ cloud\",\n      \"▁Dep artment\",\n      \"N e\",\n      \"▁requ ires\",\n      \"▁require s\",\n      \"it ems\",\n      \"ite ms\",\n      \"item s\",\n      \"▁I II\",\n      \"▁II I\",\n      \"▁ III\",\n      \"right arrow\",\n      \")- >\",\n      \") ->\",\n      \"▁w riter\",\n      \"▁wr iter\",\n      \"▁writ er\",\n      \"▁write r\",\n      \"▁ writer\",\n      \"re place\",\n      \"rep lace\",\n      \"▁t hr\",\n      \"▁th r\",\n      \"je n\",\n      \"j en\",\n      \"▁o t\",\n      \"▁ ot\",\n      \"▁occ up\",\n      \"▁oc cup\",\n      \"▁ occup\",\n      \"▁event ually\",\n      \"▁M ath\",\n      \"▁Mat h\",\n      \"▁Ma th\",\n      \"▁ Math\",\n      \"▁con serv\",\n      \"▁cons erv\",\n      \"▁conse rv\",\n      \"am er\",\n      \"ame r\",\n      \"a mer\",\n      \"▁F ort\",\n      \"▁For t\",\n      \"▁Fo rt\",\n      \"▁d ry\",\n      \"▁dr y\",\n      \"▁sex ual\",\n      \"▁co sts\",\n      \"▁cost s\",\n      \"▁cos ts\",\n      \"▁for ms\",\n      \"▁form s\",\n      \"▁ forms\",\n      \"▁V ict\",\n      \"▁Vi ct\",\n      \"▁Vic t\",\n      \"PA R\",\n      \"P AR\",\n      \"frame work\",\n      \"▁д и\",\n      \"▁ ди\",\n      \"Oper ation\",\n      \"з на\",\n      \"wh ich\",\n      \"▁t ight\",\n      \"▁ti ght\",\n      \"In valid\",\n      \"▁part ner\",\n      \"▁п ред\",\n      \"▁пре д\",\n      \"▁th ank\",\n      \"▁than k\",\n      \"▁gu ard\",\n      \"▁ guard\",\n      \"he m\",\n      \"h em\",\n      \"Bo dy\",\n      \"B ody\",\n      \"▁e mot\",\n      \"▁em ot\",\n      \"I X\",\n      \"fa st\",\n      \"fas t\",\n      \"f ast\",\n      \"щ о\",\n      \"ñ o\",\n      \"ni ght\",\n      \"n ight\",\n      \"▁S ci\",\n      \"▁Sc i\",\n      \"ни ка\",\n      \"ник а\",\n      \"▁T O\",\n      \"▁ TO\",\n      \"▁individ uals\",\n      \"▁individual s\",\n      \"сс и\",\n      \"с си\",\n      \"}) ,\",\n      \"} ),\",\n      \"F alse\",\n      \"(\\\" %\",\n      \"( \\\"%\",\n      \"▁op tim\",\n      \"▁opt im\",\n      \"▁ optim\",\n      \"▁- ->\",\n      \"▁-- >\",\n      \"▁ -->\",\n      \"▁f actor\",\n      \"▁fact or\",\n      \"▁fac tor\",\n      \"▁fa ctor\",\n      \"▁ factor\",\n      \"▁sm aller\",\n      \"▁small er\",\n      \"▁con tain\",\n      \"▁cont ain\",\n      \"sp ect\",\n      \"spec t\",\n      \"spe ct\",\n      \"s pect\",\n      \"Eng ine\",\n      \"▁ann ounced\",\n      \"▁announ ced\",\n      \"▁announce d\",\n      \"▁Dem ocr\",\n      \"▁r ob\",\n      \"▁ro b\",\n      \"▁ rob\",\n      \"▁f lat\",\n      \"▁fl at\",\n      \"▁ flat\",\n      \"os oph\",\n      \"oso ph\",\n      \"Se arch\",\n      \"S earch\",\n      \"ah l\",\n      \"a hl\",\n      \"▁Ex ception\",\n      \"▁Except ion\",\n      \"▁ Exception\",\n      \"▁O l\",\n      \"equ als\",\n      \"eq uals\",\n      \"equal s\",\n      \"▁un ter\",\n      \"▁unt er\",\n      \"▁ unter\",\n      \"sh ape\",\n      \"sha pe\",\n      \"N S\",\n      \"Ob j\",\n      \"▁spec ies\",\n      \"▁spe cies\",\n      \"we ight\",\n      \"wei ght\",\n      \"w eight\",\n      \"yo u\",\n      \"y ou\",\n      \"▁e ste\",\n      \"▁est e\",\n      \"▁es te\",\n      \"▁ este\",\n      \"▁V iew\",\n      \"▁Vi ew\",\n      \"▁ View\",\n      \"▁m ission\",\n      \"▁miss ion\",\n      \"▁ mission\",\n      \"▁j ournal\",\n      \"▁jour nal\",\n      \"▁ journal\",\n      \"Value s\",\n      \"Val ues\",\n      \"▁ein em\",\n      \"▁eine m\",\n      \"is mo\",\n      \"ism o\",\n      \"▁project s\",\n      \"▁ projects\",\n      \"▁D as\",\n      \"▁Da s\",\n      \"ri ble\",\n      \"rib le\",\n      \"r ible\",\n      \"▁s erve\",\n      \"▁ser ve\",\n      \"▁serv e\",\n      \"▁ serve\",\n      \"▁op ening\",\n      \"▁open ing\",\n      \"▁h ur\",\n      \"▁program s\",\n      \"▁U SA\",\n      \"▁US A\",\n      \"▁ USA\",\n      \"il iar\",\n      \"ili ar\",\n      \"ilia r\",\n      \"id os\",\n      \"ido s\",\n      \"B r\",\n      \"est amp\",\n      \"esta mp\",\n      \"▁t ools\",\n      \"▁to ols\",\n      \"▁too ls\",\n      \"▁tool s\",\n      \"▁ tools\",\n      \"an ner\",\n      \"ann er\",\n      \"anne r\",\n      \"R T\",\n      \"▁St art\",\n      \"▁Star t\",\n      \"▁Sta rt\",\n      \"▁ Start\",\n      \"▁b ath\",\n      \"▁bat h\",\n      \"▁ba th\",\n      \"▁coff ee\",\n      \"or ter\",\n      \"ort er\",\n      \"orte r\",\n      \"in ternal\",\n      \"inter nal\",\n      \"intern al\",\n      \"file s\",\n      \"fil es\",\n      \"fi les\",\n      \"f iles\",\n      \"IN VAL\",\n      \"ak o\",\n      \"a ko\",\n      \"d t\",\n      \"▁Se cond\",\n      \"▁Sec ond\",\n      \"▁ Second\",\n      \"▁al loc\",\n      \"▁all oc\",\n      \"▁ alloc\",\n      \"▁en ded\",\n      \"▁end ed\",\n      \"▁ende d\",\n      \"▁ ended\",\n      \"ac ional\",\n      \"aci onal\",\n      \"acion al\",\n      \"acio nal\",\n      \"▁man ager\",\n      \"▁manage r\",\n      \"▁ manager\",\n      \"▁S un\",\n      \"▁Su n\",\n      \"▁ Sun\",\n      \"ag g\",\n      \"a gg\",\n      \"▁le ader\",\n      \"▁lead er\",\n      \"ol ved\",\n      \"olve d\",\n      \"olv ed\",\n      \"▁ч то\",\n      \"▁trad itional\",\n      \"▁tradition al\",\n      \"sh ot\",\n      \"s hot\",\n      \"ru p\",\n      \"r up\",\n      \"C F\",\n      \"▁E ach\",\n      \"▁ Each\",\n      \"w r\",\n      \"▁S om\",\n      \"▁So m\",\n      \"▁ Som\",\n      \"▁material s\",\n      \"▁mater ials\",\n      \"▁m sg\",\n      \"▁ms g\",\n      \"▁ msg\",\n      \"▁s yn\",\n      \"▁sy n\",\n      \"▁ syn\",\n      \"▁produ ce\",\n      \"▁prod uce\",\n      \"▁st orage\",\n      \"▁stor age\",\n      \"▁sto rage\",\n      \"▁ storage\",\n      \"sub section\",\n      \"▁S ie\",\n      \"▁Si e\",\n      \"▁I P\",\n      \"▁ IP\",\n      \"CE SS\",\n      \"▁w a\",\n      \"▁ wa\",\n      \"Re cord\",\n      \"Rec ord\",\n      \"▁mark eting\",\n      \"▁market ing\",\n      \"pl et\",\n      \"ple t\",\n      \"p let\",\n      \"D ialog\",\n      \"▁mention ed\",\n      \"▁ment ioned\",\n      \"▁N a\",\n      \"▁ Na\",\n      \"▁Un ion\",\n      \"▁ Union\",\n      \"▁A PI\",\n      \"▁AP I\",\n      \"▁ API\",\n      \"▁neg ative\",\n      \"▁ negative\",\n      \"tx t\",\n      \"t xt\",\n      \"▁eas ier\",\n      \"le gal\",\n      \"leg al\",\n      \"De p\",\n      \"D ep\",\n      \"▁no vel\",\n      \"▁nov el\",\n      \"▁nove l\",\n      \"eu r\",\n      \"e ur\",\n      \"ac ió\",\n      \"aci ó\",\n      \"a ció\",\n      \"▁B ud\",\n      \"▁Bu d\",\n      \"▁c arry\",\n      \"▁car ry\",\n      \"sch aft\",\n      \"s chaft\",\n      \"▁br oken\",\n      \"▁bro ken\",\n      \"▁broke n\",\n      \"▁t rees\",\n      \"▁tr ees\",\n      \"▁tre es\",\n      \"▁tree s\",\n      \">( );\",\n      \">() ;\",\n      \"> ();\",\n      \"▁e mb\",\n      \"▁em b\",\n      \"▁ emb\",\n      \"ie der\",\n      \"ied er\",\n      \"i eder\",\n      \"▁r oute\",\n      \"▁ro ute\",\n      \"▁rout e\",\n      \"▁rou te\",\n      \"▁ route\",\n      \"ik el\",\n      \"ike l\",\n      \"i kel\",\n      \"▁l isten\",\n      \"▁li sten\",\n      \"▁list en\",\n      \"▁ listen\",\n      \"ash ion\",\n      \"ashi on\",\n      \"▁M rs\",\n      \"▁Mr s\",\n      \"▁equip ment\",\n      \"ag ger\",\n      \"agg er\",\n      \"▁T hus\",\n      \"▁Th us\",\n      \"▁mat rix\",\n      \"▁ matrix\",\n      \"al la\",\n      \"all a\",\n      \"a lla\",\n      \"▁T our\",\n      \"▁To ur\",\n      \"▁con versation\",\n      \"▁convers ation\",\n      \"Mo n\",\n      \"M on\",\n      \"our nal\",\n      \"▁min ute\",\n      \"▁minut e\",\n      \"▁ minute\",\n      \"A m\",\n      \"Ap i\",\n      \"A pi\",\n      \"▁for get\",\n      \"▁forg et\",\n      \"M e\",\n      \"lev ant\",\n      \"te mp\",\n      \"tem p\",\n      \"t emp\",\n      \"▁t elling\",\n      \"▁tell ing\",\n      \"▁tel ling\",\n      \"mo ve\",\n      \"mov e\",\n      \"m ove\",\n      \"▁in dependent\",\n      \"▁independ ent\",\n      \"to String\",\n      \"ed it\",\n      \"edi t\",\n      \"e dit\",\n      \"▁J ac\",\n      \"▁Ja c\",\n      \"az z\",\n      \"a zz\",\n      \"re act\",\n      \"rea ct\",\n      \"▁c in\",\n      \"▁ci n\",\n      \"▁ cin\",\n      \"▁P rov\",\n      \"▁Pro v\",\n      \"▁Pr ov\",\n      \"▁ Prov\",\n      \"is ted\",\n      \"ist ed\",\n      \"iste d\",\n      \"i sted\",\n      \"▁h ash\",\n      \"▁has h\",\n      \"▁ha sh\",\n      \"▁ hash\",\n      \"on na\",\n      \"ik i\",\n      \"i ki\",\n      \"▁gener ated\",\n      \"▁generate d\",\n      \"▁gene rated\",\n      \"▁ generated\",\n      \"Re nder\",\n      \"Rend er\",\n      \"R ender\",\n      \"▁psy ch\",\n      \"▁ps ych\",\n      \"na v\",\n      \"n av\",\n      \"▁en tr\",\n      \"▁ent r\",\n      \"▁ entr\",\n      \"п ра\",\n      \"r x\",\n      \"AT H\",\n      \"A TH\",\n      \"▁ass ume\",\n      \"▁assum e\",\n      \"Tr ee\",\n      \"T ree\",\n      \"semb ly\",\n      \"sembl y\",\n      \"▁M att\",\n      \"▁Mat t\",\n      \"▁Ma tt\",\n      \"ca ption\",\n      \"c aption\",\n      \"▁s olutions\",\n      \"▁solution s\",\n      \"▁fa ith\",\n      \"▁fait h\",\n      \"▁dig ital\",\n      \"▁digit al\",\n      \"▁ex cell\",\n      \"▁exc ell\",\n      \"▁V ersion\",\n      \"▁Vers ion\",\n      \"▁ Version\",\n      \"De bug\",\n      \"D ebug\",\n      \"▁ж и\",\n      \"▁ жи\",\n      \"▁car ried\",\n      \"re set\",\n      \"res et\",\n      \"▁slow ly\",\n      \"an cing\",\n      \"anc ing\",\n      \"▁own er\",\n      \"▁ owner\",\n      \"▁T er\",\n      \"▁Te r\",\n      \"▁D id\",\n      \"▁Di d\",\n      \"▁ Did\",\n      \"▁g est\",\n      \"▁ge st\",\n      \"▁ges t\",\n      \"▁ gest\",\n      \"▁é té\",\n      \"▁ét é\",\n      \"▁ été\",\n      \"▁pro of\",\n      \"▁ proof\",\n      \"F ont\",\n      \"▁n ob\",\n      \"▁no b\",\n      \"▁ nob\",\n      \"C o\",\n      \"▁G NU\",\n      \"▁l iber\",\n      \"▁li ber\",\n      \"▁lib er\",\n      \"it ness\",\n      \"▁h ij\",\n      \"▁hi j\",\n      \"▁v ert\",\n      \"▁ver t\",\n      \"▁ve rt\",\n      \"▁ vert\",\n      \"ш а\",\n      \"FL AG\",\n      \"ME NT\",\n      \"M ENT\",\n      \"▁S on\",\n      \"▁So n\",\n      \"Mu lt\",\n      \"M ult\",\n      \"▁d istrict\",\n      \"▁di strict\",\n      \"▁dist rict\",\n      \"conne ct\",\n      \"conn ect\",\n      \"ject ion\",\n      \"je ction\",\n      \"j ection\",\n      \"ly mp\",\n      \"▁real ized\",\n      \"▁realize d\",\n      \"▁realiz ed\",\n      \"mo s\",\n      \"m os\",\n      \"y e\",\n      \"▁re nder\",\n      \"▁r ender\",\n      \"▁ren der\",\n      \"▁rend er\",\n      \"▁ render\",\n      \"ri o\",\n      \"r io\",\n      \"▁inter pret\",\n      \"▁ interpret\",\n      \"▁slight ly\",\n      \"fi x\",\n      \"f ix\",\n      \"▁stud ies\",\n      \"▁r id\",\n      \"▁ri d\",\n      \"▁ rid\",\n      \"at re\",\n      \"atr e\",\n      \"a tre\",\n      \"▁benef its\",\n      \"▁benefit s\",\n      \"▁F ace\",\n      \"▁Fa ce\",\n      \"▁Fac e\",\n      \"▁ Face\",\n      \"iv ery\",\n      \"ive ry\",\n      \"iver y\",\n      \"i very\",\n      \"ри я\",\n      \"doc ument\",\n      \"d ocument\",\n      \"▁as king\",\n      \"▁ask ing\",\n      \"La st\",\n      \"L ast\",\n      \"ar ante\",\n      \"ara nte\",\n      \"aran te\",\n      \"▁Mart in\",\n      \"▁E ll\",\n      \"▁El l\",\n      \"▁v ector\",\n      \"▁ve ctor\",\n      \"▁vec tor\",\n      \"▁ vector\",\n      \"▁for ced\",\n      \"▁force d\",\n      \"▁ forced\",\n      \"о ло\",\n      \"P H\",\n      \"W R\",\n      \"▁K l\",\n      \"▁s ky\",\n      \"▁sk y\",\n      \"▁ sky\",\n      \"▁str ategy\",\n      \"▁strateg y\",\n      \"▁strat egy\",\n      \"oc ked\",\n      \"ock ed\",\n      \"▁ne ck\",\n      \"ś ci\",\n      \"O UT\",\n      \")) ,\",\n      \") ),\",\n      \"C ustom\",\n      \"▁w ie\",\n      \"▁ wie\",\n      \"▁s weet\",\n      \"▁swe et\",\n      \"▁t emp\",\n      \"▁te mp\",\n      \"▁tem p\",\n      \"▁ temp\",\n      \"▁fore ign\",\n      \"▁h all\",\n      \"▁ha ll\",\n      \"▁hal l\",\n      \"▁ hall\",\n      \"as tr\",\n      \"ast r\",\n      \"a str\",\n      \"As s\",\n      \"A ss\",\n      \"MO DE\",\n      \"MOD E\",\n      \"▁max imum\",\n      \"▁maxim um\",\n      \"an nels\",\n      \"ann els\",\n      \"annel s\",\n      \"anne ls\",\n      \"▁t ip\",\n      \"▁ti p\",\n      \"▁ tip\",\n      \"▁second s\",\n      \"▁sec onds\",\n      \"▁ seconds\",\n      \"▁st ack\",\n      \"▁sta ck\",\n      \"▁ stack\",\n      \"ig a\",\n      \"i ga\",\n      \"▁r aise\",\n      \"▁rais e\",\n      \"▁ra ise\",\n      \"▁ raise\",\n      \"en able\",\n      \"ena ble\",\n      \"oi r\",\n      \"o ir\",\n      \"▁s oul\",\n      \"▁so ul\",\n      \"▁sou l\",\n      \"K e\",\n      \")$ .\",\n      \") $.\",\n      \"▁T im\",\n      \"▁Ti m\",\n      \"▁ Tim\",\n      \"AL SE\",\n      \"is er\",\n      \"ise r\",\n      \"i ser\",\n      \"cont in\",\n      \"be l\",\n      \"b el\",\n      \"▁m ad\",\n      \"▁ma d\",\n      \"▁ mad\",\n      \"lic hen\",\n      \"li chen\",\n      \"lich en\",\n      \"liche n\",\n      \"l ichen\",\n      \"ab e\",\n      \"a be\",\n      \"sa fe\",\n      \"▁con cent\",\n      \"▁conc ent\",\n      \"▁conce nt\",\n      \"bo und\",\n      \"b ound\",\n      \"▁R equ\",\n      \"▁Re qu\",\n      \"▁ Requ\",\n      \"sw itch\",\n      \"▁st one\",\n      \"▁sto ne\",\n      \"▁ stone\",\n      \"▁trans l\",\n      \"▁ transl\",\n      \"▁v ac\",\n      \"▁va c\",\n      \"an don\",\n      \"and on\",\n      \"ando n\",\n      \"▁F ore\",\n      \"▁For e\",\n      \"▁Fo re\",\n      \"▁ Fore\",\n      \"▁s ounds\",\n      \"▁sound s\",\n      \"▁P op\",\n      \"▁Po p\",\n      \"▁ Pop\",\n      \"▁H T\",\n      \"▁ HT\",\n      \"li a\",\n      \"l ia\",\n      \"en ter\",\n      \"ent er\",\n      \"ente r\",\n      \"▁hel ps\",\n      \"▁help s\",\n      \"ed y\",\n      \"e dy\",\n      \"ст вен\",\n      \"ств ен\",\n      \"стве н\",\n      \"an ted\",\n      \"ant ed\",\n      \"ante d\",\n      \"▁I ts\",\n      \"▁It s\",\n      \"▁St ep\",\n      \"▁Ste p\",\n      \"▁ Step\",\n      \"I con\",\n      \"▁EX PECT\",\n      \"▁ EXPECT\",\n      \"ial ized\",\n      \"ialize d\",\n      \"Pos t\",\n      \"Po st\",\n      \"P ost\",\n      \"az e\",\n      \"a ze\",\n      \"▁Car ol\",\n      \"▁Ca rol\",\n      \"▁re q\",\n      \"▁r eq\",\n      \"▁ req\",\n      \"▁crit ical\",\n      \"▁critic al\",\n      \"D S\",\n      \"▁se at\",\n      \"▁sea t\",\n      \"ap ed\",\n      \"ape d\",\n      \"a ped\",\n      \"▁up per\",\n      \"▁upp er\",\n      \"▁ upper\",\n      \"▁S y\",\n      \"▁ Sy\",\n      \"▁ex plain\",\n      \"▁expl ain\",\n      \"▁' ./\",\n      \"▁'. /\",\n      \"ut ils\",\n      \"util s\",\n      \"uti ls\",\n      \"poss ible\",\n      \"▁d ont\",\n      \"▁do nt\",\n      \"▁don t\",\n      \"H ost\",\n      \"▁appro xim\",\n      \"▁approx im\",\n      \"As ync\",\n      \"A sync\",\n      \"▁g rab\",\n      \"▁gr ab\",\n      \"▁gra b\",\n      \"▁s ources\",\n      \"▁source s\",\n      \"▁sour ces\",\n      \"▁ sources\",\n      \"▁M os\",\n      \"▁Mo s\",\n      \"▁Germ any\",\n      \"▁German y\",\n      \"▁Ger many\",\n      \"▁r ub\",\n      \"▁ru b\",\n      \"▁ rub\",\n      \"CH AN\",\n      \"▁r ain\",\n      \"▁ra in\",\n      \"▁tr uly\",\n      \"▁join ed\",\n      \"▁jo ined\",\n      \"▁< ?\",\n      \"▁ <?\",\n      \"▁L o\",\n      \"▁ Lo\",\n      \"Des cription\",\n      \"De scription\",\n      \"ak t\",\n      \"a kt\",\n      \"▁A nn\",\n      \"▁An n\",\n      \"▁ Ann\",\n      \"^ *\",\n      \"id ae\",\n      \"ida e\",\n      \"( :\",\n      \"t w\",\n      \"Ma r\",\n      \"M ar\",\n      \"pro du\",\n      \"prod u\",\n      \"p rodu\",\n      \"▁sp oke\",\n      \"▁spo ke\",\n      \"ю т\",\n      \"▁walk ing\",\n      \"▁wal king\",\n      \"▁nod ded\",\n      \"Pro ps\",\n      \"Pr ops\",\n      \"Prop s\",\n      \"En abled\",\n      \"Enable d\",\n      \"ir k\",\n      \"FI LE\",\n      \"FIL E\",\n      \"F ILE\",\n      \"equ al\",\n      \"eq ual\",\n      \"e qual\",\n      \"pp ing\",\n      \"p ping\",\n      \"ol i\",\n      \"o li\",\n      \"E V\",\n      \"en z\",\n      \"et ing\",\n      \"eti ng\",\n      \"e ting\",\n      \"▁s ample\",\n      \"▁sam ple\",\n      \"▁ sample\",\n      \"▁art ist\",\n      \"[ $\",\n      \"it à\",\n      \"й о\",\n      \"pro ps\",\n      \"pr ops\",\n      \"prop s\",\n      \"b u\",\n      \"е в\",\n      \"▁respons ible\",\n      \"M T\",\n      \"▁caus ed\",\n      \"▁cause d\",\n      \"▁ca used\",\n      \"▁the me\",\n      \"▁th eme\",\n      \"▁them e\",\n      \"▁ theme\",\n      \"▁W as\",\n      \"▁Wa s\",\n      \"▁ Was\",\n      \"▁B efore\",\n      \"▁Be fore\",\n      \"▁ Before\",\n      \"ac le\",\n      \"acl e\",\n      \"a cle\",\n      \"▁ро ку\",\n      \"c u\",\n      \"DE V\",\n      \"D EV\",\n      \"▁h ung\",\n      \"▁hun g\",\n      \"▁ hung\",\n      \"text bf\",\n      \"▁s pin\",\n      \"▁sp in\",\n      \"▁ spin\",\n      \"▁la test\",\n      \"▁late st\",\n      \"▁lat est\",\n      \"▁ latest\",\n      \"ent ially\",\n      \"ential ly\",\n      \"enti ally\",\n      \"▁Pro gram\",\n      \"▁Pr ogram\",\n      \"▁ Program\",\n      \"Met adata\",\n      \"Meta data\",\n      \"pass word\",\n      \"▁h urt\",\n      \"▁hur t\",\n      \"к с\",\n      \"▁A us\",\n      \"▁Au s\",\n      \"se y\",\n      \"s ey\",\n      \"al let\",\n      \"all et\",\n      \"alle t\",\n      \"x F\",\n      \"▁R oad\",\n      \"▁Ro ad\",\n      \"ет ся\",\n      \"е тся\",\n      \"▁re nt\",\n      \"▁r ent\",\n      \"▁ren t\",\n      \"▁ rent\",\n      \"ци я\",\n      \"▁As sert\",\n      \"▁Ass ert\",\n      \"▁ Assert\",\n      \"і ль\",\n      \"ü ck\",\n      \"▁s ites\",\n      \"▁sit es\",\n      \"▁si tes\",\n      \"▁site s\",\n      \"Doc ument\",\n      \"D ocument\",\n      \"▁obt ained\",\n      \"▁obtain ed\",\n      \"▁c i\",\n      \"▁ ci\",\n      \"▁[ \\\"\",\n      \"▁ [\\\"\",\n      \"▁com pleted\",\n      \"▁comp leted\",\n      \"▁complet ed\",\n      \"▁compl eted\",\n      \"▁complete d\",\n      \"as et\",\n      \"ase t\",\n      \"a set\",\n      \"ra id\",\n      \"rai d\",\n      \"r aid\",\n      \"▁s orry\",\n      \"▁sor ry\",\n      \"▁f ab\",\n      \"▁fa b\",\n      \"▁ fab\",\n      \"▁sch ools\",\n      \"▁school s\",\n      \"хо ди\",\n      \"ход и\",\n      \"▁s cr\",\n      \"▁sc r\",\n      \"▁ scr\",\n      \"▁in cor\",\n      \"▁inc or\",\n      \"▁' /\",\n      \"▁s pr\",\n      \"▁sp r\",\n      \"▁ spr\",\n      \"▁T ext\",\n      \"▁Te xt\",\n      \"▁Tex t\",\n      \"▁ Text\",\n      \"▁com mercial\",\n      \"▁commer cial\",\n      \"in gly\",\n      \"ing ly\",\n      \"▁opin ion\",\n      \"▁S tar\",\n      \"▁St ar\",\n      \"▁Sta r\",\n      \"▁ Star\",\n      \"Si gn\",\n      \"Sig n\",\n      \"S ign\",\n      \"▁j avax\",\n      \"▁java x\",\n      \"▁ javax\",\n      \"w i\",\n      \"la t\",\n      \"l at\",\n      \"▁K ey\",\n      \"▁Ke y\",\n      \"▁ Key\",\n      \"var phi\",\n      \"д ы\",\n      \"▁conne cted\",\n      \"▁connect ed\",\n      \"▁ connected\",\n      \"▁ad just\",\n      \"▁adj ust\",\n      \"▁ adjust\",\n      \"▁A z\",\n      \"▁ Az\",\n      \"▁pl anning\",\n      \"▁plan ning\",\n      \"-- -\",\n      \"- --\",\n      \"In teger\",\n      \"au f\",\n      \"a uf\",\n      \"ex pected\",\n      \"expect ed\",\n      \"e xpected\",\n      \"▁f ant\",\n      \"▁fa nt\",\n      \"▁fan t\",\n      \"▁t ou\",\n      \"▁to u\",\n      \"Par ent\",\n      \"P arent\",\n      \"▁L at\",\n      \"▁La t\",\n      \"▁ Lat\",\n      \"▁thought s\",\n      \"▁though ts\",\n      \"▁J ud\",\n      \"▁Ju d\",\n      \"Param eters\",\n      \"Parameter s\",\n      \"G r\",\n      \"ро м\",\n      \"I A\",\n      \"▁B ob\",\n      \"▁Bo b\",\n      \"lic t\",\n      \"li ct\",\n      \"l ict\",\n      \"la n\",\n      \"l an\",\n      \"om ic\",\n      \"omi c\",\n      \"o mic\",\n      \"▁a part\",\n      \"▁ap art\",\n      \"▁t rou\",\n      \"▁tr ou\",\n      \"▁tro u\",\n      \"▁app reci\",\n      \"▁Christ mas\",\n      \"ir q\",\n      \"i rq\",\n      \"th on\",\n      \"t hon\",\n      \"▁Er ror\",\n      \"▁Err or\",\n      \"▁ Error\",\n      \"▁s core\",\n      \"▁sc ore\",\n      \"▁ score\",\n      \"ro me\",\n      \"rom e\",\n      \"r ome\",\n      \"▁ne ighbor\",\n      \"▁neigh bor\",\n      \"▁neighb or\",\n      \"▁M ur\",\n      \"▁Mu r\",\n      \"ad min\",\n      \"▁Fil m\",\n      \"▁Fi lm\",\n      \"Re ct\",\n      \"Rec t\",\n      \"R ect\",\n      \"▁config uration\",\n      \"▁ configuration\",\n      \"▁c s\",\n      \"▁ cs\",\n      \"gu n\",\n      \"g un\",\n      \"ch annel\",\n      \"chan nel\",\n      \"▁Re port\",\n      \"▁Rep ort\",\n      \"▁ Report\",\n      \"▁str ateg\",\n      \"▁strat eg\",\n      \"▁work ers\",\n      \"▁wor kers\",\n      \"▁worker s\",\n      \"▁ workers\",\n      \"field s\",\n      \"Sch ema\",\n      \"Sche ma\",\n      \"S chema\",\n      \"ap pa\",\n      \"app a\",\n      \"ol ic\",\n      \"oli c\",\n      \"o lic\",\n      \"E O\",\n      \"▁Ch arl\",\n      \"▁Char l\",\n      \"▁Cha rl\",\n      \"▁C up\",\n      \"▁Cu p\",\n      \"pn g\",\n      \"p ng\",\n      \"▁H ill\",\n      \"▁Hi ll\",\n      \"▁Hil l\",\n      \"ow e\",\n      \"o we\",\n      \"▁most ly\",\n      \"” .\",\n      \"▁fin ish\",\n      \"▁ finish\",\n      \"▁С о\",\n      \"▁st ars\",\n      \"▁star s\",\n      \"▁sta rs\",\n      \"pl ayer\",\n      \"play er\",\n      \"p layer\",\n      \"▁in ner\",\n      \"▁inn er\",\n      \"▁ inner\",\n      \"com ponent\",\n      \"ti m\",\n      \"t im\",\n      \"I E\",\n      \"▁t her\",\n      \"▁the r\",\n      \"▁th er\",\n      \"▁ ther\",\n      \"▁s mart\",\n      \"▁sm art\",\n      \"▁ smart\",\n      \"▁s ad\",\n      \"▁sa d\",\n      \"▁Coun cil\",\n      \"ar ea\",\n      \"are a\",\n      \"a rea\",\n      \"la y\",\n      \"l ay\",\n      \"▁б а\",\n      \"▁ ба\",\n      \"▁gr adu\",\n      \"▁grad u\",\n      \"▁gra du\",\n      \"▁c hem\",\n      \"▁ch em\",\n      \"▁che m\",\n      \"▁ chem\",\n      \"▁h o\",\n      \"▁ ho\",\n      \"Se lect\",\n      \"S elect\",\n      \"▁in str\",\n      \"▁inst r\",\n      \"▁ins tr\",\n      \"▁ instr\",\n      \"▁k l\",\n      \"▁ kl\",\n      \"if ications\",\n      \"ific ations\",\n      \"ification s\",\n      \"Lo ng\",\n      \"L ong\",\n      \"▁s obre\",\n      \"▁so bre\",\n      \"▁sob re\",\n      \"▁O ld\",\n      \"▁Ol d\",\n      \"▁ Old\",\n      \"we st\",\n      \"w est\",\n      \"}, \\\\\",\n      \"} ,\\\\\",\n      \"in gu\",\n      \"ing u\",\n      \"▁sp ring\",\n      \"▁spr ing\",\n      \"▁ spring\",\n      \"▁n ur\",\n      \"▁nu r\",\n      \"ex ample\",\n      \"Wh en\",\n      \"Whe n\",\n      \"W hen\",\n      \"▁adv ice\",\n      \"▁u lt\",\n      \"▁ul t\",\n      \"▁ ult\",\n      \"en nis\",\n      \"enn is\",\n      \"▁L ove\",\n      \"▁Lo ve\",\n      \"▁Lov e\",\n      \"▁ Love\",\n      \"▁\\\" \\\"\",\n      \"▁ \\\"\\\"\",\n      \"▁incre ased\",\n      \"▁increase d\",\n      \"▁f inding\",\n      \"▁fin ding\",\n      \"▁find ing\",\n      \"ir ty\",\n      \"irt y\",\n      \"ist rict\",\n      \"istr ict\",\n      \"i strict\",\n      \"▁l ayer\",\n      \"▁la yer\",\n      \"▁lay er\",\n      \"▁ layer\",\n      \"temp late\",\n      \"t emplate\",\n      \"F irst\",\n      \"ны м\",\n      \"igr ation\",\n      \"ren cy\",\n      \"r ency\",\n      \"ow ie\",\n      \"owi e\",\n      \"o wie\",\n      \"▁n p\",\n      \"▁ np\",\n      \"▁s election\",\n      \"▁se lection\",\n      \"▁select ion\",\n      \"▁sel ection\",\n      \"▁sele ction\",\n      \"▁ selection\",\n      \"▁N ach\",\n      \"▁Na ch\",\n      \"▁P RO\",\n      \"▁PR O\",\n      \"▁ PRO\",\n      \"▁p olic\",\n      \"▁pol ic\",\n      \"▁po lic\",\n      \"▁data base\",\n      \"▁dat abase\",\n      \"▁ database\",\n      \"▁by te\",\n      \"▁ byte\",\n      \"▁prov iding\",\n      \"ma c\",\n      \"m ac\",\n      \"▁me tal\",\n      \"▁met al\",\n      \"▁meta l\",\n      \"mod ules\",\n      \"module s\",\n      \"▁Ge org\",\n      \"▁S a\",\n      \"▁ Sa\",\n      \"▁est ablish\",\n      \"▁estab lish\",\n      \".. .\\\"\",\n      \"... \\\"\",\n      \"i u\",\n      \"ki n\",\n      \"k in\",\n      \"▁e th\",\n      \"▁et h\",\n      \"▁ eth\",\n      \"▁S and\",\n      \"▁San d\",\n      \"▁Sa nd\",\n      \"▁Ch apter\",\n      \"▁Chap ter\",\n      \"▁g al\",\n      \"▁ga l\",\n      \"▁ gal\",\n      \"▁i ce\",\n      \"▁ic e\",\n      \"▁ ice\",\n      \"Re d\",\n      \"R ed\",\n      \"▁d al\",\n      \"▁da l\",\n      \"▁ dal\",\n      \"▁pr incipal\",\n      \"▁princip al\",\n      \"Ms g\",\n      \"M sg\",\n      \"▁rem ains\",\n      \"▁remain s\",\n      \"н г\",\n      \"T itle\",\n      \"Re l\",\n      \"R el\",\n      \"Dis play\",\n      \"No n\",\n      \"N on\",\n      \"▁def inition\",\n      \"▁definit ion\",\n      \"▁defin ition\",\n      \"▁ definition\",\n      \"▁at tr\",\n      \"▁att r\",\n      \"▁ attr\",\n      \"▁sign al\",\n      \"▁sig nal\",\n      \"▁ signal\",\n      \"h l\",\n      \"▁s el\",\n      \"▁se l\",\n      \"▁ sel\",\n      \"▁vol ume\",\n      \"▁ volume\",\n      \"▁c ache\",\n      \"▁ca che\",\n      \"▁ cache\",\n      \"he ns\",\n      \"hen s\",\n      \"h ens\",\n      \"▁w ird\",\n      \"▁wir d\",\n      \"[ \\\\\",\n      \"NO T\",\n      \"N OT\",\n      \"▁e lection\",\n      \"▁el ection\",\n      \"▁elect ion\",\n      \"▁ele ction\",\n      \"▁ election\",\n      \"ut t\",\n      \"u tt\",\n      \"▁W indow\",\n      \"▁Wind ow\",\n      \"▁ Window\",\n      \"en tal\",\n      \"ent al\",\n      \"enta l\",\n      \"if est\",\n      \"ife st\",\n      \"x f\",\n      \"▁Р а\",\n      \"▁over all\",\n      \"bl ic\",\n      \"b lic\",\n      \"▁ed itor\",\n      \"▁edit or\",\n      \"▁ editor\",\n      \"ad en\",\n      \"ade n\",\n      \"a den\",\n      \"▁c art\",\n      \"▁car t\",\n      \"▁ca rt\",\n      \"▁ cart\",\n      \"Le ft\",\n      \"L eft\",\n      \"ul s\",\n      \"u ls\",\n      \"bin g\",\n      \"bi ng\",\n      \"b ing\",\n      \"R ight\",\n      \"▁s é\",\n      \"Si m\",\n      \"S im\",\n      \"▁came ra\",\n      \"▁cam era\",\n      \"▁ camera\",\n      \"▁f av\",\n      \"▁fa v\",\n      \"De cl\",\n      \"Dec l\",\n      \"sp ring\",\n      \"spr ing\",\n      \"▁err ors\",\n      \"▁er rors\",\n      \"▁error s\",\n      \"▁ errors\",\n      \"T ab\",\n      \"print ln\",\n      \"▁B ern\",\n      \"▁Be rn\",\n      \"▁Ber n\",\n      \"na b\",\n      \"n ab\",\n      \"▁B ase\",\n      \"▁Bas e\",\n      \"▁Ba se\",\n      \"▁ Base\",\n      \"▁a uth\",\n      \"▁aut h\",\n      \"▁au th\",\n      \"▁ auth\",\n      \"▁app arent\",\n      \"▁ap parent\",\n      \"▁appar ent\",\n      \"▁pres ented\",\n      \"▁present ed\",\n      \"▁rem ained\",\n      \"▁remain ed\",\n      \"▁w et\",\n      \"▁we t\",\n      \"En c\",\n      \"E nc\",\n      \"IN FO\",\n      \"▁S ing\",\n      \"▁Si ng\",\n      \"▁Sin g\",\n      \"▁ Sing\",\n      \"pack age\",\n      \")) );\",\n      \"))) ;\",\n      \") ));\",\n      \"▁S ocial\",\n      \"▁So cial\",\n      \"▁Soc ial\",\n      \"▁Soci al\",\n      \"▁M ass\",\n      \"▁Ma ss\",\n      \"▁Mas s\",\n      \"▁ Mass\",\n      \"▁des pite\",\n      \"▁desp ite\",\n      \"▁m obile\",\n      \"▁mob ile\",\n      \"▁mobil e\",\n      \"▁ mobile\",\n      \"▁l abor\",\n      \"▁la bor\",\n      \"▁lab or\",\n      \"G o\",\n      \"▁e sp\",\n      \"▁es p\",\n      \"▁ esp\",\n      \"▁T able\",\n      \"▁Ta ble\",\n      \"▁Tab le\",\n      \"▁ Table\",\n      \"▁ex pert\",\n      \"▁exper t\",\n      \"▁exp ert\",\n      \"▁f lex\",\n      \"▁fl ex\",\n      \"▁fle x\",\n      \"▁ flex\",\n      \"▁prof ession\",\n      \"▁profess ion\",\n      \"▁p il\",\n      \"▁pi l\",\n      \"Col lection\",\n      \"Coll ection\",\n      \"Collect ion\",\n      \"LO CK\",\n      \"LOC K\",\n      \"▁ap plied\",\n      \"▁appl ied\",\n      \"al ler\",\n      \"all er\",\n      \"alle r\",\n      \"or ph\",\n      \"orp h\",\n      \"EN SE\",\n      \"ENS E\",\n      \"▁бы л\",\n      \"▁d b\",\n      \"▁ db\",\n      \"over line\",\n      \"▁C ode\",\n      \"▁Co de\",\n      \"▁ Code\",\n      \"▁by tes\",\n      \"▁byte s\",\n      \"▁ bytes\",\n      \"▁tr ouble\",\n      \"▁trou ble\",\n      \"▁на се\",\n      \"D D\",\n      \"▁Y ear\",\n      \"▁Ye ar\",\n      \"▁ Year\",\n      \"mb ox\",\n      \"m box\",\n      \"▁ke eping\",\n      \"▁keep ing\",\n      \"▁ keeping\",\n      \"▁k ick\",\n      \"▁ki ck\",\n      \"än g\",\n      \"ä ng\",\n      \"▁correspon ding\",\n      \"▁correspond ing\",\n      \"▁l ibrary\",\n      \"▁ library\",\n      \"▁*/ \\r\",\n      \"▁ */\\r\",\n      \"call back\",\n      \"um s\",\n      \"u ms\",\n      \"▁j son\",\n      \"▁js on\",\n      \"▁ json\",\n      \"▁M ount\",\n      \"▁Mo unt\",\n      \"▁ Mount\",\n      \"▁St and\",\n      \"▁Stan d\",\n      \"▁Sta nd\",\n      \"▁ Stand\",\n      \"IG HT\",\n      \"IGH T\",\n      \"▁New s\",\n      \"▁Ne ws\",\n      \"▁ News\",\n      \"▁com ments\",\n      \"▁comm ents\",\n      \"▁comment s\",\n      \"▁ comments\",\n      \"return s\",\n      \"C al\",\n      \"▁a ward\",\n      \"▁aw ard\",\n      \"▁b ought\",\n      \"▁bou ght\",\n      \"include graphics\",\n      \"▁ ле\",\n      \"do t\",\n      \"d ot\",\n      \"ro nic\",\n      \"ron ic\",\n      \"r onic\",\n      \"▁extrem ely\",\n      \"▁extreme ly\",\n      \"▁min or\",\n      \"▁mi nor\",\n      \"if er\",\n      \"ife r\",\n      \"i fer\",\n      \"ja va\",\n      \"jav a\",\n      \"j ava\",\n      \"en dar\",\n      \"end ar\",\n      \"enda r\",\n      \"la yout\",\n      \"lay out\",\n      \"l ayout\",\n      \"pl ies\",\n      \"▁b uf\",\n      \"▁bu f\",\n      \"▁ buf\",\n      \"▁Is land\",\n      \"▁Ab out\",\n      \"▁ About\",\n      \"▁w est\",\n      \"▁we st\",\n      \"▁ west\",\n      \"▁S cott\",\n      \"▁Sc ott\",\n      \"▁Scot t\",\n      \"AC T\",\n      \"A CT\",\n      \"Wh y\",\n      \"W hy\",\n      \"▁large st\",\n      \"▁larg est\",\n      \"▁cont ainer\",\n      \"▁contain er\",\n      \"▁ container\",\n      \"▁t emperature\",\n      \"▁temper ature\",\n      \"▁ £\",\n      \"▁red uce\",\n      \"▁redu ce\",\n      \"▁ reduce\",\n      \"▁f oi\",\n      \"▁fo i\",\n      \"ha n\",\n      \"h an\",\n      \"▁b od\",\n      \"▁bo d\",\n      \"▁V an\",\n      \"▁Va n\",\n      \"▁null ptr\",\n      \"▁ nullptr\",\n      \"▁d ating\",\n      \"▁da ting\",\n      \"▁dat ing\",\n      \"▁ dating\",\n      \"▁ch ain\",\n      \"▁cha in\",\n      \"▁ chain\",\n      \"Fl ags\",\n      \"Flag s\",\n      \"ient o\",\n      \"ien to\",\n      \"i ento\",\n      \"so rt\",\n      \"sor t\",\n      \"s ort\",\n      \"▁f an\",\n      \"▁fa n\",\n      \"▁ fan\",\n      \"▁det ermine\",\n      \"▁determ ine\",\n      \"▁determin e\",\n      \"▁deter mine\",\n      \"▁w ear\",\n      \"▁we ar\",\n      \"▁ wear\",\n      \"B E\",\n      \"▁appropri ate\",\n      \"л ся\",\n      \"то в\",\n      \"т ов\",\n      \"▁go als\",\n      \"▁goal s\",\n      \"▁M ap\",\n      \"▁Ma p\",\n      \"▁ Map\",\n      \"▁S ar\",\n      \"▁Sa r\",\n      \"▁O ption\",\n      \"▁Opt ion\",\n      \"▁ Option\",\n      \"▁h ate\",\n      \"▁ha te\",\n      \"▁hat e\",\n      \"▁z ijn\",\n      \", -\",\n      \"▁im plied\",\n      \"▁impl ied\",\n      \"bit s\",\n      \"bi ts\",\n      \"b its\",\n      \"▁M en\",\n      \"▁Me n\",\n      \"▁ Men\",\n      \"sk ip\",\n      \"ski p\",\n      \"▁M ond\",\n      \"▁Mon d\",\n      \"▁Mo nd\",\n      \"▁H on\",\n      \"▁Ho n\",\n      \"▁pro ve\",\n      \"▁pr ove\",\n      \"▁prov e\",\n      \"va n\",\n      \"v an\",\n      \"▁tr aff\",\n      \"▁tra ff\",\n      \"▁in tr\",\n      \"▁int r\",\n      \"▁ intr\",\n      \"pi c\",\n      \"p ic\",\n      \"▁dro pped\",\n      \"▁drop ped\",\n      \"▁w erd\",\n      \"▁we rd\",\n      \"▁wer d\",\n      \"▁separ ate\",\n      \"is a\",\n      \"i sa\",\n      \"▁t ab\",\n      \"▁ta b\",\n      \"▁ tab\",\n      \"tm l\",\n      \"t ml\",\n      \"▁\\\" $\",\n      \"mu tex\",\n      \"mut ex\",\n      \"▁P an\",\n      \"▁Pa n\",\n      \"▁ Pan\",\n      \"ser ve\",\n      \"serv e\",\n      \"s erve\",\n      \"▁hot el\",\n      \"▁L ast\",\n      \"▁La st\",\n      \"▁Las t\",\n      \"▁ Last\",\n      \"st ep\",\n      \"ste p\",\n      \"▁v ir\",\n      \"▁vi r\",\n      \"▁ vir\",\n      \"R ule\",\n      \"is tan\",\n      \"ist an\",\n      \"ista n\",\n      \"i stan\",\n      \"ot ing\",\n      \"oti ng\",\n      \"o ting\",\n      \"ar ks\",\n      \"ark s\",\n      \"(_ _\",\n      \"( __\",\n      \"▁e ls\",\n      \"▁el s\",\n      \"▁ els\",\n      \"Pl ayer\",\n      \"Play er\",\n      \"P layer\",\n      \"] ]\",\n      \"ви ч\",\n      \"yc h\",\n      \"y ch\",\n      \"ex ception\",\n      \"except ion\",\n      \"=\\\" ../\",\n      \"▁im agine\",\n      \"▁imag ine\",\n      \"▁imagin e\",\n      \"\\\"} ,\",\n      \"\\\" },\",\n      \"ic ago\",\n      \"ica go\",\n      \"el er\",\n      \"ele r\",\n      \"e ler\",\n      \"▁v s\",\n      \"▁ vs\",\n      \"▁A frica\",\n      \"▁Afr ica\",\n      \"▁Bus iness\",\n      \"oc ks\",\n      \"ock s\",\n      \"o cks\",\n      \"▁p rz\",\n      \"▁pr z\",\n      \"▁fuck ing\",\n      \"▁p icked\",\n      \"▁pick ed\",\n      \"▁pic ked\",\n      \"▁в і\",\n      \"▁ ві\",\n      \"▁\\\" ,\",\n      \"▁ \\\",\",\n      \"▁b ott\",\n      \"▁bo tt\",\n      \"▁bot t\",\n      \"▁fail ure\",\n      \"▁ failure\",\n      \"[ :\",\n      \"▁G ar\",\n      \"▁Ga r\",\n      \"ap es\",\n      \"ape s\",\n      \"a pes\",\n      \"up le\",\n      \"u ple\",\n      \"▁f er\",\n      \"▁fe r\",\n      \"▁ fer\",\n      \"▁p urchase\",\n      \"▁purch ase\",\n      \"▁п ер\",\n      \"▁пе р\",\n      \"▁ пер\",\n      \"▁b ird\",\n      \"▁bi rd\",\n      \"▁ bird\",\n      \"W idget\",\n      \"▁Sund ay\",\n      \"▁Sun day\",\n      \"▁A maz\",\n      \"▁Am az\",\n      \"▁ Amaz\",\n      \"▁cons ult\",\n      \"ut sch\",\n      \"uts ch\",\n      \"an to\",\n      \"ant o\",\n      \"St orage\",\n      \"▁he ader\",\n      \"▁head er\",\n      \"▁ header\",\n      \"üh r\",\n      \"ü hr\",\n      \"▁H a\",\n      \"▁ Ha\",\n      \"▁Associ ation\",\n      \"▁s ight\",\n      \"▁si ght\",\n      \"▁sig ht\",\n      \"▁sigh t\",\n      \"C ell\",\n      \"▁pro file\",\n      \"▁prof ile\",\n      \"▁ profile\",\n      \"▁fem ale\",\n      \"å n\",\n      \"▁w id\",\n      \"▁ wid\",\n      \"z n\",\n      \"Dir ect\",\n      \"Di rect\",\n      \"D irect\",\n      \"▁st ret\",\n      \"▁str et\",\n      \"▁stre t\",\n      \"▁ stret\",\n      \"aa t\",\n      \"a at\",\n      \"▁pat ient\",\n      \"▁ patient\",\n      \"he re\",\n      \"her e\",\n      \"h ere\",\n      \"▁A tl\",\n      \"▁At l\",\n      \"in et\",\n      \"ine t\",\n      \"i net\",\n      \"Def inition\",\n      \"im ary\",\n      \"ima ry\",\n      \"i mary\",\n      \"Pol icy\",\n      \"▁d ut\",\n      \"▁du t\",\n      \"▁major ity\",\n      \"с і\",\n      \"▁Pro ject\",\n      \"▁ Project\",\n      \"By Id\",\n      \"▁belie ved\",\n      \"▁believe d\",\n      \"▁Mus ic\",\n      \"▁ Music\",\n      \"з ы\",\n      \"an ti\",\n      \"ant i\",\n      \"▁o der\",\n      \"▁od er\",\n      \"▁ oder\",\n      \"Ch annel\",\n      \"▁s le\",\n      \"▁sl e\",\n      \"▁sequ ence\",\n      \"▁ sequence\",\n      \"▁pie ces\",\n      \"▁piece s\",\n      \"▁k ne\",\n      \"▁kn e\",\n      \"▁abs olutely\",\n      \"▁absolut ely\",\n      \"▁absolute ly\",\n      \"▁Phil ip\",\n      \"ab ilities\",\n      \"abil ities\",\n      \"Qu e\",\n      \"Q ue\",\n      \"▁K ar\",\n      \"▁Ka r\",\n      \"Ex ecut\",\n      \"Exec ut\",\n      \"▁D evel\",\n      \"▁De vel\",\n      \"▁Dev el\",\n      \"▁elect ric\",\n      \"ful l\",\n      \"fu ll\",\n      \"f ull\",\n      \"rol led\",\n      \"roll ed\",\n      \"Do m\",\n      \"D om\",\n      \"▁r iver\",\n      \"▁ri ver\",\n      \"▁riv er\",\n      \"▁ river\",\n      \"▁health y\",\n      \"▁heal thy\",\n      \"▁ex tern\",\n      \"▁ext ern\",\n      \"fi t\",\n      \"f it\",\n      \"▁co ach\",\n      \"▁K r\",\n      \"as ta\",\n      \"ast a\",\n      \"a sta\",\n      \"Com pat\",\n      \"Comp at\",\n      \"▁e xit\",\n      \"▁ex it\",\n      \"▁ exit\",\n      \"▁Con st\",\n      \"▁Cons t\",\n      \"▁ Const\",\n      \"af ter\",\n      \"aft er\",\n      \"a fter\",\n      \"▁should er\",\n      \"▁j obs\",\n      \"▁job s\",\n      \"▁jo bs\",\n      \"zo ne\",\n      \"zon e\",\n      \"z one\",\n      \"▁s ale\",\n      \"▁sa le\",\n      \"▁sal e\",\n      \"ix el\",\n      \"▁determ ined\",\n      \"▁determine d\",\n      \"▁determin ed\",\n      \"▁any way\",\n      \"or f\",\n      \"o rf\",\n      \"▁G er\",\n      \"▁Ge r\",\n      \"all el\",\n      \"alle l\",\n      \"re es\",\n      \"ree s\",\n      \"r ees\",\n      \"as m\",\n      \"a sm\",\n      \"im s\",\n      \"i ms\",\n      \"▁rec ords\",\n      \"▁record s\",\n      \"▁ records\",\n      \"▁cor por\",\n      \"▁int ellig\",\n      \"▁intel lig\",\n      \"▁P rem\",\n      \"▁Pr em\",\n      \"▁Pre m\",\n      \"▁d riving\",\n      \"▁dr iving\",\n      \"▁dri ving\",\n      \"▁driv ing\",\n      \"▁mar riage\",\n      \"▁Th ank\",\n      \"▁ Thank\",\n      \"▁w illing\",\n      \"▁will ing\",\n      \"M C\",\n      \"Field s\",\n      \"It ems\",\n      \"Item s\",\n      \"▁m icro\",\n      \"▁mi cro\",\n      \"▁mic ro\",\n      \"▁l ift\",\n      \"▁li ft\",\n      \"▁lif t\",\n      \"ir ection\",\n      \"ire ction\",\n      \"irect ion\",\n      \"i rection\",\n      \"Acc ount\",\n      \"Ac count\",\n      \"▁arch itect\",\n      \"tr ack\",\n      \"tra ck\",\n      \"▁p rin\",\n      \"▁pr in\",\n      \"▁pri n\",\n      \"P A\",\n      \"▁r uns\",\n      \"▁run s\",\n      \"▁ru ns\",\n      \"▁Tex as\",\n      \"is her\",\n      \"ish er\",\n      \"en sure\",\n      \"ens ure\",\n      \"▁B oth\",\n      \"▁Bo th\",\n      \"▁Bot h\",\n      \"ко м\",\n      \"▁Col or\",\n      \"▁Co lor\",\n      \"▁ Color\",\n      \"Reg ister\",\n      \"▁J oe\",\n      \"▁Jo e\",\n      \"ge q\",\n      \"g eq\",\n      \"le ts\",\n      \"let s\",\n      \"l ets\",\n      \"ad ing\",\n      \"adi ng\",\n      \"a ding\",\n      \"▁ar my\",\n      \"▁arm y\",\n      \"▁B ank\",\n      \"▁Ban k\",\n      \"▁ Bank\",\n      \"ot ic\",\n      \"oti c\",\n      \"Pro duct\",\n      \"Produ ct\",\n      \"im port\",\n      \"imp ort\",\n      \"▁W ed\",\n      \"▁We d\",\n      \"▁c ry\",\n      \"▁cr y\",\n      \"gr ade\",\n      \"grad e\",\n      \"gra de\",\n      \"g rade\",\n      \"di g\",\n      \"d ig\",\n      \"ga l\",\n      \"g al\",\n      \"к ла\",\n      \"es ted\",\n      \"est ed\",\n      \"este d\",\n      \"e sted\",\n      \"õ es\",\n      \"ge rs\",\n      \"ger s\",\n      \"g ers\",\n      \"olog ie\",\n      \"olo gie\",\n      \"то м\",\n      \"ra zy\",\n      \"raz y\",\n      \"r azy\",\n      \"▁d inner\",\n      \"▁din ner\",\n      \"Q U\",\n      \"▁fin gers\",\n      \"▁fing ers\",\n      \"▁finger s\",\n      \"UL E\",\n      \"U LE\",\n      \"cl aim\",\n      \"▁adv antage\",\n      \"▁advant age\",\n      \"▁var iable\",\n      \"▁vari able\",\n      \"▁ variable\",\n      \"▁med ic\",\n      \"▁medi c\",\n      \"▁m ale\",\n      \"▁ma le\",\n      \"▁mal e\",\n      \"▁circ um\",\n      \"▁м і\",\n      \"▁ мі\",\n      \"▁inter net\",\n      \"▁intern et\",\n      \"W N\",\n      \"▁l ab\",\n      \"▁la b\",\n      \"▁ lab\",\n      \"az ine\",\n      \"azi ne\",\n      \"ч но\",\n      \"▁l oop\",\n      \"▁lo op\",\n      \"▁ loop\",\n      \"▁p red\",\n      \"▁pre d\",\n      \"▁pr ed\",\n      \"▁ pred\",\n      \"▁con sequ\",\n      \"▁cons equ\",\n      \"▁conse qu\",\n      \"▁bal ance\",\n      \"▁ balance\",\n      \"fort un\",\n      \"▁g ift\",\n      \"▁gi ft\",\n      \"▁d rug\",\n      \"▁dr ug\",\n      \"▁dru g\",\n      \"▁c ash\",\n      \"▁cas h\",\n      \"▁ca sh\",\n      \"ски х\",\n      \"с ких\",\n      \"r g\",\n      \"ist ribut\",\n      \"▁high est\",\n      \"▁hig hest\",\n      \"êm e\",\n      \"ê me\",\n      \"em ph\",\n      \"emp h\",\n      \"em on\",\n      \"e mon\",\n      \"▁per formed\",\n      \"▁perform ed\",\n      \"cu t\",\n      \"c ut\",\n      \"▁cl oser\",\n      \"▁close r\",\n      \"▁clos er\",\n      \"▁clo ser\",\n      \"▁be coming\",\n      \"▁bec oming\",\n      \"▁\\\" \\\",\",\n      \"▁\\\"\\\" ,\",\n      \"st ar\",\n      \"sta r\",\n      \"s tar\",\n      \"pu b\",\n      \"p ub\",\n      \"▁pre par\",\n      \"▁prep ar\",\n      \"▁v ote\",\n      \"▁vo te\",\n      \"▁vot e\",\n      \"▁ vote\",\n      \"il de\",\n      \"ild e\",\n      \"▁im press\",\n      \"▁imp ress\",\n      \"▁employ ees\",\n      \"▁employee s\",\n      \"▁e inen\",\n      \"▁ein en\",\n      \"▁eine n\",\n      \"▁sm ooth\",\n      \"▁s now\",\n      \"▁sn ow\",\n      \"▁p urs\",\n      \"▁pur s\",\n      \"▁pu rs\",\n      \"▁v oc\",\n      \"▁vo c\",\n      \"▁M icrosoft\",\n      \"▁Micro soft\",\n      \"▁ Microsoft\",\n      \"P U\",\n      \"▁in come\",\n      \"▁inc ome\",\n      \"in os\",\n      \"ino s\",\n      \"i nos\",\n      \"▁oper ator\",\n      \"▁opera tor\",\n      \"▁ operator\",\n      \"▁equ ival\",\n      \"▁pass word\",\n      \"▁ password\",\n      \"ci ón\",\n      \"ció n\",\n      \"c ión\",\n      \"su ccess\",\n      \"▁e mp\",\n      \"▁em p\",\n      \"▁ emp\",\n      \"HO UT\",\n      \"H OUT\",\n      \"▁c a\",\n      \"▁ ca\",\n      \"fl ag\",\n      \"f lag\",\n      \"il ly\",\n      \"ill y\",\n      \"cre te\",\n      \"cr ete\",\n      \"cret e\",\n      \"fr ak\",\n      \"▁h idden\",\n      \"▁hid den\",\n      \"▁ hidden\",\n      \"▁\\\" %\",\n      \"▁ \\\"%\",\n      \"ER N\",\n      \"ро ва\",\n      \"ров а\",\n      \"▁U N\",\n      \"▁ UN\",\n      \"ro ke\",\n      \"rok e\",\n      \"r oke\",\n      \"mi ss\",\n      \"m iss\",\n      \"▁s plit\",\n      \"▁sp lit\",\n      \"▁spl it\",\n      \"▁ split\",\n      \"Re ference\",\n      \")$ ,\",\n      \") $,\",\n      \"ep er\",\n      \"e per\",\n      \"▁N O\",\n      \"▁ NO\",\n      \"▁s quare\",\n      \"▁squ are\",\n      \"▁ square\",\n      \"su r\",\n      \"s ur\",\n      \"че н\",\n      \"ч ен\",\n      \"es ter\",\n      \"est er\",\n      \"este r\",\n      \"e ster\",\n      \"н ь\",\n      \"} \\\"\",\n      \"ra wn\",\n      \"raw n\",\n      \"r awn\",\n      \"ru le\",\n      \"r ule\",\n      \"▁aud ience\",\n      \"es te\",\n      \"est e\",\n      \"e ste\",\n      \"em s\",\n      \"e ms\",\n      \"IC ENSE\",\n      \"▁I ll\",\n      \"▁Il l\",\n      \"▁ Ill\",\n      \"US E\",\n      \"U SE\",\n      \"▁b on\",\n      \"▁bo n\",\n      \"▁ bon\",\n      \"bu r\",\n      \"b ur\",\n      \"▁s ick\",\n      \"▁si ck\",\n      \"▁h orse\",\n      \"▁hor se\",\n      \"▁hors e\",\n      \"▁E duc\",\n      \"▁Ed uc\",\n      \"▁Edu c\",\n      \"▁benef it\",\n      \"▁c ro\",\n      \"▁cr o\",\n      \"▁ cro\",\n      \"Ap plication\",\n      \"▁cor re\",\n      \"▁gu arante\",\n      \"DA TA\",\n      \"DAT A\",\n      \"D ATA\",\n      \"▁expl ained\",\n      \"▁explain ed\",\n      \"T X\",\n      \"▁o nt\",\n      \"▁on t\",\n      \"▁ ont\",\n      \"▁F lor\",\n      \"▁Fl or\",\n      \"▁Flo r\",\n      \"▁re ports\",\n      \"▁rep orts\",\n      \"▁report s\",\n      \"▁Re al\",\n      \"▁ Real\",\n      \"ud ed\",\n      \"ude d\",\n      \"u ded\",\n      \"le an\",\n      \"▁cit iz\",\n      \"▁dec ide\",\n      \"▁decid e\",\n      \"W S\",\n      \"▁do main\",\n      \"▁dom ain\",\n      \"▁ domain\",\n      \"▁ref lect\",\n      \"▁ reflect\",\n      \"▁min imum\",\n      \"▁minim um\",\n      \"▁le gs\",\n      \"▁leg s\",\n      \"▁sm iled\",\n      \"▁smile d\",\n      \"f i\",\n      \"▁p ure\",\n      \"▁pur e\",\n      \"▁pu re\",\n      \"▁C ustom\",\n      \"▁ Custom\",\n      \"▁ess ential\",\n      \"▁observ ed\",\n      \"▁observe d\",\n      \"▁obs erved\",\n      \"By tes\",\n      \"Byte s\",\n      \"▁c tx\",\n      \"▁ ctx\",\n      \"▁r ates\",\n      \"▁rate s\",\n      \"▁rat es\",\n      \"▁ra tes\",\n      \"mb re\",\n      \"m bre\",\n      \"▁w orry\",\n      \"▁wor ry\",\n      \") ^\",\n      \"▁Re search\",\n      \"▁Res earch\",\n      \"Ro ot\",\n      \"R oot\",\n      \"Window s\",\n      \"ult ure\",\n      \"ultur e\",\n      \"▁rel ative\",\n      \"▁relativ e\",\n      \"▁ relative\",\n      \"▁s eu\",\n      \"▁se u\",\n      \"▁n ie\",\n      \"▁ni e\",\n      \"▁ nie\",\n      \"▁s hook\",\n      \"▁sh ook\",\n      \"ious ly\",\n      \"i ously\",\n      \"▁ad vert\",\n      \"▁adv ert\",\n      \"Se e\",\n      \"S ee\",\n      \"▁Cent ral\",\n      \"▁b atter\",\n      \"▁batt er\",\n      \"▁bat ter\",\n      \"▁s igned\",\n      \"▁sign ed\",\n      \"▁sig ned\",\n      \"▁ signed\",\n      \"T S\",\n      \"on i\",\n      \"o ni\",\n      \"▁pre pared\",\n      \"▁prep ared\",\n      \"▁prepar ed\",\n      \"▁prepare d\",\n      \"ga te\",\n      \"g ate\",\n      \"▁C are\",\n      \"▁Car e\",\n      \"▁Ca re\",\n      \"ca re\",\n      \"car e\",\n      \"c are\",\n      \"▁sup ply\",\n      \"▁supp ly\",\n      \"Ex p\",\n      \"E xp\",\n      \"bol ds\",\n      \"bold s\",\n      \"b olds\",\n      \"▁tr ail\",\n      \"▁tra il\",\n      \"▁f ish\",\n      \"▁fi sh\",\n      \"▁fis h\",\n      \"▁ fish\",\n      \"▁un its\",\n      \"▁unit s\",\n      \"▁ units\",\n      \"ven ue\",\n      \"v enue\",\n      \"х и\",\n      \"▁W ood\",\n      \"▁Wo od\",\n      \"▁c ategory\",\n      \"▁categ ory\",\n      \"▁categor y\",\n      \"▁ category\",\n      \"▁b le\",\n      \"▁bl e\",\n      \"▁ ble\",\n      \"▁over ride\",\n      \"▁ override\",\n      \"fo o\",\n      \"f oo\",\n      \"▁influ ence\",\n      \"en th\",\n      \"ent h\",\n      \"ri j\",\n      \"r ij\",\n      \"▁ad apt\",\n      \"ic ians\",\n      \"ici ans\",\n      \"ician s\",\n      \"icia ns\",\n      \"de leted\",\n      \"del eted\",\n      \"delete d\",\n      \"▁v ision\",\n      \"▁vis ion\",\n      \"▁ vision\",\n      \"ct rl\",\n      \"ctr l\",\n      \"c trl\",\n      \"L ambda\",\n      \"t p\",\n      \"mon d\",\n      \"mo nd\",\n      \"m ond\",\n      \"atur day\",\n      \"norm al\",\n      \"nor mal\",\n      \"n ormal\",\n      \"▁thous and\",\n      \"▁Prof ess\",\n      \"▁dise ase\",\n      \"cl ip\",\n      \"cli p\",\n      \"▁г ра\",\n      \"▁ гра\",\n      \"bolds ymbol\",\n      \"bold symbol\",\n      \"O B\",\n      \"▁chall enge\",\n      \"▁challeng e\",\n      \"▁m otion\",\n      \"▁mot ion\",\n      \"▁w his\",\n      \"▁wh is\",\n      \"▁le aders\",\n      \"▁lead ers\",\n      \"▁leader s\",\n      \"▁col on\",\n      \"▁co lon\",\n      \"▁ colon\",\n      \"▁s uit\",\n      \"▁su it\",\n      \"▁ suit\",\n      \"mi d\",\n      \"m id\",\n      \"amp ion\",\n      \"á g\",\n      \"▁view s\",\n      \"▁vie ws\",\n      \"▁ views\",\n      \"▁app ears\",\n      \"▁appe ars\",\n      \"▁appear s\",\n      \"an cel\",\n      \"ance l\",\n      \"anc el\",\n      \"▁z we\",\n      \"▁zw e\",\n      \"IS T\",\n      \"I ST\",\n      \"▁le aves\",\n      \"▁leave s\",\n      \"▁e nh\",\n      \"▁en h\",\n      \"▁ enh\",\n      \"Act ive\",\n      \"Activ e\",\n      \"▁d it\",\n      \"▁di t\",\n      \"▁ dit\",\n      \"if icate\",\n      \"ific ate\",\n      \"ifica te\",\n      \"mat rix\",\n      \"Ex pression\",\n      \"Exp ression\",\n      \"Expr ession\",\n      \"Express ion\",\n      \"Re ader\",\n      \"Read er\",\n      \"▁m ental\",\n      \"▁men tal\",\n      \"▁ment al\",\n      \"em bre\",\n      \"emb re\",\n      \"e mbre\",\n      \"▁de cor\",\n      \"▁dec or\",\n      \"▁ decor\",\n      \"ar ts\",\n      \"art s\",\n      \"▁v ent\",\n      \"▁ve nt\",\n      \"▁ven t\",\n      \"▁ vent\",\n      \"ne l\",\n      \"n el\",\n      \"line s\",\n      \"li nes\",\n      \"lin es\",\n      \"l ines\",\n      \"up id\",\n      \"u pid\",\n      \"er ved\",\n      \"erv ed\",\n      \"erve d\",\n      \"▁bo ys\",\n      \"▁boy s\",\n      \"▁ boys\",\n      \"ал ь\",\n      \"а ль\",\n      \"MO D\",\n      \"M OD\",\n      \"is l\",\n      \"i sl\",\n      \"▁[ [\",\n      \"▁ [[\",\n      \"ph y\",\n      \"p hy\",\n      \"▁. .\",\n      \"▁ ..\",\n      \"▁a gent\",\n      \"▁ag ent\",\n      \"▁age nt\",\n      \"▁ agent\",\n      \"▁S ervices\",\n      \"▁Service s\",\n      \"▁Serv ices\",\n      \"▁ Services\",\n      \"▁i ron\",\n      \"▁ir on\",\n      \"▁ iron\",\n      \"▁com ponents\",\n      \"▁compon ents\",\n      \"▁component s\",\n      \"▁ components\",\n      \"▁f re\",\n      \"▁fr e\",\n      \"▁ fre\",\n      \"iction ary\",\n      \"▁t ests\",\n      \"▁te sts\",\n      \"▁test s\",\n      \"▁ tests\",\n      \".~ \\\\\",\n      \". ~\\\\\",\n      \"ob s\",\n      \"o bs\",\n      \"▁М и\",\n      \"▁об ла\",\n      \"▁ass ess\",\n      \"▁Fr iday\",\n      \"▁we ather\",\n      \"k g\",\n      \"ст ра\",\n      \"с тра\",\n      \". }\",\n      \"end ant\",\n      \"enda nt\",\n      \"an na\",\n      \"ann a\",\n      \"▁Japan ese\",\n      \"cm p\",\n      \"c mp\",\n      \"▁Ar my\",\n      \"▁Arm y\",\n      \"on ym\",\n      \"ony m\",\n      \"o nym\",\n      \"▁rel ax\",\n      \"date s\",\n      \"da tes\",\n      \"dat es\",\n      \"d ates\",\n      \"▁R ussian\",\n      \"▁Russ ian\",\n      \"▁Russia n\",\n      \"▁excell ent\",\n      \"') )\",\n      \"' ))\",\n      \"IL ITY\",\n      \"▁sh owing\",\n      \"▁show ing\",\n      \"▁Dan iel\",\n      \"м я\",\n      \"▁M ain\",\n      \"▁Ma in\",\n      \"▁Mai n\",\n      \"▁ Main\",\n      \"Ph i\",\n      \"P hi\",\n      \"▁R ock\",\n      \"▁Ro ck\",\n      \"▁Roc k\",\n      \"▁g rew\",\n      \"▁gr ew\",\n      \"▁gre w\",\n      \"▁y ield\",\n      \"i ère\",\n      \"se g\",\n      \"s eg\",\n      \"}} $\",\n      \"} }$\",\n      \"▁st rict\",\n      \"▁str ict\",\n      \"▁stri ct\",\n      \"▁ strict\",\n      \"▁v ehicle\",\n      \"▁veh icle\",\n      \"U D\",\n      \"A F\",\n      \"S w\",\n      \"▁c hest\",\n      \"▁ch est\",\n      \"▁che st\",\n      \"▁off icer\",\n      \"▁offic er\",\n      \"▁office r\",\n      \"▁e ar\",\n      \"▁ ear\",\n      \"HE R\",\n      \"H ER\",\n      \"no on\",\n      \"n oon\",\n      \"▁jour ney\",\n      \"N T\",\n      \"▁d ivers\",\n      \"▁di vers\",\n      \"▁div ers\",\n      \"▁diver s\",\n      \"▁dive rs\",\n      \"▁Fin ally\",\n      \"▁Final ly\",\n      \"F ound\",\n      \"▁A S\",\n      \"▁ AS\",\n      \"ri k\",\n      \"r ik\",\n      \"▁con str\",\n      \"▁const r\",\n      \"▁cons tr\",\n      \"▁s ust\",\n      \"▁su st\",\n      \"▁sus t\",\n      \"ac count\",\n      \"acc ount\",\n      \"acco unt\",\n      \"▁w alls\",\n      \"▁wall s\",\n      \"▁wal ls\",\n      \"▁entire ly\",\n      \"It er\",\n      \"I ter\",\n      \"ch a\",\n      \"c ha\",\n      \"is hes\",\n      \"ish es\",\n      \"IV E\",\n      \"I VE\",\n      \"▁pr ime\",\n      \"▁prim e\",\n      \"▁pri me\",\n      \"▁ prime\",\n      \"▁ …\",\n      \"x e\",\n      \"ut en\",\n      \"ute n\",\n      \"u ten\",\n      \"ar se\",\n      \"ars e\",\n      \"▁P a\",\n      \"put e\",\n      \"pu te\",\n      \"p ute\",\n      \"ä l\",\n      \"▁prote ction\",\n      \"▁protect ion\",\n      \"▁prot ection\",\n      \"▁ke ys\",\n      \"▁key s\",\n      \"▁ keys\",\n      \"Ma y\",\n      \"M ay\",\n      \"By te\",\n      \"Con st\",\n      \"Cons t\",\n      \"B L\",\n      \"▁п е\",\n      \"▁ пе\",\n      \"▁s pl\",\n      \"▁sp l\",\n      \"▁ spl\",\n      \"▁cl othes\",\n      \"▁cloth es\",\n      \"as hed\",\n      \"ash ed\",\n      \"Mar k\",\n      \"M ark\",\n      \"è me\",\n      \"▁f ait\",\n      \"▁fa it\",\n      \"▁introdu ced\",\n      \"▁introduce d\",\n      \"un lock\",\n      \"▁In stead\",\n      \"▁Inst ead\",\n      \"ans ion\",\n      \"reg ion\",\n      \"▁Amer icans\",\n      \"▁American s\",\n      \"▁America ns\",\n      \"▁ind eed\",\n      \"▁inde ed\",\n      \"wid get\",\n      \"w idget\",\n      \"▁real ize\",\n      \"▁realiz e\",\n      \"▁f ro\",\n      \"▁fr o\",\n      \"BI T\",\n      \"B IT\",\n      \"▁Re act\",\n      \"▁ React\",\n      \"RE AD\",\n      \"as ket\",\n      \"ask et\",\n      \"ne ver\",\n      \"n ever\",\n      \"▁p oll\",\n      \"▁pol l\",\n      \"▁po ll\",\n      \"▁ poll\",\n      \"ic ol\",\n      \"ico l\",\n      \"i col\",\n      \"▁p rev\",\n      \"▁pre v\",\n      \"▁pr ev\",\n      \"▁ prev\",\n      \"▁h yp\",\n      \"▁hy p\",\n      \"▁F ur\",\n      \"▁Fu r\",\n      \"cl oud\",\n      \"▁L ee\",\n      \"▁Le e\",\n      \"pl ing\",\n      \"p ling\",\n      \"▁Ch ild\",\n      \"▁Chi ld\",\n      \"▁ Child\",\n      \"▁ide al\",\n      \"▁idea l\",\n      \"Se lector\",\n      \"Select or\",\n      \"STAT US\",\n      \"uct ure\",\n      \"▁w ine\",\n      \"▁win e\",\n      \"▁poss ibly\",\n      \"▁put ting\",\n      \"▁r iv\",\n      \"▁ri v\",\n      \"▁ riv\",\n      \"▁w earing\",\n      \"▁we aring\",\n      \"▁wear ing\",\n      \"▁S ource\",\n      \"▁ Source\",\n      \"▁C as\",\n      \"▁Ca s\",\n      \"Ch anged\",\n      \"Change d\",\n      \"▁th anks\",\n      \"▁than ks\",\n      \"▁thank s\",\n      \"TI ME\",\n      \"TIM E\",\n      \"T IME\",\n      \"▁s port\",\n      \"▁sp ort\",\n      \"▁spo rt\",\n      \"▁A ward\",\n      \"▁Aw ard\",\n      \"▁g lad\",\n      \"▁gl ad\",\n      \"▁P ass\",\n      \"▁Pa ss\",\n      \"▁Pas s\",\n      \"▁ Pass\",\n      \"▁P os\",\n      \"▁Po s\",\n      \"▁ Pos\",\n      \"sc he\",\n      \"sch e\",\n      \"s che\",\n      \"▁C D\",\n      \"▁ CD\",\n      \"▁aff ord\",\n      \"▁af ford\",\n      \"▁W omen\",\n      \"▁Wo men\",\n      \"▁D istrict\",\n      \"▁Di strict\",\n      \"▁Dist rict\",\n      \"▁id entity\",\n      \"▁ident ity\",\n      \"▁ identity\",\n      \"▁part ies\",\n      \"▁par ties\",\n      \"▁partie s\",\n      \"▁parti es\",\n      \": %\",\n      \"▁d rag\",\n      \"▁dr ag\",\n      \"▁ drag\",\n      \"▁m ai\",\n      \"▁ma i\",\n      \"! (\",\n      \"lang le\",\n      \"lan gle\",\n      \"l angle\",\n      \"▁kn owing\",\n      \"▁know ing\",\n      \"Pro ject\",\n      \"▁reg arding\",\n      \"▁regard ing\",\n      \"▁Jose ph\",\n      \"▁Jos eph\",\n      \"г е\",\n      \"▁D ar\",\n      \"▁Da r\",\n      \"▁H or\",\n      \"▁Ho r\",\n      \"▁ Hor\",\n      \"▁anim als\",\n      \"▁animal s\",\n      \"▁ext ension\",\n      \"▁extens ion\",\n      \"▁ extension\",\n      \"ска я\",\n      \"▁H an\",\n      \"▁Ha n\",\n      \"bt n\",\n      \"b tn\",\n      \"ac iones\",\n      \"aci ones\",\n      \"acion es\",\n      \"acio nes\",\n      \"▁f amiliar\",\n      \"▁fam iliar\",\n      \"▁famil iar\",\n      \"▁familia r\",\n      \"hol der\",\n      \"hold er\",\n      \"h older\",\n      \": \\r\",\n      \"st ood\",\n      \"sto od\",\n      \"▁li ked\",\n      \"▁like d\",\n      \"▁lik ed\",\n      \"CO DE\",\n      \"▁en able\",\n      \"▁ enable\",\n      \"▁p ed\",\n      \"▁pe d\",\n      \"▁ ped\",\n      \"it i\",\n      \"i ti\",\n      \"ha b\",\n      \"h ab\",\n      \"DI R\",\n      \"D IR\",\n      \"▁be at\",\n      \"▁ beat\",\n      \"т і\",\n      \"▁Min ister\",\n      \"▁Mini ster\",\n      \"▁p y\",\n      \"▁ py\",\n      \"P at\",\n      \"▁ex hib\",\n      \"▁exh ib\",\n      \"▁B uild\",\n      \"▁Bu ild\",\n      \"▁ Build\",\n      \"▁F ield\",\n      \"▁Fi eld\",\n      \"▁ Field\",\n      \"ic ian\",\n      \"ici an\",\n      \"icia n\",\n      \"▁coll abor\",\n      \"▁qu arter\",\n      \"▁quart er\",\n      \"▁quar ter\",\n      \"▁F alse\",\n      \"▁Fal se\",\n      \"▁ False\",\n      \"k m\",\n      \"▁v irtual\",\n      \"▁virt ual\",\n      \"▁ virtual\",\n      \"ow a\",\n      \"o wa\",\n      \"▁J on\",\n      \"▁Jo n\",\n      \"am in\",\n      \"ami n\",\n      \"a min\",\n      \"ue n\",\n      \"u en\",\n      \"▁и н\",\n      \"▁ ин\",\n      \"im ation\",\n      \"imat ion\",\n      \"ov ing\",\n      \"ovi ng\",\n      \"o ving\",\n      \"▁test ing\",\n      \"▁ testing\",\n      \"se ct\",\n      \"sec t\",\n      \"s ect\",\n      \"IT ION\",\n      \"I TION\",\n      \"! \\\\\",\n      \"ap y\",\n      \"a py\",\n      \"▁trans ition\",\n      \"▁transit ion\",\n      \"▁ transition\",\n      \"os itory\",\n      \"OD O\",\n      \"O DO\",\n      \"P D\",\n      \"n é\",\n      \"▁gener ate\",\n      \"▁gene rate\",\n      \"▁ generate\",\n      \"▁n ative\",\n      \"▁nat ive\",\n      \"▁ native\",\n      \"▁( '\",\n      \"▁ ('\",\n      \"▁e lle\",\n      \"▁el le\",\n      \"▁ell e\",\n      \"▁ elle\",\n      \"R R\",\n      \"▁h un\",\n      \"_- >\",\n      \"_ ->\",\n      \"ag nost\",\n      \"agn ost\",\n      \"▁pro posed\",\n      \"▁prop osed\",\n      \"▁propos ed\",\n      \"▁propose d\",\n      \"▁G ame\",\n      \"▁Ga me\",\n      \"▁Gam e\",\n      \"▁ Game\",\n      \"▁eff orts\",\n      \"▁effort s\",\n      \"в я\",\n      \"t c\",\n      \"с к\",\n      \"▁int ent\",\n      \"▁inte nt\",\n      \"▁ intent\",\n      \"▁B re\",\n      \"▁Br e\",\n      \"is c\",\n      \"i sc\",\n      \"▁pro test\",\n      \"▁prote st\",\n      \"▁prot est\",\n      \"▁h olds\",\n      \"▁hold s\",\n      \"▁hol ds\",\n      \"▁ holds\",\n      \"om etry\",\n      \"ome try\",\n      \"omet ry\",\n      \"o metry\",\n      \"▁H ave\",\n      \"▁Ha ve\",\n      \"▁Hav e\",\n      \"▁ Have\",\n      \"▁de tail\",\n      \"▁det ail\",\n      \"▁ detail\",\n      \"▁WIT HOUT\",\n      \"▁WITH OUT\",\n      \"ye r\",\n      \"y er\",\n      \"▁K on\",\n      \"▁Ko n\",\n      \"▁not iced\",\n      \"▁notice d\",\n      \"▁require ments\",\n      \"▁requirement s\",\n      \"DE BUG\",\n      \"ki ns\",\n      \"kin s\",\n      \"k ins\",\n      \"▁S pan\",\n      \"▁Sp an\",\n      \"▁ Span\",\n      \"▁c ars\",\n      \"▁car s\",\n      \"▁ca rs\",\n      \"me ta\",\n      \"met a\",\n      \"m eta\",\n      \"▁k il\",\n      \"▁ki l\",\n      \"▁ kil\",\n      \"▁B ron\",\n      \"▁Br on\",\n      \"▁Bro n\",\n      \"▁experience d\",\n      \"▁experi enced\",\n      \"▁re mind\",\n      \"▁rem ind\",\n      \"our se\",\n      \"ours e\",\n      \"▁W estern\",\n      \"▁West ern\",\n      \"▁Wes tern\",\n      \"ter ed\",\n      \"te red\",\n      \"tere d\",\n      \"t ered\",\n      \"▁dev ices\",\n      \"▁device s\",\n      \"▁ devices\",\n      \"▁pict ures\",\n      \"▁picture s\",\n      \"▁t ut\",\n      \"▁tu t\",\n      \"\\\" `\",\n      \"▁im possible\",\n      \"▁r ail\",\n      \"▁ra il\",\n      \"▁fe els\",\n      \"▁feel s\",\n      \"▁fee ls\",\n      \"ic as\",\n      \"ica s\",\n      \"i cas\",\n      \"il ling\",\n      \"ill ing\",\n      \"▁acc ident\",\n      \"▁' @\",\n      \"____ ____\",\n      \"▁n otes\",\n      \"▁not es\",\n      \"▁no tes\",\n      \"▁note s\",\n      \"▁ notes\",\n      \"om an\",\n      \"oma n\",\n      \"o man\",\n      \"Par ser\",\n      \"Parse r\",\n      \"Pars er\",\n      \"▁dis covered\",\n      \"▁discover ed\",\n      \"▁R oman\",\n      \"▁Rom an\",\n      \"▁Ro man\",\n      \"▁Roma n\",\n      \"▁bud get\",\n      \"▁gu ide\",\n      \"▁guid e\",\n      \"ki ng\",\n      \"kin g\",\n      \"k ing\",\n      \"▁in cred\",\n      \"▁inc red\",\n      \"▁incre d\",\n      \"ol ar\",\n      \"ola r\",\n      \"o lar\",\n      \"en den\",\n      \"end en\",\n      \"ende n\",\n      \"Des c\",\n      \"De sc\",\n      \"D esc\",\n      \"▁w ave\",\n      \"▁wa ve\",\n      \"▁ wave\",\n      \"б ли\",\n      \"ig t\",\n      \"i gt\",\n      \"▁re strict\",\n      \"▁rest rict\",\n      \"▁restr ict\",\n      \"▁R et\",\n      \"▁Re t\",\n      \"▁ Ret\",\n      \"▁m ac\",\n      \"▁ma c\",\n      \"▁ mac\",\n      \"у р\",\n      \"B S\",\n      \"í s\",\n      \"▁gener ation\",\n      \"de m\",\n      \"d em\",\n      \"al o\",\n      \"a lo\",\n      \"б ра\",\n      \"▁order ed\",\n      \"▁ord ered\",\n      \"▁ ordered\",\n      \"dr op\",\n      \"dro p\",\n      \"d rop\",\n      \"▁p p\",\n      \"▁ pp\",\n      \"▁Re view\",\n      \"▁Rev iew\",\n      \"▁ Review\",\n      \"▁liter ally\",\n      \"▁literal ly\",\n      \"▁S ir\",\n      \"▁Si r\",\n      \"▁ Sir\",\n      \"▁Y eah\",\n      \"▁Ye ah\",\n      \"▁ Yeah\",\n      \"▁d ensity\",\n      \"▁dens ity\",\n      \"▁ density\",\n      \"ri z\",\n      \"r iz\",\n      \"in de\",\n      \"ind e\",\n      \"i nde\",\n      \"▁g ain\",\n      \"▁ga in\",\n      \"▁ gain\",\n      \"▁p anel\",\n      \"▁pan el\",\n      \"▁pa nel\",\n      \"▁ panel\",\n      \"je t\",\n      \"j et\",\n      \"▁T imes\",\n      \"▁Time s\",\n      \"▁Tim es\",\n      \"▁Ti mes\",\n      \"▁ Times\",\n      \"▁n ella\",\n      \"▁ne lla\",\n      \"▁nel la\",\n      \"▁nell a\",\n      \"▁pre viously\",\n      \"▁previous ly\",\n      \"▁prev iously\",\n      \"point s\",\n      \"Se nd\",\n      \"S end\",\n      \"▁B rown\",\n      \"▁Br own\",\n      \"▁Bro wn\",\n      \"▁Brow n\",\n      \"ea ch\",\n      \"e ach\",\n      \"▁tr igger\",\n      \"▁ trigger\",\n      \"ome times\",\n      \"omet imes\",\n      \"ic os\",\n      \"ico s\",\n      \"i cos\",\n      \"G R\",\n      \"Pane l\",\n      \"Pan el\",\n      \"P anel\",\n      \"og en\",\n      \"oge n\",\n      \"o gen\",\n      \"▁c m\",\n      \"▁ cm\",\n      \"ru ctions\",\n      \"ruct ions\",\n      \"ruction s\",\n      \"▁k iss\",\n      \"▁ki ss\",\n      \"▁s olo\",\n      \"▁so lo\",\n      \"▁sol o\",\n      \"▁f amous\",\n      \"▁fam ous\",\n      \"ra n\",\n      \"r an\",\n      \"п ро\",\n      \"▁th ro\",\n      \"▁thr o\",\n      \"Gr aph\",\n      \"G raph\",\n      \"im it\",\n      \"imi t\",\n      \"i mit\",\n      \"▁V alue\",\n      \"▁Val ue\",\n      \"▁ Value\",\n      \"▁st arts\",\n      \"▁start s\",\n      \"▁star ts\",\n      \"ip eline\",\n      \"ipe line\",\n      \"h d\",\n      \"T C\",\n      \"▁dis cussion\",\n      \"▁discuss ion\",\n      \"▁tr uck\",\n      \"ak a\",\n      \"a ka\",\n      \"On ly\",\n      \"▁E qu\",\n      \"▁Eq u\",\n      \"▁ Equ\",\n      \"▁k ö\",\n      \"▁ kö\",\n      \"▁B es\",\n      \"▁Be s\",\n      \"▁crit ic\",\n      \"▁pro pos\",\n      \"▁prop os\",\n      \"▁b att\",\n      \"▁bat t\",\n      \"▁ba tt\",\n      \"▁S ection\",\n      \"▁Se ction\",\n      \"▁ Section\",\n      \"Sh ow\",\n      \"S how\",\n      \"g p\",\n      \"ST ATE\",\n      \"STAT E\",\n      \"PO ST\",\n      \"POS T\",\n      \"P OST\",\n      \"▁N ord\",\n      \"▁No rd\",\n      \"▁Nor d\",\n      \"▁in nov\",\n      \"▁inn ov\",\n      \"▁c rim\",\n      \"▁cr im\",\n      \"▁cri m\",\n      \"▁ crim\",\n      \"ax is\",\n      \"a xis\",\n      \"▁T urn\",\n      \"▁Tur n\",\n      \"▁Tu rn\",\n      \"▁ Turn\",\n      \"con n\",\n      \"co nn\",\n      \"Run time\",\n      \"▁rem aining\",\n      \"▁remain ing\",\n      \"os ton\",\n      \"ost on\",\n      \"osto n\",\n      \"o ston\",\n      \"▁ Э\",\n      \"▁window s\",\n      \"▁wind ows\",\n      \"▁ windows\",\n      \"▁R oyal\",\n      \"▁Ro yal\",\n      \"▁Roy al\",\n      \"▁v ide\",\n      \"▁vi de\",\n      \"▁vid e\",\n      \"P P\",\n      \"ch ron\",\n      \"chr on\",\n      \"▁s an\",\n      \"▁sa n\",\n      \"▁ san\",\n      \"▁r ise\",\n      \"▁ri se\",\n      \"▁ris e\",\n      \"▁ rise\",\n      \"▁d elle\",\n      \"▁de lle\",\n      \"▁del le\",\n      \"▁dell e\",\n      \"▁D ur\",\n      \"▁Du r\",\n      \"▁rap id\",\n      \"▁ra pid\",\n      \"ce rt\",\n      \"cer t\",\n      \"c ert\",\n      \"L A\",\n      \"ed ge\",\n      \"▁\\\\ ]\",\n      \"▁ \\\\]\",\n      \"▁en tered\",\n      \"▁ent ered\",\n      \"▁enter ed\",\n      \"▁l aws\",\n      \"▁la ws\",\n      \"▁law s\",\n      \"▁ph oto\",\n      \"▁phot o\",\n      \"▁ photo\",\n      \"▁ap plications\",\n      \"▁applic ations\",\n      \"▁application s\",\n      \"▁appl ications\",\n      \"▁Ber lin\",\n      \"▁ar rest\",\n      \"▁arr est\",\n      \"▁f ederal\",\n      \"▁fed eral\",\n      \"▁feder al\",\n      \"▁R ussia\",\n      \"▁Russ ia\",\n      \"▁us ual\",\n      \"▁r aw\",\n      \"▁ra w\",\n      \"▁ raw\",\n      \"▁pi ù\",\n      \"êt re\",\n      \"ê tre\",\n      \"JS ON\",\n      \"J SON\",\n      \"SI ON\",\n      \"S ION\",\n      \"xt ure\",\n      \"ist ent\",\n      \"iste nt\",\n      \"isten t\",\n      \"▁P ower\",\n      \"▁Po wer\",\n      \"▁Pow er\",\n      \"▁ Power\",\n      \"Bi t\",\n      \"B it\",\n      \"▁cap acity\",\n      \"▁capac ity\",\n      \"▁ capacity\",\n      \"▁c ards\",\n      \"▁car ds\",\n      \"▁card s\",\n      \"▁ cards\",\n      \"UI D\",\n      \"U ID\",\n      \"im ents\",\n      \"iment s\",\n      \"imen ts\",\n      \"i ments\",\n      \"▁d ar\",\n      \"▁da r\",\n      \"▁ dar\",\n      \"▁Ch icago\",\n      \"▁comfort able\",\n      \"ti p\",\n      \"t ip\",\n      \"ba s\",\n      \"b as\",\n      \"▁m u\",\n      \"▁ mu\",\n      \"▁en emy\",\n      \"▁enem y\",\n      \"ya n\",\n      \"y an\",\n      \"▁ф и\",\n      \"▁ фи\",\n      \"▁up dated\",\n      \"▁update d\",\n      \"▁ updated\",\n      \"an go\",\n      \"ang o\",\n      \"E v\",\n      \"E ffect\",\n      \"os ing\",\n      \"osi ng\",\n      \"o sing\",\n      \"ren ce\",\n      \"r ence\",\n      \"▁Con gress\",\n      \"▁Cong ress\",\n      \"▁d efe\",\n      \"▁de fe\",\n      \"▁def e\",\n      \"▁i p\",\n      \"▁ ip\",\n      \"▁t out\",\n      \"▁to ut\",\n      \"▁tou t\",\n      \"▁f reedom\",\n      \"▁free dom\",\n      \"▁freed om\",\n      \"▁a o\",\n      \"▁ ao\",\n      \"▁There fore\",\n      \"▁Ther efore\",\n      \"Ed it\",\n      \"E dit\",\n      \"▁Vir gin\",\n      \"RE E\",\n      \"R EE\",\n      \"ar go\",\n      \"arg o\",\n      \"▁D am\",\n      \"▁Da m\",\n      \"▁ Dam\",\n      \"▁tra ffic\",\n      \"▁traff ic\",\n      \"ño s\",\n      \"ñ os\",\n      \"▁a lle\",\n      \"▁al le\",\n      \"▁all e\",\n      \"▁ alle\",\n      \"▁dep th\",\n      \"▁ depth\",\n      \"No w\",\n      \"N ow\",\n      \"▁s ides\",\n      \"▁side s\",\n      \"▁si des\",\n      \"▁sid es\",\n      \"▁го ди\",\n      \"▁год и\",\n      \"Des criptor\",\n      \"▁art ikel\",\n      \"▁n arrow\",\n      \"▁narr ow\",\n      \"▁nar row\",\n      \"__ _\",\n      \"_ __\",\n      \"k w\",\n      \"ut o\",\n      \"u to\",\n      \"▁Face book\",\n      \"▁Fac ebook\",\n      \"te gr\",\n      \"t egr\",\n      \"bo olean\",\n      \"ni k\",\n      \"n ik\",\n      \"b d\",\n      \"Tr ack\",\n      \"Tra ck\",\n      \"▁g ran\",\n      \"▁gr an\",\n      \"▁gra n\",\n      \"res hold\",\n      \"resh old\",\n      \"ве т\",\n      \"в ет\",\n      \"wr ap\",\n      \"w rap\",\n      \"▁n oise\",\n      \"▁no ise\",\n      \"ig u\",\n      \"i gu\",\n      \"▁B on\",\n      \"▁Bo n\",\n      \"▁ Bon\",\n      \"▁w y\",\n      \"▁ wy\",\n      \"lin ux\",\n      \"ck s\",\n      \"c ks\",\n      \"▁f ans\",\n      \"▁fa ns\",\n      \"▁fan s\",\n      \"▁m ach\",\n      \"▁ma ch\",\n      \"▁mac h\",\n      \"▁p rices\",\n      \"▁pr ices\",\n      \"▁pri ces\",\n      \"▁price s\",\n      \"é v\",\n      \"ou ts\",\n      \"out s\",\n      \"o uts\",\n      \"stand ing\",\n      \"stan ding\",\n      \"▁c ateg\",\n      \"▁cat eg\",\n      \"; \\\\\",\n      \"▁de cre\",\n      \"▁dec re\",\n      \"▁S aturday\",\n      \"▁m enu\",\n      \"▁me nu\",\n      \"▁men u\",\n      \"▁ menu\",\n      \"▁N ov\",\n      \"▁No v\",\n      \"▁Y et\",\n      \"▁Ye t\",\n      \"▁та к\",\n      \"lic he\",\n      \"li che\",\n      \"lich e\",\n      \"l iche\",\n      \"▁Ac adem\",\n      \"▁commun ication\",\n      \"us ing\",\n      \"u sing\",\n      \"▁Soc iety\",\n      \"▁Soci ety\",\n      \"▁n uc\",\n      \"▁nu c\",\n      \"pect ive\",\n      \"or ial\",\n      \"oria l\",\n      \"ori al\",\n      \"o rial\",\n      \"▁af raid\",\n      \"▁an imal\",\n      \"▁anim al\",\n      \"▁turn ing\",\n      \"▁tur ning\",\n      \"ds t\",\n      \"d st\",\n      \"math frak\",\n      \"le rs\",\n      \"ler s\",\n      \"l ers\",\n      \"▁l ots\",\n      \"▁lo ts\",\n      \"▁lot s\",\n      \"▁ á\",\n      \"▁T ra\",\n      \"▁Tr a\",\n      \"▁ Tra\",\n      \"n p\",\n      \"▁r ose\",\n      \"▁ro se\",\n      \"▁ rose\",\n      \"▁G L\",\n      \"▁ GL\",\n      \"▁hel ping\",\n      \"▁help ing\",\n      \"▁w inter\",\n      \"▁win ter\",\n      \"▁ко м\",\n      \"▁ ком\",\n      \"Mo ck\",\n      \"M ock\",\n      \"▁invest ment\",\n      \"Us e\",\n      \"U se\",\n      \"▁Can ad\",\n      \"н д\",\n      \"Co py\",\n      \"Cop y\",\n      \"C opy\",\n      \"▁f ly\",\n      \"▁fl y\",\n      \"▁ fly\",\n      \"SE R\",\n      \"S ER\",\n      \"▁F ar\",\n      \"▁Fa r\",\n      \"▁R os\",\n      \"▁Ro s\",\n      \"am il\",\n      \"ami l\",\n      \"a mil\",\n      \"▁fight ing\",\n      \"▁rel igious\",\n      \"▁relig ious\",\n      \"su per\",\n      \"sup er\",\n      \"s uper\",\n      \"sc reen\",\n      \"scr een\",\n      \"s creen\",\n      \"▁f urn\",\n      \"▁fur n\",\n      \"▁fu rn\",\n      \"▁surpr ised\",\n      \"▁surprise d\",\n      \"▁re plied\",\n      \"▁repl ied\",\n      \"Act ivity\",\n      \"Activ ity\",\n      \"▁D own\",\n      \"▁Do wn\",\n      \"▁Dow n\",\n      \"▁ Down\",\n      \"▁in sert\",\n      \"▁ins ert\",\n      \"▁ insert\",\n      \"▁O lymp\",\n      \"▁point ed\",\n      \"▁po inted\",\n      \"▁C ard\",\n      \"▁Car d\",\n      \"▁Ca rd\",\n      \"▁ Card\",\n      \"dr iver\",\n      \"drive r\",\n      \"d river\",\n      \"▁D a\",\n      \"▁ Da\",\n      \"! --\",\n      \"ro ud\",\n      \"rou d\",\n      \"r oud\",\n      \"un do\",\n      \"und o\",\n      \"▁m essages\",\n      \"▁message s\",\n      \"▁mess ages\",\n      \"▁ messages\",\n      \"▁P oint\",\n      \"▁Po int\",\n      \"▁ Point\",\n      \"V M\",\n      \"▁p lane\",\n      \"▁pl ane\",\n      \"▁plan e\",\n      \"▁ plane\",\n      \"x c\",\n      \"▁telev ision\",\n      \"▁tele vision\",\n      \"▁televis ion\",\n      \"ё н\",\n      \"▁thous ands\",\n      \"▁thousand s\",\n      \"▁c ris\",\n      \"▁cr is\",\n      \"▁cri s\",\n      \"▁de lay\",\n      \"▁del ay\",\n      \"▁ delay\",\n      \"▁N ext\",\n      \"▁Ne xt\",\n      \"▁ Next\",\n      \"▁no mbre\",\n      \"▁nom bre\",\n      \"▁t u\",\n      \"▁ tu\",\n      \"▁sk ip\",\n      \"▁ski p\",\n      \"▁ skip\",\n      \"ro ad\",\n      \"r oad\",\n      \"istr ation\",\n      \"▁t ur\",\n      \"▁tu r\",\n      \"▁De velop\",\n      \"▁Devel op\",\n      \"▁П а\",\n      \"▁д ру\",\n      \"▁др у\",\n      \"▁wonder ful\",\n      \"> &\",\n      \"▁L iber\",\n      \"▁Li ber\",\n      \"▁Lib er\",\n      \"▁s cope\",\n      \"▁sc ope\",\n      \"▁ scope\",\n      \"▁man age\",\n      \"▁ma nage\",\n      \"▁d ass\",\n      \"▁da ss\",\n      \"▁das s\",\n      \"▁re call\",\n      \"▁rec all\",\n      \"P M\",\n      \"▁re levant\",\n      \"▁relev ant\",\n      \"▁E arth\",\n      \"▁ка к\",\n      \"▁a pr\",\n      \"▁ap r\",\n      \"▁A SS\",\n      \"▁AS S\",\n      \"▁ ASS\",\n      \"ié n\",\n      \"i én\",\n      \"▁S H\",\n      \"▁ SH\",\n      \"oo m\",\n      \"o om\",\n      \"it et\",\n      \"ite t\",\n      \"no ne\",\n      \"non e\",\n      \"n one\",\n      \"as i\",\n      \"a si\",\n      \"▁mot or\",\n      \"▁mo tor\",\n      \"▁S how\",\n      \"▁Sh ow\",\n      \"▁ Show\",\n      \"n b\",\n      \"▁fact ors\",\n      \"▁fa ctors\",\n      \"▁factor s\",\n      \"▁f orest\",\n      \"▁for est\",\n      \"▁fore st\",\n      \"▁fo rest\",\n      \"▁в ре\",\n      \"th m\",\n      \"t hm\",\n      \"▁m unicip\",\n      \"▁turn s\",\n      \"▁tur ns\",\n      \"▁Div ision\",\n      \"▁Di vision\",\n      \"E C\",\n      \"▁dis appe\",\n      \"struct or\",\n      \"stru ctor\",\n      \"▁some where\",\n      \"▁Afr ican\",\n      \"▁Africa n\",\n      \"▁Inst itute\",\n      \"▁Institut e\",\n      \"Gr id\",\n      \"G rid\",\n      \"▁te acher\",\n      \"▁teach er\",\n      \"▁tea cher\",\n      \"ur ies\",\n      \"uri es\",\n      \"u ries\",\n      \"▁respect ively\",\n      \"▁respective ly\",\n      \"▁S D\",\n      \"▁ SD\",\n      \"▁a live\",\n      \"▁al ive\",\n      \"▁ali ve\",\n      \"▁p ou\",\n      \"▁po u\",\n      \"▁W ater\",\n      \"▁Wat er\",\n      \"▁Wa ter\",\n      \"▁ Water\",\n      \"ф е\",\n      \"▁ch anging\",\n      \"▁chang ing\",\n      \"▁ changing\",\n      \"▁after noon\",\n      \"▁or ders\",\n      \"▁order s\",\n      \"▁ord ers\",\n      \"▁ orders\",\n      \"Re t\",\n      \"R et\",\n      \"Point er\",\n      \"Po inter\",\n      \"▁s av\",\n      \"▁sa v\",\n      \"er g\",\n      \"e rg\",\n      \"ok ed\",\n      \"oke d\",\n      \"o ked\",\n      \"ess ions\",\n      \"ession s\",\n      \"▁F ire\",\n      \"▁Fi re\",\n      \"▁ Fire\",\n      \"ar et\",\n      \"are t\",\n      \"a ret\",\n      \"im m\",\n      \"i mm\",\n      \"▁des ire\",\n      \"▁ що\",\n      \"▁De sign\",\n      \"▁Des ign\",\n      \"▁ Design\",\n      \"ut ure\",\n      \"▁Off ice\",\n      \"▁c md\",\n      \"▁cm d\",\n      \"▁ cmd\",\n      \"▁e ating\",\n      \"▁eat ing\",\n      \"Net work\",\n      \"▁r ough\",\n      \"▁ro ugh\",\n      \"▁rou gh\",\n      \"▁ rough\",\n      \"oper ator\",\n      \"IG N\",\n      \"I GN\",\n      \"▁s ports\",\n      \"▁sp orts\",\n      \"▁sport s\",\n      \"▁w eren\",\n      \"▁we ren\",\n      \"▁were n\",\n      \"▁wer en\",\n      \"▁n oted\",\n      \"▁not ed\",\n      \"▁no ted\",\n      \"▁note d\",\n      \"▁tw ice\",\n      \"II I\",\n      \"I II\",\n      \"▁a nx\",\n      \"▁an x\",\n      \"▁e lim\",\n      \"▁el im\",\n      \"▁а в\",\n      \"▁i o\",\n      \"▁ io\",\n      \"▁spe ech\",\n      \"▁con du\",\n      \"▁cond u\",\n      \"el les\",\n      \"ell es\",\n      \"elle s\",\n      \"id ade\",\n      \"ida de\",\n      \"idad e\",\n      \"▁adv ance\",\n      \"R I\",\n      \"oc a\",\n      \"o ca\",\n      \"/ \\\\\",\n      \"ap shot\",\n      \"aps hot\",\n      \"▁t ail\",\n      \"▁ta il\",\n      \"▁ tail\",\n      \"mod els\",\n      \"model s\",\n      \"mode ls\",\n      \"og y\",\n      \"o gy\",\n      \"▁J eff\",\n      \"▁Je ff\",\n      \"ir ation\",\n      \"irat ion\",\n      \"▁K ore\",\n      \"▁Ko re\",\n      \"▁Kor e\",\n      \"▁le ads\",\n      \"▁lead s\",\n      \"ba t\",\n      \"b at\",\n      \"Ad apter\",\n      \"c ategory\",\n      \"ang ular\",\n      \"angu lar\",\n      \"▁s aved\",\n      \"▁sa ved\",\n      \"▁save d\",\n      \"▁sav ed\",\n      \"▁ saved\",\n      \"▁un iform\",\n      \"▁ uniform\",\n      \"▁n é\",\n      \"▁ né\",\n      \"▁business es\",\n      \"His t\",\n      \"Hi st\",\n      \"H ist\",\n      \"▁а р\",\n      \"▁ ар\",\n      \"do main\",\n      \"dom ain\",\n      \"▁S i\",\n      \"▁ Si\",\n      \"ra ise\",\n      \"rais e\",\n      \"rai se\",\n      \"r aise\",\n      \"▁w arn\",\n      \"▁war n\",\n      \"▁wa rn\",\n      \"▁ warn\",\n      \"het ic\",\n      \"h etic\",\n      \"▁G ro\",\n      \"▁Gr o\",\n      \")) .\",\n      \") ).\",\n      \"} >\",\n      \"з е\",\n      \"▁Amaz on\",\n      \"▁Or gan\",\n      \"▁ Organ\",\n      \"▁L ake\",\n      \"▁La ke\",\n      \"▁ag reement\",\n      \"▁agree ment\",\n      \"▁agre ement\",\n      \"x a\",\n      \"▁p erman\",\n      \"▁per man\",\n      \"▁perm an\",\n      \"▁cont aining\",\n      \"▁contain ing\",\n      \"▁st range\",\n      \"▁str ange\",\n      \"▁strang e\",\n      \"ст і\",\n      \"с ті\",\n      \"▁st upid\",\n      \"▁spe aking\",\n      \"▁speak ing\",\n      \"▁Intern et\",\n      \"▁Inter net\",\n      \"pre fix\",\n      \"pref ix\",\n      \"p refix\",\n      \"es c\",\n      \"e sc\",\n      \"As sert\",\n      \"Ass ert\",\n      \"pro te\",\n      \"pr ote\",\n      \"prot e\",\n      \"p rote\",\n      \"▁m anner\",\n      \"▁man ner\",\n      \"▁S z\",\n      \"un te\",\n      \"unt e\",\n      \"u nte\",\n      \"io t\",\n      \"i ot\",\n      \"Pro file\",\n      \"ov en\",\n      \"ove n\",\n      \"o ven\",\n      \"▁for med\",\n      \"▁form ed\",\n      \"▁forme d\",\n      \"▁ formed\",\n      \"▁l it\",\n      \"▁li t\",\n      \"▁ lit\",\n      \"▁econom y\",\n      \"▁ec onomy\",\n      \"▁c z\",\n      \"▁ cz\",\n      \"wi d\",\n      \"w id\",\n      \"RE Q\",\n      \"R EQ\",\n      \"▁ch osen\",\n      \"▁cho sen\",\n      \"▁chose n\",\n      \"▁P rodu\",\n      \"▁Pro du\",\n      \"▁ Produ\",\n      \"os ter\",\n      \"ost er\",\n      \"o ster\",\n      \"st ances\",\n      \"stance s\",\n      \"stan ces\",\n      \"aw a\",\n      \"a wa\",\n      \"▁R en\",\n      \"▁Re n\",\n      \"▁conf irm\",\n      \"▁ confirm\",\n      \"▁Б о\",\n      \"▁b illion\",\n      \"▁bill ion\",\n      \"▁d éc\",\n      \"▁dé c\",\n      \"ý ch\",\n      \"▁ill ustr\",\n      \"TI ES\",\n      \"T IES\",\n      \"▁P ub\",\n      \"▁Pu b\",\n      \"▁ Pub\",\n      \"▁b an\",\n      \"▁ba n\",\n      \"▁ ban\",\n      \"ad ed\",\n      \"ade d\",\n      \"a ded\",\n      \"ah n\",\n      \"a hn\",\n      \"▁C ath\",\n      \"▁Cat h\",\n      \"▁Ca th\",\n      \"no number\",\n      \"non umber\",\n      \"▁wor st\",\n      \"▁М е\",\n      \"▁sugg ested\",\n      \"▁suggest ed\",\n      \"st ats\",\n      \"stat s\",\n      \"sta ts\",\n      \"▁c ant\",\n      \"▁can t\",\n      \"▁ca nt\",\n      \"▁al ign\",\n      \"▁ali gn\",\n      \"▁ align\",\n      \"kap pa\",\n      \"k appa\",\n      \"▁h en\",\n      \"▁he n\",\n      \"▁ hen\",\n      \"▁in iti\",\n      \"▁init i\",\n      \"'] )\",\n      \"' ])\",\n      \"B I\",\n      \"▁g arden\",\n      \"▁gar den\",\n      \"▁gard en\",\n      \"▁sec ure\",\n      \"▁secur e\",\n      \"▁ secure\",\n      \"▁\\\\ [\",\n      \"▁ \\\\[\",\n      \"hand ler\",\n      \"handle r\",\n      \"el li\",\n      \"ell i\",\n      \"e lli\",\n      \"ld ots\",\n      \"l dots\",\n      \"se cut\",\n      \"sec ut\",\n      \"s ecut\",\n      \"▁ext ended\",\n      \"▁extend ed\",\n      \"} -\",\n      \"an ie\",\n      \"ani e\",\n      \"a nie\",\n      \"▁F ind\",\n      \"▁Fin d\",\n      \"▁Fi nd\",\n      \"▁ Find\",\n      \"▁M useum\",\n      \"▁Muse um\",\n      \"▁C onne\",\n      \"▁Con ne\",\n      \"▁ Conne\",\n      \"y y\",\n      \"▁pass ion\",\n      \"ak ers\",\n      \"ake rs\",\n      \"aker s\",\n      \"a kers\",\n      \"ah r\",\n      \"a hr\",\n      \"olog ies\",\n      \"ologie s\",\n      \"▁equ ation\",\n      \"▁eq uation\",\n      \"▁ equation\",\n      \"▁occ asion\",\n      \"▁occas ion\",\n      \"Le t\",\n      \"L et\",\n      \"'] ['\",\n      \"'][ '\",\n      \"' ]['\",\n      \"Pr int\",\n      \"an es\",\n      \"ane s\",\n      \"a nes\",\n      \"ie nte\",\n      \"ient e\",\n      \"ien te\",\n      \"i ente\",\n      \"▁T oday\",\n      \"▁To day\",\n      \"▁Tod ay\",\n      \"LE CT\",\n      \"L ECT\",\n      \"▁A f\",\n      \"▁ Af\",\n      \", ,\",\n      \"▁Т а\",\n      \"▁` ``\",\n      \"▁`` `\",\n      \"ev en\",\n      \"eve n\",\n      \"e ven\",\n      \"si n\",\n      \"s in\",\n      \"ur er\",\n      \"ure r\",\n      \"u rer\",\n      \"▁ °\",\n      \"ot imes\",\n      \"oti mes\",\n      \"o times\",\n      \"▁I O\",\n      \"▁ IO\",\n      \"▁po et\",\n      \"() ));\",\n      \"()) );\",\n      \"())) ;\",\n      \"( )));\",\n      \"▁ −\",\n      \"▁ad opt\",\n      \"ph ere\",\n      \"pher e\",\n      \"p here\",\n      \"# [\",\n      \"▁c entre\",\n      \"▁cent re\",\n      \"ov es\",\n      \"ove s\",\n      \"o ves\",\n      \"▁a ns\",\n      \"▁an s\",\n      \"▁ ans\",\n      \"d p\",\n      \"▁K ir\",\n      \"▁Ki r\",\n      \"▁applic able\",\n      \"f p\",\n      \"▁vis ual\",\n      \"▁ok ay\",\n      \"or o\",\n      \"o ro\",\n      \"▁opportun ities\",\n      \"Re pository\",\n      \"Rep ository\",\n      \"▁l l\",\n      \"▁ ll\",\n      \"▁R od\",\n      \"▁Ro d\",\n      \"▁s hel\",\n      \"▁sh el\",\n      \"▁she l\",\n      \"▁la unch\",\n      \"▁con ven\",\n      \"▁conv en\",\n      \"▁conve n\",\n      \"▁S pe\",\n      \"▁Sp e\",\n      \"▁ Spe\",\n      \"Am er\",\n      \"A mer\",\n      \"▁c ette\",\n      \"▁cet te\",\n      \"Con d\",\n      \"Co nd\",\n      \"C ond\",\n      \"de p\",\n      \"d ep\",\n      \"O wn\",\n      \"▁h ook\",\n      \"▁ho ok\",\n      \"▁ hook\",\n      \"▁d ict\",\n      \"▁di ct\",\n      \"▁dic t\",\n      \"▁ dict\",\n      \"▁Th ose\",\n      \"▁f ellow\",\n      \"▁fell ow\",\n      \"▁fel low\",\n      \"▁phil osoph\",\n      \"▁philos oph\",\n      \"vi n\",\n      \"v in\",\n      \"fer ences\",\n      \"ference s\",\n      \"ha v\",\n      \"h av\",\n      \"▁ad ding\",\n      \"▁add ing\",\n      \"▁ adding\",\n      \"ivers e\",\n      \"iver se\",\n      \"i verse\",\n      \"ga me\",\n      \"g ame\",\n      \"▁Bl ue\",\n      \"▁ Blue\",\n      \"▁c lin\",\n      \"▁cl in\",\n      \"not e\",\n      \"no te\",\n      \"n ote\",\n      \"▁R am\",\n      \"▁Ra m\",\n      \"ме р\",\n      \"м ер\",\n      \"co very\",\n      \"cover y\",\n      \"cov ery\",\n      \"c overy\",\n      \"ñ a\",\n      \"▁б и\",\n      \"▁ би\",\n      \"▁f ashion\",\n      \"▁b roke\",\n      \"▁br oke\",\n      \"▁bro ke\",\n      \"▁' \\\\\",\n      \"▁ '\\\\\",\n      \"▁re ader\",\n      \"▁read er\",\n      \"▁ reader\",\n      \"но е\",\n      \"но сти\",\n      \"ност и\",\n      \"▁pay ment\",\n      \"▁ payment\",\n      \"▁L ic\",\n      \"▁Li c\",\n      \"▁l ips\",\n      \"▁li ps\",\n      \"▁lip s\",\n      \"▁ac adem\",\n      \"▁M ot\",\n      \"▁Mo t\",\n      \"el ls\",\n      \"ell s\",\n      \"C HECK\",\n      \"▁р у\",\n      \"▁ ру\",\n      \"▁M S\",\n      \"▁ MS\",\n      \"Ed itor\",\n      \"Edit or\",\n      \"▁z one\",\n      \"▁zo ne\",\n      \"▁ zone\",\n      \"it ure\",\n      \"itu re\",\n      \"▁I T\",\n      \"▁ IT\",\n      \"run time\",\n      \"▁pro ceed\",\n      \"▁proc eed\",\n      \"ло в\",\n      \"л ов\",\n      \"▁M aria\",\n      \"▁Mar ia\",\n      \"▁Ma ria\",\n      \"ol ver\",\n      \"olve r\",\n      \"olv er\",\n      \"▁Th anks\",\n      \"▁Thank s\",\n      \"▁ Thanks\",\n      \"▁should n\",\n      \"▁J oh\",\n      \"▁Jo h\",\n      \"▁Mod el\",\n      \"▁Mo del\",\n      \"▁Mode l\",\n      \"▁ Model\",\n      \"▁S ov\",\n      \"▁So v\",\n      \"! '\",\n      \"D i\",\n      \"▁c ancer\",\n      \"▁can cer\",\n      \"Id ent\",\n      \"▁ex change\",\n      \"il ler\",\n      \"ill er\",\n      \"ille r\",\n      \"in f\",\n      \"i nf\",\n      \"LE N\",\n      \"L EN\",\n      \"() {\",\n      \"( ){\",\n      \"ag a\",\n      \"a ga\",\n      \"\\\"] ,\",\n      \"\\\" ],\",\n      \"u h\",\n      \"▁K en\",\n      \"▁Ke n\",\n      \"▁ph otos\",\n      \"▁phot os\",\n      \"▁photo s\",\n      \"▁t iny\",\n      \"▁ti ny\",\n      \"▁tin y\",\n      \"▁ tiny\",\n      \"▁g ent\",\n      \"▁gen t\",\n      \"▁ge nt\",\n      \"▁ gent\",\n      \"ü l\",\n      \"▁T ake\",\n      \"▁Ta ke\",\n      \"▁Tak e\",\n      \"▁ Take\",\n      \"id el\",\n      \"ide l\",\n      \"i del\",\n      \"ou ting\",\n      \"out ing\",\n      \"In ternal\",\n      \"Inter nal\",\n      \"Intern al\",\n      \"▁c ells\",\n      \"▁cell s\",\n      \"▁cel ls\",\n      \"ни м\",\n      \"н им\",\n      \"ha rd\",\n      \"har d\",\n      \"h ard\",\n      \"▁T own\",\n      \"▁To wn\",\n      \"▁Tow n\",\n      \"ob e\",\n      \"o be\",\n      \"pl ex\",\n      \"ple x\",\n      \"p lex\",\n      \"те р\",\n      \"т ер\",\n      \"to ns\",\n      \"ton s\",\n      \"t ons\",\n      \"▁conc entr\",\n      \"▁concent r\",\n      \"mo ck\",\n      \"m ock\",\n      \"v c\",\n      \"á z\",\n      \"▁Ch ampionship\",\n      \"▁Champion ship\",\n      \"▁Champions hip\",\n      \"▁б е\",\n      \"▁ бе\",\n      \"? ?\",\n      \"ér i\",\n      \"é ri\",\n      \"al y\",\n      \"a ly\",\n      \"▁ Ц\",\n      \"ier te\",\n      \"iert e\",\n      \"▁tot ally\",\n      \"▁total ly\",\n      \"▁A uf\",\n      \"▁Au f\",\n      \"▁our selves\",\n      \"▁S elf\",\n      \"▁Sel f\",\n      \"▁ Self\",\n      \"Form s\",\n      \"For ms\",\n      \"ight er\",\n      \"igh ter\",\n      \"▁is land\",\n      \"fm t\",\n      \"f mt\",\n      \"▁r c\",\n      \"▁ rc\",\n      \"▁t ells\",\n      \"▁tell s\",\n      \"▁tel ls\",\n      \"B B\",\n      \"di t\",\n      \"d it\",\n      \"▁vari ables\",\n      \"▁variable s\",\n      \"▁ variables\",\n      \"▁int ended\",\n      \"▁intend ed\",\n      \"iz ont\",\n      \"izon t\",\n      \"izo nt\",\n      \"▁pl ays\",\n      \"▁play s\",\n      \"da m\",\n      \"d am\",\n      \"se q\",\n      \"s eq\",\n      \"▁S up\",\n      \"▁Su p\",\n      \"▁ Sup\",\n      \"▁c ultural\",\n      \"▁cult ural\",\n      \"▁sc ream\",\n      \"__ ,\",\n      \"_ _,\",\n      \"ci pl\",\n      \"cip l\",\n      \"Time out\",\n      \"▁ ж\",\n      \"or te\",\n      \"ort e\",\n      \"▁repl aced\",\n      \"▁replace d\",\n      \"E M\",\n      \"▁ab andon\",\n      \"▁Spec ial\",\n      \"▁Spe cial\",\n      \"▁ Special\",\n      \"el len\",\n      \"ell en\",\n      \"elle n\",\n      \"▁B ru\",\n      \"▁Br u\",\n      \"ir med\",\n      \"irm ed\",\n      \"T e\",\n      \"ol t\",\n      \"o lt\",\n      \"j u\",\n      \"Arg ument\",\n      \"▁ne ut\",\n      \"▁neu t\",\n      \"▁ neut\",\n      \"sc ape\",\n      \"▁R ay\",\n      \"▁Ra y\",\n      \"▁ Ray\",\n      \"▁Pol it\",\n      \"▁Po lit\",\n      \"▁crow d\",\n      \"▁cro wd\",\n      \"▁Window s\",\n      \"▁Wind ows\",\n      \"▁ Windows\",\n      \"ie go\",\n      \"ieg o\",\n      \"i ego\",\n      \"▁e scape\",\n      \"▁esc ape\",\n      \"▁ escape\",\n      \"▁Ap ache\",\n      \"sy nc\",\n      \"syn c\",\n      \"s ync\",\n      \"eb en\",\n      \"e ben\",\n      \"if ies\",\n      \"ifi es\",\n      \"et her\",\n      \"eth er\",\n      \"ethe r\",\n      \"e ther\",\n      \"Met a\",\n      \"Me ta\",\n      \"M eta\",\n      \"▁big gest\",\n      \"Ga me\",\n      \"G ame\",\n      \"▁trans action\",\n      \"▁ transaction\",\n      \"En v\",\n      \"E nv\",\n      \"▁М о\",\n      \"▁pl enty\",\n      \"▁m el\",\n      \"▁me l\",\n      \"▁ mel\",\n      \"п ре\",\n      \"▁mot iv\",\n      \"▁о р\",\n      \"▁ ор\",\n      \"or gan\",\n      \"org an\",\n      \"▁m ock\",\n      \"▁mo ck\",\n      \"▁ mock\",\n      \"▁$ _\",\n      \"▁ $_\",\n      \"ен е\",\n      \"е не\",\n      \"▁N umber\",\n      \"▁Num ber\",\n      \"▁Nu mber\",\n      \"▁ Number\",\n      \"ck now\",\n      \"c know\",\n      \"▁Up date\",\n      \"▁ Update\",\n      \"ze ro\",\n      \"zer o\",\n      \"z ero\",\n      \"▁sur prise\",\n      \"▁surpr ise\",\n      \"ce an\",\n      \"pd f\",\n      \"p df\",\n      \"Gl obal\",\n      \"▁att end\",\n      \"▁f ond\",\n      \"▁fo nd\",\n      \"▁fon d\",\n      \"▁under stood\",\n      \"Na v\",\n      \"N av\",\n      \"▁M ic\",\n      \"▁Mi c\",\n      \"▁ Mic\",\n      \"= $\",\n      \"ok ing\",\n      \"oki ng\",\n      \"o king\",\n      \"▁Stad ium\",\n      \"Cl ose\",\n      \"▁compet ition\",\n      \"▁sold iers\",\n      \"▁soldier s\",\n      \"▁O P\",\n      \"▁ OP\",\n      \"ag ne\",\n      \"agn e\",\n      \"▁An ton\",\n      \"▁Ant on\",\n      \"Ma in\",\n      \"M ain\",\n      \"á k\",\n      \"▁# [\",\n      \"▁ #[\",\n      \"▁Com mit\",\n      \"▁Comm it\",\n      \"▁ Commit\",\n      \"py x\",\n      \"▁e ast\",\n      \"▁eas t\",\n      \"▁ east\",\n      \"▁Or der\",\n      \"▁Ord er\",\n      \"▁ Order\",\n      \"F loat\",\n      \"▁accept ed\",\n      \"▁mon itor\",\n      \"▁ monitor\",\n      \"▁p ad\",\n      \"▁pa d\",\n      \"▁ pad\",\n      \"on ic\",\n      \"oni c\",\n      \"o nic\",\n      \"▁p ushed\",\n      \"▁push ed\",\n      \"▁re place\",\n      \"▁rep lace\",\n      \"▁repl ace\",\n      \"▁ replace\",\n      \"CR E\",\n      \"C RE\",\n      \"▁r ide\",\n      \"▁ri de\",\n      \"▁rid e\",\n      \"▁ ride\",\n      \"fo und\",\n      \"f ound\",\n      \"= %\",\n      \"во й\",\n      \"▁mat ches\",\n      \"▁match es\",\n      \"▁ matches\",\n      \"▁L ie\",\n      \"▁Li e\",\n      \"▁exper iences\",\n      \"▁experience s\",\n      \"▁experi ences\",\n      \"Po ol\",\n      \"P ool\",\n      \"up s\",\n      \"u ps\",\n      \"A V\",\n      \"▁ex istence\",\n      \"▁exist ence\",\n      \"▁t hin\",\n      \"▁th in\",\n      \"▁m agn\",\n      \"▁mag n\",\n      \"▁ma gn\",\n      \"CO MP\",\n      \"COM P\",\n      \"ho me\",\n      \"hom e\",\n      \"h ome\",\n      \"▁n i\",\n      \"▁ ni\",\n      \"▁wur den\",\n      \"▁wurde n\",\n      \"ла в\",\n      \"▁te eth\",\n      \"▁S tan\",\n      \"▁St an\",\n      \"▁Sta n\",\n      \"ap pro\",\n      \"app ro\",\n      \"an ny\",\n      \"ann y\",\n      \"if ts\",\n      \"ift s\",\n      \"▁un known\",\n      \"▁ unknown\",\n      \"▁h omes\",\n      \"▁home s\",\n      \"▁hom es\",\n      \"▁ho mes\",\n      \"▁ent ity\",\n      \"▁ entity\",\n      \"ci e\",\n      \"c ie\",\n      \"ле ние\",\n      \"ia r\",\n      \"i ar\",\n      \"▁compl iance\",\n      \"▁focus ed\",\n      \"uz z\",\n      \"u zz\",\n      \"=\\\\ \\\"\",\n      \"= \\\\\\\"\",\n      \"com ponents\",\n      \"component s\",\n      \"Att r\",\n      \"At tr\",\n      \"all ery\",\n      \"alle ry\",\n      \"aller y\",\n      \"▁ident ify\",\n      \"O k\",\n      \"pi e\",\n      \"p ie\",\n      \"▁St ill\",\n      \"▁off ering\",\n      \"▁offer ing\",\n      \"▁bu sy\",\n      \"▁bus y\",\n      \"ct l\",\n      \"c tl\",\n      \"it ors\",\n      \"itor s\",\n      \"ito rs\",\n      \"▁concern ed\",\n      \"▁concer ned\",\n      \"▁b rown\",\n      \"▁br own\",\n      \"▁bro wn\",\n      \"▁brow n\",\n      \"cl k\",\n      \"Se lected\",\n      \"Select ed\",\n      \"▁B lock\",\n      \"▁Bl ock\",\n      \"▁Blo ck\",\n      \"▁ Block\",\n      \"▁e gy\",\n      \"▁eg y\",\n      \"▁ egy\",\n      \"ic ing\",\n      \"ici ng\",\n      \"i cing\",\n      \"▁U RL\",\n      \"▁ URL\",\n      \"▁t opic\",\n      \"▁to pic\",\n      \"▁top ic\",\n      \"▁ topic\",\n      \"▁Pro duct\",\n      \"▁Produ ct\",\n      \"▁ Product\",\n      \"▁ч и\",\n      \"▁ чи\",\n      \"▁t rial\",\n      \"▁tr ial\",\n      \"▁tri al\",\n      \"▁week end\",\n      \"l u\",\n      \"▁I V\",\n      \"▁ IV\",\n      \"▁E gy\",\n      \"▁Eg y\",\n      \"x C\",\n      \"▁n ove\",\n      \"▁no ve\",\n      \"▁nov e\",\n      \"▁l ett\",\n      \"▁le tt\",\n      \"▁let t\",\n      \"▁ lett\",\n      \"en ne\",\n      \"enn e\",\n      \"() ).\",\n      \"()) .\",\n      \"( )).\",\n      \".* *\",\n      \". **\",\n      \"▁p romise\",\n      \"▁prom ise\",\n      \"el ection\",\n      \"ele ction\",\n      \"elect ion\",\n      \"e lection\",\n      \"Aut h\",\n      \"A uth\",\n      \"r v\",\n      \"ri l\",\n      \"r il\",\n      \"▁con duct\",\n      \"▁cond uct\",\n      \"▁condu ct\",\n      \"▁ conduct\",\n      \"▁main tain\",\n      \"▁maint ain\",\n      \"▁bo at\",\n      \"▁ boat\",\n      \"▁op posite\",\n      \"▁oppos ite\",\n      \"sp in\",\n      \"spi n\",\n      \"s pin\",\n      \"web pack\",\n      \"an ta\",\n      \"ant a\",\n      \"▁o rient\",\n      \"▁or ient\",\n      \"▁ orient\",\n      \"▁s uc\",\n      \"▁su c\",\n      \"▁ex ercise\",\n      \"▁exerc ise\",\n      \"▁eff icient\",\n      \"▁ efficient\",\n      \"▁trad ition\",\n      \"▁z w\",\n      \"▁ zw\",\n      \"▁S ud\",\n      \"▁Su d\",\n      \"go ing\",\n      \"▁P ier\",\n      \"▁Pi er\",\n      \"in v\",\n      \"i nv\",\n      \"ip es\",\n      \"ipe s\",\n      \"i pes\",\n      \"ensure math\",\n      \"▁con ver\",\n      \"▁conv er\",\n      \"▁conve r\",\n      \"cre en\",\n      \"cr een\",\n      \"c reen\",\n      \"▁t error\",\n      \"▁ter ror\",\n      \"▁terr or\",\n      \"▁D ou\",\n      \"▁Do u\",\n      \"▁in valid\",\n      \"▁ invalid\",\n      \"ce ived\",\n      \"ceive d\",\n      \"▁A rab\",\n      \"▁Ar ab\",\n      \"▁w ire\",\n      \"▁wir e\",\n      \"▁ wire\",\n      \"ap plication\",\n      \"sh ift\",\n      \"Gener ic\",\n      \"▁P lan\",\n      \"▁Pl an\",\n      \"▁ Plan\",\n      \"▁W all\",\n      \"▁Wal l\",\n      \"▁Wa ll\",\n      \"▁ Wall\",\n      \"▁direct ory\",\n      \"▁director y\",\n      \"▁ directory\",\n      \"▁e gg\",\n      \"▁eg g\",\n      \"▁we alth\",\n      \"▁ wealth\",\n      \"ran dom\",\n      \"rand om\",\n      \"r andom\",\n      \"att ribute\",\n      \"▁h ide\",\n      \"▁hi de\",\n      \"▁hid e\",\n      \"▁ hide\",\n      \"Se rial\",\n      \"Ser ial\",\n      \"S erial\",\n      \"ca m\",\n      \"c am\",\n      \"▁it al\",\n      \"▁i tal\",\n      \"▁ ital\",\n      \"▁L ine\",\n      \"▁Lin e\",\n      \"▁Li ne\",\n      \"▁ Line\",\n      \"▁C HECK\",\n      \"▁ CHECK\",\n      \"ploy ment\",\n      \"▁mass ive\",\n      \"▁ex tract\",\n      \"▁ext ract\",\n      \"▁extra ct\",\n      \"▁extr act\",\n      \"▁ extract\",\n      \"ch ain\",\n      \"cha in\",\n      \"Res t\",\n      \"Re st\",\n      \"R est\",\n      \"▁L as\",\n      \"▁La s\",\n      \"▁b ear\",\n      \"▁be ar\",\n      \"▁ bear\",\n      \"▁l inks\",\n      \"▁link s\",\n      \"▁lin ks\",\n      \"▁ links\",\n      \"▁new sp\",\n      \"▁news p\",\n      \"▁F C\",\n      \"▁ FC\",\n      \"Car d\",\n      \"C ard\",\n      \"ak s\",\n      \"a ks\",\n      \"▁v isible\",\n      \"▁vis ible\",\n      \"▁ visible\",\n      \"▁M arc\",\n      \"▁Mar c\",\n      \"▁Ma rc\",\n      \"▁B oston\",\n      \"▁Bo ston\",\n      \"▁Bos ton\",\n      \"▁res erved\",\n      \"▁reserv ed\",\n      \"▁reserve d\",\n      \"▁ro of\",\n      \"lic enses\",\n      \"license s\",\n      \"d c\",\n      \"▁In formation\",\n      \"▁ Information\",\n      \"▁w itness\",\n      \"S k\",\n      \"*) ,\",\n      \"* ),\",\n      \"Sc ope\",\n      \"S cope\",\n      \"'] ;\",\n      \"' ];\",\n      \"▁M ir\",\n      \"▁Mi r\",\n      \"▁ Mir\",\n      \"ud ing\",\n      \"udi ng\",\n      \"u ding\",\n      \"▁t rend\",\n      \"▁tr end\",\n      \"▁tre nd\",\n      \"▁tren d\",\n      \"re p\",\n      \"r ep\",\n      \"▁mus ical\",\n      \"▁music al\",\n      \"▁ne ither\",\n      \"▁nei ther\",\n      \"▁C reat\",\n      \"▁Cre at\",\n      \"▁ Creat\",\n      \"▁pos itions\",\n      \"▁position s\",\n      \"▁posit ions\",\n      \"L C\",\n      \"rid ge\",\n      \"r idge\",\n      \"▁offic ers\",\n      \"▁office rs\",\n      \"▁officer s\",\n      \"▁vi olence\",\n      \"▁viol ence\",\n      \"▁T em\",\n      \"▁Te m\",\n      \"▁S us\",\n      \"▁Su s\",\n      \"▁W ay\",\n      \"▁Wa y\",\n      \"Af ter\",\n      \"A fter\",\n      \"ac ket\",\n      \"ack et\",\n      \"▁S ou\",\n      \"▁So u\",\n      \"ac er\",\n      \"ace r\",\n      \"a cer\",\n      \"| |\",\n      \"▁re mark\",\n      \"▁r emark\",\n      \"▁rem ark\",\n      \"▁ remark\",\n      \"wa ter\",\n      \"w ater\",\n      \"n ě\",\n      \"▁С а\",\n      \"▁s ed\",\n      \"▁se d\",\n      \"▁ sed\",\n      \"E ach\",\n      \"▁phot ograph\",\n      \"▁photo graph\",\n      \"▁let ters\",\n      \"▁letter s\",\n      \"▁lett ers\",\n      \"▁in vent\",\n      \"▁inv ent\",\n      \"▁M as\",\n      \"▁Ma s\",\n      \"▁s ongs\",\n      \"▁son gs\",\n      \"▁song s\",\n      \"ó l\",\n      \"ki nd\",\n      \"kin d\",\n      \"k ind\",\n      \"▁N on\",\n      \"▁No n\",\n      \"▁ Non\",\n      \"▁d ust\",\n      \"▁du st\",\n      \"** :\",\n      \"* *:\",\n      \"nab la\",\n      \".\\\" ,\",\n      \". \\\",\",\n      \"Loc k\",\n      \"Lo ck\",\n      \"L ock\",\n      \"▁Д о\",\n      \"▁cl uster\",\n      \"▁ cluster\",\n      \"lo ss\",\n      \"los s\",\n      \"l oss\",\n      \"▁ASS ERT\",\n      \"▁ ASSERT\",\n      \"fa ll\",\n      \"f all\",\n      \"▁re ject\",\n      \"▁ reject\",\n      \"▁Sp ring\",\n      \"▁Spr ing\",\n      \"▁ Spring\",\n      \"▁wed ding\",\n      \"▁g rav\",\n      \"▁gr av\",\n      \"▁gra v\",\n      \"▁ grav\",\n      \"ress ion\",\n      \"r ession\",\n      \"li mit\",\n      \"lim it\",\n      \"l imit\",\n      \"RE S\",\n      \"R ES\",\n      \"] }\",\n      \"▁l isted\",\n      \"▁li sted\",\n      \"▁list ed\",\n      \"▁ listed\",\n      \"▁T ele\",\n      \"▁Te le\",\n      \"▁Tel e\",\n      \"▁ Tele\",\n      \"hl ine\",\n      \"h line\",\n      \"▁ch ief\",\n      \"▁chi ef\",\n      \"ME M\",\n      \"M EM\",\n      \"да р\",\n      \"д ар\",\n      \"▁exp ensive\",\n      \"tr ace\",\n      \"tra ce\",\n      \"▁R og\",\n      \"▁Ro g\",\n      \"▁C oll\",\n      \"▁Col l\",\n      \"▁Co ll\",\n      \"▁ Coll\",\n      \"▁Aut hor\",\n      \"▁Auth or\",\n      \"▁ Author\",\n      \"▁B oard\",\n      \"▁Bo ard\",\n      \"▁ Board\",\n      \"▁C apt\",\n      \"▁Cap t\",\n      \"▁Ca pt\",\n      \"▁ Capt\",\n      \"TE XT\",\n      \"T EXT\",\n      \"▁re con\",\n      \"▁rec on\",\n      \"es ta\",\n      \"est a\",\n      \"e sta\",\n      \"▁proper ly\",\n      \"▁& \\\\\",\n      \"▁ &\\\\\",\n      \"le ton\",\n      \"let on\",\n      \"l eton\",\n      \"ik er\",\n      \"ike r\",\n      \"i ker\",\n      \"G u\",\n      \"▁K om\",\n      \"▁Ko m\",\n      \"oc o\",\n      \"o co\",\n      \"▁any more\",\n      \"▁t aste\",\n      \"▁ta ste\",\n      \"▁tast e\",\n      \"▁S anta\",\n      \"▁San ta\",\n      \"▁Sant a\",\n      \"ge x\",\n      \"g ex\",\n      \"▁Se cret\",\n      \"▁Sec ret\",\n      \"▁ Secret\",\n      \"▁tal ent\",\n      \"▁tale nt\",\n      \"▁mom ents\",\n      \"▁moment s\",\n      \"▁mo ments\",\n      \"▁B a\",\n      \"▁ex tr\",\n      \"▁ext r\",\n      \"▁ extr\",\n      \"▁Com mission\",\n      \"▁Comm ission\",\n      \"▁mod ify\",\n      \"▁Fig ure\",\n      \"▁ Figure\",\n      \"▁d omin\",\n      \"▁do min\",\n      \"▁dom in\",\n      \"▁ domin\",\n      \"▁p lot\",\n      \"▁pl ot\",\n      \"▁ plot\",\n      \"en ger\",\n      \"eng er\",\n      \"enge r\",\n      \"ut ch\",\n      \"▁c ities\",\n      \"▁cit ies\",\n      \"▁ci ties\",\n      \"▁n ut\",\n      \"▁nu t\",\n      \"▁ nut\",\n      \"pro file\",\n      \"prof ile\",\n      \"▁S tat\",\n      \"▁St at\",\n      \"▁Sta t\",\n      \"▁ Stat\",\n      \"▁n odes\",\n      \"▁no des\",\n      \"▁node s\",\n      \"▁nod es\",\n      \"▁ nodes\",\n      \"▁n s\",\n      \"▁ ns\",\n      \"ess ages\",\n      \"essage s\",\n      \"essa ges\",\n      \"im pl\",\n      \"imp l\",\n      \"ic ker\",\n      \"ick er\",\n      \"i cker\",\n      \"▁ex amples\",\n      \"▁example s\",\n      \"▁exam ples\",\n      \"ab eth\",\n      \"abe th\",\n      \"abet h\",\n      \"▁st ated\",\n      \"▁stat ed\",\n      \"▁state d\",\n      \"▁sta ted\",\n      \"fi re\",\n      \"f ire\",\n      \"bu l\",\n      \"b ul\",\n      \"▁danger ous\",\n      \"▁P ay\",\n      \"▁Pa y\",\n      \"▁ Pay\",\n      \"▁G re\",\n      \"▁Gr e\",\n      \"▁ Gre\",\n      \"▁Mon day\",\n      \"▁Mond ay\",\n      \"es ome\",\n      \"eso me\",\n      \"e some\",\n      \"ig an\",\n      \"iga n\",\n      \"i gan\",\n      \"ru nd\",\n      \"run d\",\n      \"r und\",\n      \"pr ise\",\n      \"p rise\",\n      \"fa il\",\n      \"f ail\",\n      \"▁N ever\",\n      \"▁Ne ver\",\n      \"▁Nev er\",\n      \"▁ Never\",\n      \"A v\",\n      \"▁line ar\",\n      \"▁lin ear\",\n      \"▁ linear\",\n      \"▁u l\",\n      \"▁ ul\",\n      \"WA R\",\n      \"W AR\",\n      \"ре н\",\n      \"р ен\",\n      \"▁A T\",\n      \"▁ AT\",\n      \"▁d op\",\n      \"▁do p\",\n      \"▁n ou\",\n      \"▁no u\",\n      \"Des t\",\n      \"De st\",\n      \"D est\",\n      \"▁claim s\",\n      \"en da\",\n      \"end a\",\n      \"▁c razy\",\n      \"▁cr azy\",\n      \"ge l\",\n      \"g el\",\n      \"og gle\",\n      \"ogg le\",\n      \"▁rep resentation\",\n      \"▁represent ation\",\n      \"in en\",\n      \"ine n\",\n      \"i nen\",\n      \"▁altern ative\",\n      \"▁alter native\",\n      \"D M\",\n      \"AB ILITY\",\n      \"face s\",\n      \"fa ces\",\n      \"fac es\",\n      \"f aces\",\n      \"▁do ors\",\n      \"▁door s\",\n      \"▁ doors\",\n      \"at iv\",\n      \"ati v\",\n      \"Lo ok\",\n      \"L ook\",\n      \"▁J SON\",\n      \"▁JS ON\",\n      \"▁ JSON\",\n      \"▁appe arance\",\n      \"▁appear ance\",\n      \"б ря\",\n      \"S QL\",\n      \"▁sil ence\",\n      \"ud o\",\n      \"u do\",\n      \"▁Direct or\",\n      \"▁Dire ctor\",\n      \"▁Dir ector\",\n      \"State ment\",\n      \"Stat ement\",\n      \"se lected\",\n      \"select ed\",\n      \"hi gh\",\n      \"h igh\",\n      \"pr ime\",\n      \"prim e\",\n      \"▁ign ore\",\n      \"▁ignor e\",\n      \"▁ ignore\",\n      \"▁col ors\",\n      \"▁color s\",\n      \"▁ colors\",\n      \"us hing\",\n      \"ush ing\",\n      \"▁v irt\",\n      \"▁vi rt\",\n      \"▁vir t\",\n      \"▁ virt\",\n      \"man ager\",\n      \"▁rem ote\",\n      \"▁remot e\",\n      \"▁ remote\",\n      \"ł o\",\n      \"sm all\",\n      \"▁cr ime\",\n      \"▁crim e\",\n      \"▁cri me\",\n      \"r b\",\n      \"▁c reation\",\n      \"▁cre ation\",\n      \"▁creat ion\",\n      \"▁f light\",\n      \"▁fl ight\",\n      \"▁S ign\",\n      \"▁Si gn\",\n      \"▁Sig n\",\n      \"▁ Sign\",\n      \"IL E\",\n      \"I LE\",\n      \"▁D O\",\n      \"▁ DO\",\n      \"com ment\",\n      \"comm ent\",\n      \"▁C ost\",\n      \"▁Co st\",\n      \"▁Cos t\",\n      \"▁ Cost\",\n      \"._ _\",\n      \". __\",\n      \"▁C op\",\n      \"▁Co p\",\n      \"▁ Cop\",\n      \"▁v om\",\n      \"▁vo m\",\n      \"▁Sc ience\",\n      \"▁Sci ence\",\n      \"ле ния\",\n      \"oo p\",\n      \"o op\",\n      \"inter face\",\n      \"▁WARRAN TIES\",\n      \"▁P age\",\n      \"▁Pa ge\",\n      \"▁ Page\",\n      \"** ****\",\n      \"**** **\",\n      \"*** ***\",\n      \"ско м\",\n      \"с ком\",\n      \"TR UE\",\n      \"▁re peated\",\n      \"▁repe ated\",\n      \"▁repeat ed\",\n      \"▁е го\",\n      \"ш о\",\n      \"▁r oz\",\n      \"▁ro z\",\n      \"▁ roz\",\n      \"P e\",\n      \"▁IS BN\",\n      \"ir ts\",\n      \"irt s\",\n      \"pos es\",\n      \"po ses\",\n      \"pose s\",\n      \"p oses\",\n      \"}) $\",\n      \"} )$\",\n      \"▁ І\",\n      \"child ren\",\n      \"ble s\",\n      \"bl es\",\n      \"b les\",\n      \"EC T\",\n      \"E CT\",\n      \"▁i z\",\n      \"▁ iz\",\n      \"▁b uilder\",\n      \"▁build er\",\n      \"▁ builder\",\n      \"▁M edia\",\n      \"▁Med ia\",\n      \"▁ Media\",\n      \"ia t\",\n      \"i at\",\n      \"▁contr ast\",\n      \"▁contra st\",\n      \"” ,\",\n      \"▁L ink\",\n      \"▁Lin k\",\n      \"▁ Link\",\n      \"▁Educ ation\",\n      \"▁j oint\",\n      \"▁join t\",\n      \"▁jo int\",\n      \"▁ joint\",\n      \"▁ex ternal\",\n      \"▁extern al\",\n      \"▁ external\",\n      \"▁ро з\",\n      \"▁b its\",\n      \"▁bit s\",\n      \"▁bi ts\",\n      \"▁ bits\",\n      \"FO RM\",\n      \"FOR M\",\n      \"F ORM\",\n      \"er man\",\n      \"erm an\",\n      \"w p\",\n      \"▁M ike\",\n      \"▁Mi ke\",\n      \"▁Mik e\",\n      \"▁M aster\",\n      \"▁Ma ster\",\n      \"▁Mas ter\",\n      \"▁ Master\",\n      \"▁sen ior\",\n      \"▁N av\",\n      \"▁Na v\",\n      \"▁ Nav\",\n      \"▁record ed\",\n      \"el ing\",\n      \"eli ng\",\n      \"elin g\",\n      \"e ling\",\n      \"es h\",\n      \"e sh\",\n      \"f x\",\n      \"ка н\",\n      \"к ан\",\n      \"▁t all\",\n      \"▁tal l\",\n      \"▁ta ll\",\n      \"▁John son\",\n      \"▁s ono\",\n      \"▁so no\",\n      \"▁son o\",\n      \"▁an che\",\n      \"▁anc he\",\n      \"▁anch e\",\n      \"▁ anche\",\n      \"ic ken\",\n      \"ick en\",\n      \"i cken\",\n      \"lo op\",\n      \"l oop\",\n      \"ici ency\",\n      \"empor ary\",\n      \"▁D oes\",\n      \"▁Do es\",\n      \"▁ Does\",\n      \"▁re lation\",\n      \"▁rel ation\",\n      \"▁ relation\",\n      \"м ы\",\n      \"wa s\",\n      \"w as\",\n      \"lo w\",\n      \"l ow\",\n      \"ich te\",\n      \"icht e\",\n      \"i chte\",\n      \"▁J ones\",\n      \"▁Jo nes\",\n      \"▁Jon es\",\n      \"▁bed room\",\n      \"DI S\",\n      \"D IS\",\n      \"▁mag net\",\n      \"▁magn et\",\n      \"▁Eng ine\",\n      \"▁ Engine\",\n      \"▁feel ings\",\n      \"▁feeling s\",\n      \"▁fee lings\",\n      \"G C\",\n      \"▁t orn\",\n      \"▁to rn\",\n      \"▁tor n\",\n      \"▁relationship s\",\n      \"▁relation ships\",\n      \"▁Р е\",\n      \"▁p roud\",\n      \"▁pro ud\",\n      \"▁pr oud\",\n      \"▁t we\",\n      \"▁tw e\",\n      \"ov al\",\n      \"ova l\",\n      \"o val\",\n      \"▁w aste\",\n      \"▁was te\",\n      \"▁wa ste\",\n      \"▁red uced\",\n      \"▁redu ced\",\n      \"▁reduce d\",\n      \"il ton\",\n      \"ilt on\",\n      \"B P\",\n      \"▁for got\",\n      \"▁forg ot\",\n      \"▁bod ies\",\n      \"▁H aw\",\n      \"▁Ha w\",\n      \"la g\",\n      \"l ag\",\n      \"▁w ww\",\n      \"▁ www\",\n      \"do or\",\n      \"d oor\",\n      \"▁s ufficient\",\n      \"▁suff icient\",\n      \"▁doll ars\",\n      \"▁dollar s\",\n      \"Le n\",\n      \"L en\",\n      \"▁talk ed\",\n      \"▁tal ked\",\n      \"▁b ond\",\n      \"▁bo nd\",\n      \"▁bon d\",\n      \"▁B or\",\n      \"▁Bo r\",\n      \"}} {\",\n      \"} }{\",\n      \"ro d\",\n      \"r od\",\n      \"Pass word\",\n      \"qu are\",\n      \"▁l ights\",\n      \"▁light s\",\n      \"▁ lights\",\n      \"er en\",\n      \"ere n\",\n      \"e ren\",\n      \"▁th irty\",\n      \"N C\",\n      \"▁T ODO\",\n      \"▁TO DO\",\n      \"▁res pond\",\n      \"▁respon d\",\n      \"▁resp ond\",\n      \"▁ respond\",\n      \"ки х\",\n      \"dir ect\",\n      \"di rect\",\n      \"dire ct\",\n      \"d irect\",\n      \"a ção\",\n      \"▁he av\",\n      \"Med ia\",\n      \"M edia\",\n      \"ex it\",\n      \"e xit\",\n      \"L icense\",\n      \"` .\",\n      \"▁m ixed\",\n      \"▁mix ed\",\n      \"▁d esk\",\n      \"▁de sk\",\n      \"▁des k\",\n      \"▁te aching\",\n      \"▁teach ing\",\n      \"▁tea ching\",\n      \"▁m aj\",\n      \"▁ma j\",\n      \"▁n erv\",\n      \"▁ne rv\",\n      \"▁ner v\",\n      \"in ations\",\n      \"ination s\",\n      \"type of\",\n      \"▁co ast\",\n      \"▁ж е\",\n      \"▁ же\",\n      \"▁be side\",\n      \"▁bes ide\",\n      \"um my\",\n      \"umm y\",\n      \"Do c\",\n      \"D oc\",\n      \"▁sche dule\",\n      \"▁schedul e\",\n      \"▁sched ule\",\n      \"▁ schedule\",\n      \"▁re cover\",\n      \"▁rec over\",\n      \"▁Fur ther\",\n      \"▁ste el\",\n      \"bo ot\",\n      \"b oot\",\n      \"▁Per haps\",\n      \"▁с ъ\",\n      \"▁O s\",\n      \"▁ Os\",\n      \"ri ck\",\n      \"ric k\",\n      \"r ick\",\n      \"▁В и\",\n      \"Supp ort\",\n      \"Sup port\",\n      \"S upport\",\n      \"▁( _\",\n      \"▁ (_\",\n      \"ni l\",\n      \"n il\",\n      \"pi s\",\n      \"p is\",\n      \"x pected\",\n      \"▁process ing\",\n      \"▁proces sing\",\n      \"▁ processing\",\n      \"Bu ild\",\n      \"B uild\",\n      \"ar ian\",\n      \"ari an\",\n      \"aria n\",\n      \"a rian\",\n      \"▁i con\",\n      \"▁ic on\",\n      \"▁ icon\",\n      \"▁C A\",\n      \"▁ CA\",\n      \"wi ck\",\n      \"w ick\",\n      \"= (\",\n      \"▁al gorithm\",\n      \"▁ algorithm\",\n      \"▁You ng\",\n      \"▁Man agement\",\n      \"▁ Management\",\n      \"▁anc ient\",\n      \"▁anci ent\",\n      \"но сть\",\n      \"ност ь\",\n      \"ot i\",\n      \"o ti\",\n      \"▁comb ination\",\n      \"wor ld\",\n      \"w orld\",\n      \"n n\",\n      \"▁d ram\",\n      \"▁dr am\",\n      \"en abled\",\n      \"ena bled\",\n      \"enable d\",\n      \"A c\",\n      \"C CESS\",\n      \"ar ation\",\n      \"▁bl ocks\",\n      \"▁block s\",\n      \"▁blo cks\",\n      \"▁ blocks\",\n      \"▁Ang eles\",\n      \"▁Angel es\",\n      \"▁Q ual\",\n      \"▁Qu al\",\n      \"▁ Qual\",\n      \"▁suc ceed\",\n      \"▁succ eed\",\n      \"net work\",\n      \"▁ob lig\",\n      \"spring framework\",\n      \"▁T re\",\n      \"▁Tr e\",\n      \"ok es\",\n      \"oke s\",\n      \"o kes\",\n      \"mu n\",\n      \"m un\",\n      \"▁Net work\",\n      \"▁ Network\",\n      \"De l\",\n      \"D el\",\n      \"▁e state\",\n      \"▁est ate\",\n      \"▁esta te\",\n      \"▁l iqu\",\n      \"▁li qu\",\n      \"▁p ob\",\n      \"▁po b\",\n      \"▁d ad\",\n      \"▁da d\",\n      \"▁dist inct\",\n      \"▁T it\",\n      \"▁Ti t\",\n      \"▁L ear\",\n      \"▁Le ar\",\n      \"fer red\",\n      \"and roid\",\n      \"andro id\",\n      \"▁sub sequ\",\n      \"▁subs equ\",\n      \"▁Flor ida\",\n      \"sub set\",\n      \"▁whis per\",\n      \"Vo l\",\n      \"V ol\",\n      \"ul ous\",\n      \"ulo us\",\n      \"▁c rew\",\n      \"▁cre w\",\n      \"▁cr ew\",\n      \"▁l ug\",\n      \"▁lu g\",\n      \"pi d\",\n      \"p id\",\n      \"oc ity\",\n      \"oci ty\",\n      \"o city\",\n      \"sk b\",\n      \"s kb\",\n      \"▁t ea\",\n      \"▁te a\",\n      \"у н\",\n      \"▁hon or\",\n      \"▁ho nor\",\n      \"▁I ns\",\n      \"▁In s\",\n      \"▁ Ins\",\n      \"▁g ew\",\n      \"▁ge w\",\n      \"▁ gew\",\n      \"Det ails\",\n      \"Detail s\",\n      \"ene ath\",\n      \"e neath\",\n      \"at ar\",\n      \"ata r\",\n      \"a tar\",\n      \"▁_ {\",\n      \"▁ _{\",\n      \"am en\",\n      \"ame n\",\n      \"a men\",\n      \"▁set up\",\n      \"▁ setup\",\n      \"Trans action\",\n      \"▁bl ank\",\n      \"▁ blank\",\n      \"Fail ed\",\n      \"F ailed\",\n      \"jo b\",\n      \"j ob\",\n      \"▁p ret\",\n      \"▁pre t\",\n      \"▁pr et\",\n      \"▁ pret\",\n      \"ß e\",\n      \"lo or\",\n      \"l oor\",\n      \"ř í\",\n      \"nc ia\",\n      \"n cia\",\n      \"▁any where\",\n      \"▁L ight\",\n      \"▁Li ght\",\n      \"▁ Light\",\n      \"▁A k\",\n      \"B D\",\n      \"▁exc ited\",\n      \"▁excit ed\",\n      \"ag ers\",\n      \"age rs\",\n      \"ager s\",\n      \"a gers\",\n      \"▁w arning\",\n      \"▁war ning\",\n      \"▁warn ing\",\n      \"▁ warning\",\n      \"▁process es\",\n      \"▁proces ses\",\n      \"h u\",\n      \"▁y outh\",\n      \"▁you th\",\n      \"▁yo uth\",\n      \"▁d ogs\",\n      \"▁do gs\",\n      \"▁dog s\",\n      \"▁o ct\",\n      \"▁oc t\",\n      \"▁ oct\",\n      \"▁n ine\",\n      \"▁ni ne\",\n      \"▁nin e\",\n      \"Write r\",\n      \"Wr iter\",\n      \"Writ er\",\n      \"W riter\",\n      \"gr id\",\n      \"g rid\",\n      \"▁import ance\",\n      \"est ic\",\n      \"▁care fully\",\n      \"▁careful ly\",\n      \"ma ster\",\n      \"mas ter\",\n      \"m aster\",\n      \"▁dec isions\",\n      \"▁decision s\",\n      \"▁decis ions\",\n      \"▁p in\",\n      \"▁pi n\",\n      \"▁ pin\",\n      \"▁cr ack\",\n      \"TE ST\",\n      \"TES T\",\n      \"T EST\",\n      \"▁L ocal\",\n      \"▁Loc al\",\n      \"▁Lo cal\",\n      \"▁ Local\",\n      \"▁R ight\",\n      \"▁ Right\",\n      \"▁v ast\",\n      \"▁va st\",\n      \"▁vas t\",\n      \"▁f aster\",\n      \"▁fa ster\",\n      \"▁fast er\",\n      \"▁inst itut\",\n      \"▁ann ual\",\n      \"LA N\",\n      \"L AN\",\n      \"▁e pisode\",\n      \"▁epis ode\",\n      \"▁X V\",\n      \"▁del ivery\",\n      \"▁deliver y\",\n      \"t l\",\n      \"F P\",\n      \"ci rc\",\n      \"cir c\",\n      \"▁typ ically\",\n      \"▁typical ly\",\n      \"ig o\",\n      \"i go\",\n      \"▁int el\",\n      \"▁inte l\",\n      \"▁ intel\",\n      \"na t\",\n      \"n at\",\n      \"x b\",\n      \"ст ро\",\n      \"с тро\",\n      \") -\",\n      \"▁B al\",\n      \"▁Ba l\",\n      \"▁ Bal\",\n      \"▁J os\",\n      \"▁Jo s\",\n      \"▁g onna\",\n      \"▁R est\",\n      \"▁Re st\",\n      \"▁Res t\",\n      \"▁ Rest\",\n      \"jo r\",\n      \"j or\",\n      \"on ia\",\n      \"oni a\",\n      \"o nia\",\n      \"or ship\",\n      \"ors hip\",\n      \"ov ery\",\n      \"ove ry\",\n      \"over y\",\n      \"o very\",\n      \"LI NE\",\n      \"LIN E\",\n      \"L INE\",\n      \"] :\",\n      \"Que ue\",\n      \"▁com pare\",\n      \"▁comp are\",\n      \"▁compar e\",\n      \"▁ compare\",\n      \"▁ap artment\",\n      \"▁apart ment\",\n      \"▁r ul\",\n      \"▁ru l\",\n      \"D r\",\n      \"gen cy\",\n      \"g ency\",\n      \"▁ob viously\",\n      \"▁obvious ly\",\n      \"zi e\",\n      \"z ie\",\n      \"yc l\",\n      \"y cl\",\n      \"fort unately\",\n      \"fortun ately\",\n      \"fortunate ly\",\n      \"▁ste pped\",\n      \"▁step ped\",\n      \"▁S eg\",\n      \"▁Se g\",\n      \"▁ Seg\",\n      \"▁Wh ich\",\n      \"▁ Which\",\n      \"▁P C\",\n      \"▁ PC\",\n      \"▁a st\",\n      \"▁as t\",\n      \"▁ ast\",\n      \"end or\",\n      \"endo r\",\n      \"▁per mission\",\n      \"▁perm ission\",\n      \"▁ permission\",\n      \"CO L\",\n      \"C OL\",\n      \"▁T EST\",\n      \"▁TE ST\",\n      \"▁ TEST\",\n      \"P ay\",\n      \"ère s\",\n      \"è res\",\n      \"▁stud ied\",\n      \"▁accom pl\",\n      \"▁accomp l\",\n      \"ro le\",\n      \"rol e\",\n      \"r ole\",\n      \"Wh ere\",\n      \"Whe re\",\n      \"W here\",\n      \"proto buf\",\n      \"met adata\",\n      \"meta data\",\n      \"Jo b\",\n      \"J ob\",\n      \"▁F our\",\n      \"▁Fou r\",\n      \"▁Fo ur\",\n      \"pl ements\",\n      \"ple ments\",\n      \"plement s\",\n      \"dis able\",\n      \"▁l oud\",\n      \"▁lo ud\",\n      \"▁lou d\",\n      \"▁happ ening\",\n      \"▁happen ing\",\n      \"▁U sing\",\n      \"▁Us ing\",\n      \"▁ Using\",\n      \"ro g\",\n      \"r og\",\n      \"▁depend s\",\n      \"▁dep ends\",\n      \"í m\",\n      \"' \\\\\",\n      \"▁t aught\",\n      \"sh ared\",\n      \"sha red\",\n      \"share d\",\n      \"▁att ributes\",\n      \"▁attribute s\",\n      \"▁attribut es\",\n      \"▁ attributes\",\n      \"▁A ction\",\n      \"▁Act ion\",\n      \"▁ Action\",\n      \"▁d ess\",\n      \"▁de ss\",\n      \"▁des s\",\n      \"▁ dess\",\n      \"▁h ouses\",\n      \"▁house s\",\n      \"▁hous es\",\n      \"▁ho uses\",\n      \"▁re set\",\n      \"▁res et\",\n      \"▁ reset\",\n      \"▁b ien\",\n      \"▁bi en\",\n      \"▁ex plicit\",\n      \"▁expl icit\",\n      \"LO W\",\n      \"-> _\",\n      \"▁P M\",\n      \"▁ PM\",\n      \"C ategory\",\n      \"oi ce\",\n      \"o ice\",\n      \"in to\",\n      \"int o\",\n      \"▁m ail\",\n      \"▁ma il\",\n      \"▁mai l\",\n      \"▁ mail\",\n      \"▁author ity\",\n      \"▁un able\",\n      \"▁una ble\",\n      \"file name\",\n      \"fil ename\",\n      \"é k\",\n      \"ле й\",\n      \"л ей\",\n      \"▁s ector\",\n      \"▁se ctor\",\n      \"▁sec tor\",\n      \"▁sect or\",\n      \"ap point\",\n      \"app oint\",\n      \"▁h ang\",\n      \"▁ha ng\",\n      \"▁han g\",\n      \"▁ hang\",\n      \"▁c el\",\n      \"▁ce l\",\n      \"▁ cel\",\n      \"rel ated\",\n      \"it ate\",\n      \"ita te\",\n      \"itat e\",\n      \"▁' <\",\n      \"am ber\",\n      \"amb er\",\n      \"a mber\",\n      \"▁c heap\",\n      \"▁che ap\",\n      \"▁en abled\",\n      \"▁enable d\",\n      \"▁ enabled\",\n      \"▁di vision\",\n      \"▁div ision\",\n      \"▁divis ion\",\n      \"An y\",\n      \"A ny\",\n      \"▁h ier\",\n      \"▁hi er\",\n      \"▁H ead\",\n      \"▁He ad\",\n      \"▁ Head\",\n      \"nt ax\",\n      \"n tax\",\n      \"ud a\",\n      \"u da\",\n      \"▁lim itations\",\n      \"▁limit ations\",\n      \"▁limitation s\",\n      \"▁st udio\",\n      \"▁stud io\",\n      \"med ia\",\n      \"medi a\",\n      \"m edia\",\n      \"▁cir cle\",\n      \"▁circ le\",\n      \"▁ circle\",\n      \"но ва\",\n      \"нов а\",\n      \"▁l aug\",\n      \"▁la ug\",\n      \"ac ts\",\n      \"act s\",\n      \"▁В о\",\n      \"ó d\",\n      \"pl ed\",\n      \"ple d\",\n      \"p led\",\n      \"LO C\",\n      \"L OC\",\n      \"Ex pr\",\n      \"Exp r\",\n      \"> :\",\n      \"▁pr és\",\n      \"▁pré s\",\n      \"▁ prés\",\n      \"▁laugh ed\",\n      \"▁laug hed\",\n      \"▁Th ree\",\n      \"▁ Three\",\n      \"л ы\",\n      \"▁en ds\",\n      \"▁end s\",\n      \"▁ ends\",\n      \"▁fund ament\",\n      \"▁in her\",\n      \"▁ inher\",\n      \"▁l iv\",\n      \"▁li v\",\n      \"▁ liv\",\n      \"bi d\",\n      \"b id\",\n      \"▁respons ibility\",\n      \"▁check ed\",\n      \"▁ checked\",\n      \"▁P ac\",\n      \"▁Pa c\",\n      \"▁f ault\",\n      \"▁fa ult\",\n      \"▁y ellow\",\n      \"▁s alt\",\n      \"▁sa lt\",\n      \"▁sal t\",\n      \"▁Franc isco\",\n      \"▁Francis co\",\n      \"▁ ^\",\n      \"▁O N\",\n      \"▁ ON\",\n      \"▁beaut y\",\n      \"y g\",\n      \"▁A ff\",\n      \"▁Af f\",\n      \"▁ Aff\",\n      \"▁E q\",\n      \"▁ Eq\",\n      \"▁mag ic\",\n      \"▁hand ler\",\n      \"▁handle r\",\n      \"▁ handler\",\n      \"x E\",\n      \"▁numer ous\",\n      \"▁numero us\",\n      \"▁h ole\",\n      \"▁hol e\",\n      \"▁ho le\",\n      \"▁ hole\",\n      \"▁ro oms\",\n      \"▁room s\",\n      \"▁ rooms\",\n      \"cc ión\",\n      \"cció n\",\n      \"c ción\",\n      \"▁A rm\",\n      \"▁Ar m\",\n      \"▁ Arm\",\n      \"per son\",\n      \"pers on\",\n      \"p erson\",\n      \"▁build ings\",\n      \"▁building s\",\n      \"▁p late\",\n      \"▁pl ate\",\n      \"▁plat e\",\n      \"ble d\",\n      \"bl ed\",\n      \"b led\",\n      \"er rors\",\n      \"err ors\",\n      \"error s\",\n      \"▁A gain\",\n      \"▁Ag ain\",\n      \"▁Def ault\",\n      \"▁ Default\",\n      \"▁H ard\",\n      \"▁Har d\",\n      \"▁Ha rd\",\n      \"▁ Hard\",\n      \"t ó\",\n      \"hu s\",\n      \"h us\",\n      \"▁dim ension\",\n      \"ial e\",\n      \"ia le\",\n      \"i ale\",\n      \"▁M ult\",\n      \"▁Mu lt\",\n      \"▁Mul t\",\n      \"▁ Mult\",\n      \"▁Govern ment\",\n      \"Fun c\",\n      \"F unc\",\n      \"▁b low\",\n      \"▁bl ow\",\n      \"▁blo w\",\n      \"▁re ct\",\n      \"▁r ect\",\n      \"▁rec t\",\n      \"▁ rect\",\n      \"er ra\",\n      \"err a\",\n      \"conne ction\",\n      \"connect ion\",\n      \"conn ection\",\n      \"▁pass ing\",\n      \"▁pas sing\",\n      \"ße n\",\n      \"ß en\",\n      \"ph as\",\n      \"pha s\",\n      \"p has\",\n      \"ens ional\",\n      \"ension al\",\n      \"re cord\",\n      \"rec ord\",\n      \"co hol\",\n      \"▁H arry\",\n      \"▁Har ry\",\n      \"▁Harr y\",\n      \"izont al\",\n      \"izon tal\",\n      \"▁f inger\",\n      \"▁fin ger\",\n      \"▁fing er\",\n      \"▁young er\",\n      \"▁S C\",\n      \"▁ SC\",\n      \"oper ation\",\n      \"B Y\",\n      \"he im\",\n      \"▁B ad\",\n      \"▁Ba d\",\n      \"▁ Bad\",\n      \"▁st orm\",\n      \"▁stor m\",\n      \"▁sto rm\",\n      \"▁ storm\",\n      \"▁N at\",\n      \"▁Na t\",\n      \"▁bu ying\",\n      \"▁buy ing\",\n      \"▁S ometimes\",\n      \"▁Some times\",\n      \"▁С та\",\n      \"es sed\",\n      \"ess ed\",\n      \"esse d\",\n      \"▁da mn\",\n      \"▁dam n\",\n      \"▁m eg\",\n      \"▁me g\",\n      \"um es\",\n      \"ume s\",\n      \"u mes\",\n      \"ün d\",\n      \"ü nd\",\n      \"т ра\",\n      \"▁sil ver\",\n      \"w d\",\n      \"hid den\",\n      \"h idden\",\n      \"ar do\",\n      \"ard o\",\n      \"▁commun ities\",\n      \"▁d iet\",\n      \"▁di et\",\n      \"▁die t\",\n      \"ot ted\",\n      \"ott ed\",\n      \"otte d\",\n      \"▁b at\",\n      \"▁ba t\",\n      \"▁ bat\",\n      \"an cer\",\n      \"ance r\",\n      \"anc er\",\n      \"▁f mt\",\n      \"▁ fmt\",\n      \"▁P en\",\n      \"▁Pe n\",\n      \"▁ Pen\",\n      \"▁t il\",\n      \"▁ti l\",\n      \"▁ til\",\n      \"En um\",\n      \"E num\",\n      \"PA TH\",\n      \"P ATH\",\n      \"▁mat ters\",\n      \"▁matter s\",\n      \"▁matt ers\",\n      \"time out\",\n      \"-- ----------\",\n      \"---- --------\",\n      \"-------- ----\",\n      \"--- ---------\",\n      \"----- -------\",\n      \"---------- --\",\n      \"------ ------\",\n      \"--------- ---\",\n      \"------- -----\",\n      \"----------- -\",\n      \"- -----------\",\n      \"ka n\",\n      \"k an\",\n      \"▁Cor por\",\n      \"=\\\" ../../\",\n      \"=\\\"../ ../\",\n      \"▁A le\",\n      \"▁Al e\",\n      \"hent ication\",\n      \"hentic ation\",\n      \"▁com plic\",\n      \"▁comp lic\",\n      \"▁compl ic\",\n      \"▁Se curity\",\n      \"▁Sec urity\",\n      \"▁ Security\",\n      \"OF F\",\n      \"O FF\",\n      \"R ad\",\n      \"ap se\",\n      \"aps e\",\n      \"a pse\",\n      \"▁d ance\",\n      \"▁dan ce\",\n      \"▁perm issions\",\n      \"▁permission s\",\n      \"▁war rant\",\n      \"▁l ad\",\n      \"▁la d\",\n      \"▁ lad\",\n      \"▁is ol\",\n      \"▁i sol\",\n      \"d l\",\n      \"▁A u\",\n      \"ye s\",\n      \"y es\",\n      \"▁t v\",\n      \"▁ tv\",\n      \"▁pro vider\",\n      \"▁prov ider\",\n      \"▁provide r\",\n      \"▁ provider\",\n      \"▁ter rible\",\n      \"▁terr ible\",\n      \"▁dep artment\",\n      \"▁depart ment\",\n      \"er al\",\n      \"era l\",\n      \"e ral\",\n      \"▁implement ation\",\n      \"S R\",\n      \"▁h earing\",\n      \"▁he aring\",\n      \"▁hear ing\",\n      \"▁K n\",\n      \"F R\",\n      \"t v\",\n      \"▁d iss\",\n      \"▁dis s\",\n      \"▁di ss\",\n      \"F UN\",\n      \"▁dur ante\",\n      \"▁durant e\",\n      \"os is\",\n      \"osi s\",\n      \"o sis\",\n      \"▁task s\",\n      \"▁ tasks\",\n      \"▁B lo\",\n      \"▁Bl o\",\n      \"▁ Blo\",\n      \"во д\",\n      \"▁br anch\",\n      \"▁ branch\",\n      \"▁polit ics\",\n      \"▁E lle\",\n      \"▁El le\",\n      \"▁Ell e\",\n      \"▁lead ership\",\n      \"▁leader ship\",\n      \"▁leaders hip\",\n      \"ex pr\",\n      \"exp r\",\n      \"▁techn iques\",\n      \"▁technique s\",\n      \"pr ec\",\n      \"pre c\",\n      \"p rec\",\n      \"Sig ma\",\n      \"S igma\",\n      \"im ately\",\n      \"imate ly\",\n      \"imat ely\",\n      \"t k\",\n      \"ach ment\",\n      \"▁En ter\",\n      \"▁Ent er\",\n      \"▁ Enter\",\n      \"▁cre ative\",\n      \"▁creat ive\",\n      \"▁з на\",\n      \"▁ зна\",\n      \"ap py\",\n      \"app y\",\n      \"un ched\",\n      \"unch ed\",\n      \"unc hed\",\n      \"▁' ',\",\n      \"▁'' ,\",\n      \"on der\",\n      \"ond er\",\n      \"onde r\",\n      \"o nder\",\n      \"{ -\",\n      \"NU M\",\n      \"N UM\",\n      \"▁n arr\",\n      \"▁na rr\",\n      \"▁nar r\",\n      \"Mem ory\",\n      \"▁win ning\",\n      \"▁ winning\",\n      \"▁F ollow\",\n      \"▁Fol low\",\n      \"▁ Follow\",\n      \"*/ \\r\",\n      \"vis ion\",\n      \"v ision\",\n      \"res ents\",\n      \"resent s\",\n      \"zi one\",\n      \"z ione\",\n      \"▁l atter\",\n      \"▁lat ter\",\n      \"▁requ ests\",\n      \"▁request s\",\n      \"▁ requests\",\n      \"▁m argin\",\n      \"▁mar gin\",\n      \"▁marg in\",\n      \"▁ margin\",\n      \"▁{ \\\"\",\n      \"▁ {\\\"\",\n      \"v ideo\",\n      \"c n\",\n      \"▁Im age\",\n      \"▁ Image\",\n      \"T im\",\n      \"CON FIG\",\n      \"CONF IG\",\n      \"▁all owing\",\n      \"▁allow ing\",\n      \"▁comb ined\",\n      \"▁combine d\",\n      \"PU T\",\n      \"P UT\",\n      \"▁instance of\",\n      \"ig in\",\n      \"igi n\",\n      \"i gin\",\n      \"▁p ero\",\n      \"▁per o\",\n      \"▁pe ro\",\n      \"▁' '\",\n      \"▁ ''\",\n      \"▁conf idence\",\n      \"▁equ ivalent\",\n      \"▁equival ent\",\n      \"pa d\",\n      \"p ad\",\n      \"ef fect\",\n      \"eff ect\",\n      \"e ffect\",\n      \"R X\",\n      \"▁l ang\",\n      \"▁la ng\",\n      \"▁lan g\",\n      \"▁ lang\",\n      \"str ong\",\n      \"▁b ridge\",\n      \"▁br idge\",\n      \"▁ bridge\",\n      \"ay a\",\n      \"a ya\",\n      \"▁t reated\",\n      \"▁tre ated\",\n      \"▁treat ed\",\n      \"▁f orth\",\n      \"▁for th\",\n      \"▁fort h\",\n      \"S W\",\n      \"▁account s\",\n      \"▁P O\",\n      \"▁ PO\",\n      \"▁list ening\",\n      \"▁listen ing\",\n      \"Ro ute\",\n      \"R oute\",\n      \"() ))\",\n      \"()) )\",\n      \"( )))\",\n      \"cp y\",\n      \"c py\",\n      \"▁re form\",\n      \"▁ref orm\",\n      \"▁g ate\",\n      \"▁ga te\",\n      \"▁ gate\",\n      \"▁W alk\",\n      \"▁Wal k\",\n      \"▁ Walk\",\n      \"▁some how\",\n      \"t f\",\n      \"▁l ayout\",\n      \"▁la yout\",\n      \"▁lay out\",\n      \"▁ layout\",\n      \"um in\",\n      \"umi n\",\n      \"u min\",\n      \"▁consider ing\",\n      \"▁consid ering\",\n      \"▁pre mi\",\n      \"▁pr emi\",\n      \"▁prem i\",\n      \"▁M om\",\n      \"▁Mo m\",\n      \"at han\",\n      \"ath an\",\n      \"a than\",\n      \"Ge n\",\n      \"G en\",\n      \"▁plan et\",\n      \"▁plane t\",\n      \"am ples\",\n      \"amp les\",\n      \"ample s\",\n      \"▁M O\",\n      \"▁ MO\",\n      \"sh op\",\n      \"s hop\",\n      \"▁prem ier\",\n      \"▁premi er\",\n      \"▁s impl\",\n      \"▁sim pl\",\n      \"▁s egu\",\n      \"▁se gu\",\n      \"▁seg u\",\n      \"L Y\",\n      \"Su m\",\n      \"S um\",\n      \"▁t ables\",\n      \"▁table s\",\n      \"▁tab les\",\n      \"▁ta bles\",\n      \"▁ tables\",\n      \"sk a\",\n      \"s ka\",\n      \"▁ ž\",\n      \"p d\",\n      \"▁s ous\",\n      \"▁so us\",\n      \"▁sou s\",\n      \"▁con ference\",\n      \"▁confer ence\",\n      \"▁D at\",\n      \"▁Da t\",\n      \"▁ Dat\",\n      \"Sc roll\",\n      \"▁stand ards\",\n      \"▁standard s\",\n      \"▁г ру\",\n      \"es se\",\n      \"ess e\",\n      \"▁citiz ens\",\n      \"▁citizen s\",\n      \"▁occur red\",\n      \"▁dem ocr\",\n      \"▁demo cr\",\n      \"▁e lev\",\n      \"▁el ev\",\n      \"▁ele v\",\n      \"▁S em\",\n      \"▁Se m\",\n      \"▁ Sem\",\n      \"ens us\",\n      \"he aders\",\n      \"head ers\",\n      \"header s\",\n      \"▁Ch ris\",\n      \"im ento\",\n      \"iment o\",\n      \"imen to\",\n      \"ko m\",\n      \"k om\",\n      \"Co r\",\n      \"C or\",\n      \"MI N\",\n      \"M IN\",\n      \"us her\",\n      \"ush er\",\n      \"Data base\",\n      \"Dat abase\",\n      \"▁f ormal\",\n      \"▁for mal\",\n      \"▁form al\",\n      \"▁forma l\",\n      \"ig ne\",\n      \"ign e\",\n      \"▁organ izations\",\n      \"▁organiz ations\",\n      \"▁organization s\",\n      \"▁I re\",\n      \"▁Ir e\",\n      \"X ml\",\n      \"и з\",\n      \"▁p ray\",\n      \"▁pr ay\",\n      \"▁pra y\",\n      \"▁b omb\",\n      \"▁bo mb\",\n      \"▁bom b\",\n      \"▁m and\",\n      \"▁man d\",\n      \"▁ma nd\",\n      \"▁ mand\",\n      \"er ts\",\n      \"ert s\",\n      \"▁c lock\",\n      \"▁cl ock\",\n      \"▁clo ck\",\n      \"▁ clock\",\n      \"▁b uck\",\n      \"▁bu ck\",\n      \"ва ли\",\n      \"вал и\",\n      \"в али\",\n      \"en sch\",\n      \"ens ch\",\n      \"▁v olt\",\n      \"▁vo lt\",\n      \"▁vol t\",\n      \"▁ volt\",\n      \"▁fil ms\",\n      \"▁film s\",\n      \"▁pl ants\",\n      \"▁plan ts\",\n      \"▁plant s\",\n      \"in ode\",\n      \"ino de\",\n      \"i node\",\n      \"Bo olean\",\n      \"▁restaur ant\",\n      \"ía n\",\n      \"í an\",\n      \"▁de but\",\n      \"▁deb ut\",\n      \"page s\",\n      \"pa ges\",\n      \"pag es\",\n      \"p ages\",\n      \"▁wor dt\",\n      \"▁word t\",\n      \"▁Б а\",\n      \"▁great est\",\n      \"(\\\" /\",\n      \"▁c opyright\",\n      \"▁copy right\",\n      \"▁ copyright\",\n      \"▁r it\",\n      \"▁ri t\",\n      \"▁ rit\",\n      \"size of\",\n      \"Tr ace\",\n      \"Tra ce\",\n      \"ue nt\",\n      \"uen t\",\n      \"u ent\",\n      \"ту р\",\n      \"т ур\",\n      \"▁k o\",\n      \"▁ ko\",\n      \": \\\\\",\n      \"▁b igger\",\n      \"▁big ger\",\n      \"▁perfect ly\",\n      \"ten ance\",\n      \"MA SK\",\n      \"M ASK\",\n      \"r é\",\n      \"▁e tt\",\n      \"▁et t\",\n      \"▁ ett\",\n      \"▁n ose\",\n      \"▁no se\",\n      \"▁nos e\",\n      \"▁c raft\",\n      \"▁cr aft\",\n      \"▁ craft\",\n      \"it eral\",\n      \"ite ral\",\n      \"iter al\",\n      \"▁discuss ed\",\n      \"▁Jew ish\",\n      \"C ap\",\n      \"▁Un less\",\n      \"▁Jack son\",\n      \"Att ributes\",\n      \"Attribute s\",\n      \"Attrib utes\",\n      \"▁l unch\",\n      \"▁lun ch\",\n      \"ö l\",\n      \"at r\",\n      \"a tr\",\n      \"▁pay ing\",\n      \"▁pa ying\",\n      \"Par se\",\n      \"Pars e\",\n      \"P arse\",\n      \"() \\r\",\n      \"( )\\r\",\n      \"la d\",\n      \"l ad\",\n      \"▁r are\",\n      \"▁ra re\",\n      \"▁[ ];\",\n      \"▁[] ;\",\n      \"▁ [];\",\n      \"st one\",\n      \"ston e\",\n      \"sto ne\",\n      \"▁u nc\",\n      \"▁un c\",\n      \"▁ unc\",\n      \"▁def ense\",\n      \"▁defens e\",\n      \"} +\",\n      \"▁Gl obal\",\n      \"▁ Global\",\n      \"▁Sov iet\",\n      \"▁Austral ian\",\n      \"▁Australia n\",\n      \"▁g li\",\n      \"▁gl i\",\n      \"var iant\",\n      \"vari ant\",\n      \"▁R on\",\n      \"▁Ro n\",\n      \"▁lo an\",\n      \"St ep\",\n      \"Ste p\",\n      \"me mber\",\n      \"mem ber\",\n      \"m ember\",\n      \"Sc h\",\n      \"S ch\",\n      \"▁Commit tee\",\n      \"▁s pending\",\n      \"▁sp ending\",\n      \"▁spend ing\",\n      \"▁T ri\",\n      \"▁Tr i\",\n      \"▁ Tri\",\n      \"▁J ournal\",\n      \"▁Jour nal\",\n      \"▁ Journal\",\n      \"▁s ugar\",\n      \"▁su gar\",\n      \"▁sug ar\",\n      \"el ly\",\n      \"ell y\",\n      \"HT ML\",\n      \"▁ad vent\",\n      \"▁adv ent\",\n      \"win g\",\n      \"wi ng\",\n      \"w ing\",\n      \"▁Wh ether\",\n      \"▁Whe ther\",\n      \"or ation\",\n      \"▁N E\",\n      \"▁ NE\",\n      \"iv eness\",\n      \"ive ness\",\n      \"iven ess\",\n      \"▁h av\",\n      \"▁ha v\",\n      \"▁ hav\",\n      \"▁con scious\",\n      \"▁ conscious\",\n      \"ee n\",\n      \"e en\",\n      \"Sym bol\",\n      \"S ymbol\",\n      \"▁к у\",\n      \"▁ ку\",\n      \"Log ger\",\n      \"▁L ittle\",\n      \"▁Lit tle\",\n      \"wide t\",\n      \"wi det\",\n      \"wid et\",\n      \"oc ation\",\n      \"pi n\",\n      \"p in\",\n      \"▁sym met\",\n      \"▁A D\",\n      \"▁ AD\",\n      \"▁pos ts\",\n      \"▁po sts\",\n      \"▁post s\",\n      \"▁ posts\",\n      \"sh al\",\n      \"sha l\",\n      \"s hal\",\n      \"▁Con f\",\n      \"▁Co nf\",\n      \"▁ Conf\",\n      \"▁ch ose\",\n      \"▁cho se\",\n      \"ma l\",\n      \"m al\",\n      \"ul o\",\n      \"u lo\",\n      \"▁M ethod\",\n      \"▁ Method\",\n      \"▁miss ed\",\n      \"▁mis sed\",\n      \"Re move\",\n      \"Rem ove\",\n      \"Aut o\",\n      \"A uto\",\n      \"VAL UE\",\n      \"th let\",\n      \"▁For ce\",\n      \"▁ Force\",\n      \"p f\",\n      \"▁ Я\",\n      \"la te\",\n      \"lat e\",\n      \"l ate\",\n      \"▁p ul\",\n      \"▁pu l\",\n      \"▁ pul\",\n      \"Po p\",\n      \"P op\",\n      \"▁adv anced\",\n      \"▁advance d\",\n      \"air es\",\n      \"ai res\",\n      \"aire s\",\n      \"a ires\",\n      \"res sed\",\n      \"ress ed\",\n      \"resse d\",\n      \"r essed\",\n      \"AM E\",\n      \"A ME\",\n      \"be ll\",\n      \"bel l\",\n      \"b ell\",\n      \"ac hing\",\n      \"ach ing\",\n      \"achi ng\",\n      \"a ching\",\n      \"i ć\",\n      \"ec ho\",\n      \"ech o\",\n      \"e cho\",\n      \"H S\",\n      \"▁fun ny\",\n      \"ри и\",\n      \"▁e er\",\n      \"▁ve get\",\n      \"▁four th\",\n      \"c f\",\n      \"trans form\",\n      \"▁g rown\",\n      \"▁gr own\",\n      \"▁grow n\",\n      \"▁gro wn\",\n      \"▁Mc C\",\n      \"si te\",\n      \"s ite\",\n      \"▁b eneath\",\n      \"▁be neath\",\n      \"▁s hell\",\n      \"▁sh ell\",\n      \"▁she ll\",\n      \"▁shel l\",\n      \"▁ shell\",\n      \"x d\",\n      \"Pl ay\",\n      \"P lay\",\n      \"sh ort\",\n      \"Ro le\",\n      \"R ole\",\n      \"▁relig ion\",\n      \"in ator\",\n      \"ina tor\",\n      \"} </\",\n      \"▁El iz\",\n      \"▁Eli z\",\n      \"M icrosoft\",\n      \"▁v ez\",\n      \"▁ve z\",\n      \"▁ vez\",\n      \"▁ра бо\",\n      \"▁ рабо\",\n      \"re ich\",\n      \"rei ch\",\n      \"ve t\",\n      \"v et\",\n      \"en um\",\n      \"enu m\",\n      \"e num\",\n      \"▁w elcome\",\n      \"▁wel come\",\n      \"name nt\",\n      \"na ment\",\n      \"nam ent\",\n      \"n ament\",\n      \"▁j an\",\n      \"▁ja n\",\n      \"▁ jan\",\n      \"▁c ycle\",\n      \"▁cy cle\",\n      \"▁cycl e\",\n      \"▁ cycle\",\n      \"▁a cknow\",\n      \"▁ac know\",\n      \"▁w ound\",\n      \"▁wo und\",\n      \"id i\",\n      \"i di\",\n      \"▁poss ibility\",\n      \"an notation\",\n      \"annot ation\",\n      \"▁techn ical\",\n      \"▁f old\",\n      \"▁fol d\",\n      \"▁fo ld\",\n      \"▁ fold\",\n      \"e h\",\n      \"ist ence\",\n      \"isten ce\",\n      \"▁re ply\",\n      \"▁rep ly\",\n      \"▁repl y\",\n      \"▁ reply\",\n      \"et es\",\n      \"ete s\",\n      \"e tes\",\n      \"▁dec ades\",\n      \"▁decade s\",\n      \"wa n\",\n      \"w an\",\n      \"▁к ра\",\n      \"▁ кра\",\n      \"▁L ab\",\n      \"▁La b\",\n      \"▁u nf\",\n      \"▁un f\",\n      \"▁im per\",\n      \"▁imp er\",\n      \"▁ imper\",\n      \"▁b ug\",\n      \"▁bu g\",\n      \"▁ bug\",\n      \"▁Th ough\",\n      \"th rows\",\n      \"throw s\",\n      \"Vis ible\",\n      \"V isible\",\n      \"pr ev\",\n      \"pre v\",\n      \"p rev\",\n      \"▁T y\",\n      \"▁ Ty\",\n      \"▁de pending\",\n      \"▁depend ing\",\n      \"▁dep ending\",\n      \"▁pol icies\",\n      \"▁polic ies\",\n      \"an dy\",\n      \"and y\",\n      \"▁Ital ian\",\n      \"▁Italia n\",\n      \"um a\",\n      \"u ma\",\n      \"▁sign s\",\n      \"▁sig ns\",\n      \"▁Th rough\",\n      \"б ы\",\n      \"bo t\",\n      \"b ot\",\n      \"▁pub lish\",\n      \"▁publi sh\",\n      \"▁ publish\",\n      \")* *\",\n      \") **\",\n      \"AT TR\",\n      \"ATT R\",\n      \"ir al\",\n      \"ira l\",\n      \"i ral\",\n      \"V T\",\n      \"▁recogn ized\",\n      \"▁recognize d\",\n      \"▁L ind\",\n      \"▁Lin d\",\n      \"▁Li nd\",\n      \"ect ion\",\n      \"e ction\",\n      \"▁rel atively\",\n      \"▁relative ly\",\n      \"▁relativ ely\",\n      \"▁A h\",\n      \"▁ Ah\",\n      \"▁D ig\",\n      \"▁Di g\",\n      \"▁ Dig\",\n      \"ц ь\",\n      \"ic ket\",\n      \"ick et\",\n      \"▁specific ally\",\n      \"no st\",\n      \"nos t\",\n      \"n ost\",\n      \"▁g rass\",\n      \"▁gr ass\",\n      \"▁gra ss\",\n      \"▁gras s\",\n      \"▁c auses\",\n      \"▁caus es\",\n      \"▁cause s\",\n      \"▁ca uses\",\n      \"т во\",\n      \"ut ter\",\n      \"utt er\",\n      \"▁F estival\",\n      \"▁Fest ival\",\n      \"gr eg\",\n      \"gre g\",\n      \"g reg\",\n      \"▁weap ons\",\n      \"▁weapon s\",\n      \"▁s ir\",\n      \"▁si r\",\n      \"▁Virgin ia\",\n      \"lo gin\",\n      \"log in\",\n      \"▁s chedul\",\n      \"▁sched ul\",\n      \"сь кого\",\n      \"сько го\",\n      \"▁l osing\",\n      \"▁lo sing\",\n      \"▁los ing\",\n      \"▁E urop\",\n      \"▁Euro p\",\n      \"▁Eu rop\",\n      \"\\\"> <\",\n      \"\\\" ><\",\n      \"as p\",\n      \"a sp\",\n      \"aj o\",\n      \"a jo\",\n      \"ex ports\",\n      \"exp orts\",\n      \"export s\",\n      \"▁N ode\",\n      \"▁No de\",\n      \"▁ Node\",\n      \"▁j ako\",\n      \"▁ja ko\",\n      \"▁jak o\",\n      \"▁y a\",\n      \"▁ ya\",\n      \"▁success fully\",\n      \"▁successful ly\",\n      \"▁friend ly\",\n      \"▁ friendly\",\n      \"buf f\",\n      \"bu ff\",\n      \"b uff\",\n      \"DE FAULT\",\n      \"▁pre gn\",\n      \"▁preg n\",\n      \"Requ ired\",\n      \"Require d\",\n      \"▁b inary\",\n      \"▁bin ary\",\n      \"▁ binary\",\n      \"is ting\",\n      \"ist ing\",\n      \"isti ng\",\n      \"▁st ared\",\n      \"▁star ed\",\n      \"▁stare d\",\n      \"▁sta red\",\n      \"▁circum stances\",\n      \"▁х о\",\n      \"▁ хо\",\n      \"re i\",\n      \"r ei\",\n      \"▁Г о\",\n      \"Trans form\",\n      \"cn t\",\n      \"c nt\",\n      \"▁E xt\",\n      \"▁Ex t\",\n      \"▁ Ext\",\n      \"re port\",\n      \"rep ort\",\n      \"repo rt\",\n      \"VER SION\",\n      \"▁an aly\",\n      \"▁anal y\",\n      \"▁ analy\",\n      \"▁M arg\",\n      \"▁Mar g\",\n      \"▁Ma rg\",\n      \"▁al leg\",\n      \"▁all eg\",\n      \"▁alle g\",\n      \"build er\",\n      \"b uilder\",\n      \"To String\",\n      \"La yer\",\n      \"L ayer\",\n      \"ís t\",\n      \"í st\",\n      \"Pro p\",\n      \"Pr op\",\n      \"P rop\",\n      \"▁E mp\",\n      \"▁Em p\",\n      \"▁ Emp\",\n      \"} ]\",\n      \"▁s elling\",\n      \"▁sell ing\",\n      \"▁sel ling\",\n      \"▁ selling\",\n      \"▁que ue\",\n      \"▁ queue\",\n      \"▁ser iously\",\n      \"▁serious ly\",\n      \"▁L ead\",\n      \"▁Le ad\",\n      \"▁ Lead\",\n      \"text it\",\n      \"tex tit\",\n      \"test ing\",\n      \"tes ting\",\n      \"▁П ре\",\n      \"se curity\",\n      \"sec urity\",\n      \"ia ł\",\n      \"i ał\",\n      \"ú n\",\n      \"ch ip\",\n      \"chi p\",\n      \"c hip\",\n      \"▁c andidate\",\n      \"▁candid ate\",\n      \"▁min ister\",\n      \"▁mini ster\",\n      \"▁minist er\",\n      \"▁ minister\",\n      \"er ia\",\n      \"eri a\",\n      \"e ria\",\n      \"▁H et\",\n      \"▁He t\",\n      \"ди н\",\n      \"д ин\",\n      \"▁Brit ain\",\n      \"▁b arely\",\n      \"▁bar ely\",\n      \"▁bare ly\",\n      \"▁s ty\",\n      \"▁st y\",\n      \"▁ sty\",\n      \"▁Span ish\",\n      \"▁V en\",\n      \"▁Ve n\",\n      \"time r\",\n      \"ti mer\",\n      \"tim er\",\n      \"t imer\",\n      \"кі в\",\n      \"к ів\",\n      \"▁document s\",\n      \"▁doc uments\",\n      \"(' .\",\n      \"( '.\",\n      \"▁d ebug\",\n      \"▁de bug\",\n      \"▁deb ug\",\n      \"▁ debug\",\n      \"▁cont ro\",\n      \"▁contr o\",\n      \"сто я\",\n      \"▁j oy\",\n      \"▁jo y\",\n      \"▁ joy\",\n      \"S n\",\n      \"In v\",\n      \"I nv\",\n      \"▁pro tocol\",\n      \"▁proto col\",\n      \"▁prot ocol\",\n      \"▁ protocol\",\n      \"▁f aces\",\n      \"▁face s\",\n      \"▁fac es\",\n      \"▁fa ces\",\n      \"▁ faces\",\n      \"▁Des pite\",\n      \"se d\",\n      \"s ed\",\n      \"Con f\",\n      \"Co nf\",\n      \"AR G\",\n      \"A RG\",\n      \"▁e volution\",\n      \"▁ev olution\",\n      \"▁t od\",\n      \"▁to d\",\n      \"▁P romise\",\n      \"▁Prom ise\",\n      \"▁ Promise\",\n      \"▁pos ted\",\n      \"▁po sted\",\n      \"▁post ed\",\n      \"Per m\",\n      \"Pe rm\",\n      \"P erm\",\n      \"be t\",\n      \"b et\",\n      \"An g\",\n      \"A ng\",\n      \"J ust\",\n      \"▁r um\",\n      \"▁ru m\",\n      \"▁ rum\",\n      \"la yer\",\n      \"lay er\",\n      \"l ayer\",\n      \"▁beh avi\",\n      \"▁behav i\",\n      \"ip ping\",\n      \"ipp ing\",\n      \"ippi ng\",\n      \"i pping\",\n      \"▁d ynam\",\n      \"▁dy nam\",\n      \"▁dyn am\",\n      \"▁sch eme\",\n      \"▁sche me\",\n      \"▁ scheme\",\n      \"▁pro to\",\n      \"▁pr oto\",\n      \"▁prot o\",\n      \"▁ proto\",\n      \") /\",\n      \"Col lections\",\n      \"Collection s\",\n      \"Collect ions\",\n      \"ri ev\",\n      \"rie v\",\n      \"r iev\",\n      \"▁C lick\",\n      \"▁Cl ick\",\n      \"▁ Click\",\n      \"▁u ns\",\n      \"▁un s\",\n      \"▁ uns\",\n      \"wide tilde\",\n      \"widet ilde\",\n      \"▁remember ed\",\n      \"г і\",\n      \"in ates\",\n      \"ina tes\",\n      \"inate s\",\n      \"▁incor por\",\n      \"▁De scription\",\n      \"▁Des cription\",\n      \"▁ Description\",\n      \"▁pre pare\",\n      \"▁prep are\",\n      \"▁prepar e\",\n      \"▁ prepare\",\n      \"▁F inal\",\n      \"▁Fin al\",\n      \"▁Fi nal\",\n      \"▁ Final\",\n      \"u ation\",\n      \"▁Qu een\",\n      \"▁Que en\",\n      \"> ;\",\n      \"▁autom atically\",\n      \"▁automatic ally\",\n      \"▁sh arp\",\n      \"▁shar p\",\n      \"▁sha rp\",\n      \"▁me at\",\n      \"at eur\",\n      \"ate ur\",\n      \"as tern\",\n      \"ast ern\",\n      \"aster n\",\n      \"aste rn\",\n      \"▁st uck\",\n      \"ASS ERT\",\n      \"▁pl anned\",\n      \"▁plan ned\",\n      \"do ts\",\n      \"dot s\",\n      \"d ots\",\n      \"ook ie\",\n      \"oo kie\",\n      \"▁His tor\",\n      \"▁Hist or\",\n      \"▁re views\",\n      \"▁review s\",\n      \"IM P\",\n      \"I MP\",\n      \"▁answ ered\",\n      \"▁answer ed\",\n      \"To tal\",\n      \"T otal\",\n      \"▁s au\",\n      \"▁sa u\",\n      \"▁Me xico\",\n      \"▁Mex ico\",\n      \"contin ue\",\n      \"▁App le\",\n      \"▁Ap ple\",\n      \"like ly\",\n      \"lik ely\",\n      \"з ва\",\n      \"us ers\",\n      \"use rs\",\n      \"user s\",\n      \"▁ident ified\",\n      \"▁L ev\",\n      \"▁Le v\",\n      \"▁m ol\",\n      \"▁mo l\",\n      \"▁Is lam\",\n      \"▁com mitted\",\n      \"▁comm itted\",\n      \"▁commit ted\",\n      \"wr it\",\n      \"w rit\",\n      \"бе р\",\n      \"б ер\",\n      \"ri ft\",\n      \"rif t\",\n      \"r ift\",\n      \"▁inter rupt\",\n      \"▁ interrupt\",\n      \"▁read only\",\n      \"sch ema\",\n      \"sche ma\",\n      \"s chema\",\n      \"S m\",\n      \"D ouble\",\n      \"az a\",\n      \"a za\",\n      \"▁H al\",\n      \"▁Ha l\",\n      \"▁ Hal\",\n      \"Mo ve\",\n      \"M ove\",\n      \"▁S eries\",\n      \"▁Se ries\",\n      \"▁Ser ies\",\n      \"▁Serie s\",\n      \"▁ Series\",\n      \"in line\",\n      \"▁кото ры\",\n      \"so c\",\n      \"s oc\",\n      \"▁t ent\",\n      \"▁te nt\",\n      \"▁ten t\",\n      \"▁a mer\",\n      \"▁am er\",\n      \"▁ amer\",\n      \"ak i\",\n      \"a ki\",\n      \"▁l ady\",\n      \"▁la dy\",\n      \"▁lad y\",\n      \"▁t ired\",\n      \"▁ti red\",\n      \"▁tire d\",\n      \"▁tir ed\",\n      \"if i\",\n      \"i fi\",\n      \"▁m ême\",\n      \"▁ même\",\n      \"ou ver\",\n      \"▁a side\",\n      \"▁as ide\",\n      \"Di d\",\n      \"D id\",\n      \"', \\r\",\n      \"' ,\\r\",\n      \"▁br inging\",\n      \"▁bring ing\",\n      \"Draw ing\",\n      \"ar o\",\n      \"a ro\",\n      \"▁R h\",\n      \"▁N az\",\n      \"▁Na z\",\n      \"es so\",\n      \"ess o\",\n      \"▁re action\",\n      \"▁react ion\",\n      \"mit ted\",\n      \"mitt ed\",\n      \"m itted\",\n      \"▁abs olute\",\n      \"▁absolut e\",\n      \"▁ absolute\",\n      \"ha ust\",\n      \"haus t\",\n      \"(( )\",\n      \"( ()\",\n      \"▁T ask\",\n      \"▁Ta sk\",\n      \"▁ Task\",\n      \"ER S\",\n      \"E RS\",\n      \"▁^ {\",\n      \"▁ ^{\",\n      \"V D\",\n      \"▁t one\",\n      \"▁to ne\",\n      \"▁ton e\",\n      \"dis t\",\n      \"di st\",\n      \"d ist\",\n      \"v s\",\n      \"▁whe el\",\n      \"▁ wheel\",\n      \"▁administr ation\",\n      \"▁admin istration\",\n      \"▁inter ests\",\n      \"▁interest s\",\n      \"▁point er\",\n      \"▁po inter\",\n      \"▁ pointer\",\n      \"▁en counter\",\n      \"▁enc ounter\",\n      \"ave r\",\n      \"av er\",\n      \"a ver\",\n      \"▁n ord\",\n      \"▁no rd\",\n      \"▁nor d\",\n      \"ke t\",\n      \"k et\",\n      \"▁b each\",\n      \"▁be ach\",\n      \"▁enjoy ed\",\n      \"cont ains\",\n      \"▁app end\",\n      \"▁ap pend\",\n      \"▁appe nd\",\n      \"▁ append\",\n      \"W ait\",\n      \"▁s quad\",\n      \"▁squ ad\",\n      \"ze l\",\n      \"z el\",\n      \"▁med ium\",\n      \"▁medi um\",\n      \"▁ medium\",\n      \"▁s ending\",\n      \"▁send ing\",\n      \"▁sen ding\",\n      \"▁L ady\",\n      \"▁La dy\",\n      \"▁Lad y\",\n      \"ç ões\",\n      \"▁dest ination\",\n      \"▁destin ation\",\n      \"▁ destination\",\n      \"ny ch\",\n      \"n ych\",\n      \"▁conf lict\",\n      \"▁conflic t\",\n      \"▁L y\",\n      \"▁v ul\",\n      \"▁vu l\",\n      \"▁bas ically\",\n      \"▁basic ally\",\n      \"re ated\",\n      \"reat ed\",\n      \"reate d\",\n      \"rea ted\",\n      \"bl ack\",\n      \"ug ins\",\n      \"ugin s\",\n      \"▁cal m\",\n      \"▁ca lm\",\n      \"ér ie\",\n      \"éri e\",\n      \"é rie\",\n      \"ha r\",\n      \"h ar\",\n      \"ла н\",\n      \"л ан\",\n      \"▁С е\",\n      \"w atch\",\n      \"▁P ut\",\n      \"▁Pu t\",\n      \"▁ Put\",\n      \"▁d ump\",\n      \"▁du mp\",\n      \"▁ dump\",\n      \"ac her\",\n      \"ach er\",\n      \"ache r\",\n      \"a cher\",\n      \"sc roll\",\n      \"scr oll\",\n      \"▁cl aimed\",\n      \"▁claim ed\",\n      \"▁ claimed\",\n      \"▁Cont rol\",\n      \"▁ Control\",\n      \"▁bl ind\",\n      \"en ti\",\n      \"ent i\",\n      \"▁Ke ep\",\n      \"▁ Keep\",\n      \"▁Develop ment\",\n      \"im ages\",\n      \"image s\",\n      \"ima ges\",\n      \"imag es\",\n      \"▁t ough\",\n      \"▁to ugh\",\n      \"▁tou gh\",\n      \"ge bra\",\n      \"geb ra\",\n      \"▁se pt\",\n      \"▁sep t\",\n      \"he w\",\n      \"h ew\",\n      \"▁s kill\",\n      \"▁sk ill\",\n      \"▁ski ll\",\n      \"▁ skill\",\n      \"▁T ay\",\n      \"▁Ta y\",\n      \"▁k tó\",\n      \"ow ner\",\n      \"own er\",\n      \"par e\",\n      \"pa re\",\n      \"p are\",\n      \"▁f ee\",\n      \"▁fe e\",\n      \"▁ fee\",\n      \"▁contin ues\",\n      \"▁continue s\",\n      \"▁continu es\",\n      \"▁k an\",\n      \"▁ka n\",\n      \"▁ kan\",\n      \"be s\",\n      \"b es\",\n      \"▁c ha\",\n      \"▁ch a\",\n      \"▁ cha\",\n      \"ov o\",\n      \"o vo\",\n      \"▁N ight\",\n      \"▁Ni ght\",\n      \"ict ure\",\n      \"sh ire\",\n      \"s hire\",\n      \"▁es say\",\n      \"▁ess ay\",\n      \"▁sup pose\",\n      \"▁supp ose\",\n      \"et ic\",\n      \"eti c\",\n      \"Ar t\",\n      \"A rt\",\n      \"ac on\",\n      \"aco n\",\n      \"a con\",\n      \"ll a\",\n      \"l la\",\n      \"word s\",\n      \"wor ds\",\n      \"w ords\",\n      \"▁compar ison\",\n      \"▁B E\",\n      \"▁ BE\",\n      \"▁challeng es\",\n      \"▁challenge s\",\n      \"▁o l\",\n      \"▁ ol\",\n      \"cite p\",\n      \"cit ep\",\n      \"▁F oot\",\n      \"▁Fo ot\",\n      \"▁ Foot\",\n      \"▁S uch\",\n      \"▁Su ch\",\n      \"▁ Such\",\n      \"▁p apers\",\n      \"▁paper s\",\n      \"▁pa pers\",\n      \"▁pap ers\",\n      \"act iv\",\n      \"qu er\",\n      \"que r\",\n      \"q uer\",\n      \"т я\",\n      \"▁Т о\",\n      \"сь кий\",\n      \"th ur\",\n      \"do ne\",\n      \"don e\",\n      \"d one\",\n      \"▁sh ock\",\n      \"▁ded icated\",\n      \"▁dedic ated\",\n      \"▁cor respond\",\n      \"▁correspon d\",\n      \"Se cond\",\n      \"Sec ond\",\n      \"▁b ull\",\n      \"▁bu ll\",\n      \"▁bul l\",\n      \"li fe\",\n      \"lif e\",\n      \"l ife\",\n      \"ind ent\",\n      \"inde nt\",\n      \"inden t\",\n      \"▁fig ures\",\n      \"▁figure s\",\n      \"▁And rew\",\n      \"▁Andre w\",\n      \"▁Andr ew\",\n      \"is p\",\n      \"i sp\",\n      \"▁fav our\",\n      \"зд а\",\n      \"з да\",\n      \"▁E lect\",\n      \"▁El ect\",\n      \"▁Ele ct\",\n      \"F ull\",\n      \"▁near by\",\n      \"▁Reg ister\",\n      \"▁ Register\",\n      \"Sc ale\",\n      \"Scal e\",\n      \"ic ations\",\n      \"ication s\",\n      \"и н\",\n      \"▁A M\",\n      \"▁ AM\",\n      \"pa ir\",\n      \"p air\",\n      \"▁pers pective\",\n      \"▁n os\",\n      \"▁no s\",\n      \"▁ nos\",\n      \"ap a\",\n      \"a pa\",\n      \"ost ał\",\n      \"osta ł\",\n      \"▁P ers\",\n      \"▁Per s\",\n      \"▁Pe rs\",\n      \"▁ Pers\",\n      \"ic er\",\n      \"ice r\",\n      \"i cer\",\n      \"▁pl astic\",\n      \"до в\",\n      \"д ов\",\n      \"ci ples\",\n      \"cipl es\",\n      \"cip les\",\n      \"z ą\",\n      \"cl os\",\n      \"c los\",\n      \"▁у ча\",\n      \"▁ Á\",\n      \"pl ugin\",\n      \"plug in\",\n      \"▁an gle\",\n      \"▁ang le\",\n      \"▁angl e\",\n      \"▁ angle\",\n      \"▁com mission\",\n      \"▁comm ission\",\n      \"▁fun ds\",\n      \"▁fund s\",\n      \"▁in du\",\n      \"▁ind u\",\n      \"▁d rawn\",\n      \"▁dr awn\",\n      \"▁draw n\",\n      \"á m\",\n      \"▁develop ing\",\n      \"▁seg ment\",\n      \"▁ segment\",\n      \"is me\",\n      \"ism e\",\n      \"sc r\",\n      \"s cr\",\n      \"▁l ies\",\n      \"▁li es\",\n      \"▁lie s\",\n      \"▁I L\",\n      \"▁ IL\",\n      \"▁a pi\",\n      \"▁ap i\",\n      \"▁ api\",\n      \"Ext ension\",\n      \"▁s cal\",\n      \"▁sc al\",\n      \"▁ scal\",\n      \"inst all\",\n      \"▁We ek\",\n      \"▁ Week\",\n      \"▁gen tle\",\n      \"▁gent le\",\n      \"▁Canad ian\",\n      \"▁d ialog\",\n      \"▁dial og\",\n      \"▁dia log\",\n      \"▁ dialog\",\n      \"▁art icles\",\n      \"▁article s\",\n      \"▁artic les\",\n      \"The me\",\n      \"Th eme\",\n      \"S M\",\n      \"▁B ul\",\n      \"▁Bu l\",\n      \"▁ Bul\",\n      \"▁l eur\",\n      \"▁le ur\",\n      \"▁s tom\",\n      \"▁st om\",\n      \"▁sto m\",\n      \"Pl ugin\",\n      \"▁по сле\",\n      \"▁пос ле\",\n      \"▁st ead\",\n      \"▁ste ad\",\n      \"▁ stead\",\n      \"▁ ś\",\n      \"ip her\",\n      \"iph er\",\n      \"i pher\",\n      \"▁pr ze\",\n      \"▁prz e\",\n      \"▁d raft\",\n      \"▁dr aft\",\n      \"▁ draft\",\n      \"bot tom\",\n      \"b ottom\",\n      \"▁{ };\",\n      \"▁{} ;\",\n      \"▁stay ed\",\n      \"fe ature\",\n      \"feat ure\",\n      \"▁v ot\",\n      \"▁vo t\",\n      \"▁fab ric\",\n      \"ç a\",\n      \"(' #\",\n      \"re a\",\n      \"r ea\",\n      \"▁re put\",\n      \"▁rep ut\",\n      \"▁C ir\",\n      \"▁Ci r\",\n      \"▁ Cir\",\n      \"▁A L\",\n      \"▁ AL\",\n      \"▁assert Equals\",\n      \"▁ assertEquals\",\n      \"result s\",\n      \"▁C ross\",\n      \"▁Cr oss\",\n      \"▁Cro ss\",\n      \"▁ Cross\",\n      \"urs day\",\n      \"▁a udio\",\n      \"▁aud io\",\n      \"▁ audio\",\n      \"▁g ap\",\n      \"▁ga p\",\n      \"▁stre ets\",\n      \"▁street s\",\n      \"▁scient ific\",\n      \"pl atform\",\n      \"▁a uss\",\n      \"▁au ss\",\n      \"▁aus s\",\n      \"▁C ro\",\n      \"▁Cr o\",\n      \"▁part ial\",\n      \"▁parti al\",\n      \"▁ partial\",\n      \"un c\",\n      \"u nc\",\n      \"▁cho ices\",\n      \"▁choice s\",\n      \"▁и ли\",\n      \"pr ed\",\n      \"pre d\",\n      \"p red\",\n      \"▁he ads\",\n      \"▁head s\",\n      \"▁ heads\",\n      \"ter day\",\n      \"▁N ick\",\n      \"▁Nic k\",\n      \"▁Ni ck\",\n      \"▁we ird\",\n      \"as ant\",\n      \"asa nt\",\n      \"▁represent ed\",\n      \"▁п и\",\n      \"▁ пи\",\n      \"D P\",\n      \"or ders\",\n      \"ord ers\",\n      \"order s\",\n      \"cl ock\",\n      \"c lock\",\n      \"▁H o\",\n      \"ar ters\",\n      \"art ers\",\n      \"arter s\",\n      \"arte rs\",\n      \"C md\",\n      \"og a\",\n      \"o ga\",\n      \"Key s\",\n      \"Ke ys\",\n      \"Re port\",\n      \"Rep ort\",\n      \"Repo rt\",\n      \"▁V ill\",\n      \"▁Vi ll\",\n      \"▁Vil l\",\n      \"▁M u\",\n      \"▁ Mu\",\n      \"▁own ed\",\n      \"▁ owned\",\n      \"SU CCESS\",\n      \"▁type of\",\n      \"▁ typeof\",\n      \"hd r\",\n      \"h dr\",\n      \"ua ble\",\n      \"u able\",\n      \"▁neighbor hood\",\n      \"▁A P\",\n      \"▁ AP\",\n      \"▁result ing\",\n      \"▁sh adow\",\n      \"▁ shadow\",\n      \"STR ING\",\n      \"▁video s\",\n      \"▁vide os\",\n      \"ле ння\",\n      \"лен ня\",\n      \"ex pect\",\n      \"exp ect\",\n      \"▁Val ley\",\n      \"▁Vall ey\",\n      \"▁g oto\",\n      \"▁go to\",\n      \"▁got o\",\n      \"▁ goto\",\n      \"▁S her\",\n      \"▁She r\",\n      \"▁Sh er\",\n      \"fr astr\",\n      \"▁oper ating\",\n      \"▁opera ting\",\n      \"▁э то\",\n      \"▁License d\",\n      \"▁Lic ensed\",\n      \"Var iable\",\n      \"Vari able\",\n      \"▁P R\",\n      \"▁ PR\",\n      \"▁H ans\",\n      \"▁Ha ns\",\n      \"▁Han s\",\n      \"cl one\",\n      \"▁G esch\",\n      \"▁Ge sch\",\n      \"▁Ges ch\",\n      \"▁B and\",\n      \"▁Ba nd\",\n      \"▁Ban d\",\n      \"▁ Band\",\n      \"... .....\",\n      \".... ....\",\n      \"..... ...\",\n      \"ui ng\",\n      \"u ing\",\n      \"▁hundred s\",\n      \"▁о к\",\n      \"▁emot ional\",\n      \"▁emotion al\",\n      \"▁Ind ust\",\n      \") +\",\n      \"▁Egy pt\",\n      \"▁fr anç\",\n      \"▁ š\",\n      \"▁f asc\",\n      \"▁fa sc\",\n      \"on to\",\n      \"ont o\",\n      \"▁A dam\",\n      \"▁Ad am\",\n      \"▁l aid\",\n      \"▁la id\",\n      \"▁r ig\",\n      \"▁ri g\",\n      \"▁ rig\",\n      \"▁det ailed\",\n      \"▁detail ed\",\n      \"▁im plements\",\n      \"▁implement s\",\n      \"▁impl ements\",\n      \"▁univers ity\",\n      \"▁H y\",\n      \"▁ Hy\",\n      \"▁g rid\",\n      \"▁gr id\",\n      \"▁gri d\",\n      \"▁ grid\",\n      \"▁reg ions\",\n      \"▁region s\",\n      \"St op\",\n      \"S top\",\n      \"▁s lot\",\n      \"▁sl ot\",\n      \"▁ slot\",\n      \"▁ang ry\",\n      \"▁- =\",\n      \"▁wait ed\",\n      \"▁wa ited\",\n      \"Ver t\",\n      \"V ert\",\n      \"\\\": \\\"\",\n      \"\\\" :\\\"\",\n      \"▁e lem\",\n      \"▁el em\",\n      \"▁ele m\",\n      \"▁ elem\",\n      \"▁r ég\",\n      \"▁ré g\",\n      \"ow ed\",\n      \"owe d\",\n      \"o wed\",\n      \"Mem ber\",\n      \"Me mber\",\n      \"M ember\",\n      \"▁r atio\",\n      \"▁rat io\",\n      \"▁ ratio\",\n      \"is en\",\n      \"ise n\",\n      \"i sen\",\n      \"▁L em\",\n      \"▁Le m\",\n      \"ge ry\",\n      \"ger y\",\n      \"g ery\",\n      \"▁c ream\",\n      \"▁cre am\",\n      \"▁ét ait\",\n      \"▁ était\",\n      \"▁g eb\",\n      \"▁ge b\",\n      \"▁ geb\",\n      \"un ique\",\n      \"uni que\",\n      \"▁D eb\",\n      \"▁De b\",\n      \"▁f actory\",\n      \"▁fact ory\",\n      \"▁factor y\",\n      \"▁ factory\",\n      \"ż e\",\n      \"d ialog\",\n      \"▁Con fig\",\n      \"▁Conf ig\",\n      \"▁ Config\",\n      \"Sy nc\",\n      \"S ync\",\n      \"an gers\",\n      \"ang ers\",\n      \"ange rs\",\n      \"anger s\",\n      \"▁gover ning\",\n      \"▁govern ing\",\n      \"▁H un\",\n      \"▁Hu n\",\n      \"Sp ace\",\n      \"S pace\",\n      \"▁j est\",\n      \"▁je st\",\n      \"ic ious\",\n      \"ici ous\",\n      \"icio us\",\n      \"▁em phas\",\n      \"▁emp has\",\n      \"um ps\",\n      \"ump s\",\n      \"▁E sp\",\n      \"▁Es p\",\n      \"▁ Esp\",\n      \"▁s ul\",\n      \"▁su l\",\n      \"▁histor ical\",\n      \"▁historic al\",\n      \"ij a\",\n      \"i ja\",\n      \"▁l ying\",\n      \"▁ly ing\",\n      \"▁ lying\",\n      \"▁St eve\",\n      \"▁Ste ve\",\n      \"▁me asures\",\n      \"▁measure s\",\n      \"▁meas ures\",\n      \"os to\",\n      \"ost o\",\n      \"o sto\",\n      \"? ”\",\n      \"▁p ocket\",\n      \"▁poc ket\",\n      \"▁S at\",\n      \"▁Sa t\",\n      \"▁p itch\",\n      \"▁pit ch\",\n      \"▁n atur\",\n      \"▁nat ur\",\n      \"▁hum ans\",\n      \"▁human s\",\n      \"▁Sim on\",\n      \"▁Si mon\",\n      \"ad ores\",\n      \"ado res\",\n      \"ador es\",\n      \"(\\\" \\\\\",\n      \"( \\\"\\\\\",\n      \"in king\",\n      \"ink ing\",\n      \"▁ex pos\",\n      \"▁exp os\",\n      \"mat erial\",\n      \"mate rial\",\n      \"m aterial\",\n      \"▁app arently\",\n      \"▁apparent ly\",\n      \"▁appar ently\",\n      \"▁C amb\",\n      \"▁Cam b\",\n      \"▁Ca mb\",\n      \"▁B ox\",\n      \"▁Bo x\",\n      \"▁ Box\",\n      \"▁s paces\",\n      \"▁sp aces\",\n      \"▁space s\",\n      \"ex ists\",\n      \"exist s\",\n      \"▁act ing\",\n      \"▁ac ting\",\n      \"OR Y\",\n      \"зо ва\",\n      \"Go od\",\n      \"G ood\",\n      \"ien ne\",\n      \"i enne\",\n      \"▁William s\",\n      \"▁f ruit\",\n      \"▁fr uit\",\n      \"▁fru it\",\n      \"ie ra\",\n      \"ier a\",\n      \"i era\",\n      \"▁L im\",\n      \"▁Li m\",\n      \"▁ Lim\",\n      \"▁t rait\",\n      \"▁tr ait\",\n      \"▁tra it\",\n      \"▁ trait\",\n      \"▁art ists\",\n      \"▁artist s\",\n      \"▁ab sor\",\n      \"▁abs or\",\n      \"ra it\",\n      \"rai t\",\n      \"r ait\",\n      \"LO AD\",\n      \"▁mov ies\",\n      \"▁movie s\",\n      \"▁d ynamic\",\n      \"▁dynam ic\",\n      \"▁dyn amic\",\n      \"▁ dynamic\",\n      \"as ts\",\n      \"ast s\",\n      \"a sts\",\n      \"▁In teger\",\n      \"▁ Integer\",\n      \"▁sm oke\",\n      \"п і\",\n      \"an gel\",\n      \"ang el\",\n      \"ange l\",\n      \">( \\\"\",\n      \"> (\\\"\",\n      \"▁in strument\",\n      \"▁instr ument\",\n      \"▁f uel\",\n      \"▁fue l\",\n      \"▁fu el\",\n      \"но ї\",\n      \"atal ogue\",\n      \"atalog ue\",\n      \"▁s erial\",\n      \"▁se rial\",\n      \"▁ser ial\",\n      \"▁ serial\",\n      \"File s\",\n      \"Fil es\",\n      \"Fi les\",\n      \"F iles\",\n      \"▁bath room\",\n      \"il o\",\n      \"i lo\",\n      \"es to\",\n      \"est o\",\n      \"e sto\",\n      \"▁p m\",\n      \"▁ pm\",\n      \"ent ials\",\n      \"ential s\",\n      \"enti als\",\n      \"▁On line\",\n      \"wh ite\",\n      \"▁t ips\",\n      \"▁tip s\",\n      \"▁ti ps\",\n      \"▁cap able\",\n      \"Fi g\",\n      \"F ig\",\n      \"T V\",\n      \"▁о н\",\n      \"▁ он\",\n      \"k é\",\n      \"bit r\",\n      \"bi tr\",\n      \"b itr\",\n      \"Map ping\",\n      \"Ma pping\",\n      \"M apping\",\n      \"▁t ak\",\n      \"▁ta k\",\n      \"ю щи\",\n      \"в ля\",\n      \")\\\" ,\",\n      \") \\\",\",\n      \"▁K arl\",\n      \"▁Kar l\",\n      \"▁Ka rl\",\n      \"▁H uman\",\n      \"▁Hu man\",\n      \"▁Hum an\",\n      \"▁P ot\",\n      \"▁Po t\",\n      \"▁rep resents\",\n      \"▁represent s\",\n      \"▁cons istent\",\n      \"▁consist ent\",\n      \"_ (\",\n      \"we n\",\n      \"w en\",\n      \"▁R ose\",\n      \"▁Ro se\",\n      \"▁Ros e\",\n      \"la w\",\n      \"l aw\",\n      \"▁F ROM\",\n      \"▁FR OM\",\n      \"▁ FROM\",\n      \"▁beg ins\",\n      \"▁begin s\",\n      \"▁e dit\",\n      \"▁ed it\",\n      \"▁ edit\",\n      \"▁mount ain\",\n      \"▁ch apter\",\n      \"▁chap ter\",\n      \"▁wonder ed\",\n      \"▁indust rial\",\n      \"▁M ajor\",\n      \"▁Ma jor\",\n      \"▁Maj or\",\n      \"▁g es\",\n      \"▁ge s\",\n      \"▁ ges\",\n      \"▁direct ed\",\n      \"▁dire cted\",\n      \"er os\",\n      \"ero s\",\n      \"e ros\",\n      \"▁W ild\",\n      \"▁Wil d\",\n      \"▁Wi ld\",\n      \"li ament\",\n      \"lia ment\",\n      \"Bo ok\",\n      \"B ook\",\n      \"user name\",\n      \"ho t\",\n      \"h ot\",\n      \"▁n am\",\n      \"▁na m\",\n      \"▁ nam\",\n      \"▁le ague\",\n      \"br a\",\n      \"b ra\",\n      \"ко н\",\n      \"к он\",\n      \"▁T al\",\n      \"▁Ta l\",\n      \"▁В а\",\n      \"▁ex ports\",\n      \"▁exp orts\",\n      \"▁export s\",\n      \"▁ exports\",\n      \"( @\",\n      \"▁sh aring\",\n      \"▁shar ing\",\n      \"▁sha ring\",\n      \"▁T ro\",\n      \"▁Tr o\",\n      \"ś ć\",\n      \"ues day\",\n      \"yl v\",\n      \"y lv\",\n      \"▁gu itar\",\n      \"el en\",\n      \"ele n\",\n      \"e len\",\n      \"Se lection\",\n      \"Select ion\",\n      \"S election\",\n      \"▁conf ident\",\n      \"ry pto\",\n      \"rypt o\",\n      \"▁h ors\",\n      \"▁hor s\",\n      \"▁ho rs\",\n      \"ed itor\",\n      \"edit or\",\n      \"edi tor\",\n      \"▁should ers\",\n      \"▁shoulder s\",\n      \"get Name\",\n      \"en cing\",\n      \"enc ing\",\n      \"enci ng\",\n      \"SE LECT\",\n      \"SEL ECT\",\n      \"в ши\",\n      \"▁kind s\",\n      \"▁kin ds\",\n      \"▁W el\",\n      \"▁We l\",\n      \"▁pur poses\",\n      \"▁purpose s\",\n      \"Mat rix\",\n      \"in valid\",\n      \"▁own ers\",\n      \"▁owner s\",\n      \"▁ owners\",\n      \"▁Rec ords\",\n      \"▁Record s\",\n      \"▁ Records\",\n      \"▁Pro cess\",\n      \"▁ Process\",\n      \"▁c hat\",\n      \"▁ch at\",\n      \"▁cha t\",\n      \"▁ chat\",\n      \"▁D or\",\n      \"▁Do r\",\n      \"▁b in\",\n      \"▁bi n\",\n      \"▁ bin\",\n      \"re dit\",\n      \"red it\",\n      \"r edit\",\n      \"oi re\",\n      \"oir e\",\n      \"o ire\",\n      \"▁T otal\",\n      \"▁To tal\",\n      \"▁Tot al\",\n      \"▁ Total\",\n      \"▁F amily\",\n      \"▁Famil y\",\n      \"▁ Family\",\n      \"AR Y\",\n      \"▁b read\",\n      \"▁br ead\",\n      \"▁bre ad\",\n      \"▁ bread\",\n      \"▁com pre\",\n      \"▁comp re\",\n      \"▁compr e\",\n      \"▁sh oes\",\n      \"▁shoe s\",\n      \"▁r az\",\n      \"▁ra z\",\n      \"▁ raz\",\n      \"▁tr ace\",\n      \"▁tra ce\",\n      \"▁ trace\",\n      \"ne j\",\n      \"n ej\",\n      \"or ted\",\n      \"ort ed\",\n      \"orte d\",\n      \"h n\",\n      \"▁pro cedure\",\n      \"▁proced ure\",\n      \"pro perties\",\n      \"pl ier\",\n      \"▁h ero\",\n      \"▁he ro\",\n      \"▁her o\",\n      \"▁ hero\",\n      \"pan el\",\n      \"pa nel\",\n      \"p anel\",\n      \"▁mark ed\",\n      \"▁mar ked\",\n      \"▁wor ried\",\n      \"\\\\ |\",\n      \"pt s\",\n      \"p ts\",\n      \"▁S upport\",\n      \"▁Sup port\",\n      \"▁Supp ort\",\n      \"▁ Support\",\n      \"▁ser ving\",\n      \"▁serv ing\",\n      \"F ail\",\n      \"▁dis appoint\",\n      \"▁Sc ot\",\n      \"▁ple asure\",\n      \"▁j udge\",\n      \"▁jud ge\",\n      \"▁judg e\",\n      \"ze ich\",\n      \"▁for ever\",\n      \"▁fore ver\",\n      \"▁Ze it\",\n      \"uo us\",\n      \"u ous\",\n      \"in ent\",\n      \"ine nt\",\n      \"inen t\",\n      \"i nent\",\n      \"▁d w\",\n      \"▁ dw\",\n      \"▁w aren\",\n      \"▁war en\",\n      \"▁wa ren\",\n      \"▁ware n\",\n      \"▁fl ash\",\n      \"▁ flash\",\n      \"▁tro ops\",\n      \"▁dr ugs\",\n      \"▁dru gs\",\n      \"▁drug s\",\n      \"▁d iam\",\n      \"▁di am\",\n      \"▁dia m\",\n      \". ~\",\n      \"im p\",\n      \"i mp\",\n      \"in ned\",\n      \"inn ed\",\n      \"▁E V\",\n      \"▁ EV\",\n      \"St ruct\",\n      \"Str uct\",\n      \"▁just ice\",\n      \"▁offic ials\",\n      \"▁official s\",\n      \"ff ff\",\n      \"fff f\",\n      \"f fff\",\n      \"▁Com mon\",\n      \"▁Comm on\",\n      \"▁ Common\",\n      \"▁C at\",\n      \"▁Ca t\",\n      \"▁ Cat\",\n      \"▁tom orrow\",\n      \"▁é l\",\n      \"▁ él\",\n      \"Text ure\",\n      \"Te xture\",\n      \"qp oint\",\n      \"q point\",\n      \"▁F ried\",\n      \"▁Fr ied\",\n      \"▁T erm\",\n      \"▁Te rm\",\n      \"▁Ter m\",\n      \"▁ Term\",\n      \"pgf qpoint\",\n      \"▁n em\",\n      \"▁ne m\",\n      \"▁ nem\",\n      \"no rm\",\n      \"nor m\",\n      \"n orm\",\n      \"▁hard ly\",\n      \"od a\",\n      \"o da\",\n      \"ze ta\",\n      \"zet a\",\n      \"z eta\",\n      \"em ic\",\n      \"emi c\",\n      \"e mic\",\n      \"▁по лу\",\n      \"▁пол у\",\n      \"▁lo aded\",\n      \"▁load ed\",\n      \"▁ loaded\",\n      \"ke s\",\n      \"k es\",\n      \"ci ó\",\n      \"c ió\",\n      \"▁f ool\",\n      \"▁fo ol\",\n      \"▁foo l\",\n      \"▁t rick\",\n      \"▁tr ick\",\n      \"▁tri ck\",\n      \"▁d st\",\n      \"▁ds t\",\n      \"▁ dst\",\n      \"Fin d\",\n      \"Fi nd\",\n      \"F ind\",\n      \"▁в се\",\n      \"}} ,\",\n      \"} },\",\n      \"▁frame work\",\n      \"▁ framework\",\n      \"▁mer ely\",\n      \"▁mere ly\",\n      \"▁un ion\",\n      \"▁ union\",\n      \"▁Ed ward\",\n      \"ri f\",\n      \"r if\",\n      \"Fl ag\",\n      \"F lag\",\n      \"▁cris is\",\n      \"▁cri sis\",\n      \"▁fin ite\",\n      \"▁ finite\",\n      \"▁l ol\",\n      \"▁lo l\",\n      \"▁K im\",\n      \"▁Ki m\",\n      \"на та\",\n      \"sin ce\",\n      \"s ince\",\n      \"▁com pat\",\n      \"▁comp at\",\n      \"▁ compat\",\n      \"▁p ert\",\n      \"▁per t\",\n      \"▁pe rt\",\n      \"▁ pert\",\n      \"ib ilities\",\n      \"ibil ities\",\n      \"▁tamb ién\",\n      \"ib li\",\n      \"▁t een\",\n      \"▁te en\",\n      \"▁ teen\",\n      \"▁sym pt\",\n      \"or al\",\n      \"ora l\",\n      \"o ral\",\n      \"de rs\",\n      \"der s\",\n      \"d ers\",\n      \"ot te\",\n      \"ott e\",\n      \"п ри\",\n      \"▁J ane\",\n      \"▁Jan e\",\n      \"▁Ja ne\",\n      \"▁original ly\",\n      \"▁origin ally\",\n      \"▁thro at\",\n      \"ma g\",\n      \"m ag\",\n      \"su p\",\n      \"s up\",\n      \"un i\",\n      \"u ni\",\n      \"$ $\",\n      \"▁L ibrary\",\n      \"▁ Library\",\n      \"▁att acks\",\n      \"▁attack s\",\n      \"in gen\",\n      \"ing en\",\n      \"inge n\",\n      \"(' /\",\n      \"▁h es\",\n      \"▁he s\",\n      \"▁ hes\",\n      \"co in\",\n      \"c oin\",\n      \"oun ce\",\n      \"▁Academ y\",\n      \"MOD ULE\",\n      \"is ms\",\n      \"ism s\",\n      \"▁A dv\",\n      \"▁Ad v\",\n      \"▁ Adv\",\n      \"▁B ol\",\n      \"▁Bo l\",\n      \"▁inc ident\",\n      \")^ {\",\n      \") ^{\",\n      \"▁b ij\",\n      \"▁bi j\",\n      \"▁R ome\",\n      \"▁Rom e\",\n      \"▁Ro me\",\n      \"▁It aly\",\n      \"▁Ital y\",\n      \"ev ents\",\n      \"event s\",\n      \"even ts\",\n      \"▁F ern\",\n      \"▁Fe rn\",\n      \"▁Fer n\",\n      \"▁b er\",\n      \"▁be r\",\n      \"▁ ber\",\n      \"▁sil ent\",\n      \"▁p ier\",\n      \"▁pie r\",\n      \"▁pi er\",\n      \"▁Y O\",\n      \"▁pl ain\",\n      \"▁ plain\",\n      \"B as\",\n      \"▁p ill\",\n      \"▁pi ll\",\n      \"▁pil l\",\n      \"ra se\",\n      \"ras e\",\n      \"r ase\",\n      \"▁car rying\",\n      \"▁carry ing\",\n      \"▁re sp\",\n      \"▁r esp\",\n      \"▁res p\",\n      \"▁ resp\",\n      \"ну ю\",\n      \"▁typ ical\",\n      \"Wrap per\",\n      \"W rapper\",\n      \"▁g au\",\n      \"▁ga u\",\n      \"▁chem ical\",\n      \"▁h al\",\n      \"▁ha l\",\n      \"▁ hal\",\n      \"th row\",\n      \"Cl uster\",\n      \"▁G ab\",\n      \"▁Ga b\",\n      \"▁G irl\",\n      \"▁Gi rl\",\n      \"▁Gir l\",\n      \"qu ir\",\n      \"▁A rg\",\n      \"▁Ar g\",\n      \"▁ Arg\",\n      \"▁rel ief\",\n      \"▁relie f\",\n      \"▁reli ef\",\n      \"▁В е\",\n      \"d m\",\n      \"▁fr ustr\",\n      \"▁fru str\",\n      \"\\\\ %\",\n      \"▁st ores\",\n      \"▁store s\",\n      \"▁stor es\",\n      \"▁sto res\",\n      \"▁bott le\",\n      \"▁bot tle\",\n      \"▁L ew\",\n      \"▁Le w\",\n      \"tw o\",\n      \"t wo\",\n      \"st ad\",\n      \"sta d\",\n      \"▁che ek\",\n      \"▁concern s\",\n      \"▁concer ns\",\n      \"▁help ful\",\n      \"▁co verage\",\n      \"▁cover age\",\n      \"is i\",\n      \"i si\",\n      \"AD D\",\n      \"A DD\",\n      \"as ync\",\n      \"asy nc\",\n      \"a sync\",\n      \"▁approxim ately\",\n      \"▁approx imately\",\n      \"▁approximate ly\",\n      \"if fer\",\n      \"iff er\",\n      \"iffe r\",\n      \"ho ok\",\n      \"h ook\",\n      \"▁e num\",\n      \"▁en um\",\n      \"▁ enum\",\n      \"ov á\",\n      \"o vá\",\n      \"▁e vil\",\n      \"▁ev il\",\n      \"▁const antly\",\n      \"▁constant ly\",\n      \"ap ply\",\n      \"app ly\",\n      \"▁si è\",\n      \"▁pract ices\",\n      \"▁practice s\",\n      \"▁te achers\",\n      \"▁teach ers\",\n      \"▁teacher s\",\n      \"▁S n\",\n      \"▁ Sn\",\n      \"▁A wards\",\n      \"▁Award s\",\n      \"▁Aw ards\",\n      \"▁sub stant\",\n      \"▁subst ant\",\n      \"▁$ .\",\n      \"▁ $.\",\n      \"d k\",\n      \"▁m ob\",\n      \"▁mo b\",\n      \"▁ mob\",\n      \"▁ing red\",\n      \"ve re\",\n      \"ver e\",\n      \"v ere\",\n      \"Mult i\",\n      \"пе р\",\n      \"п ер\",\n      \"st al\",\n      \"sta l\",\n      \"s tal\",\n      \"ya rd\",\n      \"yar d\",\n      \"y ard\",\n      \"requ ired\",\n      \"require d\",\n      \"ve ment\",\n      \"v ement\",\n      \"▁int elligence\",\n      \"▁intellig ence\",\n      \"▁th inks\",\n      \"▁think s\",\n      \"▁thin ks\",\n      \"▁person ally\",\n      \"▁personal ly\",\n      \"▁tr ained\",\n      \"▁tra ined\",\n      \"▁train ed\",\n      \"▁ trained\",\n      \"or ney\",\n      \"orn ey\",\n      \"orne y\",\n      \") </\",\n      \"gg ed\",\n      \"g ged\",\n      \"E INVAL\",\n      \"ar na\",\n      \"arn a\",\n      \"▁Ham ilton\",\n      \"mer ce\",\n      \"ek t\",\n      \"e kt\",\n      \"O F\",\n      \") [\",\n      \"ru g\",\n      \"r ug\",\n      \"ic ión\",\n      \"ici ón\",\n      \"ició n\",\n      \"i ción\",\n      \"▁sur vey\",\n      \"▁surv ey\",\n      \"▁surve y\",\n      \"nes day\",\n      \"▁p ag\",\n      \"▁pa g\",\n      \"▁ pag\",\n      \"▁bound ary\",\n      \"▁quant um\",\n      \"▁draw ing\",\n      \"▁vol unte\",\n      \"▁volunt e\",\n      \"▁W ord\",\n      \"▁Wo rd\",\n      \"▁Wor d\",\n      \"▁ Word\",\n      \"sk y\",\n      \"s ky\",\n      \"▁G reg\",\n      \"▁Gr eg\",\n      \"▁Gre g\",\n      \"co ll\",\n      \"col l\",\n      \"c oll\",\n      \"hi de\",\n      \"hid e\",\n      \"h ide\",\n      \"▁sw im\",\n      \"▁reve aled\",\n      \"▁reveal ed\",\n      \"ad v\",\n      \"a dv\",\n      \"д я\",\n      \".\\\" );\",\n      \".\\\") ;\",\n      \". \\\");\",\n      \"▁ex plan\",\n      \"▁expl an\",\n      \"▁exp lan\",\n      \"▁Cur rent\",\n      \"▁ Current\",\n      \"▁got ten\",\n      \"▁f alling\",\n      \"▁fall ing\",\n      \"▁fal ling\",\n      \"▁cont ained\",\n      \"▁contain ed\",\n      \"UN D\",\n      \"U ND\",\n      \"▁Sh ould\",\n      \"▁ Should\",\n      \"▁k illing\",\n      \"▁kill ing\",\n      \"▁kil ling\",\n      \"▁aspect s\",\n      \"ic ted\",\n      \"ict ed\",\n      \"i cted\",\n      \"▁P aram\",\n      \"▁Par am\",\n      \"▁Pa ram\",\n      \"▁Para m\",\n      \"▁ Param\",\n      \"\\\", \\r\",\n      \"\\\" ,\\r\",\n      \"TI ON\",\n      \"T ION\",\n      \")) ;\\r\",\n      \")); \\r\",\n      \") );\\r\",\n      \"▁I ran\",\n      \"▁Ir an\",\n      \"▁Ira n\",\n      \"be it\",\n      \"▁B u\",\n      \"▁ Bu\",\n      \"▁[ ],\",\n      \"▁[] ,\",\n      \"▁ [],\",\n      \"SS ION\",\n      \"S SION\",\n      \"▁M ah\",\n      \"▁Ma h\",\n      \"▁res olution\",\n      \"▁b oss\",\n      \"▁bo ss\",\n      \"▁bos s\",\n      \"l g\",\n      \"ch or\",\n      \"cho r\",\n      \"c hor\",\n      \"▁Un ter\",\n      \"▁de bt\",\n      \"▁deb t\",\n      \"▁v id\",\n      \"▁vi d\",\n      \"▁ vid\",\n      \"gi e\",\n      \"g ie\",\n      \"▁u no\",\n      \"▁un o\",\n      \"▁ uno\",\n      \"C B\",\n      \"pl om\",\n      \"plo m\",\n      \"LIC ENSE\",\n      \"L ICENSE\",\n      \"▁K enn\",\n      \"▁Ke nn\",\n      \"▁Ken n\",\n      \"▁fin ns\",\n      \"ON G\",\n      \"O NG\",\n      \"▁some what\",\n      \"▁a ctor\",\n      \"▁act or\",\n      \"▁ac tor\",\n      \"▁ actor\",\n      \"▁St atus\",\n      \"▁Stat us\",\n      \"▁ Status\",\n      \"▁prob ability\",\n      \"f b\",\n      \"▁ch art\",\n      \"▁char t\",\n      \"▁cha rt\",\n      \"▁ chart\",\n      \"▁st ands\",\n      \"▁stand s\",\n      \"▁stan ds\",\n      \"pol icy\",\n      \"▁o nder\",\n      \"▁on der\",\n      \"▁onde r\",\n      \"▁ onder\",\n      \"tab ular\",\n      \"▁A sh\",\n      \"▁As h\",\n      \"▁bo ost\",\n      \"▁ boost\",\n      \"▁des per\",\n      \"▁desp er\",\n      \"mon th\",\n      \"mont h\",\n      \"▁al ert\",\n      \"▁ale rt\",\n      \"▁ alert\",\n      \"▁su ite\",\n      \"▁suit e\",\n      \"▁ suite\",\n      \"▁g én\",\n      \"▁gé n\",\n      \"▁v acc\",\n      \"▁va cc\",\n      \"▁vac c\",\n      \"▁H as\",\n      \"▁Ha s\",\n      \"▁ Has\",\n      \"Ma sk\",\n      \"M ask\",\n      \"▁Th ursday\",\n      \"▁pro ved\",\n      \"▁pr oved\",\n      \"▁prov ed\",\n      \"▁prove d\",\n      \"▁N el\",\n      \"▁Ne l\",\n      \"▁m oral\",\n      \"▁mor al\",\n      \"▁mo ral\",\n      \"▁j a\",\n      \"▁ ja\",\n      \"au er\",\n      \"a uer\",\n      \"co dec\",\n      \"code c\",\n      \"cod ec\",\n      \"▁in stant\",\n      \"▁inst ant\",\n      \"am ps\",\n      \"amp s\",\n      \"▁mil k\",\n      \"WO RD\",\n      \"W ORD\",\n      \"▁ Ö\",\n      \"Em ail\",\n      \"E mail\",\n      \"Element s\",\n      \"El ements\",\n      \"Elem ents\",\n      \"▁for ma\",\n      \"▁form a\",\n      \"Fr ee\",\n      \"F ree\",\n      \"MA P\",\n      \"M AP\",\n      \"▁ Ж\",\n      \"sy m\",\n      \"s ym\",\n      \"▁т и\",\n      \"▁ ти\",\n      \"▁E conom\",\n      \"▁Ec onom\",\n      \"▁V i\",\n      \"▁ Vi\",\n      \"▁Col umb\",\n      \"▁_ ,\",\n      \"▁ _,\",\n      \"or et\",\n      \"ore t\",\n      \"o ret\",\n      \"Se qu\",\n      \"Seq u\",\n      \"S equ\",\n      \"pl an\",\n      \"p lan\",\n      \"▁f requency\",\n      \"▁frequ ency\",\n      \"▁ frequency\",\n      \"ir ement\",\n      \"ire ment\",\n      \"▁ass umed\",\n      \"▁assum ed\",\n      \"▁assume d\",\n      \"▁C a\",\n      \"▁B it\",\n      \"▁Bi t\",\n      \"▁ Bit\",\n      \"▁ко ман\",\n      \"▁ком ан\",\n      \"▁sm ell\",\n      \"Se curity\",\n      \"Sec urity\",\n      \"▁a qu\",\n      \"▁ aqu\",\n      \"oo r\",\n      \"o or\",\n      \"pr ice\",\n      \"p rice\",\n      \"in ity\",\n      \"init y\",\n      \"ini ty\",\n      \"▁a xis\",\n      \"▁ax is\",\n      \"▁ axis\",\n      \"re lease\",\n      \"▁res olve\",\n      \"▁ resolve\",\n      \"▁t ears\",\n      \"▁te ars\",\n      \"▁tea rs\",\n      \"▁tear s\",\n      \"▁b other\",\n      \"▁bo ther\",\n      \"▁both er\",\n      \"▁bot her\",\n      \"▁Comm unity\",\n      \"▁Commun ity\",\n      \"▁register ed\",\n      \"▁re volution\",\n      \"▁rev olution\",\n      \"▁revol ution\",\n      \"? .\",\n      \"▁version s\",\n      \"▁vers ions\",\n      \"▁ versions\",\n      \"%% %%\",\n      \"yd ro\",\n      \"y dro\",\n      \"Su ccess\",\n      \"▁W in\",\n      \"▁Wi n\",\n      \"▁ Win\",\n      \"▁B oy\",\n      \"▁Bo y\",\n      \"▁D ub\",\n      \"▁Du b\",\n      \"▁k w\",\n      \"▁ kw\",\n      \"▁n och\",\n      \"▁no ch\",\n      \"▁char ges\",\n      \"▁charg es\",\n      \"▁charge s\",\n      \"ar ios\",\n      \"ari os\",\n      \"ario s\",\n      \"a rios\",\n      \"ua r\",\n      \"u ar\",\n      \"; &\",\n      \"▁hab ía\",\n      \"( `\",\n      \"▁t x\",\n      \"▁ tx\",\n      \"el ve\",\n      \"▁a ños\",\n      \"▁año s\",\n      \"▁m ath\",\n      \"▁mat h\",\n      \"▁ma th\",\n      \"▁ math\",\n      \"▁Al f\",\n      \"▁F und\",\n      \"▁Fun d\",\n      \"▁Fu nd\",\n      \"▁man ifest\",\n      \"▁manif est\",\n      \"▁att ached\",\n      \"▁attach ed\",\n      \"▁spirit ual\",\n      \"▁Alex ander\",\n      \"▁Alexand er\",\n      \"un es\",\n      \"une s\",\n      \"u nes\",\n      \"▁s eed\",\n      \"▁se ed\",\n      \"▁see d\",\n      \"▁ seed\",\n      \"▁Н о\",\n      \"▁mag azine\",\n      \"▁magaz ine\",\n      \"▁e igen\",\n      \"▁о бра\",\n      \"▁об ра\",\n      \"▁ обра\",\n      \"e a\",\n      \"▁P H\",\n      \"▁ PH\",\n      \"sw ing\",\n      \"s wing\",\n      \"▁As ia\",\n      \"ј у\",\n      \"▁K IND\",\n      \"Ident ifier\",\n      \"on ce\",\n      \"▁al cohol\",\n      \"ці ї\",\n      \"st yles\",\n      \"style s\",\n      \"sty les\",\n      \"assert Equal\",\n      \"▁R a\",\n      \"гра фи\",\n      \"▁mill ions\",\n      \"▁million s\",\n      \"▁ch unk\",\n      \"▁ chunk\",\n      \"де р\",\n      \"д ер\",\n      \"Pack age\",\n      \"US T\",\n      \"U ST\",\n      \"▁N othing\",\n      \"▁No thing\",\n      \"▁Not hing\",\n      \"▁ Nothing\",\n      \"(\\\" #\",\n      \"▁M id\",\n      \"▁Mi d\",\n      \"▁на ча\",\n      \"▁ нача\",\n      \"ł y\",\n      \"AA AA\",\n      \"▁la unched\",\n      \"▁launch ed\",\n      \"▁w ake\",\n      \"▁wa ke\",\n      \"▁ wake\",\n      \"▁gu ests\",\n      \"▁guest s\",\n      \"▁dif ferences\",\n      \"▁differ ences\",\n      \"▁difference s\",\n      \"ud i\",\n      \"u di\",\n      \"▁a id\",\n      \"▁ai d\",\n      \"▁ aid\",\n      \"▁S port\",\n      \"▁Sp ort\",\n      \"ul ator\",\n      \"ula tor\",\n      \"ex ecute\",\n      \"exec ute\",\n      \"execut e\",\n      \"pl ot\",\n      \"plo t\",\n      \"p lot\",\n      \"ch ing\",\n      \"chi ng\",\n      \"c hing\",\n      \"▁N orm\",\n      \"▁No rm\",\n      \"▁Nor m\",\n      \"▁ Norm\",\n      \"t m\",\n      \"\\\\ +\",\n      \"AR D\",\n      \"A RD\",\n      \"▁be er\",\n      \"▁п ід\",\n      \"▁пі д\",\n      \"IA L\",\n      \"I AL\",\n      \"st orage\",\n      \"sto rage\",\n      \"▁An na\",\n      \"▁Ann a\",\n      \"▁y ards\",\n      \"▁yard s\",\n      \"▁techn ique\",\n      \"▁o ù\",\n      \"at ten\",\n      \"att en\",\n      \"atte n\",\n      \"UN T\",\n      \"U NT\",\n      \"do n\",\n      \"d on\",\n      \"фо р\",\n      \"ф ор\",\n      \"▁h oping\",\n      \"▁hop ing\",\n      \"▁ho ping\",\n      \"▁vict ory\",\n      \"it at\",\n      \"ita t\",\n      \"i tat\",\n      \"▁signific antly\",\n      \"▁significant ly\",\n      \"▁pract ical\",\n      \"ij e\",\n      \"i je\",\n      \"▁exp ansion\",\n      \"▁expans ion\",\n      \"J S\",\n      \"ix els\",\n      \"ixel s\",\n      \"US ER\",\n      \"USE R\",\n      \"U SER\",\n      \"Sh ape\",\n      \"▁ext ent\",\n      \"li o\",\n      \"l io\",\n      \"▁p ued\",\n      \"▁pu ed\",\n      \"ol id\",\n      \"oli d\",\n      \"▁g am\",\n      \"▁ga m\",\n      \"▁s event\",\n      \"▁se vent\",\n      \"▁seven t\",\n      \"▁G a\",\n      \"▁ Ga\",\n      \"angu ages\",\n      \"anguage s\",\n      \"(( (\",\n      \"( ((\",\n      \"ъ л\",\n      \"▁Ex per\",\n      \"▁Exp er\",\n      \"▁ Exper\",\n      \"as ty\",\n      \"ast y\",\n      \"a sty\",\n      \"ri eg\",\n      \"rie g\",\n      \"r ieg\",\n      \"gi o\",\n      \"g io\",\n      \"od o\",\n      \"o do\",\n      \"▁col le\",\n      \"▁co lle\",\n      \"▁coll e\",\n      \"▁st ored\",\n      \"▁store d\",\n      \"▁stor ed\",\n      \"▁sto red\",\n      \"▁S che\",\n      \"▁Sch e\",\n      \"▁Sc he\",\n      \"▁ Sche\",\n      \"ist ant\",\n      \"ista nt\",\n      \"istan t\",\n      \"i stant\",\n      \"▁l ip\",\n      \"▁li p\",\n      \"B R\",\n      \"▁a ug\",\n      \"▁au g\",\n      \"▁ aug\",\n      \"▁S earch\",\n      \"▁Se arch\",\n      \"▁ Search\",\n      \")= \\\\\",\n      \") =\\\\\",\n      \"▁U r\",\n      \"▁s ole\",\n      \"▁so le\",\n      \"▁sol e\",\n      \"▁ sole\",\n      \"il lo\",\n      \"ill o\",\n      \"▁me hr\",\n      \"ki t\",\n      \"k it\",\n      \"▁in terior\",\n      \"▁inter ior\",\n      \"▁inte rior\",\n      \"LI ST\",\n      \"L IST\",\n      \"ad el\",\n      \"ade l\",\n      \"a del\",\n      \"▁shop ping\",\n      \"▁s lä\",\n      \"▁sl ä\",\n      \"You r\",\n      \"Y our\",\n      \"DI TION\",\n      \"D ITION\",\n      \"▁H ttp\",\n      \"▁ Http\",\n      \"ra ham\",\n      \"rah am\",\n      \"т ри\",\n      \"▁b rings\",\n      \"▁br ings\",\n      \"▁bring s\",\n      \"Re v\",\n      \"R ev\",\n      \"▁pro pag\",\n      \"▁prop ag\",\n      \"ity Engine\",\n      \"() ),\",\n      \"()) ,\",\n      \"( )),\",\n      \"▁ing år\",\n      \"▁Ir eland\",\n      \"▁Ire land\",\n      \"▁\\\" ./\",\n      \"▁\\\". /\",\n      \"▁H arr\",\n      \"▁Har r\",\n      \"▁Ha rr\",\n      \"▁ad min\",\n      \"▁adm in\",\n      \"▁ admin\",\n      \"en o\",\n      \"e no\",\n      \"▁k r\",\n      \"▁ kr\",\n      \"▁est á\",\n      \"▁pro ps\",\n      \"▁pr ops\",\n      \"▁prop s\",\n      \"▁ props\",\n      \"to k\",\n      \"t ok\",\n      \"om orph\",\n      \"▁affect ed\",\n      \"Ph one\",\n      \"▁deg rees\",\n      \"▁degree s\",\n      \"so me\",\n      \"som e\",\n      \"s ome\",\n      \"▁n in\",\n      \"▁ni n\",\n      \"EV ENT\",\n      \"▁inter action\",\n      \"▁inte raction\",\n      \"▁interact ion\",\n      \"▁T uesday\",\n      \"iter ator\",\n      \"▁N ob\",\n      \"▁No b\",\n      \"▁sc atter\",\n      \"uck et\",\n      \"uc ket\",\n      \"com plete\",\n      \"comp lete\",\n      \"▁d uty\",\n      \"▁du ty\",\n      \"▁dut y\",\n      \"▁answ ers\",\n      \"▁answer s\",\n      \"Pro gress\",\n      \"ee d\",\n      \"e ed\",\n      \"ро н\",\n      \"р он\",\n      \"▁v ie\",\n      \"▁vi e\",\n      \"▁de pos\",\n      \"▁dep os\",\n      \"▁p acket\",\n      \"▁pack et\",\n      \"▁pac ket\",\n      \"▁ packet\",\n      \"▁t ow\",\n      \"▁to w\",\n      \"▁de leg\",\n      \"▁del eg\",\n      \"▁ deleg\",\n      \"aud io\",\n      \"a udio\",\n      \"▁v ary\",\n      \"▁var y\",\n      \"▁va ry\",\n      \"▁m igr\",\n      \"▁mi gr\",\n      \"▁mig r\",\n      \"▁ migr\",\n      \"ф і\",\n      \"es a\",\n      \"e sa\",\n      \"Event s\",\n      \"Ev ents\",\n      \"Even ts\",\n      \"ha us\",\n      \"h aus\",\n      \"▁S av\",\n      \"▁Sa v\",\n      \"▁Port ug\",\n      \"▁с то\",\n      \"▁ст о\",\n      \"▁ сто\",\n      \"il ation\",\n      \"i lation\",\n      \"▁met adata\",\n      \"▁meta data\",\n      \"▁ metadata\",\n      \"la s\",\n      \"l as\",\n      \"▁a i\",\n      \"▁ ai\",\n      \"▁an ger\",\n      \"▁ang er\",\n      \"▁ange r\",\n      \"▁ anger\",\n      \"▁h am\",\n      \"▁ha m\",\n      \"▁ ham\",\n      \"▁A nal\",\n      \"▁An al\",\n      \"▁Ana l\",\n      \"▁ Anal\",\n      \"▁frequ ently\",\n      \"▁frequent ly\",\n      \"▁F ALSE\",\n      \"▁ FALSE\",\n      \"oc he\",\n      \"och e\",\n      \"o che\",\n      \"re z\",\n      \"r ez\",\n      \"▁V iet\",\n      \"▁Vi et\",\n      \"qu is\",\n      \"q uis\",\n      \"▁char ged\",\n      \"▁charg ed\",\n      \"▁charge d\",\n      \"ä s\",\n      \"▁P ath\",\n      \"▁Pat h\",\n      \"▁Pa th\",\n      \"▁ Path\",\n      \"▁accur ate\",\n      \"▁Pl us\",\n      \"▁ Plus\",\n      \"ke it\",\n      \"▁In put\",\n      \"▁ Input\",\n      \"wh en\",\n      \"whe n\",\n      \"w hen\",\n      \"er as\",\n      \"era s\",\n      \"e ras\",\n      \"▁во з\",\n      \"▁de rived\",\n      \"▁der ived\",\n      \"▁deriv ed\",\n      \"▁derive d\",\n      \"aj e\",\n      \"a je\",\n      \"▁H ad\",\n      \"▁Ha d\",\n      \"ur en\",\n      \"ure n\",\n      \"u ren\",\n      \"ó r\",\n      \"}= \\\\\",\n      \"} =\\\\\",\n      \"ur eau\",\n      \"ure au\",\n      \"al and\",\n      \"ala nd\",\n      \"a land\",\n      \"Execut ion\",\n      \"Exec ution\",\n      \"ed en\",\n      \"ede n\",\n      \"e den\",\n      \"▁se eking\",\n      \"▁see king\",\n      \"▁seek ing\",\n      \"ch anged\",\n      \"change d\",\n      \"chan ged\",\n      \"▁t rem\",\n      \"▁tr em\",\n      \"▁tre m\",\n      \"ск у\",\n      \"с ку\",\n      \"▁G eme\",\n      \"▁Ge me\",\n      \"▁Gem e\",\n      \"in ating\",\n      \"ina ting\",\n      \"▁column s\",\n      \"▁ columns\",\n      \"E P\",\n      \"▁inj ury\",\n      \"end ent\",\n      \"ende nt\",\n      \"enden t\",\n      \"▁he aded\",\n      \"▁head ed\",\n      \"▁ headed\",\n      \"AS E\",\n      \"A SE\",\n      \"▁Mus lim\",\n      \"▁cl imate\",\n      \"▁clim ate\",\n      \"▁f ake\",\n      \"▁fa ke\",\n      \"▁ fake\",\n      \"CM D\",\n      \"C MD\",\n      \"ј и\",\n      \"▁Ar ts\",\n      \"▁Art s\",\n      \"fe ction\",\n      \"fect ion\",\n      \"f ection\",\n      \"▁p it\",\n      \"▁pi t\",\n      \"▁ pit\",\n      \"> \\\\\",\n      \"an al\",\n      \"ana l\",\n      \"a nal\",\n      \"Se ction\",\n      \"S ection\",\n      \"pl us\",\n      \"ü t\",\n      \"▁em bed\",\n      \"▁emb ed\",\n      \"▁ embed\",\n      \"▁st rings\",\n      \"▁str ings\",\n      \"▁string s\",\n      \"▁ strings\",\n      \"Be fore\",\n      \"B efore\",\n      \"pro c\",\n      \"pr oc\",\n      \"p roc\",\n      \"▁с по\",\n      \"▁сп о\",\n      \"▁ спо\",\n      \"tr l\",\n      \"t rl\",\n      \"v r\",\n      \"Back ground\",\n      \"log ger\",\n      \"ag raph\",\n      \"agr aph\",\n      \"agra ph\",\n      \"a graph\",\n      \"ie st\",\n      \"ies t\",\n      \"i est\",\n      \"▁good s\",\n      \"bat ch\",\n      \"b atch\",\n      \"▁opt ional\",\n      \"▁option al\",\n      \"▁ optional\",\n      \"▁Tay lor\",\n      \"▁recogn ize\",\n      \"wal k\",\n      \"w alk\",\n      \"▁H it\",\n      \"▁Hi t\",\n      \"▁ Hit\",\n      \"▁Eliz abeth\",\n      \"} :\",\n      \"▁care ful\",\n      \"кра ї\",\n      \"▁loc ations\",\n      \"▁location s\",\n      \"▁struct ures\",\n      \"▁structure s\",\n      \"▁d isk\",\n      \"▁dis k\",\n      \"▁di sk\",\n      \"▁ disk\",\n      \"▁sh ips\",\n      \"▁ship s\",\n      \"▁ ships\",\n      \"▁s uo\",\n      \"▁su o\",\n      \"▁s owie\",\n      \"▁so wie\",\n      \"▁sow ie\",\n      \"▁E ss\",\n      \"▁Es s\",\n      \"▁H ash\",\n      \"▁Ha sh\",\n      \"▁Has h\",\n      \"▁ Hash\",\n      \"▁reason able\",\n      \"▁More over\",\n      \"▁form ula\",\n      \"▁C entre\",\n      \"▁Cent re\",\n      \"▁res idents\",\n      \"▁resident s\",\n      \"▁resid ents\",\n      \"R S\",\n      \"Id s\",\n      \"I ds\",\n      \"▁K now\",\n      \"▁Kn ow\",\n      \"▁t rib\",\n      \"▁tr ib\",\n      \"▁tri b\",\n      \"▁r és\",\n      \"▁ré s\",\n      \"▁s table\",\n      \"▁st able\",\n      \"▁sta ble\",\n      \"▁stab le\",\n      \"▁ stable\",\n      \"▁W ould\",\n      \"▁Wo uld\",\n      \"▁ Would\",\n      \"▁break ing\",\n      \"▁bre aking\",\n      \"▁ breaking\",\n      \"▁me al\",\n      \"▁p hen\",\n      \"▁ph en\",\n      \"▁f el\",\n      \"▁fe l\",\n      \"▁ fel\",\n      \"▁F red\",\n      \"▁Fr ed\",\n      \"▁Fre d\",\n      \"Aut hor\",\n      \"Auth or\",\n      \"▁c apture\",\n      \"▁capt ure\",\n      \"▁ capture\",\n      \"op ts\",\n      \"opt s\",\n      \"o pts\",\n      \"▁every where\",\n      \"▁s que\",\n      \"▁squ e\",\n      \"▁sq ue\",\n      \"▁m oder\",\n      \"▁mod er\",\n      \"▁mo der\",\n      \"▁mode r\",\n      \"set up\",\n      \"▁S upp\",\n      \"▁Su pp\",\n      \"▁Sup p\",\n      \"▁ Supp\",\n      \"▁when ever\",\n      \"▁whe never\",\n      \"{ (\",\n      \"wa rt\",\n      \"war t\",\n      \"w art\",\n      \"▁t oe\",\n      \"▁to e\",\n      \"Pre fix\",\n      \"Pref ix\",\n      \"P refix\",\n      \"ho u\",\n      \"h ou\",\n      \"ga ge\",\n      \"g age\",\n      \"> \\\"\",\n      \"▁f rag\",\n      \"▁fr ag\",\n      \"▁fra g\",\n      \"▁ frag\",\n      \"▁The orem\",\n      \"mem ory\",\n      \"▁cont ents\",\n      \"▁content s\",\n      \"▁conten ts\",\n      \"▁ contents\",\n      \"do cs\",\n      \"doc s\",\n      \"} '\",\n      \"▁Ir ish\",\n      \"The n\",\n      \"Th en\",\n      \"T hen\",\n      \"aa ts\",\n      \"aat s\",\n      \"a ats\",\n      \"Sa ve\",\n      \"S ave\",\n      \"▁a gency\",\n      \"▁ag ency\",\n      \"▁и ме\",\n      \"▁им е\",\n      \"до ва\",\n      \"дов а\",\n      \"▁F unction\",\n      \"▁Fun ction\",\n      \"▁ Function\",\n      \"N N\",\n      \"dest roy\",\n      \"▁M essage\",\n      \"▁Mess age\",\n      \"▁ Message\",\n      \"▁c ancel\",\n      \"▁can cel\",\n      \"▁ cancel\",\n      \"▁super ior\",\n      \"▁e c\",\n      \"▁ ec\",\n      \"▁liter ature\",\n      \"▁P ART\",\n      \"▁PA RT\",\n      \"▁PAR T\",\n      \"▁ PART\",\n      \"I l\",\n      \"▁C ab\",\n      \"▁Ca b\",\n      \"eng ine\",\n      \"▁b asket\",\n      \"▁bas ket\",\n      \"wor th\",\n      \"wort h\",\n      \"w orth\",\n      \"▁S el\",\n      \"▁Se l\",\n      \"f etch\",\n      \"▁St adt\",\n      \"▁Stad t\",\n      \"▁Sta dt\",\n      \"▁К и\",\n      \"▁con j\",\n      \"▁se iner\",\n      \"▁sein er\",\n      \"▁seine r\",\n      \"▁sei ner\",\n      \"▁conf irmed\",\n      \"▁confirm ed\",\n      \"▁Ar gent\",\n      \"▁Arg ent\",\n      \"am ar\",\n      \"ama r\",\n      \"a mar\",\n      \"pgf path\",\n      \"▁strugg le\",\n      \"Pat tern\",\n      \"▁M iddle\",\n      \"it an\",\n      \"ita n\",\n      \"i tan\",\n      \"▁m oon\",\n      \"▁mo on\",\n      \"or ough\",\n      \"oro ugh\",\n      \"o rough\",\n      \"▁Cath olic\",\n      \"▁str uck\",\n      \"▁stru ck\",\n      \"] ->\",\n      \"▁we apon\",\n      \"▁weap on\",\n      \"▁su bst\",\n      \"▁sub st\",\n      \"▁subs t\",\n      \"▁inst ructions\",\n      \"▁instruct ions\",\n      \"▁instruction s\",\n      \"▁occ as\",\n      \"▁oc cas\",\n      \"prote cted\",\n      \"▁L ess\",\n      \"▁Le ss\",\n      \"▁Les s\",\n      \"▁ Less\",\n      \"▁b atch\",\n      \"▁bat ch\",\n      \"▁ batch\",\n      \"▁con tra\",\n      \"▁cont ra\",\n      \"▁contr a\",\n      \"▁de ck\",\n      \"▁dec k\",\n      \"▁ deck\",\n      \"▁ign ored\",\n      \"▁ignore d\",\n      \"▁ignor ed\",\n      \"▁ref used\",\n      \"▁refuse d\",\n      \"tr igger\",\n      \"▁crim inal\",\n      \"G A\",\n      \"ol ly\",\n      \"oll y\",\n      \"▁B ell\",\n      \"▁Be ll\",\n      \"▁Bel l\",\n      \"▁ Ю\",\n      \"for ward\",\n      \"▁p refix\",\n      \"▁pre fix\",\n      \"▁pref ix\",\n      \"▁ prefix\",\n      \"▁im mediate\",\n      \"▁immedi ate\",\n      \"▁as signed\",\n      \"▁ass igned\",\n      \"▁assign ed\",\n      \"▁e lected\",\n      \"▁elect ed\",\n      \"▁ele cted\",\n      \"▁to night\",\n      \"▁ton ight\",\n      \"▁D ies\",\n      \"▁Die s\",\n      \"▁Di es\",\n      \"▁B each\",\n      \"▁Be ach\",\n      \"▁pre ced\",\n      \"▁prec ed\",\n      \"ow ał\",\n      \"owa ł\",\n      \"▁gal ax\",\n      \"▁log ic\",\n      \"en za\",\n      \"enz a\",\n      \"▁Cap tain\",\n      \"▁Capt ain\",\n      \"▁H ay\",\n      \"▁Ha y\",\n      \"▁f acts\",\n      \"▁fact s\",\n      \"▁fac ts\",\n      \"▁н и\",\n      \"▁ ни\",\n      \"t é\",\n      \"▁s b\",\n      \"▁ sb\",\n      \"op ed\",\n      \"ope d\",\n      \"o ped\",\n      \"▁com bat\",\n      \"▁comb at\",\n      \"▁expl ore\",\n      \"▁explo re\",\n      \"▁( -\",\n      \"▁ (-\",\n      \"Load er\",\n      \"Lo ader\",\n      \"▁Wil son\",\n      \"▁l ocked\",\n      \"▁loc ked\",\n      \"▁lock ed\",\n      \"▁ locked\",\n      \": </\",\n      \"▁O d\",\n      \"▁P rote\",\n      \"▁Pro te\",\n      \"▁Pr ote\",\n      \"▁ Prote\",\n      \"▁dis abled\",\n      \"▁disable d\",\n      \"▁ disabled\",\n      \"▁h atte\",\n      \"▁hat te\",\n      \"▁sh out\",\n      \"▁con structor\",\n      \"▁construct or\",\n      \"▁constru ctor\",\n      \"▁ constructor\",\n      \"б і\",\n      \"▁t ras\",\n      \"▁tr as\",\n      \"▁tra s\",\n      \"▁ tras\",\n      \"▁F ather\",\n      \"▁Fa ther\",\n      \"▁Fat her\",\n      \"▁ad j\",\n      \"▁ adj\",\n      \"▁Carol ina\",\n      \"▁F ood\",\n      \"▁Fo od\",\n      \"ba d\",\n      \"b ad\",\n      \"at ore\",\n      \"ator e\",\n      \"ato re\",\n      \"param eters\",\n      \"parameter s\",\n      \"▁F ull\",\n      \"▁Fu ll\",\n      \"▁ Full\",\n      \"[ -\",\n      \"▁\\\" #\",\n      \"▁T ry\",\n      \"▁Tr y\",\n      \"▁ Try\",\n      \"сь кої\",\n      \"сько ї\",\n      \"▁ex haust\",\n      \"▁sc roll\",\n      \"▁scr oll\",\n      \"▁ scroll\",\n      \"_ ;\",\n      \"Wh o\",\n      \"W ho\",\n      \"▁deliver ed\",\n      \"▁re ferred\",\n      \"▁refer red\",\n      \"▁pro spect\",\n      \"▁pros pect\",\n      \"sc an\",\n      \"s can\",\n      \"▁mod ified\",\n      \"▁ modified\",\n      \"Gener ator\",\n      \"▁ex cess\",\n      \"▁exc ess\",\n      \"▁k g\",\n      \"▁ kg\",\n      \"ze t\",\n      \"z et\",\n      \"ic z\",\n      \"i cz\",\n      \"clip se\",\n      \"cli pse\",\n      \"▁t ank\",\n      \"▁tan k\",\n      \"▁g uns\",\n      \"▁gu ns\",\n      \"▁gun s\",\n      \"▁G es\",\n      \"▁Ge s\",\n      \"in ton\",\n      \"int on\",\n      \"into n\",\n      \"▁Wed nesday\",\n      \"▁main ly\",\n      \"par ser\",\n      \"parse r\",\n      \"pars er\",\n      \"▁effect ively\",\n      \"▁effective ly\",\n      \"▁К у\",\n      \"▁res ident\",\n      \"▁resid ent\",\n      \"▁L i\",\n      \"▁ Li\",\n      \"▁f lying\",\n      \"▁fl ying\",\n      \"▁fly ing\",\n      \"▁may or\",\n      \"▁mayo r\",\n      \"ü h\",\n      \"ut a\",\n      \"u ta\",\n      \"▁col our\",\n      \"▁air craft\",\n      \"ter ior\",\n      \"te rior\",\n      \"n r\",\n      \"▁ke eps\",\n      \"▁keep s\",\n      \"fa n\",\n      \"f an\",\n      \"▁sh irt\",\n      \"▁ shirt\",\n      \"Com par\",\n      \"Comp ar\",\n      \"▁E th\",\n      \"▁Et h\",\n      \"Ma c\",\n      \"M ac\",\n      \"cle an\",\n      \"c lean\",\n      \"sl ice\",\n      \"cz y\",\n      \"c zy\",\n      \"▁g ender\",\n      \"▁gen der\",\n      \"▁ge nder\",\n      \"▁ gender\",\n      \"▁b utter\",\n      \"▁but ter\",\n      \"▁butt er\",\n      \"AU T\",\n      \"A UT\",\n      \"▁E lement\",\n      \"▁El ement\",\n      \"▁Ele ment\",\n      \"▁ Element\",\n      \"Fi n\",\n      \"F in\",\n      \"dm a\",\n      \"d ma\",\n      \"sam ple\",\n      \"s ample\",\n      \"Reg istry\",\n      \"▁class ic\",\n      \"▁dr ove\",\n      \"▁dro ve\",\n      \"p b\",\n      \"def ined\",\n      \"define d\",\n      \"d efined\",\n      \"▁re ward\",\n      \"▁r eward\",\n      \"ya l\",\n      \"y al\",\n      \"]) ,\",\n      \"] ),\",\n      \"▁B AS\",\n      \"▁BA S\",\n      \"▁hy per\",\n      \"▁hyp er\",\n      \"▁ hyper\",\n      \"▁Н и\",\n      \"▁) .\",\n      \"▁ ).\",\n      \"Ps i\",\n      \"P si\",\n      \"▁ent ries\",\n      \"▁entr ies\",\n      \"▁ entries\",\n      \"▁King dom\",\n      \"▁S ong\",\n      \"▁So ng\",\n      \"▁Son g\",\n      \"▁prom pt\",\n      \"cent ering\",\n      \"center ing\",\n      \"▁H olly\",\n      \"▁Hol ly\",\n      \"▁Holl y\",\n      \"em an\",\n      \"ema n\",\n      \"e man\",\n      \"▁pain ting\",\n      \"▁paint ing\",\n      \"▁form ation\",\n      \"▁format ion\",\n      \"▁ formation\",\n      \"▁Re quest\",\n      \"▁Requ est\",\n      \"▁ Request\",\n      \"cont roller\",\n      \"control ler\",\n      \"Reg ion\",\n      \"P Y\",\n      \"id ades\",\n      \"ida des\",\n      \"idad es\",\n      \"idade s\",\n      \"T L\",\n      \"▁dis able\",\n      \"▁ disable\",\n      \"▁re in\",\n      \"ri cal\",\n      \"ric al\",\n      \"r ical\",\n      \"\\\" \\r\",\n      \"% )\",\n      \"▁S ab\",\n      \"▁Sa b\",\n      \"▁With out\",\n      \"▁ Without\",\n      \"Se rv\",\n      \"Ser v\",\n      \"S erv\",\n      \"▁Sh ort\",\n      \"▁ Short\",\n      \"▁ ю\",\n      \"▁re sc\",\n      \"▁r esc\",\n      \"▁res c\",\n      \"▁ resc\",\n      \"▁pattern s\",\n      \"▁Array List\",\n      \"▁ ArrayList\",\n      \"sym bol\",\n      \"s ymbol\",\n      \"ac o\",\n      \"a co\",\n      \"▁H om\",\n      \"▁Ho m\",\n      \"▁ Hom\",\n      \"he lp\",\n      \"hel p\",\n      \"▁h asta\",\n      \"▁has ta\",\n      \"▁ha sta\",\n      \"▁hast a\",\n      \"▁inst alled\",\n      \"▁install ed\",\n      \"at ie\",\n      \"ati e\",\n      \"▁vis ited\",\n      \"▁visit ed\",\n      \"▁Б е\",\n      \"){ \\\\\",\n      \") {\\\\\",\n      \"▁des de\",\n      \"J ECT\",\n      \"▁d rew\",\n      \"▁dr ew\",\n      \"▁dre w\",\n      \"▁St ock\",\n      \"▁Sto ck\",\n      \"▁C ru\",\n      \"▁Cr u\",\n      \"DE F\",\n      \"D EF\",\n      \"ob by\",\n      \"obb y\",\n      \"iz able\",\n      \"iza ble\",\n      \"og ether\",\n      \"oge ther\",\n      \"▁a ber\",\n      \"▁ab er\",\n      \"▁d an\",\n      \"▁da n\",\n      \"▁ dan\",\n      \"al is\",\n      \"ali s\",\n      \"ta il\",\n      \"t ail\",\n      \"▁ex pressed\",\n      \"▁exp ressed\",\n      \"▁express ed\",\n      \"▁expr essed\",\n      \"▁A ccess\",\n      \"▁Acc ess\",\n      \"▁Ac cess\",\n      \"▁ Access\",\n      \"Se g\",\n      \"S eg\",\n      \"▁L ib\",\n      \"▁Li b\",\n      \"▁ Lib\",\n      \"▁sup ports\",\n      \"▁support s\",\n      \"▁supp orts\",\n      \"back ground\",\n      \"▁comm une\",\n      \"▁commun e\",\n      \"cal led\",\n      \"call ed\",\n      \"c alled\",\n      \"▁print f\",\n      \"▁prin tf\",\n      \"▁ printf\",\n      \"▁Pr ince\",\n      \"▁Prin ce\",\n      \"ни те\",\n      \"de pend\",\n      \"dep end\",\n      \"▁d els\",\n      \"▁de ls\",\n      \"▁del s\",\n      \"ne ur\",\n      \"n eur\",\n      \"▁recomm ended\",\n      \"▁recommend ed\",\n      \"▁found ed\",\n      \"▁mark ets\",\n      \"▁market s\",\n      \"▁destroy ed\",\n      \"▁ab stract\",\n      \"▁abs tract\",\n      \"▁ abstract\",\n      \"▁s erie\",\n      \"▁se rie\",\n      \"▁ser ie\",\n      \"▁ serie\",\n      \"▁D un\",\n      \"▁Du n\",\n      \"Te rm\",\n      \"T erm\",\n      \"▁p ortion\",\n      \"▁port ion\",\n      \"ad apter\",\n      \"is set\",\n      \"iss et\",\n      \"isse t\",\n      \"че ски\",\n      \"▁in teger\",\n      \"▁inte ger\",\n      \"▁ integer\",\n      \"▁return ing\",\n      \"en ties\",\n      \"ent ies\",\n      \"enti es\",\n      \"▁F air\",\n      \"▁Fa ir\",\n      \"▁U SB\",\n      \"▁US B\",\n      \"▁ USB\",\n      \"▁P rice\",\n      \"▁Pr ice\",\n      \"▁Pri ce\",\n      \"▁ Price\",\n      \"ig ate\",\n      \"iga te\",\n      \"i gate\",\n      \"▁sett led\",\n      \"▁settle d\",\n      \"({ \\\\\",\n      \"( {\\\\\",\n      \"ne k\",\n      \"n ek\",\n      \"▁the rm\",\n      \"▁th erm\",\n      \"▁ther m\",\n      \"▁c ig\",\n      \"▁ci g\",\n      \"án y\",\n      \"á ny\",\n      \"▁invest igation\",\n      \"▁investig ation\",\n      \"om eter\",\n      \"ome ter\",\n      \"omet er\",\n      \"SU P\",\n      \"S UP\",\n      \"So me\",\n      \"Som e\",\n      \"S ome\",\n      \"si ng\",\n      \"sin g\",\n      \"s ing\",\n      \"Con stant\",\n      \"Const ant\",\n      \"▁re tail\",\n      \"▁ret ail\",\n      \"ż y\",\n      \"▁dr inking\",\n      \"▁drink ing\",\n      \"▁In vest\",\n      \"▁Inv est\",\n      \"S V\",\n      \"ig inal\",\n      \"igin al\",\n      \"igi nal\",\n      \"▁B ow\",\n      \"▁Bo w\",\n      \"{{ \\\\\",\n      \"{ {\\\\\",\n      \"▁ass istance\",\n      \"▁assist ance\",\n      \"▁intel lect\",\n      \"IN IT\",\n      \"au g\",\n      \"a ug\",\n      \"▁Le on\",\n      \"▁Leo n\",\n      \"Su r\",\n      \"S ur\",\n      \"▁ad mit\",\n      \"▁adm it\",\n      \"▁Com mand\",\n      \"▁Comm and\",\n      \"▁ Command\",\n      \"il les\",\n      \"ill es\",\n      \"ille s\",\n      \"ro v\",\n      \"r ov\",\n      \"▁o h\",\n      \"▁ oh\",\n      \"▁n ão\",\n      \"▁mat ching\",\n      \"▁match ing\",\n      \"▁g enu\",\n      \"▁gen u\",\n      \"▁ge nu\",\n      \"▁O x\",\n      \"т ся\",\n      \"not ation\",\n      \"G O\",\n      \"▁N ap\",\n      \"▁Na p\",\n      \"▁ver ify\",\n      \"▁ verify\",\n      \"▁aus si\",\n      \"▁auss i\",\n      \"Date Time\",\n      \"▁su itable\",\n      \"▁suit able\",\n      \"▁ind icate\",\n      \"▁indic ate\",\n      \"▁L ive\",\n      \"▁Li ve\",\n      \"▁Liv e\",\n      \"▁ Live\",\n      \"Fe ature\",\n      \"▁tr acks\",\n      \"▁track s\",\n      \"▁tra cks\",\n      \"▁has n\",\n      \"▁ha sn\",\n      \"▁J ava\",\n      \"▁Ja va\",\n      \"▁ Java\",\n      \"▁close ly\",\n      \"▁clos ely\",\n      \"▁D ad\",\n      \"▁Da d\",\n      \"ce ive\",\n      \"▁Mar ket\",\n      \"▁Mark et\",\n      \"ag y\",\n      \"a gy\",\n      \"▁\\\" -\",\n      \"aw n\",\n      \"a wn\",\n      \"st ell\",\n      \"ste ll\",\n      \"pt on\",\n      \"pto n\",\n      \"p ton\",\n      \"ze it\",\n      \"▁V ector\",\n      \"▁Ve ctor\",\n      \"▁Vec tor\",\n      \"▁ Vector\",\n      \"▁M AX\",\n      \"▁MA X\",\n      \"▁ MAX\",\n      \"▁F ederal\",\n      \"▁Feder al\",\n      \"▁Fed eral\",\n      \"wa ll\",\n      \"wal l\",\n      \"w all\",\n      \"▁J en\",\n      \"▁Je n\",\n      \"de lay\",\n      \"del ay\",\n      \"▁lim its\",\n      \"▁limit s\",\n      \"▁ limits\",\n      \"▁Q uest\",\n      \"▁Qu est\",\n      \"▁Que st\",\n      \"▁ Quest\",\n      \"C am\",\n      \"▁F el\",\n      \"▁Fe l\",\n      \"write r\",\n      \"wr iter\",\n      \"writ er\",\n      \"w riter\",\n      \"L P\",\n      \"▁m oves\",\n      \"▁mov es\",\n      \"▁move s\",\n      \"▁mo ves\",\n      \"▁Ex ecut\",\n      \"▁ Execut\",\n      \"▁D B\",\n      \"▁ DB\",\n      \"ok er\",\n      \"oke r\",\n      \"o ker\",\n      \"sc ribe\",\n      \"scri be\",\n      \"scr ibe\",\n      \"scrib e\",\n      \"el ijk\",\n      \"elij k\",\n      \"eli jk\",\n      \"Const ants\",\n      \"Constant s\",\n      \"Add r\",\n      \"Ad dr\",\n      \"▁} }\",\n      \"▁ }}\",\n      \"▁ch annels\",\n      \"▁channel s\",\n      \"▁ channels\",\n      \"i y\",\n      \"rior ity\",\n      \"▁tr ading\",\n      \"▁trad ing\",\n      \"▁tra ding\",\n      \"▁fac ilities\",\n      \"▁facil ities\",\n      \"▁P ack\",\n      \"▁Pa ck\",\n      \"▁Pac k\",\n      \"▁ Pack\",\n      \"▁s ys\",\n      \"▁sy s\",\n      \"▁ sys\",\n      \"▁m eta\",\n      \"▁me ta\",\n      \"▁met a\",\n      \"▁ meta\",\n      \"▁est imate\",\n      \"▁estim ate\",\n      \"▁L ater\",\n      \"▁La ter\",\n      \"▁Lat er\",\n      \"▁Late r\",\n      \"iss ue\",\n      \"▁H aving\",\n      \"▁Ha ving\",\n      \"▁Hav ing\",\n      \"▁g uest\",\n      \"▁gu est\",\n      \"▁no body\",\n      \"▁nob ody\",\n      \"dep th\",\n      \"▁z ostał\",\n      \"пе ра\",\n      \"пер а\",\n      \")} \\\\\",\n      \") }\\\\\",\n      \"b g\",\n      \"▁Tw itter\",\n      \"▁dark ness\",\n      \"j pg\",\n      \"con tr\",\n      \"cont r\",\n      \"ker nel\",\n      \"kern el\",\n      \"k ernel\",\n      \"] \\\\\",\n      \"▁ext end\",\n      \"▁ extend\",\n      \"ro c\",\n      \"r oc\",\n      \"NE T\",\n      \"N ET\",\n      \"MS G\",\n      \"M SG\",\n      \"▁b urst\",\n      \"▁bur st\",\n      \"▁re pair\",\n      \"▁rep air\",\n      \"▁f etch\",\n      \"▁fet ch\",\n      \"▁ fetch\",\n      \"ie g\",\n      \"i eg\",\n      \"ú s\",\n      \"Sc reen\",\n      \"S creen\",\n      \"ble m\",\n      \"bl em\",\n      \"b lem\",\n      \"App Compat\",\n      \"▁ch ap\",\n      \"▁cha p\",\n      \"▁ chap\",\n      \"EL D\",\n      \"E LD\",\n      \"▁P enn\",\n      \"▁Pe nn\",\n      \"▁Pen n\",\n      \"▁prom ote\",\n      \"▁promot e\",\n      \"▁U kr\",\n      \"ar est\",\n      \"are st\",\n      \"ares t\",\n      \"a rest\",\n      \"▁s amples\",\n      \"▁sam ples\",\n      \"▁sample s\",\n      \"▁ samples\",\n      \"▁G reek\",\n      \"▁Gre ek\",\n      \"▁Gree k\",\n      \"▁con stru\",\n      \"▁const ru\",\n      \"▁constr u\",\n      \"▁un iverse\",\n      \"▁univers e\",\n      \"elij ke\",\n      \"elijk e\",\n      \"▁pre ferred\",\n      \"▁prefer red\",\n      \"▁Д е\",\n      \"▁I ra\",\n      \"▁Ir a\",\n      \"▁d ow\",\n      \"▁do w\",\n      \"ag ues\",\n      \"ague s\",\n      \"agu es\",\n      \"HE RE\",\n      \"HER E\",\n      \"H ERE\",\n      \"▁exper ts\",\n      \"▁exp erts\",\n      \"▁expert s\",\n      \"Pro tocol\",\n      \"Proto col\",\n      \"PI O\",\n      \"P IO\",\n      \"▁n az\",\n      \"▁na z\",\n      \"▁K h\",\n      \"hö r\",\n      \"h ör\",\n      \"▁dist ingu\",\n      \"▁B Y\",\n      \"▁ BY\",\n      \"▁se ine\",\n      \"▁sein e\",\n      \"▁sei ne\",\n      \"ep ing\",\n      \"e ping\",\n      \"▁fair ly\",\n      \"▁Me an\",\n      \"ix er\",\n      \"in si\",\n      \"ins i\",\n      \"▁author s\",\n      \"▁auth ors\",\n      \"** .\",\n      \"* *.\",\n      \"A I\",\n      \"▁ed ges\",\n      \"▁edge s\",\n      \"▁ edges\",\n      \"▁shoot ing\",\n      \"Ad min\",\n      \"▁m aps\",\n      \"▁map s\",\n      \"▁ma ps\",\n      \"▁ maps\",\n      \"ch ant\",\n      \"chan t\",\n      \"cha nt\",\n      \"▁CO VID\",\n      \"▁link ed\",\n      \"▁lin ked\",\n      \"▁ linked\",\n      \"▁s ke\",\n      \"▁sk e\",\n      \"▁ ske\",\n      \"▁power s\",\n      \"▁pow ers\",\n      \"á d\",\n      \"▁stom ach\",\n      \"▁us age\",\n      \"▁ usage\",\n      \"▁def end\",\n      \"▁defe nd\",\n      \"▁s ustain\",\n      \"▁sus tain\",\n      \"▁sust ain\",\n      \"▁up dates\",\n      \"▁update s\",\n      \"▁as sign\",\n      \"▁ass ign\",\n      \"▁ assign\",\n      \"H L\",\n      \"▁S ea\",\n      \"▁Se a\",\n      \"▁dis cipl\",\n      \"V ideo\",\n      \"▁Ch ief\",\n      \"▁Chi ef\",\n      \"▁b unch\",\n      \"▁Ob ama\",\n      \"ni s\",\n      \"n is\",\n      \"vo r\",\n      \"v or\",\n      \"▁ag ents\",\n      \"▁agent s\",\n      \"ca s\",\n      \"c as\",\n      \"ch ter\",\n      \"cht er\",\n      \"chte r\",\n      \"▁gl anced\",\n      \"▁glance d\",\n      \"support ed\",\n      \"supp orted\",\n      \"▁Cons ider\",\n      \"▁Every one\",\n      \"▁l ect\",\n      \"▁le ct\",\n      \"▁ lect\",\n      \"▁St one\",\n      \"▁Sto ne\",\n      \"▁J am\",\n      \"▁Ja m\",\n      \"og ram\",\n      \"o gram\",\n      \"form ance\",\n      \"▁\\\\ \\\"\",\n      \"▁ \\\\\\\"\",\n      \"▁p atch\",\n      \"▁pat ch\",\n      \"▁ patch\",\n      \"▁v it\",\n      \"▁vi t\",\n      \"Po wer\",\n      \"P ower\",\n      \"▁hard er\",\n      \"▁har der\",\n      \"An al\",\n      \"A nal\",\n      \"▁des ired\",\n      \"▁desire d\",\n      \"▁j ug\",\n      \"▁ju g\",\n      \"▁support ing\",\n      \"D U\",\n      \"]] ,\",\n      \"] ],\",\n      \"▁Ad ministr\",\n      \"▁Admin istr\",\n      \"uck y\",\n      \"uc ky\",\n      \"▁cont roller\",\n      \"▁control ler\",\n      \"▁ controller\",\n      \"▁iss ued\",\n      \"▁issue d\",\n      \"▁S in\",\n      \"▁Si n\",\n      \"▁aff ili\",\n      \"▁part ners\",\n      \"▁partner s\",\n      \"cd ots\",\n      \"cdot s\",\n      \"c dots\",\n      \"ct ic\",\n      \"C ar\",\n      \"▁N Y\",\n      \"▁ NY\",\n      \"▁p riority\",\n      \"▁prior ity\",\n      \"▁ priority\",\n      \"or iginal\",\n      \"orig inal\",\n      \"origin al\",\n      \"S ql\",\n      \"▁decl ared\",\n      \"▁declare d\",\n      \"▁declar ed\",\n      \"▁Hot el\",\n      \"▁b rowser\",\n      \"▁brow ser\",\n      \"▁brows er\",\n      \"▁ browser\",\n      \"▁gr ande\",\n      \"▁grand e\",\n      \"▁gran de\",\n      \"▁gra nde\",\n      \"}^ \\\\\",\n      \"} ^\\\\\",\n      \"bo w\",\n      \"b ow\",\n      \"▁accom mod\",\n      \"Direct ory\",\n      \"▁suff ering\",\n      \"▁suffer ing\",\n      \"▁log ger\",\n      \"▁ logger\",\n      \"▁break fast\",\n      \"ul i\",\n      \"u li\",\n      \"▁b oot\",\n      \"▁bo ot\",\n      \"▁ boot\",\n      \"▁contribut ion\",\n      \"NE SS\",\n      \"▁T en\",\n      \"▁Te n\",\n      \"▁ Ten\",\n      \"sem ble\",\n      \"semb le\",\n      \"sembl e\",\n      \"▁h ousing\",\n      \"▁hous ing\",\n      \"▁ho using\",\n      \"R aw\",\n      \"AN CE\",\n      \"▁П ри\",\n      \"▁b rit\",\n      \"▁br it\",\n      \"▁ brit\",\n      \"es sa\",\n      \"ess a\",\n      \"in son\",\n      \"ins on\",\n      \"▁B all\",\n      \"▁Ba ll\",\n      \"▁Bal l\",\n      \"en tes\",\n      \"ent es\",\n      \"ente s\",\n      \"▁B ra\",\n      \"▁Br a\",\n      \"sc ore\",\n      \"s core\",\n      \"GE R\",\n      \"G ER\",\n      \"ro ute\",\n      \"rou te\",\n      \"r oute\",\n      \"ap sed\",\n      \"aps ed\",\n      \"apse d\",\n      \"ро й\",\n      \"di ff\",\n      \"d iff\",\n      \"▁broad cast\",\n      \"▁t ar\",\n      \"▁ta r\",\n      \"▁ tar\",\n      \"▁de light\",\n      \"▁del ight\",\n      \") ?\",\n      \"ch ester\",\n      \"che ster\",\n      \"ches ter\",\n      \"Pl atform\",\n      \"▁emer gency\",\n      \"▁c es\",\n      \"▁ce s\",\n      \"▁ ces\",\n      \"ner ship\",\n      \"ners hip\",\n      \"n ership\",\n      \"▁sit uations\",\n      \"▁situ ations\",\n      \"▁situation s\",\n      \"▁famil jen\",\n      \"▁G eb\",\n      \"▁Ge b\",\n      \"en ta\",\n      \"ent a\",\n      \"ú blic\",\n      \"▁P lace\",\n      \"▁Pl ace\",\n      \"▁ Place\",\n      \"IL L\",\n      \"I LL\",\n      \"▁m arch\",\n      \"▁mar ch\",\n      \"▁fundament al\",\n      \"att ributes\",\n      \"attribute s\",\n      \"кт и\",\n      \"к ти\",\n      \"▁F u\",\n      \"F D\",\n      \"▁ра с\",\n      \"▁academ ic\",\n      \"pr es\",\n      \"pre s\",\n      \"p res\",\n      \"▁r ising\",\n      \"▁ri sing\",\n      \"▁ris ing\",\n      \"▁B raz\",\n      \"▁Br az\",\n      \"▁Bra z\",\n      \"▁rece iving\",\n      \"WAR N\",\n      \"▁jud g\",\n      \"▁necess arily\",\n      \"] =\",\n      \"▁deep ly\",\n      \"▁g ray\",\n      \"▁gr ay\",\n      \"▁gra y\",\n      \"▁ gray\",\n      \"He aders\",\n      \"Head ers\",\n      \"Header s\",\n      \"▁co al\",\n      \"\\\\ {\",\n      \"Mu t\",\n      \"M ut\",\n      \"ba ch\",\n      \"b ach\",\n      \"▁pro fit\",\n      \"▁prof it\",\n      \"▁ profit\",\n      \"во го\",\n      \"в ого\",\n      \"ig s\",\n      \"i gs\",\n      \"og rap\",\n      \"\\\"; \\r\",\n      \"\\\" ;\\r\",\n      \"▁adv oc\",\n      \"Gener ated\",\n      \"Generate d\",\n      \"ме ри\",\n      \"мер и\",\n      \"▁C ond\",\n      \"▁Con d\",\n      \"▁Co nd\",\n      \"▁ Cond\",\n      \"▁ag ric\",\n      \"BA SE\",\n      \"B ASE\",\n      \"▁arr ang\",\n      \"▁flow ers\",\n      \"▁flower s\",\n      \"i w\",\n      \"▁] ;\",\n      \"▁ ];\",\n      \"▁во й\",\n      \"▁ вой\",\n      \"ume rate\",\n      \"umer ate\",\n      \"▁i hr\",\n      \"▁ih r\",\n      \"▁п ар\",\n      \"▁па р\",\n      \"▁ пар\",\n      \"▁m ont\",\n      \"▁mon t\",\n      \"▁mo nt\",\n      \"▁ mont\",\n      \"wide hat\",\n      \"m g\",\n      \"▁b tn\",\n      \"▁bt n\",\n      \"▁ btn\",\n      \"▁b esk\",\n      \"▁be sk\",\n      \"▁bes k\",\n      \"▁act s\",\n      \"▁ac ts\",\n      \"▁ acts\",\n      \"ó s\",\n      \"~~ ~~\",\n      \"▁cur ve\",\n      \"▁curv e\",\n      \"l anguage\",\n      \"▁TR UE\",\n      \"▁ TRUE\",\n      \"▁cle aning\",\n      \"▁clean ing\",\n      \"Mat h\",\n      \"Ma th\",\n      \"M ath\",\n      \"▁reg ional\",\n      \"▁region al\",\n      \"▁est imated\",\n      \"▁estim ated\",\n      \"▁estimate d\",\n      \"ar ity\",\n      \"ari ty\",\n      \"ier ung\",\n      \"/ {\",\n      \"jan go\",\n      \"j ango\",\n      \"$ _\",\n      \"▁th rew\",\n      \"▁thr ew\",\n      \"r q\",\n      \"co p\",\n      \"c op\",\n      \"ner gy\",\n      \"▁Acc ount\",\n      \"▁Ac count\",\n      \"▁ Account\",\n      \"pa l\",\n      \"p al\",\n      \"▁N ic\",\n      \"▁Ni c\",\n      \"]) )\",\n      \"] ))\",\n      \"▁aw esome\",\n      \"▁L oad\",\n      \"▁Lo ad\",\n      \"▁ Load\",\n      \"un nel\",\n      \"unn el\",\n      \"▁r ows\",\n      \"▁ro ws\",\n      \"▁row s\",\n      \"▁ rows\",\n      \"▁for each\",\n      \"▁fore ach\",\n      \"▁fo reach\",\n      \"▁ foreach\",\n      \"▁P od\",\n      \"▁Po d\",\n      \"▁ Pod\",\n      \"▁E N\",\n      \"▁ EN\",\n      \"▁. =\",\n      \"ua te\",\n      \"u ate\",\n      \"frastr ucture\",\n      \"▁W atch\",\n      \"▁Wat ch\",\n      \"▁ Watch\",\n      \"St and\",\n      \"▁r outine\",\n      \"▁rout ine\",\n      \"▁p ic\",\n      \"▁pi c\",\n      \"▁ pic\",\n      \"hel per\",\n      \"help er\",\n      \"▁hor ses\",\n      \"▁horse s\",\n      \"▁hors es\",\n      \"▁requ ested\",\n      \"▁request ed\",\n      \"▁- --\",\n      \"▁-- -\",\n      \"▁ ---\",\n      \"bor der\",\n      \"b order\",\n      \"▁lif ted\",\n      \"▁lift ed\",\n      \"▁P ed\",\n      \"▁Pe d\",\n      \"Im port\",\n      \"Imp ort\",\n      \"љ е\",\n      \"▁Л и\",\n      \"▁m yst\",\n      \"▁my st\",\n      \"TH ER\",\n      \"THE R\",\n      \"T HER\",\n      \"▁A C\",\n      \"▁ AC\",\n      \"Pro xy\",\n      \"Pr oxy\",\n      \"pro v\",\n      \"pr ov\",\n      \"p rov\",\n      \"▁N ik\",\n      \"▁Ni k\",\n      \"he mat\",\n      \"hem at\",\n      \"h emat\",\n      \"он аль\",\n      \"она ль\",\n      \"о наль\",\n      \"▁\\\" .\",\n      \"▁ \\\".\",\n      \"ul ui\",\n      \"ulu i\",\n      \"▁impro ved\",\n      \"▁improve d\",\n      \"ie ren\",\n      \"ier en\",\n      \"iere n\",\n      \"i eren\",\n      \"oc olate\",\n      \"ocol ate\",\n      \"oco late\",\n      \"Sc he\",\n      \"Sch e\",\n      \"S che\",\n      \"un ic\",\n      \"uni c\",\n      \"u nic\",\n      \"▁Profess or\",\n      \"ie ler\",\n      \"iel er\",\n      \"iele r\",\n      \"i eler\",\n      \"▁d uration\",\n      \"▁dur ation\",\n      \"▁ duration\",\n      \"▁time out\",\n      \"▁ timeout\",\n      \"ho m\",\n      \"h om\",\n      \"▁l ux\",\n      \"▁lu x\",\n      \"▁t rab\",\n      \"▁tr ab\",\n      \"▁tra b\",\n      \"it ary\",\n      \"ita ry\",\n      \"itar y\",\n      \"њ е\",\n      \"▁insp ired\",\n      \"▁inspir ed\",\n      \"▁inspire d\",\n      \"}) \\\\\",\n      \"} )\\\\\",\n      \"is ely\",\n      \"ise ly\",\n      \"ial s\",\n      \"ia ls\",\n      \"i als\",\n      \"▁V or\",\n      \"▁Vo r\",\n      \"▁enh ance\",\n      \"▁l ucky\",\n      \"▁luck y\",\n      \"▁luc ky\",\n      \"W orld\",\n      \"el o\",\n      \"e lo\",\n      \"if iers\",\n      \"ifier s\",\n      \"ifi ers\",\n      \"▁f acing\",\n      \"▁fac ing\",\n      \"▁fa cing\",\n      \"▁appreci ate\",\n      \"▁ être\",\n      \"▁ben ch\",\n      \"▁ bench\",\n      \"at ted\",\n      \"att ed\",\n      \"atte d\",\n      \"gen ce\",\n      \"g ence\",\n      \"c ourse\",\n      \"▁t ub\",\n      \"▁tu b\",\n      \"▁l ors\",\n      \"▁lo rs\",\n      \"▁mis take\",\n      \"▁mist ake\",\n      \"no m\",\n      \"n om\",\n      \"▁p aus\",\n      \"▁pa us\",\n      \"▁\\\" \\\";\",\n      \"▁\\\"\\\" ;\",\n      \"▁su bs\",\n      \"▁sub s\",\n      \"▁st ato\",\n      \"▁stat o\",\n      \"▁sta to\",\n      \"$ )\",\n      \"▁g ay\",\n      \"▁ga y\",\n      \"or ry\",\n      \"orr y\",\n      \"▁veh icles\",\n      \"▁vehicle s\",\n      \"▁br ill\",\n      \"ma y\",\n      \"m ay\",\n      \"re sp\",\n      \"res p\",\n      \"r esp\",\n      \"▁w ore\",\n      \"▁wor e\",\n      \"▁wo re\",\n      \"j ą\",\n      \"b p\",\n      \"on el\",\n      \"one l\",\n      \"o nel\",\n      \"▁C R\",\n      \"▁ CR\",\n      \"▁di agn\",\n      \"▁dia gn\",\n      \"math sf\",\n      \"▁hol iday\",\n      \"▁achie ved\",\n      \"▁achieve d\",\n      \"▁{ '\",\n      \"▁ {'\",\n      \"▁Re source\",\n      \"▁Res ource\",\n      \"▁ Resource\",\n      \"▁h i\",\n      \"▁ hi\",\n      \"▁b ra\",\n      \"▁br a\",\n      \"▁ bra\",\n      \"▁CON DITION\",\n      \"ct r\",\n      \"c tr\",\n      \"▁W rite\",\n      \"▁Writ e\",\n      \"▁Wr ite\",\n      \"▁ Write\",\n      \"is hop\",\n      \"ish op\",\n      \"i shop\",\n      \"OL D\",\n      \"O LD\",\n      \"▁c pu\",\n      \"▁cp u\",\n      \"▁ cpu\",\n      \"▁occ urs\",\n      \"▁occur s\",\n      \"▁oc curs\",\n      \"ó ł\",\n      \"str aint\",\n      \"stra int\",\n      \"▁nu clear\",\n      \"▁nuc lear\",\n      \"▁nucle ar\",\n      \"Ar ea\",\n      \"Are a\",\n      \"A rea\",\n      \"cl uster\",\n      \"▁surround ing\",\n      \"▁J uan\",\n      \"▁Ju an\",\n      \"▁pr ima\",\n      \"▁prim a\",\n      \"▁pri ma\",\n      \"▁South ern\",\n      \"▁Sou thern\",\n      \"it ty\",\n      \"itt y\",\n      \"i tty\",\n      \"▁As sembly\",\n      \"▁ Assembly\",\n      \"el em\",\n      \"ele m\",\n      \"e lem\",\n      \"ad i\",\n      \"a di\",\n      \"ér al\",\n      \"éra l\",\n      \"é ral\",\n      \"▁W at\",\n      \"▁Wa t\",\n      \"▁R adio\",\n      \"▁Rad io\",\n      \"▁ Radio\",\n      \"▁g egen\",\n      \"▁ge gen\",\n      \"▁T ony\",\n      \"▁To ny\",\n      \"▁Ton y\",\n      \"pr essed\",\n      \"press ed\",\n      \"pres sed\",\n      \"p ressed\",\n      \"▁An ne\",\n      \"▁Ann e\",\n      \"▁N S\",\n      \"▁ NS\",\n      \"▁P ak\",\n      \"▁Pa k\",\n      \"▁C ivil\",\n      \"▁Ci vil\",\n      \"▁th rown\",\n      \"▁throw n\",\n      \"▁thr own\",\n      \"▁thro wn\",\n      \"NO NE\",\n      \"NON E\",\n      \"N ONE\",\n      \"▁p ump\",\n      \"▁pu mp\",\n      \"▁s olve\",\n      \"▁sol ve\",\n      \"EN ABLE\",\n      \"▁Ph ys\",\n      \"▁ Phys\",\n      \"▁] ,\",\n      \"▁ ],\",\n      \"PO SE\",\n      \"POS E\",\n      \"kt et\",\n      \"kte t\",\n      \"▁F ab\",\n      \"▁Fa b\",\n      \"valid ate\",\n      \"Iter ator\",\n      \"cond ition\",\n      \"re du\",\n      \"red u\",\n      \"r edu\",\n      \"▁neg oti\",\n      \"an no\",\n      \"ann o\",\n      \"▁s ans\",\n      \"▁sa ns\",\n      \"▁san s\",\n      \"▁U l\",\n      \"CH AR\",\n      \"▁ed ition\",\n      \"▁edit ion\",\n      \"▁spect rum\",\n      \"or ie\",\n      \"ori e\",\n      \"o rie\",\n      \"▁execut ion\",\n      \"▁exec ution\",\n      \"P lease\",\n      \"▁B O\",\n      \"▁ BO\",\n      \"UR N\",\n      \"▁c ow\",\n      \"▁co w\",\n      \"▁ cow\",\n      \"ст ан\",\n      \"ста н\",\n      \"с тан\",\n      \"istribut ion\",\n      \"Do main\",\n      \"Dom ain\",\n      \"▁re aders\",\n      \"▁read ers\",\n      \"▁reader s\",\n      \"▁cons umer\",\n      \"▁consum er\",\n      \"▁consume r\",\n      \"▁st yles\",\n      \"▁style s\",\n      \"▁sty les\",\n      \"▁ styles\",\n      \"en code\",\n      \"enc ode\",\n      \"▁C y\",\n      \"Com mon\",\n      \"Comm on\",\n      \"▁P rop\",\n      \"▁Pro p\",\n      \"▁Pr op\",\n      \"▁ Prop\",\n      \"▁ex ecute\",\n      \"▁execut e\",\n      \"▁exec ute\",\n      \"▁ execute\",\n      \"▁e q\",\n      \"▁ eq\",\n      \"▁vis itors\",\n      \"▁visit ors\",\n      \"▁visitor s\",\n      \"▁A mb\",\n      \"▁Am b\",\n      \"ud ad\",\n      \"uda d\",\n      \"q quad\",\n      \"▁C ert\",\n      \"▁Ce rt\",\n      \"▁Cer t\",\n      \"▁ Cert\",\n      \"▁t rop\",\n      \"▁tr op\",\n      \"▁tro p\",\n      \"▁yes terday\",\n      \"ta in\",\n      \"t ain\",\n      \"L D\",\n      \"at ro\",\n      \"atr o\",\n      \"▁incre ases\",\n      \"▁increase s\",\n      \"▁W ars\",\n      \"▁War s\",\n      \"▁Wa rs\",\n      \"ne d\",\n      \"n ed\",\n      \"be fore\",\n      \"b efore\",\n      \"au pt\",\n      \"a upt\",\n      \"▁E RR\",\n      \"▁ER R\",\n      \"▁ ERR\",\n      \"▁F ord\",\n      \"▁For d\",\n      \"▁Fo rd\",\n      \"▁d alla\",\n      \"▁da lla\",\n      \"▁dal la\",\n      \"▁dall a\",\n      \"UL AR\",\n      \"▁st rike\",\n      \"▁str ike\",\n      \"▁stri ke\",\n      \"Ar r\",\n      \"A rr\",\n      \"▁re covery\",\n      \"▁rec overy\",\n      \"▁recover y\",\n      \"▁Res ponse\",\n      \"▁ Response\",\n      \"▁strateg ies\",\n      \"▁і н\",\n      \"▁ ін\",\n      \"▁re ar\",\n      \"▁r ear\",\n      \"▁adult s\",\n      \"▁Н е\",\n      \"window s\",\n      \"wind ows\",\n      \"de cl\",\n      \"dec l\",\n      \"ol en\",\n      \"ole n\",\n      \"o len\",\n      \"▁J ord\",\n      \"▁Jo rd\",\n      \"▁K al\",\n      \"▁Ka l\",\n      \"▁c ui\",\n      \"▁cu i\",\n      \"▁П ро\",\n      \"▁S ever\",\n      \"▁Se ver\",\n      \"▁Sev er\",\n      \"▁a le\",\n      \"▁al e\",\n      \"▁ ale\",\n      \"▁pe ut\",\n      \"▁peu t\",\n      \"St ats\",\n      \"Stat s\",\n      \"▁R oss\",\n      \"▁Ro ss\",\n      \"▁Ros s\",\n      \"ar ten\",\n      \"art en\",\n      \"arte n\",\n      \"sh all\",\n      \"shal l\",\n      \"sha ll\",\n      \"s hall\",\n      \"▁ent ertain\",\n      \"▁enter tain\",\n      \"▁entert ain\",\n      \"▁par king\",\n      \"▁park ing\",\n      \"но ви\",\n      \"нов и\",\n      \"er re\",\n      \"err e\",\n      \"▁fun ding\",\n      \"▁fund ing\",\n      \"▁C le\",\n      \"▁Cl e\",\n      \"▁O t\",\n      \"un st\",\n      \"uns t\",\n      \"assert Equals\",\n      \"assertEqual s\",\n      \"▁c ancell\",\n      \"▁can cell\",\n      \"▁cancel l\",\n      \"TA G\",\n      \"T AG\",\n      \"▁E arly\",\n      \"▁Earl y\",\n      \"▁feed back\",\n      \"▁p and\",\n      \"▁pan d\",\n      \"▁pa nd\",\n      \"y o\",\n      \"▁mir ror\",\n      \"▁ver b\",\n      \"▁ve rb\",\n      \"▁ verb\",\n      \"▁high light\",\n      \"er ialize\",\n      \"erial ize\",\n      \"▁g rade\",\n      \"▁gr ade\",\n      \"▁grad e\",\n      \"▁gra de\",\n      \"▁ grade\",\n      \"ла сь\",\n      \"▁Br ook\",\n      \"▁Bro ok\",\n      \"▁L I\",\n      \"▁ LI\",\n      \"▁im plies\",\n      \"▁impl ies\",\n      \"▁e norm\",\n      \"▁en orm\",\n      \"aj ą\",\n      \"a ją\",\n      \"▁W er\",\n      \"▁We r\",\n      \"aw ay\",\n      \"awa y\",\n      \"a way\",\n      \"▁machine s\",\n      \"▁mach ines\",\n      \"▁d ent\",\n      \"▁de nt\",\n      \"▁den t\",\n      \"Id x\",\n      \"I dx\",\n      \"▁t id\",\n      \"▁ti d\",\n      \"▁ tid\",\n      \") \\\"\",\n      \"▁m ole\",\n      \"▁mo le\",\n      \"▁mol e\",\n      \"bo ld\",\n      \"bol d\",\n      \"b old\",\n      \"CO NT\",\n      \"CON T\",\n      \"C ONT\",\n      \"▁é p\",\n      \"▁ ép\",\n      \"▁cut ting\",\n      \"▁N eg\",\n      \"▁Ne g\",\n      \"▁ Neg\",\n      \"▁t ong\",\n      \"▁to ng\",\n      \"▁ton g\",\n      \"▁net works\",\n      \"▁network s\",\n      \"▁F all\",\n      \"▁Fa ll\",\n      \"▁Fal l\",\n      \"▁ Fall\",\n      \"gener ated\",\n      \"generate d\",\n      \"▁P ri\",\n      \"▁Pr i\",\n      \"UE ST\",\n      \"UES T\",\n      \"U EST\",\n      \"▁Be lg\",\n      \"▁Bel g\",\n      \"▁s heet\",\n      \"▁she et\",\n      \"▁ sheet\",\n      \"кс и\",\n      \"к си\",\n      \"▁ †\",\n      \"▁y eah\",\n      \"▁ye ah\",\n      \"▁Vict or\",\n      \"▁Vi ctor\",\n      \"▁Vic tor\",\n      \"▁R ub\",\n      \"▁Ru b\",\n      \"▁candid ates\",\n      \"▁candidate s\",\n      \"pr és\",\n      \"▁E U\",\n      \"et r\",\n      \"e tr\",\n      \"▁roll ed\",\n      \"▁ rolled\",\n      \"▁P as\",\n      \"▁Pa s\",\n      \"▁Ar thur\",\n      \"Ar ch\",\n      \"Arc h\",\n      \"▁M ann\",\n      \"▁Man n\",\n      \"▁Ma nn\",\n      \"Amer ican\",\n      \"America n\",\n      \"ze s\",\n      \"z es\",\n      \"in ners\",\n      \"inn ers\",\n      \"inner s\",\n      \"▁A uto\",\n      \"▁Aut o\",\n      \"▁Au to\",\n      \"▁ Auto\",\n      \"▁profess or\",\n      \"▁profes sor\",\n      \"▁) ;\\r\",\n      \"▁); \\r\",\n      \"▁ );\\r\",\n      \"▁ad dr\",\n      \"▁add r\",\n      \"▁ addr\",\n      \"▁Med ical\",\n      \"▁Medic al\",\n      \"▁f ired\",\n      \"▁fire d\",\n      \"▁fi red\",\n      \"▁fir ed\",\n      \"▁C ore\",\n      \"▁Co re\",\n      \"▁Cor e\",\n      \"▁ Core\",\n      \"▁CON FIG\",\n      \"▁ CONFIG\",\n      \"▁s ql\",\n      \"▁sq l\",\n      \"▁ sql\",\n      \"▁Con serv\",\n      \"▁Cons erv\",\n      \"▁Conse rv\",\n      \"ic hen\",\n      \"ich en\",\n      \"iche n\",\n      \"i chen\",\n      \"Ver tex\",\n      \"Vert ex\",\n      \"▁H O\",\n      \"▁ HO\",\n      \"Y eah\",\n      \"No te\",\n      \"Not e\",\n      \"N ote\",\n      \"▁O K\",\n      \"▁ OK\",\n      \"mu s\",\n      \"m us\",\n      \"f ocus\",\n      \"aj a\",\n      \"a ja\",\n      \"r á\",\n      \"▁h ence\",\n      \"▁hen ce\",\n      \"▁execut ive\",\n      \"▁liqu id\",\n      \"uj e\",\n      \"u je\",\n      \"▁d riven\",\n      \"▁dr iven\",\n      \"▁dri ven\",\n      \"▁driv en\",\n      \"▁drive n\",\n      \"▁ driven\",\n      \"ig ue\",\n      \"igu e\",\n      \"i gue\",\n      \"▁W ik\",\n      \"▁Wi k\",\n      \"R ate\",\n      \"ra nd\",\n      \"ran d\",\n      \"r and\",\n      \"Result s\",\n      \"▁cop ies\",\n      \"▁t an\",\n      \"▁ta n\",\n      \"▁ tan\",\n      \"rit eria\",\n      \"rite ria\",\n      \"riter ia\",\n      \"en en\",\n      \"ene n\",\n      \"e nen\",\n      \"}_ \\\\\",\n      \"} _\\\\\",\n      \"▁po bl\",\n      \"▁pob l\",\n      \"▁sou thern\",\n      \"▁south ern\",\n      \"el n\",\n      \"e ln\",\n      \"▁z wei\",\n      \"▁zwe i\",\n      \"▁zw ei\",\n      \"▁con crete\",\n      \"▁CONDITION S\",\n      \"▁dream s\",\n      \"▁dre ams\",\n      \"▁min im\",\n      \"▁mi nim\",\n      \"▁mini m\",\n      \"▁em ployee\",\n      \"▁employ ee\",\n      \"▁n ap\",\n      \"▁na p\",\n      \"▁su spect\",\n      \"▁sus pect\",\n      \"▁susp ect\",\n      \"Mo use\",\n      \"M ouse\",\n      \"▁ther apy\",\n      \"▁therap y\",\n      \"av al\",\n      \"ava l\",\n      \"a val\",\n      \"▁An th\",\n      \"▁Ant h\",\n      \"ST ART\",\n      \"st ers\",\n      \"ster s\",\n      \"ste rs\",\n      \"s ters\",\n      \"ish ment\",\n      \"fin ite\",\n      \"W A\",\n      \"v y\",\n      \"▁m ood\",\n      \"▁mo od\",\n      \"com fort\",\n      \"▁s hr\",\n      \"▁sh r\",\n      \"▁dec ade\",\n      \"я бря\",\n      \"▁' #\",\n      \"▁d ot\",\n      \"▁do t\",\n      \"▁ dot\",\n      \"▁h ill\",\n      \"▁hi ll\",\n      \"▁ hill\",\n      \"ar ry\",\n      \"arr y\",\n      \"cat ch\",\n      \"c atch\",\n      \"▁j Query\",\n      \"▁ jQuery\",\n      \"▁corpor ate\",\n      \"▁BAS IS\",\n      \"▁appoint ed\",\n      \"▁em bar\",\n      \"▁emb ar\",\n      \"ograph ie\",\n      \"▁p ressed\",\n      \"▁pr essed\",\n      \"▁pres sed\",\n      \"▁press ed\",\n      \"▁ pressed\",\n      \"▁ch ampion\",\n      \"▁champ ion\",\n      \"em it\",\n      \"emi t\",\n      \"e mit\",\n      \"▁B ed\",\n      \"▁Be d\",\n      \"ва ння\",\n      \"ван ня\",\n      \"Gu i\",\n      \"G ui\",\n      \"▁P UR\",\n      \"▁ur ban\",\n      \"▁urb an\",\n      \"▁sent ence\",\n      \"bu ry\",\n      \"bur y\",\n      \"b ury\",\n      \"▁V ideo\",\n      \"▁ Video\",\n      \"▁regular ly\",\n      \"▁regul arly\",\n      \"v l\",\n      \"▁с лу\",\n      \"▁ слу\",\n      \"oc key\",\n      \"ock ey\",\n      \"ev in\",\n      \"e vin\",\n      \"ult ural\",\n      \"ultur al\",\n      \"▁pass age\",\n      \"▁со став\",\n      \"▁соста в\",\n      \"▁large ly\",\n      \"▁larg ely\",\n      \"or ters\",\n      \"ort ers\",\n      \"orter s\",\n      \"orte rs\",\n      \"▁conne ctions\",\n      \"▁connection s\",\n      \"▁connect ions\",\n      \"▁surpr ising\",\n      \"b c\",\n      \"▁strong ly\",\n      \"ans as\",\n      \"▁s ist\",\n      \"▁si st\",\n      \"▁ext reme\",\n      \"▁extrem e\",\n      \"▁extr eme\",\n      \"wh el\",\n      \"whe l\",\n      \"w hel\",\n      \"▁de aling\",\n      \"▁deal ing\",\n      \"ograph ic\",\n      \"▁Republic an\",\n      \"▁gr anted\",\n      \"▁gran ted\",\n      \"▁grant ed\",\n      \"▁C L\",\n      \"▁ CL\",\n      \"▁H ope\",\n      \"▁Ho pe\",\n      \"▁Hop e\",\n      \"less ly\",\n      \"▁u pload\",\n      \"▁up load\",\n      \"▁ upload\",\n      \"▁- \\\\\",\n      \"▁ -\\\\\",\n      \"ни ю\",\n      \"▁val uable\",\n      \"= [\",\n      \"Pr ice\",\n      \"P rice\",\n      \"iss ance\",\n      \"ie ns\",\n      \"ien s\",\n      \"i ens\",\n      \"he it\",\n      \"▁sugg ests\",\n      \"▁suggest s\",\n      \"с ло\",\n      \"▁j ur\",\n      \"▁ju r\",\n      \"} |\",\n      \"l p\",\n      \"▁inv ited\",\n      \"▁invite d\",\n      \"▁de riv\",\n      \"▁der iv\",\n      \"IM IT\",\n      \"I MIT\",\n      \"ra ss\",\n      \"ras s\",\n      \"r ass\",\n      \"▁in struct\",\n      \"▁inst ruct\",\n      \"▁instr uct\",\n      \"▁c ourses\",\n      \"▁cour ses\",\n      \"▁course s\",\n      \"▁cours es\",\n      \"ä ch\",\n      \"▁fif ty\",\n      \"▁fi fty\",\n      \"DE VICE\",\n      \"DEV ICE\",\n      \"AS H\",\n      \"A SH\",\n      \"▁h ip\",\n      \"▁hi p\",\n      \"▁ hip\",\n      \"Un known\",\n      \"▁C atalogue\",\n      \"▁Catal ogue\",\n      \"▁R oll\",\n      \"▁Ro ll\",\n      \"▁Rol l\",\n      \"▁ Roll\",\n      \"▁t ensor\",\n      \"▁ten sor\",\n      \"▁tens or\",\n      \"▁ tensor\",\n      \"be c\",\n      \"b ec\",\n      \"ét é\",\n      \"é té\",\n      \"Id entity\",\n      \"Ident ity\",\n      \"& \\\\\",\n      \"▁Step hen\",\n      \"▁Steph en\",\n      \"no des\",\n      \"node s\",\n      \"nod es\",\n      \"n odes\",\n      \"Di m\",\n      \"D im\",\n      \"▁cons ists\",\n      \"▁consist s\",\n      \"▁normal ly\",\n      \"▁norm ally\",\n      \"ub l\",\n      \"u bl\",\n      \"▁Pol ice\",\n      \"▁G ames\",\n      \"▁Game s\",\n      \"▁Ga mes\",\n      \"▁Gam es\",\n      \"fi ve\",\n      \"f ive\",\n      \"Ha ve\",\n      \"H ave\",\n      \"▁p adding\",\n      \"▁pad ding\",\n      \"▁ padding\",\n      \"er es\",\n      \"ere s\",\n      \"e res\",\n      \"an th\",\n      \"ant h\",\n      \"▁p uts\",\n      \"▁put s\",\n      \"▁pu ts\",\n      \"um inate\",\n      \"umin ate\",\n      \"umi nate\",\n      \"ov ie\",\n      \"ovi e\",\n      \"▁In dex\",\n      \"▁Ind ex\",\n      \"▁ Index\",\n      \"bl ue\",\n      \"Sc al\",\n      \"S cal\",\n      \"▁g iant\",\n      \"▁gi ant\",\n      \"T F\",\n      \"ps on\",\n      \"p son\",\n      \"▁vict im\",\n      \"▁vic tim\",\n      \"se rial\",\n      \"ser ial\",\n      \"s erial\",\n      \"▁S ym\",\n      \"▁Sy m\",\n      \"▁ Sym\",\n      \"Sing le\",\n      \"S ingle\",\n      \"▁m d\",\n      \"▁ md\",\n      \"▁att ended\",\n      \"▁attend ed\",\n      \"▁S tra\",\n      \"▁St ra\",\n      \"▁Str a\",\n      \"▁D ark\",\n      \"▁Dar k\",\n      \"▁ Dark\",\n      \") |\",\n      \"▁s pan\",\n      \"▁sp an\",\n      \"▁ span\",\n      \"▁main tenance\",\n      \"▁b ind\",\n      \"▁bi nd\",\n      \"▁bin d\",\n      \"▁ bind\",\n      \"Be an\",\n      \"il arly\",\n      \"ilar ly\",\n      \"▁con vent\",\n      \"▁conv ent\",\n      \"▁conven t\",\n      \"▁conve nt\",\n      \"▁Jos é\",\n      \"ud d\",\n      \"u dd\",\n      \"▁p oly\",\n      \"▁pol y\",\n      \"▁po ly\",\n      \"▁ poly\",\n      \"▁i dx\",\n      \"▁id x\",\n      \"▁ idx\",\n      \"▁as ks\",\n      \"▁ask s\",\n      \"▁ent hus\",\n      \"▁s uck\",\n      \"▁su ck\",\n      \"▁suc k\",\n      \"▁C ou\",\n      \"▁Co u\",\n      \"▁Corpor ation\",\n      \"us ions\",\n      \"usion s\",\n      \"op her\",\n      \"oph er\",\n      \"o pher\",\n      \"▁sympt oms\",\n      \"▁Joh ann\",\n      \"▁п у\",\n      \"▁ пу\",\n      \"▁h tml\",\n      \"▁ html\",\n      \"▁p s\",\n      \"▁ ps\",\n      \"ear ing\",\n      \"ea ring\",\n      \"e aring\",\n      \"ge sch\",\n      \"ges ch\",\n      \"g esch\",\n      \"▁M other\",\n      \"▁Mo ther\",\n      \"▁Mot her\",\n      \"RE T\",\n      \"R ET\",\n      \"▁furn iture\",\n      \"P F\",\n      \"▁Gu ard\",\n      \"▁ Guard\",\n      \"pat tern\",\n      \"▁love ly\",\n      \"▁lov ely\",\n      \"al g\",\n      \"a lg\",\n      \"ed ly\",\n      \"se x\",\n      \"s ex\",\n      \"▁fin ds\",\n      \"▁find s\",\n      \"Bu f\",\n      \"B uf\",\n      \"▁на д\",\n      \"▁ над\",\n      \"▁к м\",\n      \"▁P or\",\n      \"▁Po r\",\n      \"С Р\",\n      \"En ter\",\n      \"Ent er\",\n      \"▁e sta\",\n      \"▁est a\",\n      \"▁es ta\",\n      \"▁ esta\",\n      \"▁т ре\",\n      \"▁ тре\",\n      \"▁\\\" *\",\n      \"▁F ox\",\n      \"▁Fo x\",\n      \"▁c ock\",\n      \"▁co ck\",\n      \"▁coc k\",\n      \"▁ cock\",\n      \"B undle\",\n      \"▁p uis\",\n      \"▁pu is\",\n      \"▁ puis\",\n      \"▁ann ounce\",\n      \"▁announ ce\",\n      \"▁g uid\",\n      \"▁gu id\",\n      \"▁ guid\",\n      \"check ed\",\n      \"ic ide\",\n      \"ici de\",\n      \"ne g\",\n      \"n eg\",\n      \"▁G il\",\n      \"▁Gi l\",\n      \"sc hen\",\n      \"sch en\",\n      \"sche n\",\n      \"s chen\",\n      \"olog ist\",\n      \"is o\",\n      \"i so\",\n      \"group s\",\n      \"gro ups\",\n      \"g roups\",\n      \"▁some body\",\n      \"Da y\",\n      \"D ay\",\n      \"tr as\",\n      \"tra s\",\n      \"t ras\",\n      \"▁comp act\",\n      \"▁organ ized\",\n      \"▁organiz ed\",\n      \"▁organize d\",\n      \"▁r oles\",\n      \"▁ro les\",\n      \"▁role s\",\n      \"▁h int\",\n      \"▁hi nt\",\n      \"▁ hint\",\n      \"▁s å\",\n      \"▁p ays\",\n      \"▁pay s\",\n      \"▁pa ys\",\n      \"▁С и\",\n      \"▁h oped\",\n      \"▁hope d\",\n      \"▁hop ed\",\n      \"▁ho ped\",\n      \"▁s ail\",\n      \"▁sa il\",\n      \"▁V ers\",\n      \"▁Ver s\",\n      \"▁Ve rs\",\n      \"▁ Vers\",\n      \"▁em br\",\n      \"▁emb r\",\n      \"▁b ot\",\n      \"▁bo t\",\n      \"▁ bot\",\n      \"▁ex ceed\",\n      \"▁exc eed\",\n      \"BA CK\",\n      \"B ACK\",\n      \"▁g aze\",\n      \"▁gaz e\",\n      \"▁ga ze\",\n      \"▁s pons\",\n      \"▁sp ons\",\n      \"▁spo ns\",\n      \"AS T\",\n      \"A ST\",\n      \"▁tor ch\",\n      \"▁ torch\",\n      \"▁news paper\",\n      \"▁newsp aper\",\n      \"▁D ist\",\n      \"▁Dis t\",\n      \"▁Di st\",\n      \"▁ Dist\",\n      \"▁b ass\",\n      \"▁bas s\",\n      \"▁ba ss\",\n      \"▁h anging\",\n      \"▁han ging\",\n      \"▁hang ing\",\n      \"▁e ars\",\n      \"▁ear s\",\n      \"▁ ears\",\n      \"ń sk\",\n      \"get Value\",\n      \"▁un us\",\n      \"▁E le\",\n      \"▁El e\",\n      \"serv ices\",\n      \"service s\",\n      \"s ervices\",\n      \"▁d ressed\",\n      \"▁dr essed\",\n      \"▁dress ed\",\n      \"la v\",\n      \"l av\",\n      \"▁п ла\",\n      \"▁ пла\",\n      \"Priv ate\",\n      \"P rivate\",\n      \"mi c\",\n      \"m ic\",\n      \"▁par ser\",\n      \"▁parse r\",\n      \"▁ parser\",\n      \"▁se ctions\",\n      \"▁section s\",\n      \"▁sect ions\",\n      \"▁ sections\",\n      \"▁f o\",\n      \"▁ fo\",\n      \"Err orf\",\n      \"Error f\",\n      \"in z\",\n      \"ör d\",\n      \"ö rd\",\n      \"▁m etric\",\n      \"▁met ric\",\n      \"▁ metric\",\n      \"UR I\",\n      \"U RI\",\n      \"▁v ice\",\n      \"▁vi ce\",\n      \"▁vic e\",\n      \"RE D\",\n      \"R ED\",\n      \"▁n ue\",\n      \"▁nu e\",\n      \"re vs\",\n      \"rev s\",\n      \"▁col lected\",\n      \"▁collect ed\",\n      \"▁colle cted\",\n      \"oo se\",\n      \"o ose\",\n      \"▁m ond\",\n      \"▁mon d\",\n      \"▁mo nd\",\n      \"▁ mond\",\n      \"▁n as\",\n      \"▁na s\",\n      \"▁ nas\",\n      \"▁На се\",\n      \"▁ å\",\n      \"Dr op\",\n      \"D rop\",\n      \"▁ab use\",\n      \"▁s ees\",\n      \"▁se es\",\n      \"▁see s\",\n      \"▁H ence\",\n      \"▁Hen ce\",\n      \"ex ec\",\n      \"}\\\\ ,\",\n      \"} \\\\,\",\n      \"▁ar bitr\",\n      \"▁Ap plication\",\n      \"▁ Application\",\n      \"f amily\",\n      \"ü d\",\n      \"▁mag netic\",\n      \"▁magn etic\",\n      \"▁magnet ic\",\n      \"▁new ly\",\n      \"▁re produ\",\n      \"▁rep rodu\",\n      \"▁writ ers\",\n      \"▁write rs\",\n      \"▁writer s\",\n      \"▁he aders\",\n      \"▁head ers\",\n      \"▁header s\",\n      \"▁ headers\",\n      \"š í\",\n      \"р т\",\n      \"YP E\",\n      \"Y PE\",\n      \"▁s chema\",\n      \"▁sch ema\",\n      \"▁sche ma\",\n      \"▁ schema\",\n      \"▁C e\",\n      \"▁Je ws\",\n      \"▁Jew s\",\n      \"▁Re cord\",\n      \"▁Rec ord\",\n      \"▁ Record\",\n      \"pre sent\",\n      \"pres ent\",\n      \"p resent\",\n      \"▁так же\",\n      \"▁label s\",\n      \"▁lab els\",\n      \"▁ labels\",\n      \"S ocket\",\n      \"▁equ ations\",\n      \"▁equation s\",\n      \"▁eq uations\",\n      \"▁medic ine\",\n      \"▁author ities\",\n      \"} `\",\n      \"ст ви\",\n      \"ств и\",\n      \"▁C orn\",\n      \"▁Co rn\",\n      \"▁Cor n\",\n      \"▁environment al\",\n      \"WAR E\",\n      \"WA RE\",\n      \"W ARE\",\n      \"Me r\",\n      \"M er\",\n      \"▁са мо\",\n      \"▁Techn ology\",\n      \"▁S af\",\n      \"▁Sa f\",\n      \"▁con n\",\n      \"▁co nn\",\n      \"▁ conn\",\n      \"▁U m\",\n      \"▁Pac ific\",\n      \"те л\",\n      \"ja n\",\n      \"j an\",\n      \"▁unc ertain\",\n      \"▁bel ief\",\n      \"▁belie f\",\n      \"co unter\",\n      \"count er\",\n      \"c ounter\",\n      \"to Be\",\n      \"IN S\",\n      \"I NS\",\n      \"we et\",\n      \"Li ght\",\n      \"L ight\",\n      \"pr imary\",\n      \"prim ary\",\n      \"▁feature d\",\n      \"▁feat ured\",\n      \"▁touch ed\",\n      \"▁tou ched\",\n      \"HT TP\",\n      \"▁t act\",\n      \"▁ta ct\",\n      \"pos itory\",\n      \"p ository\",\n      \"▁e ines\",\n      \"▁ein es\",\n      \"▁eine s\",\n      \"la ss\",\n      \"las s\",\n      \"l ass\",\n      \"сь ка\",\n      \"▁prz ez\",\n      \"▁prze z\",\n      \"▁f uer\",\n      \"▁fue r\",\n      \"▁fu er\",\n      \"▁exc iting\",\n      \"▁excit ing\",\n      \"▁C ub\",\n      \"▁Cu b\",\n      \"ag an\",\n      \"aga n\",\n      \"a gan\",\n      \"V O\",\n      \"▁' %\",\n      \"▁\\\\ {\",\n      \"▁ \\\\{\",\n      \"ub ble\",\n      \"▁F ol\",\n      \"▁Fo l\",\n      \"▁K ong\",\n      \"▁Kon g\",\n      \"▁Ko ng\",\n      \"▁ver sch\",\n      \"▁vers ch\",\n      \"FA IL\",\n      \"F AIL\",\n      \"▁na ar\",\n      \"ö s\",\n      \"sp eed\",\n      \"spe ed\",\n      \"s peed\",\n      \"▁terr itor\",\n      \"▁territo r\",\n      \"▁w rap\",\n      \"▁wr ap\",\n      \"▁ wrap\",\n      \"▁Jah re\",\n      \"▁Jahr e\",\n      \"▁Ja hre\",\n      \"le e\",\n      \"l ee\",\n      \"▁cross ed\",\n      \"res olve\",\n      \"▁s tim\",\n      \"▁st im\",\n      \"N ative\",\n      \"ur sor\",\n      \"urs or\",\n      \"Not Null\",\n      \"▁Al bert\",\n      \"▁Alber t\",\n      \"▁Alb ert\",\n      \"▁sign ature\",\n      \"▁ signature\",\n      \"▁R u\",\n      \"id as\",\n      \"ida s\",\n      \"i das\",\n      \"▁de cent\",\n      \"▁dec ent\",\n      \"▁dece nt\",\n      \"▁f aced\",\n      \"▁face d\",\n      \"▁fac ed\",\n      \"▁fa ced\",\n      \"▁ faced\",\n      \"▁ лю\",\n      \"▁Sp ain\",\n      \"▁res istance\",\n      \"▁resist ance\",\n      \"▁B rian\",\n      \"▁Br ian\",\n      \"kw args\",\n      \"▁inter val\",\n      \"▁ interval\",\n      \"▁Л е\",\n      \"▁ex plo\",\n      \"▁expl o\",\n      \"▁exp lo\",\n      \"▁s emi\",\n      \"▁se mi\",\n      \"▁sem i\",\n      \"▁wide ly\",\n      \"▁wid ely\",\n      \"d x\",\n      \"ko v\",\n      \"k ov\",\n      \"▁C ome\",\n      \"▁Com e\",\n      \"▁Co me\",\n      \"▁ Come\",\n      \"▁kn ife\",\n      \"As p\",\n      \"A sp\",\n      \"un o\",\n      \"u no\",\n      \"line to\",\n      \"lin eto\",\n      \"▁B und\",\n      \"▁Bu nd\",\n      \"▁Bun d\",\n      \"C ert\",\n      \"▁t odo\",\n      \"▁to do\",\n      \"▁tod o\",\n      \"ta gs\",\n      \"tag s\",\n      \"t ags\",\n      \"▁guarante e\",\n      \"▁v ital\",\n      \"▁vi tal\",\n      \"▁vit al\",\n      \"▁vita l\",\n      \"▁f ought\",\n      \"▁fou ght\",\n      \"▁E nv\",\n      \"▁En v\",\n      \"▁ Env\",\n      \"H D\",\n      \"Lo wer\",\n      \"Low er\",\n      \"L ower\",\n      \"T x\",\n      \"▁F a\",\n      \"▁ant icip\",\n      \"▁anti cip\",\n      \"Time r\",\n      \"Tim er\",\n      \"T imer\",\n      \"med iate\",\n      \"medi ate\",\n      \"media te\",\n      \"▁pro ven\",\n      \"▁pr oven\",\n      \"▁prov en\",\n      \"▁prove n\",\n      \"▁part ir\",\n      \"▁parti r\",\n      \"A E\",\n      \"cur sor\",\n      \"curs or\",\n      \"c ursor\",\n      \"▁wood en\",\n      \"▁wo oden\",\n      \"▁Cont act\",\n      \"▁ Contact\",\n      \"re gs\",\n      \"reg s\",\n      \"▁prov inc\",\n      \"▁provin c\",\n      \"▁D C\",\n      \"▁ DC\",\n      \"▁mem ories\",\n      \"▁memor ies\",\n      \"▁memo ries\",\n      \"▁f t\",\n      \"▁ ft\",\n      \"▁b attery\",\n      \"▁batter y\",\n      \"▁batt ery\",\n      \"▁bat tery\",\n      \"ute nant\",\n      \"uten ant\",\n      \"u tenant\",\n      \"Log in\",\n      \"Lo gin\",\n      \"ount ry\",\n      \"oun try\",\n      \"▁comp ens\",\n      \"operator name\",\n      \"▁Jac ob\",\n      \"ze d\",\n      \"z ed\",\n      \"AD DR\",\n      \"ADD R\",\n      \"▁qu ad\",\n      \"▁ quad\",\n      \"*) .\",\n      \"* ).\",\n      \"▁co at\",\n      \"▁f ir\",\n      \"▁fi r\",\n      \"▁Mich el\",\n      \"▁Mic hel\",\n      \"▁Mi chel\",\n      \"▁Miche l\",\n      \"▁Stand ard\",\n      \"▁ Standard\",\n      \"r f\",\n      \"me l\",\n      \"m el\",\n      \"▁co eff\",\n      \"▁Ira q\",\n      \"▁G iven\",\n      \"▁Gi ven\",\n      \"▁Give n\",\n      \"ни ма\",\n      \"ним а\",\n      \"▁F IT\",\n      \"▁FI T\",\n      \"▁p eu\",\n      \"▁pe u\",\n      \"▁i g\",\n      \"▁ ig\",\n      \"▁C ase\",\n      \"▁Cas e\",\n      \"▁Ca se\",\n      \"▁ Case\",\n      \"m é\",\n      \"▁par allel\",\n      \"▁ parallel\",\n      \"ci o\",\n      \"c io\",\n      \"ko w\",\n      \"k ow\",\n      \"▁institut ions\",\n      \"▁institution s\",\n      \"í cul\",\n      \"ab an\",\n      \"aba n\",\n      \"a ban\",\n      \"U X\",\n      \"▁Sa rah\",\n      \"▁Sar ah\",\n      \"▁Sara h\",\n      \"▁m és\",\n      \"▁mé s\",\n      \"▁at mos\",\n      \"▁atm os\",\n      \"▁slä ktet\",\n      \"▁br others\",\n      \"▁bro thers\",\n      \"▁brother s\",\n      \"▁want ing\",\n      \"aa aa\",\n      \"▁f est\",\n      \"▁fe st\",\n      \"= -\",\n      \"▁for ty\",\n      \"▁fort y\",\n      \"▁cre ates\",\n      \"▁create s\",\n      \"▁creat es\",\n      \"h h\",\n      \"▁And roid\",\n      \"▁Andr oid\",\n      \"▁ Android\",\n      \"an ches\",\n      \"anc hes\",\n      \"anch es\",\n      \"anche s\",\n      \"B T\",\n      \"up load\",\n      \"u pload\",\n      \"xi s\",\n      \"x is\",\n      \"H z\",\n      \"бо р\",\n      \"б ор\",\n      \"RA Y\",\n      \"R AY\",\n      \"nt il\",\n      \"n til\",\n      \"▁le aned\",\n      \"▁lean ed\",\n      \"un da\",\n      \"und a\",\n      \"▁ult imately\",\n      \"▁ultimate ly\",\n      \"▁t ok\",\n      \"▁to k\",\n      \"▁ tok\",\n      \"ne h\",\n      \"n eh\",\n      \"▁law yer\",\n      \"he nd\",\n      \"hen d\",\n      \"h end\",\n      \"▁V in\",\n      \"▁Vi n\",\n      \"▁fac ility\",\n      \"▁facil ity\",\n      \"▁l ikes\",\n      \"▁li kes\",\n      \"▁like s\",\n      \"▁lik es\",\n      \"en to\",\n      \"ent o\",\n      \"Node s\",\n      \"No des\",\n      \"N odes\",\n      \"▁entr ance\",\n      \"at to\",\n      \"att o\",\n      \"a tto\",\n      \"re tt\",\n      \"ret t\",\n      \"r ett\",\n      \"ac cept\",\n      \"th eme\",\n      \"the me\",\n      \"та н\",\n      \"т ан\",\n      \"os i\",\n      \"o si\",\n      \"▁{ },\",\n      \"▁{} ,\",\n      \"▁ {},\",\n      \"pgfpath lineto\",\n      \"go od\",\n      \"g ood\",\n      \"sl ot\",\n      \"s lot\",\n      \"▁in noc\",\n      \"▁inn oc\",\n      \"▁pro port\",\n      \"▁pr oport\",\n      \"▁prop ort\",\n      \"▁ar rive\",\n      \"▁arriv e\",\n      \"▁arr ive\",\n      \"é ho\",\n      \"▁p airs\",\n      \"▁pa irs\",\n      \"▁pair s\",\n      \"▁wr apped\",\n      \"▁wrap ped\",\n      \"▁un w\",\n      \"▁expl os\",\n      \"▁exp los\",\n      \"▁explo s\",\n      \"▁g el\",\n      \"▁ge l\",\n      \"▁ gel\",\n      \"W ill\",\n      \"▁Ze aland\",\n      \"ía s\",\n      \"í as\",\n      \"▁J r\",\n      \"▁F ra\",\n      \"▁Fr a\",\n      \"▁le git\",\n      \"▁leg it\",\n      \"▁il legal\",\n      \"к лю\",\n      \"▁t ort\",\n      \"▁to rt\",\n      \"▁tor t\",\n      \"▁p ron\",\n      \"▁pro n\",\n      \"▁pr on\",\n      \"F i\",\n      \"▁f org\",\n      \"▁for g\",\n      \"▁fo rg\",\n      \"ex port\",\n      \"exp ort\",\n      \"▁Child ren\",\n      \"▁ Children\",\n      \"▁A bs\",\n      \"▁Ab s\",\n      \"▁ Abs\",\n      \"▁S end\",\n      \"▁Se nd\",\n      \"▁Sen d\",\n      \"▁ Send\",\n      \"▁dis count\",\n      \"▁disc ount\",\n      \"▁disco unt\",\n      \"▁p oster\",\n      \"▁pos ter\",\n      \"▁po ster\",\n      \"▁post er\",\n      \"en ted\",\n      \"ent ed\",\n      \"ente d\",\n      \"an im\",\n      \"ani m\",\n      \"a nim\",\n      \"ve rb\",\n      \"ver b\",\n      \"st o\",\n      \"s to\",\n      \"▁B ible\",\n      \"▁Bi ble\",\n      \"pend ing\",\n      \"pen ding\",\n      \"p ending\",\n      \"▁P hot\",\n      \"▁Ph ot\",\n      \"st rap\",\n      \"str ap\",\n      \"stra p\",\n      \"ie ron\",\n      \"ier on\",\n      \"iero n\",\n      \"i eron\",\n      \"P G\",\n      \"cul ar\",\n      \"cu lar\",\n      \"c ular\",\n      \"cri t\",\n      \"cr it\",\n      \"c rit\",\n      \"ur d\",\n      \"u rd\",\n      \"EN O\",\n      \"E NO\",\n      \"▁nor thern\",\n      \"▁north ern\",\n      \"▁natural ly\",\n      \"▁natur ally\",\n      \"< '\",\n      \"we g\",\n      \"w eg\",\n      \"▁dr unk\",\n      \"▁D al\",\n      \"▁Da l\",\n      \"▁m ouse\",\n      \"▁mo use\",\n      \"▁mou se\",\n      \"▁ mouse\",\n      \"▁contin uous\",\n      \"▁continu ous\",\n      \"▁init ially\",\n      \"▁initial ly\",\n      \"▁initi ally\",\n      \"ag u\",\n      \"a gu\",\n      \"м пи\",\n      \"AN T\",\n      \"A NT\",\n      \"Di v\",\n      \"D iv\",\n      \"▁rec ording\",\n      \"▁record ing\",\n      \"Bin d\",\n      \"Bi nd\",\n      \"B ind\",\n      \"▁correct ly\",\n      \"init ial\",\n      \"▁R ights\",\n      \"▁Right s\",\n      \"▁deb ate\",\n      \"WR ITE\",\n      \"bu ilt\",\n      \"▁per mit\",\n      \"▁perm it\",\n      \"▁professional s\",\n      \"▁profession als\",\n      \"c v\",\n      \"▁D I\",\n      \"▁ DI\",\n      \"▁h anded\",\n      \"▁hand ed\",\n      \"▁han ded\",\n      \"▁ handed\",\n      \"▁C u\",\n      \"▁H ospital\",\n      \"▁besk revs\",\n      \"не й\",\n      \"н ей\",\n      \"но ст\",\n      \"▁anx iety\",\n      \"▁heav ily\",\n      \"▁V ar\",\n      \"▁Va r\",\n      \"▁ Var\",\n      \"▁dis pos\",\n      \"▁disp os\",\n      \"+ \\\"\",\n      \"▁E ver\",\n      \"▁Ev er\",\n      \"▁Eve r\",\n      \"iz on\",\n      \"izo n\",\n      \"i zon\",\n      \"▁oper ators\",\n      \"▁operator s\",\n      \"ne go\",\n      \"neg o\",\n      \"n ego\",\n      \"▁B ry\",\n      \"▁Br y\",\n      \"▁v otes\",\n      \"▁vo tes\",\n      \"▁vote s\",\n      \"▁vot es\",\n      \"iz ione\",\n      \"izi one\",\n      \"izio ne\",\n      \"i zione\",\n      \"▁ра й\",\n      \"▁fe at\",\n      \"▁ feat\",\n      \"▁w estern\",\n      \"▁west ern\",\n      \"▁ western\",\n      \"▁con front\",\n      \"▁strong er\",\n      \"▁ф а\",\n      \"▁ фа\",\n      \"st re\",\n      \"str e\",\n      \"s tre\",\n      \"▁Val id\",\n      \"▁ Valid\",\n      \"▁n ad\",\n      \"▁na d\",\n      \"▁check ing\",\n      \"▁bird s\",\n      \"▁North ern\",\n      \"▁Nor thern\",\n      \"▁int ention\",\n      \"▁intent ion\",\n      \"uc e\",\n      \"u ce\",\n      \"▁co vers\",\n      \"▁cover s\",\n      \"▁cov ers\",\n      \"▁wonder ing\",\n      \"▁Option al\",\n      \"▁Opt ional\",\n      \"▁ Optional\",\n      \"pro tocol\",\n      \"proto col\",\n      \"prot ocol\",\n      \"▁ag gress\",\n      \"— —\",\n      \"V ec\",\n      \"▁d ates\",\n      \"▁da tes\",\n      \"▁dat es\",\n      \"▁date s\",\n      \"▁ dates\",\n      \"qu ot\",\n      \"▁b om\",\n      \"▁bo m\",\n      \"▁s can\",\n      \"▁sc an\",\n      \"▁ scan\",\n      \"▁I tem\",\n      \"▁It em\",\n      \"▁ Item\",\n      \"▁N avy\",\n      \"▁Na vy\",\n      \"▁Nav y\",\n      \"▁G ran\",\n      \"▁Gr an\",\n      \"▁Gra n\",\n      \"▁every body\",\n      \"▁un expected\",\n      \"▁une xpected\",\n      \"▁di vor\",\n      \"▁div or\",\n      \"▁e ase\",\n      \"▁eas e\",\n      \"um bled\",\n      \"umb led\",\n      \"umble d\",\n      \"^ +\",\n      \"cu ss\",\n      \"c uss\",\n      \"▁p ale\",\n      \"▁pal e\",\n      \"▁pa le\",\n      \"▁In ga\",\n      \"▁Ing a\",\n      \"▁B road\",\n      \"▁Br oad\",\n      \"▁Bro ad\",\n      \"▁ Broad\",\n      \"▁Med ic\",\n      \"▁R oy\",\n      \"▁Ro y\",\n      \"▁I nn\",\n      \"▁In n\",\n      \"▁p ens\",\n      \"▁pe ns\",\n      \"▁pen s\",\n      \"P N\",\n      \". :\",\n      \"▁princip le\",\n      \"▁let ting\",\n      \"▁lett ing\",\n      \"▁condu cted\",\n      \"▁conduct ed\",\n      \"F ALSE\",\n      \"▁O S\",\n      \"▁ OS\",\n      \"F ocus\",\n      \"▁measure d\",\n      \"▁meas ured\",\n      \"▁Dem ocratic\",\n      \"▁Democr atic\",\n      \"▁Democrat ic\",\n      \"Hi gh\",\n      \"H igh\",\n      \"▁p ré\",\n      \"▁pr é\",\n      \"en nes\",\n      \"enn es\",\n      \"enne s\",\n      \"▁ind icates\",\n      \"▁indic ates\",\n      \"▁indicate s\",\n      \"▁en ding\",\n      \"▁end ing\",\n      \"▁ ending\",\n      \"▁Sm all\",\n      \"▁ Small\",\n      \"▁< !--\",\n      \"▁ <!--\",\n      \"▁encour age\",\n      \"▁H oly\",\n      \"▁Hol y\",\n      \"▁Ho ly\",\n      \"lo ader\",\n      \"load er\",\n      \"▁eff iciency\",\n      \"▁\\\" ${\",\n      \"▁\\\"$ {\",\n      \"tl e\",\n      \"t le\",\n      \"GE N\",\n      \"G EN\",\n      \"▁d iverse\",\n      \"▁di verse\",\n      \"▁divers e\",\n      \"▁diver se\",\n      \"▁w allet\",\n      \"▁wall et\",\n      \"▁wal let\",\n      \"▁ wallet\",\n      \"▁E dit\",\n      \"▁Ed it\",\n      \"▁ Edit\",\n      \"▁earn ed\",\n      \"▁ear ned\",\n      \"▁W ol\",\n      \"▁Wo l\",\n      \"u w\",\n      \"▁u i\",\n      \"▁ ui\",\n      \"if s\",\n      \"i fs\",\n      \"at in\",\n      \"ati n\",\n      \"▁f ees\",\n      \"▁fe es\",\n      \"▁fee s\",\n      \"▁p leased\",\n      \"▁ple ased\",\n      \"▁please d\",\n      \"▁suff ered\",\n      \"▁suffer ed\",\n      \"cl osed\",\n      \"close d\",\n      \"clos ed\",\n      \"án d\",\n      \"á nd\",\n      \"▁particip ants\",\n      \"▁participant s\",\n      \"▁leg end\",\n      \"▁hand ling\",\n      \"CH ANT\",\n      \"CHAN T\",\n      \"gi t\",\n      \"g it\",\n      \"us ters\",\n      \"ust ers\",\n      \"uster s\",\n      \"u sters\",\n      \"cl ude\",\n      \"▁t ap\",\n      \"▁ta p\",\n      \"▁as sets\",\n      \"▁ass ets\",\n      \"▁asset s\",\n      \"▁ assets\",\n      \"▁o uter\",\n      \"▁out er\",\n      \"▁ou ter\",\n      \"▁ outer\",\n      \"▁Person al\",\n      \"▁Pers onal\",\n      \"▁b lev\",\n      \"▁bl ev\",\n      \"▁ble v\",\n      \"Cond ition\",\n      \"▁sleep ing\",\n      \"▁sle eping\",\n      \"▁warrant y\",\n      \"er ies\",\n      \"erie s\",\n      \"eri es\",\n      \"e ries\",\n      \"▁dom estic\",\n      \"▁E ric\",\n      \"▁Er ic\",\n      \"bi e\",\n      \"b ie\",\n      \"▁search ing\",\n      \"▁sear ching\",\n      \"▁L iter\",\n      \"▁Li ter\",\n      \"▁Lit er\",\n      \"B M\",\n      \"▁under arter\",\n      \"pu és\",\n      \"iz ar\",\n      \"iza r\",\n      \"▁S ure\",\n      \"▁Su re\",\n      \"▁Sur e\",\n      \"▁ Sure\",\n      \"▁Ind eed\",\n      \"▁T ool\",\n      \"▁To ol\",\n      \"▁Too l\",\n      \"▁ Tool\",\n      \"▁PUR POSE\",\n      \"▁appro ved\",\n      \"on ed\",\n      \"one d\",\n      \"o ned\",\n      \"▁com pute\",\n      \"▁comp ute\",\n      \"▁comput e\",\n      \"▁ compute\",\n      \"▁rid ic\",\n      \"▁k i\",\n      \"▁ ki\",\n      \"ig d\",\n      \"i gd\",\n      \"** )\",\n      \"* *)\",\n      \"▁con clusion\",\n      \"▁concl usion\",\n      \"}} {\\\\\",\n      \"}}{ \\\\\",\n      \"} }{\\\\\",\n      \"▁cont rolled\",\n      \"▁control led\",\n      \"I Z\",\n      \"it ät\",\n      \"itä t\",\n      \"ri eve\",\n      \"rie ve\",\n      \"riev e\",\n      \"r ieve\",\n      \"▁birth day\",\n      \"▁l in\",\n      \"▁li n\",\n      \"▁ lin\",\n      \"U G\",\n      \"as sign\",\n      \"ass ign\",\n      \"▁advert ising\",\n      \"▁advertis ing\",\n      \"uss ian\",\n      \"ussia n\",\n      \"ion ale\",\n      \"ional e\",\n      \"iona le\",\n      \"▁re sid\",\n      \"▁res id\",\n      \"}} (\",\n      \"} }(\",\n      \"▁in line\",\n      \"▁ inline\",\n      \"▁к и\",\n      \"▁ ки\",\n      \"▁in formed\",\n      \"▁inform ed\",\n      \"▁k ter\",\n      \"▁document ation\",\n      \"▁B rad\",\n      \"▁Br ad\",\n      \"▁Bra d\",\n      \"▁reg ardless\",\n      \"▁regard less\",\n      \"▁stat ements\",\n      \"▁state ments\",\n      \"▁statement s\",\n      \"pl ications\",\n      \"plic ations\",\n      \"plication s\",\n      \"▁att itude\",\n      \"pi pe\",\n      \"p ipe\",\n      \"z w\",\n      \"▁C her\",\n      \"▁Ch er\",\n      \"▁Che r\",\n      \"form ed\",\n      \"for med\",\n      \"AT CH\",\n      \"▁whisper ed\",\n      \"▁priv acy\",\n      \"light s\",\n      \"l ights\",\n      \"\\\\ '\",\n      \"▁person s\",\n      \"▁pers ons\",\n      \"▁gener ic\",\n      \"▁gene ric\",\n      \"▁ generic\",\n      \"am ount\",\n      \"amo unt\",\n      \"a mount\",\n      \"ien ces\",\n      \"ience s\",\n      \"i ences\",\n      \"▁pat hs\",\n      \"▁path s\",\n      \"▁ paths\",\n      \"▁T ok\",\n      \"▁To k\",\n      \"▁ Tok\",\n      \"Service s\",\n      \"Serv ices\",\n      \"S ervices\",\n      \"du mp\",\n      \"d ump\",\n      \"onym ous\",\n      \"г ла\",\n      \"▁p ap\",\n      \"▁pa p\",\n      \"▁X X\",\n      \"▁ XX\",\n      \"ch at\",\n      \"cha t\",\n      \"c hat\",\n      \"▁work er\",\n      \"▁wor ker\",\n      \"▁ worker\",\n      \"I gn\",\n      \"▁Г е\",\n      \"Vol ume\",\n      \"▁p ink\",\n      \"▁pin k\",\n      \"wh o\",\n      \"w ho\",\n      \"in ar\",\n      \"ina r\",\n      \"i nar\",\n      \"arch y\",\n      \"arc hy\",\n      \"') );\",\n      \"')) ;\",\n      \"' ));\",\n      \"▁PART IC\",\n      \"▁d onde\",\n      \"▁do nde\",\n      \"▁don de\",\n      \"▁t ags\",\n      \"▁tag s\",\n      \"▁ta gs\",\n      \"▁ tags\",\n      \"▁l oose\",\n      \"▁lo ose\",\n      \"▁в ер\",\n      \"▁ве р\",\n      \"▁ вер\",\n      \"▁reput ation\",\n      \"▁P rom\",\n      \"▁Pro m\",\n      \"▁Pr om\",\n      \"▁ Prom\",\n      \"all owed\",\n      \"allow ed\",\n      \"allo wed\",\n      \"▁r if\",\n      \"▁ri f\",\n      \"▁ rif\",\n      \"▁é gal\",\n      \"▁coun ty\",\n      \"▁count y\",\n      \"le sh\",\n      \"les h\",\n      \"l esh\",\n      \"Pr ess\",\n      \"Pre ss\",\n      \"Pres s\",\n      \"P ress\",\n      \"to ber\",\n      \"t ober\",\n      \"om y\",\n      \"o my\",\n      \"▁compre hens\",\n      \"▁trans formation\",\n      \"▁transform ation\",\n      \"пра в\",\n      \"п рав\",\n      \"▁B eing\",\n      \"▁Be ing\",\n      \"▁Bei ng\",\n      \"m c\",\n      \"▁f allen\",\n      \"▁fall en\",\n      \"▁fal len\",\n      \"▁Mar ie\",\n      \"▁Ma rie\",\n      \"▁i b\",\n      \"▁ ib\",\n      \"um i\",\n      \"u mi\",\n      \"▁H ong\",\n      \"▁Hon g\",\n      \"▁Ho ng\",\n      \"▁s ink\",\n      \"▁sin k\",\n      \"▁ц ент\",\n      \"▁F eder\",\n      \"▁Fe der\",\n      \"▁Fed er\",\n      \"> )\",\n      \"▁qu el\",\n      \"▁que l\",\n      \"▁q uel\",\n      \"▁ quel\",\n      \"▁Г а\",\n      \"T y\",\n      \"▁tem ps\",\n      \"▁temp s\",\n      \"▁g host\",\n      \"Mat erial\",\n      \"M aterial\",\n      \"ER CHANT\",\n      \"point er\",\n      \"po inter\",\n      \"ж да\",\n      \"ah a\",\n      \"a ha\",\n      \"ul f\",\n      \"▁sup plement\",\n      \"▁supp lement\",\n      \"▁d ismiss\",\n      \"▁dis miss\",\n      \"▁cl osing\",\n      \"▁clos ing\",\n      \"▁clo sing\",\n      \"▁vul ner\",\n      \"▁ap rès\",\n      \"▁apr ès\",\n      \"▁over whel\",\n      \"ско е\",\n      \"▁dis ag\",\n      \"ac ia\",\n      \"aci a\",\n      \"a cia\",\n      \"ou red\",\n      \"our ed\",\n      \"o ured\",\n      \"ru ption\",\n      \"rupt ion\",\n      \"▁P S\",\n      \"▁ PS\",\n      \"End point\",\n      \"Re al\",\n      \"▁T ag\",\n      \"▁Ta g\",\n      \"▁ Tag\",\n      \"▁st airs\",\n      \"▁sta irs\",\n      \"▁stair s\",\n      \"▁ stairs\",\n      \"ly n\",\n      \"l yn\",\n      \"▁e leg\",\n      \"▁el eg\",\n      \"▁ele g\",\n      \"▁v eter\",\n      \"▁ve ter\",\n      \"▁vet er\",\n      \"factor y\",\n      \"fact ory\",\n      \"f actory\",\n      \"an ne\",\n      \"ann e\",\n      \"▁B at\",\n      \"▁Ba t\",\n      \"▁fr anc\",\n      \"▁fra nc\",\n      \"lu ng\",\n      \"l ung\",\n      \"▁\\\" '\",\n      \".' ,\",\n      \". ',\",\n      \"▁C ountry\",\n      \"▁Count ry\",\n      \"▁Coun try\",\n      \"▁ Country\",\n      \"^{ [\",\n      \"▁y ours\",\n      \"▁you rs\",\n      \"▁your s\",\n      \"▁yo urs\",\n      \"ail ability\",\n      \"Cl ear\",\n      \"C lear\",\n      \"ät t\",\n      \"ä tt\",\n      \"пи с\",\n      \"п ис\",\n      \"▁j oke\",\n      \"▁jo ke\",\n      \"▁ann oy\",\n      \"▁r ag\",\n      \"▁ra g\",\n      \"▁ rag\",\n      \"var i\",\n      \"va ri\",\n      \"v ari\",\n      \"ле кс\",\n      \"лек с\",\n      \"▁P sy\",\n      \"il ty\",\n      \"ilt y\",\n      \"mo unt\",\n      \"m ount\",\n      \"▁c ual\",\n      \"▁cu al\",\n      \"▁s olar\",\n      \"▁so lar\",\n      \"▁sol ar\",\n      \"}^ {(\",\n      \"}^{ (\",\n      \"} ^{(\",\n      \"Sh ort\",\n      \"▁tax es\",\n      \"App end\",\n      \"Ap pend\",\n      \"Appe nd\",\n      \"W in\",\n      \"est yle\",\n      \"esty le\",\n      \"e style\",\n      \"▁fac il\",\n      \"▁fa cil\",\n      \"в ро\",\n      \"▁s ought\",\n      \"▁sou ght\",\n      \"▁b are\",\n      \"▁bar e\",\n      \"▁ba re\",\n      \"▁re act\",\n      \"▁ react\",\n      \"ja r\",\n      \"j ar\",\n      \"MA C\",\n      \"M AC\",\n      \"lo v\",\n      \"l ov\",\n      \"wa rn\",\n      \"war n\",\n      \"w arn\",\n      \"▁cru cial\",\n      \"▁m useum\",\n      \"ни ц\",\n      \"▁K ent\",\n      \"▁Ke nt\",\n      \"▁Ken t\",\n      \"May be\",\n      \"▁b ike\",\n      \"▁bi ke\",\n      \"▁Add ress\",\n      \"▁ Address\",\n      \"X ML\",\n      \"▁ad mitted\",\n      \"▁adm itted\",\n      \"▁admit ted\",\n      \"▁$ (\\\\\",\n      \"▁$( \\\\\",\n      \"▁sp ell\",\n      \"▁spe ll\",\n      \"▁spel l\",\n      \"▁ spell\",\n      \"▁v ic\",\n      \"▁vi c\",\n      \"gr e\",\n      \"g re\",\n      \"▁p roc\",\n      \"▁pro c\",\n      \"▁pr oc\",\n      \"▁ proc\",\n      \"th eless\",\n      \"the less\",\n      \"▁N om\",\n      \"▁No m\",\n      \"▁R ail\",\n      \"▁Ra il\",\n      \"▁acc eler\",\n      \"▁con vin\",\n      \"▁conv in\",\n      \"▁Pro perty\",\n      \"▁ Property\",\n      \"▁D A\",\n      \"▁ DA\",\n      \"▁cl ip\",\n      \"▁ clip\",\n      \"▁pl ugin\",\n      \"▁plug in\",\n      \"▁ plugin\",\n      \"Lim it\",\n      \"Li mit\",\n      \"L imit\",\n      \"view s\",\n      \"br u\",\n      \"b ru\",\n      \"▁p ra\",\n      \"▁pr a\",\n      \"▁a k\",\n      \"▁ ak\",\n      \"▁e j\",\n      \"▁ ej\",\n      \"▁o pts\",\n      \"▁op ts\",\n      \"▁opt s\",\n      \"▁ opts\",\n      \"▁sl ip\",\n      \"▁g ang\",\n      \"▁gan g\",\n      \"▁ga ng\",\n      \"▁ gang\",\n      \"as ted\",\n      \"ast ed\",\n      \"aste d\",\n      \"a sted\",\n      \"ual s\",\n      \"ua ls\",\n      \"u als\",\n      \"▁d ying\",\n      \"▁dy ing\",\n      \"Col l\",\n      \"Co ll\",\n      \"C oll\",\n      \"am men\",\n      \"amm en\",\n      \"▁Pol icy\",\n      \"▁ Policy\",\n      \"ERCHANT ABILITY\",\n      \"▁Col lection\",\n      \"▁Coll ection\",\n      \"▁Collect ion\",\n      \"▁ Collection\",\n      \"▁v ec\",\n      \"▁ve c\",\n      \"▁ vec\",\n      \"▁D ick\",\n      \"▁Di ck\",\n      \"st ud\",\n      \"▁la yers\",\n      \"▁lay ers\",\n      \"▁layer s\",\n      \"▁ layers\",\n      \"▁t ied\",\n      \"▁tie d\",\n      \"▁ti ed\",\n      \"}\\\\ \\\\\",\n      \"} \\\\\\\\\",\n      \"▁al ors\",\n      \"▁j ou\",\n      \"▁jo u\",\n      \"▁ch icken\",\n      \"▁chi cken\",\n      \"▁chick en\",\n      \"▁perman ent\",\n      \"▁Every thing\",\n      \"▁L ow\",\n      \"▁Lo w\",\n      \"▁ Low\",\n      \"▁C ook\",\n      \"▁Co ok\",\n      \"▁pe ak\",\n      \"▁PARTIC ULAR\",\n      \"▁d ear\",\n      \"▁de ar\",\n      \"i č\",\n      \"▁introdu ce\",\n      \"▁caus ing\",\n      \"▁ca using\",\n      \"пи са\",\n      \"пис а\",\n      \"Bo und\",\n      \"B ound\",\n      \"hu nd\",\n      \"h und\",\n      \"mult i\",\n      \"mul ti\",\n      \"▁p are\",\n      \"▁par e\",\n      \"▁pa re\",\n      \"▁ pare\",\n      \"an nt\",\n      \"ann t\",\n      \"▁b reat\",\n      \"▁bre at\",\n      \"▁commit ment\",\n      \"▁increasing ly\",\n      \"ко й\",\n      \"▁F riend\",\n      \"▁ Friend\",\n      \"▁stat istics\",\n      \"▁statist ics\",\n      \"▁Man ager\",\n      \"▁ Manager\",\n      \"pl icate\",\n      \"plic ate\",\n      \"plica te\",\n      \"Cl oud\",\n      \"ac i\",\n      \"a ci\",\n      \"▁Con ference\",\n      \"Sp an\",\n      \"S pan\",\n      \"▁C EO\",\n      \"▁CE O\",\n      \"▁W ait\",\n      \"▁Wa it\",\n      \"▁ Wait\",\n      \"▁O ber\",\n      \"▁Ob er\",\n      \"if ting\",\n      \"ift ing\",\n      \"im iento\",\n      \"imi ento\",\n      \"get Element\",\n      \"▁g le\",\n      \"▁gl e\",\n      \"▁ gle\",\n      \"ли я\",\n      \"▁w ieder\",\n      \"▁wie der\",\n      \"▁inst ruction\",\n      \"▁instr uction\",\n      \"▁instruct ion\",\n      \"gl y\",\n      \"g ly\",\n      \"▁bl ame\",\n      \"▁list ade\",\n      \"▁lista de\",\n      \"▁a apt\",\n      \"▁Lew is\",\n      \"Fr agment\",\n      \"▁g ear\",\n      \"▁ge ar\",\n      \"mi ll\",\n      \"mil l\",\n      \"m ill\",\n      \"pro d\",\n      \"pr od\",\n      \"p rod\",\n      \"▁bur ning\",\n      \"▁burn ing\",\n      \"є ться\",\n      \"▁m é\",\n      \"▁ mé\",\n      \"è ne\",\n      \"▁com plicated\",\n      \"▁compl icated\",\n      \"▁complic ated\",\n      \"b h\",\n      \"▁Just ice\",\n      \"▁t ested\",\n      \"▁te sted\",\n      \"▁test ed\",\n      \"▁st aring\",\n      \"▁star ing\",\n      \"▁sta ring\",\n      \"▁surv ive\",\n      \"▁surviv e\",\n      \"▁c ous\",\n      \"▁co us\",\n      \"▁cou s\",\n      \"▁r ib\",\n      \"▁ri b\",\n      \"▁ rib\",\n      \"am l\",\n      \"a ml\",\n      \"▁T rust\",\n      \"▁Tr ust\",\n      \"▁Tru st\",\n      \"▁c ad\",\n      \"▁ca d\",\n      \"▁T err\",\n      \"▁Te rr\",\n      \"▁Ter r\",\n      \"▁m apping\",\n      \"▁map ping\",\n      \"▁ma pping\",\n      \"▁ mapping\",\n      \"▁tw elve\",\n      \"▁g rant\",\n      \"▁gr ant\",\n      \"▁gran t\",\n      \"▁gra nt\",\n      \"▁th orough\",\n      \"▁ Ü\",\n      \"▁fol ks\",\n      \"▁folk s\",\n      \"▁Cont ent\",\n      \"▁ Content\",\n      \"▁child hood\",\n      \"ck er\",\n      \"cke r\",\n      \"c ker\",\n      \"с но\",\n      \"RE CT\",\n      \"REC T\",\n      \"R ECT\",\n      \"▁f inale\",\n      \"▁fin ale\",\n      \"▁final e\",\n      \"▁sh ower\",\n      \"▁show er\",\n      \"ér ic\",\n      \"éri c\",\n      \"é ric\",\n      \"▁s pat\",\n      \"▁sp at\",\n      \"od ge\",\n      \"р ь\",\n      \"▁p es\",\n      \"▁pe s\",\n      \"▁ pes\",\n      \"ed a\",\n      \"e da\",\n      \"D b\",\n      \"▁Ant onio\",\n      \"▁Anton io\",\n      \"▁eng aged\",\n      \"▁engage d\",\n      \"▁v ess\",\n      \"▁ve ss\",\n      \"val s\",\n      \"va ls\",\n      \"v als\",\n      \"▁elect ronic\",\n      \"▁electron ic\",\n      \"▁electro nic\",\n      \"le mma\",\n      \"lem ma\",\n      \"▁W y\",\n      \"ma d\",\n      \"m ad\",\n      \"mer ge\",\n      \"ap on\",\n      \"a pon\",\n      \"▁priv ile\",\n      \"▁nov embre\",\n      \"▁nove mbre\",\n      \"▁S ports\",\n      \"▁Sp orts\",\n      \"▁Sport s\",\n      \"wi ll\",\n      \"w ill\",\n      \"▁control s\",\n      \"▁contr ols\",\n      \"▁contro ls\",\n      \"▁ controls\",\n      \"▁c ategories\",\n      \"▁categ ories\",\n      \"▁categor ies\",\n      \"▁ categories\",\n      \"▁Georg ia\",\n      \"ip edia\",\n      \"▁A V\",\n      \"▁ AV\",\n      \"at ori\",\n      \"ator i\",\n      \"ato ri\",\n      \"▁_ __\",\n      \"▁__ _\",\n      \"▁ ___\",\n      \"▁ À\",\n      \"▁R yan\",\n      \"▁Ry an\",\n      \"▁Char lie\",\n      \"▁Charl ie\",\n      \"▁и сто\",\n      \"▁ис то\",\n      \"▁em otion\",\n      \"▁emot ion\",\n      \"▁co oking\",\n      \"▁cook ing\",\n      \"▁attempt s\",\n      \"▁FIT NESS\",\n      \"ät er\",\n      \"ä ter\",\n      \"En able\",\n      \"D T\",\n      \"▁Ch ange\",\n      \"▁ Change\",\n      \"Asp Net\",\n      \"▁г а\",\n      \"▁ га\",\n      \"▁ord inary\",\n      \"▁ordin ary\",\n      \"▁S QL\",\n      \"▁ SQL\",\n      \"pl ane\",\n      \"plan e\",\n      \"p lane\",\n      \"% .\",\n      \"▁Sum mer\",\n      \"▁av ait\",\n      \"up p\",\n      \"u pp\",\n      \"▁ill ness\",\n      \"UI NT\",\n      \"U INT\",\n      \"> {\",\n      \"▁zw ischen\",\n      \"▁hard ware\",\n      \"▁sound ed\",\n      \"equ iv\",\n      \"▁p iano\",\n      \"▁pi ano\",\n      \"▁pian o\",\n      \"us et\",\n      \"use t\",\n      \"u set\",\n      \"k n\",\n      \"TR Y\",\n      \"▁b ab\",\n      \"▁ba b\",\n      \"не н\",\n      \"н ен\",\n      \"▁rel iable\",\n      \"▁reli able\",\n      \"▁Bron nen\",\n      \"▁St ore\",\n      \"▁Sto re\",\n      \"▁ Store\",\n      \"A z\",\n      \"▁» ,\",\n      \"▁ »,\",\n      \"St atic\",\n      \"Stat ic\",\n      \"d w\",\n      \"gr een\",\n      \"gre en\",\n      \"g reen\",\n      \"▁' ';\",\n      \"▁'' ;\",\n      \"li j\",\n      \"l ij\",\n      \"ev a\",\n      \"e va\",\n      \"ні й\",\n      \"▁S yd\",\n      \"▁Sy d\",\n      \"in ois\",\n      \"ino is\",\n      \"con vert\",\n      \"conv ert\",\n      \"▁decl are\",\n      \"▁declar e\",\n      \"br es\",\n      \"bre s\",\n      \"b res\",\n      \"IN K\",\n      \"it led\",\n      \"itle d\",\n      \"▁acc ord\",\n      \"▁ac cord\",\n      \"▁m ars\",\n      \"▁mar s\",\n      \"▁ma rs\",\n      \"Sequ ence\",\n      \"zi p\",\n      \"z ip\",\n      \"▁Braz il\",\n      \"▁meet ings\",\n      \"▁meeting s\",\n      \"▁accur acy\",\n      \"▁M achine\",\n      \"▁Mach ine\",\n      \"▁ Machine\",\n      \"▁aut or\",\n      \"▁au tor\",\n      \"▁auto r\",\n      \"▁ autor\",\n      \"▁a insi\",\n      \"▁ain si\",\n      \"Sim ple\",\n      \"Res ources\",\n      \"Re sources\",\n      \"Resource s\",\n      \"ка за\",\n      \"каз а\",\n      \"▁M P\",\n      \"▁ MP\",\n      \"th ey\",\n      \"the y\",\n      \"▁B ang\",\n      \"▁Ba ng\",\n      \"▁Ban g\",\n      \"▁e ing\",\n      \"▁ein g\",\n      \"▁ eing\",\n      \"ate ful\",\n      \"▁Some thing\",\n      \"▁Som ething\",\n      \"▁ Something\",\n      \"▁up set\",\n      \"Hist ory\",\n      \"Hi story\",\n      \"dim ensional\",\n      \"▁explan ation\",\n      \"▁c iv\",\n      \"▁ci v\",\n      \"▁c once\",\n      \"▁con ce\",\n      \"▁conc e\",\n      \"▁kö z\",\n      \"▁prom ised\",\n      \"▁promise d\",\n      \"ж ду\",\n      \"we d\",\n      \"w ed\",\n      \"For e\",\n      \"F ore\",\n      \"Am ount\",\n      \"A mount\",\n      \"ab b\",\n      \"a bb\",\n      \"▁cl othing\",\n      \"▁cloth ing\",\n      \"▁clo thing\",\n      \"ли сь\",\n      \"oe n\",\n      \"o en\",\n      \"▁Pr int\",\n      \"▁Pri nt\",\n      \"▁Prin t\",\n      \"▁ Print\",\n      \"▁s izes\",\n      \"▁size s\",\n      \"▁si zes\",\n      \"▁b anks\",\n      \"▁bank s\",\n      \"▁ban ks\",\n      \"ri bed\",\n      \"rib ed\",\n      \"ribe d\",\n      \"▁' ../\",\n      \"▁'. ./\",\n      \"FI X\",\n      \"F IX\",\n      \"▁H ug\",\n      \"▁Hu g\",\n      \"▁z n\",\n      \"▁ zn\",\n      \"▁I NT\",\n      \"▁IN T\",\n      \"▁ INT\",\n      \"▁in stances\",\n      \"▁inst ances\",\n      \"▁instance s\",\n      \"▁along side\",\n      \"Name space\",\n      \"Names pace\",\n      \"▁re new\",\n      \"▁ren ew\",\n      \"▁a sc\",\n      \"▁as c\",\n      \"▁ asc\",\n      \"▁w aves\",\n      \"▁wa ves\",\n      \"▁wave s\",\n      \"▁p om\",\n      \"▁po m\",\n      \"D uration\",\n      \"day s\",\n      \"da ys\",\n      \"d ays\",\n      \"$ (\",\n      \"▁grab bed\",\n      \"▁sur gery\",\n      \"▁surge ry\",\n      \"▁surg ery\",\n      \"▁re store\",\n      \"▁rest ore\",\n      \"▁ restore\",\n      \"Norm al\",\n      \"N ormal\",\n      \"▁L eb\",\n      \"▁Le b\",\n      \"▁anal yt\",\n      \"▁analy t\",\n      \"Lite ral\",\n      \"L iteral\",\n      \"H A\",\n      \"▁sh ares\",\n      \"▁share s\",\n      \"▁shar es\",\n      \"▁sha res\",\n      \"il let\",\n      \"ill et\",\n      \"ille t\",\n      \"ol s\",\n      \"o ls\",\n      \"▁D og\",\n      \"▁Do g\",\n      \"or no\",\n      \"orn o\",\n      \"▁man ip\",\n      \"ja v\",\n      \"j av\",\n      \"▁ess entially\",\n      \"▁essential ly\",\n      \"▁cas ual\",\n      \"op l\",\n      \"o pl\",\n      \"▁ р\",\n      \"▁S U\",\n      \"▁ SU\",\n      \"▁engine ering\",\n      \"▁engineer ing\",\n      \"▁Pr ime\",\n      \"▁Pri me\",\n      \"▁Prim e\",\n      \"▁S W\",\n      \"▁ SW\",\n      \"▁re aching\",\n      \"▁reach ing\",\n      \"▁в ла\",\n      \"▁Ро сси\",\n      \"▁K re\",\n      \"▁Kr e\",\n      \"er ry\",\n      \"err y\",\n      \"▁op pon\",\n      \"▁opp on\",\n      \"pro gram\",\n      \"pr ogram\",\n      \"em per\",\n      \"emp er\",\n      \"is Empty\",\n      \"▁U nit\",\n      \"▁Un it\",\n      \"▁ Unit\",\n      \"IN TER\",\n      \"INT ER\",\n      \"INTE R\",\n      \"et he\",\n      \"eth e\",\n      \"e the\",\n      \"z d\",\n      \"CU R\",\n      \"C UR\",\n      \"▁v m\",\n      \"▁ vm\",\n      \"con v\",\n      \"co nv\",\n      \"ro pol\",\n      \"rop ol\",\n      \"r opol\",\n      \"▁Co ast\",\n      \"▁S elect\",\n      \"▁Se lect\",\n      \"▁Sel ect\",\n      \"▁ Select\",\n      \"▁бы ла\",\n      \"▁был а\",\n      \"▁V e\",\n      \"ow y\",\n      \"o wy\",\n      \"▁my th\",\n      \"ce ptions\",\n      \"ception s\",\n      \"cept ions\",\n      \"class es\",\n      \"▁w orden\",\n      \"▁wor den\",\n      \"▁word en\",\n      \"▁ass ault\",\n      \"▁d ual\",\n      \"▁du al\",\n      \"OR K\",\n      \"▁in ches\",\n      \"▁inc hes\",\n      \"▁inch es\",\n      \"▁F A\",\n      \"▁ FA\",\n      \"▁St ation\",\n      \"▁Stat ion\",\n      \"▁ Station\",\n      \"▁person ality\",\n      \"▁personal ity\",\n      \"▁s car\",\n      \"▁sc ar\",\n      \"▁ scar\",\n      \"▁reg ime\",\n      \"▁not en\",\n      \"▁no ten\",\n      \"▁note n\",\n      \"▁r ural\",\n      \"▁ru ral\",\n      \"iz a\",\n      \"i za\",\n      \"Aud io\",\n      \"A udio\",\n      \"▁dis put\",\n      \"▁disp ut\",\n      \"▁a ver\",\n      \"▁av er\",\n      \"▁ave r\",\n      \"▁ aver\",\n      \"▁o bst\",\n      \"▁ob st\",\n      \"▁obs t\",\n      \"▁Reg ion\",\n      \"▁ Region\",\n      \"ut f\",\n      \"u tf\",\n      \"▁C ass\",\n      \"▁Cas s\",\n      \"▁Ca ss\",\n      \"hs pace\",\n      \"h space\",\n      \"▁sh ipping\",\n      \"▁ship ping\",\n      \"ik o\",\n      \"i ko\",\n      \"ic ked\",\n      \"ick ed\",\n      \"num er\",\n      \"nu mer\",\n      \"n umer\",\n      \"д на\",\n      \"ri el\",\n      \"rie l\",\n      \"r iel\",\n      \"dis abled\",\n      \"disable d\",\n      \"op ol\",\n      \"o pol\",\n      \"lo oking\",\n      \"look ing\",\n      \"▁class ical\",\n      \"▁classic al\",\n      \"▁construct ed\",\n      \"▁constru cted\",\n      \"▁refer enties\",\n      \"] +\",\n      \"▁capt ured\",\n      \"▁capture d\",\n      \"▁min imal\",\n      \"▁minim al\",\n      \"▁mini mal\",\n      \"▁s ock\",\n      \"▁so ck\",\n      \"▁soc k\",\n      \"▁ sock\",\n      \"fa ther\",\n      \"f ather\",\n      \"is ión\",\n      \"isi ón\",\n      \"▁equ ally\",\n      \"▁equal ly\",\n      \"▁eq ually\",\n      \"▁red uction\",\n      \"▁redu ction\",\n      \"An t\",\n      \"A nt\",\n      \"ais on\",\n      \"ai son\",\n      \"a ison\",\n      \"▁ar gue\",\n      \"▁arg ue\",\n      \"cir cle\",\n      \"circ le\",\n      \"▁t oler\",\n      \"▁to ler\",\n      \"}\\\" ,\",\n      \"} \\\",\",\n      \"▁prim arily\",\n      \"us al\",\n      \"usa l\",\n      \"u sal\",\n      \"▁al gebra\",\n      \"▁gather ed\",\n      \"▁Re member\",\n      \"▁Rem ember\",\n      \"_) ;\",\n      \"_ );\",\n      \"UT E\",\n      \"U TE\",\n      \"▁K it\",\n      \"▁Ki t\",\n      \"▁ Kit\",\n      \"S y\",\n      \"HE AD\",\n      \"▁re cipe\",\n      \"▁rec ipe\",\n      \"▁recip e\",\n      \"▁sc enario\",\n      \"▁scen ario\",\n      \"▁Follow ing\",\n      \"VA R\",\n      \"V AR\",\n      \"▁y ard\",\n      \"▁ya rd\",\n      \"▁ yard\",\n      \"▁st ad\",\n      \"▁sta d\",\n      \"▁ stad\",\n      \"* (\",\n      \"▁valid ate\",\n      \"▁ validate\",\n      \"DE X\",\n      \"D EX\",\n      \"▁commit tee\",\n      \"▁t emporary\",\n      \"▁tempor ary\",\n      \"▁consequ ences\",\n      \"▁consequence s\",\n      \"▁égal ement\",\n      \"кти в\",\n      \"к тив\",\n      \"▁r a\",\n      \"▁ ra\",\n      \"▁dis pl\",\n      \"▁di spl\",\n      \"▁disp l\",\n      \"▁app s\",\n      \"▁ap ps\",\n      \"▁ apps\",\n      \"▁Te il\",\n      \"▁» .\",\n      \"▁ ».\",\n      \"▁adopt ed\",\n      \"ten sor\",\n      \"t ensor\",\n      \"▁fe min\",\n      \"▁fem in\",\n      \"▁м ар\",\n      \"▁ма р\",\n      \"ло ги\",\n      \"te ch\",\n      \"t ech\",\n      \"▁R ot\",\n      \"▁Ro t\",\n      \"▁ Rot\",\n      \"▁kn ees\",\n      \"▁kne es\",\n      \"▁knee s\",\n      \"ph ys\",\n      \"phy s\",\n      \"ow ej\",\n      \"owe j\",\n      \"▁Ox ford\",\n      \"ан д\",\n      \"а нд\",\n      \"he ll\",\n      \"hel l\",\n      \"h ell\",\n      \"ograf ia\",\n      \"▁ex posed\",\n      \"▁exp osed\",\n      \"▁expos ed\",\n      \"▁expose d\",\n      \"kt op\",\n      \"k top\",\n      \"ob y\",\n      \"o by\",\n      \"lo wer\",\n      \"low er\",\n      \"l ower\",\n      \"▁Se nate\",\n      \"▁Sen ate\",\n      \"▁s word\",\n      \"▁sw ord\",\n      \"▁swo rd\",\n      \"Fl ow\",\n      \"F low\",\n      \"▁Un fortunately\",\n      \"▁box es\",\n      \"▁ boxes\",\n      \"▁cu ando\",\n      \"▁pi lot\",\n      \"▁pil ot\",\n      \"▁Al bum\",\n      \"▁Alb um\",\n      \"B al\",\n      \"So rt\",\n      \"S ort\",\n      \"FI ELD\",\n      \"▁de sert\",\n      \"▁des ert\",\n      \"CO MM\",\n      \"COM M\",\n      \"ro ns\",\n      \"ron s\",\n      \"r ons\",\n      \"ad ows\",\n      \"ado ws\",\n      \"adow s\",\n      \"▁l oyal\",\n      \"▁lo yal\",\n      \"▁as set\",\n      \"▁ass et\",\n      \"▁ asset\",\n      \"▁m ud\",\n      \"▁mu d\",\n      \"ф а\",\n      \"▁second ary\",\n      \"▁ secondary\",\n      \"▁А р\",\n      \"▁c ul\",\n      \"▁cu l\",\n      \"▁ cul\",\n      \"▁As ian\",\n      \"▁Asia n\",\n      \"▁stay ing\",\n      \"▁sta ying\",\n      \"▁data set\",\n      \"▁dat aset\",\n      \"▁ dataset\",\n      \"▁U SE\",\n      \"▁US E\",\n      \"▁ USE\",\n      \"▁l oves\",\n      \"▁lo ves\",\n      \"▁love s\",\n      \"▁lov es\",\n      \"▁vel ocity\",\n      \"▁veloc ity\",\n      \"á v\",\n      \"▁purch ased\",\n      \"▁purchase d\",\n      \"SO C\",\n      \"S OC\",\n      \"▁compet itive\",\n      \"▁Foot ball\",\n      \"is ka\",\n      \"isk a\",\n      \"i ska\",\n      \"▁kn ock\",\n      \"st airs\",\n      \"sta irs\",\n      \"az y\",\n      \"a zy\",\n      \"▁v end\",\n      \"▁ve nd\",\n      \"▁ven d\",\n      \"▁ar ts\",\n      \"▁art s\",\n      \"▁ arts\",\n      \"▁B ras\",\n      \"▁Br as\",\n      \"▁Bra s\",\n      \"ue la\",\n      \"uel a\",\n      \"u ela\",\n      \"кт о\",\n      \"к то\",\n      \"tr im\",\n      \"tri m\",\n      \"t rim\",\n      \"▁d irty\",\n      \"▁dir ty\",\n      \"▁dirt y\",\n      \"▁ dirty\",\n      \"▁webs ites\",\n      \"▁website s\",\n      \"▁In dep\",\n      \"▁Ind ep\",\n      \"▁с тра\",\n      \"▁ст ра\",\n      \"▁ стра\",\n      \"s r\",\n      \"▁t icket\",\n      \"▁tick et\",\n      \"at ile\",\n      \"ati le\",\n      \"a tile\",\n      \"▁implement ed\",\n      \"▁вре мя\",\n      \"▁bo wl\",\n      \"▁bow l\",\n      \"DA TE\",\n      \"DAT E\",\n      \"D ATE\",\n      \"▁al ter\",\n      \"▁alt er\",\n      \"▁ alter\",\n      \"▁S pace\",\n      \"▁Sp ace\",\n      \"▁ Space\",\n      \"▁accom pan\",\n      \"▁accomp an\",\n      \"or don\",\n      \"ord on\",\n      \"▁do ctors\",\n      \"▁doctor s\",\n      \"ist as\",\n      \"ista s\",\n      \"C ast\",\n      \"до м\",\n      \"CT L\",\n      \"C TL\",\n      \"ur ers\",\n      \"ure rs\",\n      \"urer s\",\n      \"▁ingred ients\",\n      \"▁calcul ated\",\n      \"▁calculate d\",\n      \"▁calc ulated\",\n      \"▁le ather\",\n      \"▁s ensitive\",\n      \"▁sens itive\",\n      \"▁sus pic\",\n      \"▁susp ic\",\n      \"st an\",\n      \"sta n\",\n      \"s tan\",\n      \"▁an ni\",\n      \"▁ann i\",\n      \"▁ anni\",\n      \"aw ait\",\n      \"awa it\",\n      \"a wait\",\n      \"▁Fr anç\",\n      \"▁Fran ç\",\n      \"▁ab ort\",\n      \"▁ abort\",\n      \"▁Sp irit\",\n      \"▁W alter\",\n      \"▁Wal ter\",\n      \"▁Walt er\",\n      \"un kt\",\n      \"unk t\",\n      \"▁vert ical\",\n      \"▁ vertical\",\n      \"OR S\",\n      \"O RS\",\n      \"be st\",\n      \"bes t\",\n      \"b est\",\n      \"▁Cl ient\",\n      \"▁ Client\",\n      \"it ated\",\n      \"ita ted\",\n      \"itate d\",\n      \"itat ed\",\n      \"▁в а\",\n      \"▁ ва\",\n      \"▁ Č\",\n      \"▁v ille\",\n      \"▁vi lle\",\n      \"▁vill e\",\n      \"▁vil le\",\n      \"▁ ville\",\n      \"▁di plom\",\n      \"or ne\",\n      \"orn e\",\n      \"▁b ars\",\n      \"▁bar s\",\n      \"▁ba rs\",\n      \"▁ bars\",\n      \"U ri\",\n      \"AP TER\",\n      \"pon s\",\n      \"po ns\",\n      \"p ons\",\n      \"ut z\",\n      \"u tz\",\n      \"Pro to\",\n      \"Pr oto\",\n      \"▁st ir\",\n      \"▁ц е\",\n      \"▁ це\",\n      \"▁pr imer\",\n      \"▁prim er\",\n      \"▁pri mer\",\n      \"▁prime r\",\n      \"ig ible\",\n      \"igi ble\",\n      \"ex tra\",\n      \"ext ra\",\n      \"extr a\",\n      \"▁Bo oks\",\n      \"▁Book s\",\n      \"▁B os\",\n      \"▁Bo s\",\n      \"▁E t\",\n      \"▁W elt\",\n      \"▁We lt\",\n      \"▁Wel t\",\n      \"▁Kore a\",\n      \"▁Ko rea\",\n      \"▁Kor ea\",\n      \"ри то\",\n      \"р ито\",\n      \"▁v ibr\",\n      \"▁vi br\",\n      \"S elf\",\n      \"line ar\",\n      \"lin ear\",\n      \"о б\",\n      \"▁L ang\",\n      \"▁La ng\",\n      \"▁Lan g\",\n      \"▁ Lang\",\n      \"▁de eper\",\n      \"▁deep er\",\n      \"▁term in\",\n      \"▁ter min\",\n      \"▁ termin\",\n      \"en schaft\",\n      \"ens chaft\",\n      \"ensch aft\",\n      \"▁ро ці\",\n      \"am med\",\n      \"amm ed\",\n      \"vis ible\",\n      \"v isible\",\n      \"▁IO Exception\",\n      \"▁ IOException\",\n      \"▁W ind\",\n      \"▁Win d\",\n      \"▁Wi nd\",\n      \"us qu\",\n      \"▁S top\",\n      \"▁St op\",\n      \"▁Sto p\",\n      \"▁ Stop\",\n      \"▁ор га\",\n      \"IN VALID\",\n      \"INVAL ID\",\n      \"▁c ub\",\n      \"▁cu b\",\n      \"▁j ew\",\n      \"▁je w\",\n      \"▁cap tain\",\n      \"▁capt ain\",\n      \"з і\",\n      \"ch unk\",\n      \"apt ure\",\n      \"ash board\",\n      \"▁div ided\",\n      \"▁divid ed\",\n      \"▁divide d\",\n      \"▁ext ensive\",\n      \"▁extens ive\",\n      \"▁s uffer\",\n      \"▁suff er\",\n      \"▁he ading\",\n      \"▁head ing\",\n      \"▁ heading\",\n      \"cre ated\",\n      \"create d\",\n      \"creat ed\",\n      \"c reated\",\n      \"▁quiet ly\",\n      \"▁n y\",\n      \"▁ ny\",\n      \"▁по л\",\n      \"▁ пол\",\n      \"\\\" +\",\n      \"ik an\",\n      \"ika n\",\n      \"i kan\",\n      \"▁design s\",\n      \"z u\",\n      \"}+ \\\\\",\n      \"} +\\\\\",\n      \"Oper ator\",\n      \"▁Le mma\",\n      \"▁Lem ma\",\n      \"▁на у\",\n      \"ac ji\",\n      \"ло ве\",\n      \"лов е\",\n      \"Serv let\",\n      \"▁K evin\",\n      \"▁Ke vin\",\n      \"st age\",\n      \"sta ge\",\n      \"b n\",\n      \"text width\",\n      \"fa iled\",\n      \"fail ed\",\n      \"f ailed\",\n      \"▁St aff\",\n      \"▁Sta ff\",\n      \"▁e nem\",\n      \"▁en em\",\n      \"un de\",\n      \"und e\",\n      \"u nde\",\n      \"ен ь\",\n      \"е нь\",\n      \"Pack et\",\n      \"P acket\",\n      \"▁A ls\",\n      \"▁Al s\",\n      \"ka r\",\n      \"k ar\",\n      \"][ '\",\n      \"] ['\",\n      \"ke d\",\n      \"k ed\",\n      \"Per s\",\n      \"Pe rs\",\n      \"P ers\",\n      \">: :\",\n      \"> ::\",\n      \"▁a rc\",\n      \"▁ar c\",\n      \"▁ arc\",\n      \"▁sy nt\",\n      \"▁syn t\",\n      \"SP E\",\n      \"S PE\",\n      \"▁Д а\",\n      \"▁M i\",\n      \"▁M oh\",\n      \"▁Mo h\",\n      \"▁De ath\",\n      \"b rowser\",\n      \"▁D ave\",\n      \"▁Dav e\",\n      \"▁Da ve\",\n      \"▁s ucc\",\n      \"▁su cc\",\n      \"▁suc c\",\n      \"t oggle\",\n      \"▁t ack\",\n      \"▁ta ck\",\n      \"Com ment\",\n      \"Comm ent\",\n      \"er on\",\n      \"ero n\",\n      \"e ron\",\n      \"▁aware ness\",\n      \"▁h ug\",\n      \"▁cont emporary\",\n      \"▁contempor ary\",\n      \"ul ating\",\n      \"ula ting\",\n      \"▁T itle\",\n      \"▁Tit le\",\n      \"▁Ti tle\",\n      \"▁ Title\",\n      \"▁TH IS\",\n      \"hav ior\",\n      \"ran k\",\n      \"r ank\",\n      \"▁do zen\",\n      \"▁che ese\",\n      \"co ln\",\n      \"col n\",\n      \"▁rad ius\",\n      \"▁radi us\",\n      \"▁ radius\",\n      \"▁dim ensions\",\n      \"▁dimension s\",\n      \"rodu ction\",\n      \"rod uction\",\n      \"▁ad ds\",\n      \"▁add s\",\n      \"▁house hold\",\n      \"▁D avis\",\n      \"▁Dav is\",\n      \"▁Da vis\",\n      \"pk g\",\n      \"p kg\",\n      \"{ $\",\n      \"▁cas ino\",\n      \"▁P ierre\",\n      \"▁Pier re\",\n      \"▁Pi erre\",\n      \"▁object ive\",\n      \"tr ain\",\n      \"tra in\",\n      \"▁Mich igan\",\n      \"pay load\",\n      \"▁r ug\",\n      \"▁ru g\",\n      \"▁ rug\",\n      \"▁se vere\",\n      \"▁sever e\",\n      \"me an\",\n      \"▁t oss\",\n      \"▁to ss\",\n      \"▁embar rass\",\n      \"▁V ery\",\n      \"▁Ver y\",\n      \"▁Ve ry\",\n      \"▁ Very\",\n      \"▁appe al\",\n      \"▁Com put\",\n      \"▁Comp ut\",\n      \"▁ Comput\",\n      \"▁forgot ten\",\n      \"▁k ernel\",\n      \"▁ker nel\",\n      \"▁ kernel\",\n      \"▁car bon\",\n      \"▁carb on\",\n      \"f w\",\n      \"▁С у\",\n      \"▁Emp ire\",\n      \"▁qu ote\",\n      \"▁quot e\",\n      \"▁ quote\",\n      \"et z\",\n      \"e tz\",\n      \"▁m ini\",\n      \"▁min i\",\n      \"▁mi ni\",\n      \"▁p ipe\",\n      \"▁pi pe\",\n      \"▁pip e\",\n      \"▁ pipe\",\n      \"▁n ous\",\n      \"▁no us\",\n      \"▁nou s\",\n      \"▁M ove\",\n      \"▁Mo ve\",\n      \"▁Mov e\",\n      \"▁ Move\",\n      \"▁д у\",\n      \"▁ ду\",\n      \"▁nerv ous\",\n      \"▁М ар\",\n      \"▁Ма р\",\n      \"* \\r\",\n      \"▁B ush\",\n      \"▁Bus h\",\n      \"▁Bu sh\",\n      \"▁pe er\",\n      \"▁ peer\",\n      \"▁W rit\",\n      \"▁Wr it\",\n      \"▁ Writ\",\n      \"▁satisf ied\",\n      \"▁pull ing\",\n      \"▁pul ling\",\n      \"▁P ur\",\n      \"▁Pu r\",\n      \"▁M iller\",\n      \"▁Mil ler\",\n      \"▁Mill er\",\n      \"▁F L\",\n      \"▁ FL\",\n      \"am az\",\n      \"ama z\",\n      \"a maz\",\n      \"▁m ile\",\n      \"▁mil e\",\n      \"▁mi le\",\n      \"▁ mile\",\n      \"▁N eed\",\n      \"▁Ne ed\",\n      \"▁ Need\",\n      \"▁sup plies\",\n      \"▁a ño\",\n      \"▁p ace\",\n      \"▁pa ce\",\n      \"▁pac e\",\n      \"▁ pace\",\n      \"▁Vict oria\",\n      \"▁Victor ia\",\n      \"▁ou ght\",\n      \"▁ ought\",\n      \"▁P layer\",\n      \"▁Pl ayer\",\n      \"▁Play er\",\n      \"▁ Player\",\n      \"agnost ic\",\n      \"▁v iv\",\n      \"▁vi v\",\n      \"▁ viv\",\n      \"▁Pat rick\",\n      \"▁Patri ck\",\n      \"▁ Š\",\n      \"▁St ory\",\n      \"▁Sto ry\",\n      \"ac a\",\n      \"a ca\",\n      \"▁mount ains\",\n      \"▁mountain s\",\n      \"CL ASS\",\n      \"▁fr agment\",\n      \"▁frag ment\",\n      \"▁ fragment\",\n      \"▁sett lement\",\n      \"▁settle ment\",\n      \"▁Further more\",\n      \"▁dr ivers\",\n      \"▁dri vers\",\n      \"▁driv ers\",\n      \"▁drive rs\",\n      \"▁driver s\",\n      \"▁J u\",\n      \"▁бы ли\",\n      \"▁был и\",\n      \"Row s\",\n      \"Ro ws\",\n      \"R ows\",\n      \"▁im pression\",\n      \"▁imp ression\",\n      \"▁impress ion\",\n      \"▁in fer\",\n      \"▁inf er\",\n      \"▁Ex pl\",\n      \"▁Exp l\",\n      \"ol ute\",\n      \"olut e\",\n      \"olu te\",\n      \"ov an\",\n      \"ova n\",\n      \"o van\",\n      \"ar ance\",\n      \"aran ce\",\n      \"CA P\",\n      \"C AP\",\n      \"▁en force\",\n      \"▁B urn\",\n      \"▁Bur n\",\n      \"▁Bu rn\",\n      \"Res et\",\n      \"Re set\",\n      \"mo ther\",\n      \"mot her\",\n      \"m other\",\n      \"▁B attle\",\n      \"▁Bat tle\",\n      \"▁Batt le\",\n      \"▁ Battle\",\n      \"pad ding\",\n      \"p adding\",\n      \"ia te\",\n      \"iat e\",\n      \"i ate\",\n      \"▁c ried\",\n      \"▁cr ied\",\n      \"▁cri ed\",\n      \"A K\",\n      \"un s\",\n      \"u ns\",\n      \"▁siè cle\",\n      \"▁Cont in\",\n      \"▁ Contin\",\n      \"ban k\",\n      \"b ank\",\n      \"ju nit\",\n      \"j unit\",\n      \"object s\",\n      \"Ro t\",\n      \"R ot\",\n      \"is sa\",\n      \"iss a\",\n      \"▁be gun\",\n      \"▁beg un\",\n      \"* -\",\n      \"▁vis iting\",\n      \"▁visit ing\",\n      \"ж де\",\n      \"▁target s\",\n      \"▁tar gets\",\n      \"▁L atin\",\n      \"▁Lat in\",\n      \"у т\",\n      \"▁E sc\",\n      \"▁Es c\",\n      \"* ;\",\n      \"ån g\",\n      \"å ng\",\n      \"▁( {\",\n      \"▁ ({\",\n      \"▁di agram\",\n      \"▁dia gram\",\n      \"Mod els\",\n      \"Model s\",\n      \"Mode ls\",\n      \"▁part nership\",\n      \"▁partner ship\",\n      \"▁partners hip\",\n      \"▁fr ån\",\n      \"ul ty\",\n      \"ult y\",\n      \"Po d\",\n      \"P od\",\n      \"CA LL\",\n      \"CAL L\",\n      \"C ALL\",\n      \"mod al\",\n      \"mo dal\",\n      \"si g\",\n      \"s ig\",\n      \"it zer\",\n      \"itz er\",\n      \"it el\",\n      \"ite l\",\n      \"▁convin ced\",\n      \"▁convince d\",\n      \"ab l\",\n      \"a bl\",\n      \"ст ве\",\n      \"ств е\",\n      \"▁c ot\",\n      \"▁co t\",\n      \"▁re peat\",\n      \"▁repe at\",\n      \"▁ repeat\",\n      \"▁l ists\",\n      \"▁li sts\",\n      \"▁list s\",\n      \"▁ lists\",\n      \"so und\",\n      \"s ound\",\n      \"▁r oyal\",\n      \"▁ro yal\",\n      \"▁gr ace\",\n      \"▁gra ce\",\n      \"▁o raz\",\n      \"▁or az\",\n      \"Not ification\",\n      \"pr ite\",\n      \"prit e\",\n      \"p rite\",\n      \"▁arriv al\",\n      \"▁arr ival\",\n      \"an cell\",\n      \"ance ll\",\n      \"anc ell\",\n      \"ancel l\",\n      \"hent ic\",\n      \"de code\",\n      \"dec ode\",\n      \"▁fant astic\",\n      \"pro gress\",\n      \"pro xy\",\n      \"pr oxy\",\n      \"z ő\",\n      \"ke l\",\n      \"k el\",\n      \"▁conven ient\",\n      \"aqu e\",\n      \"a que\",\n      \"ri et\",\n      \"rie t\",\n      \"r iet\",\n      \"▁Dig ital\",\n      \"io rs\",\n      \"ior s\",\n      \"i ors\",\n      \"▁B udd\",\n      \"▁Bud d\",\n      \"▁Bu dd\",\n      \"and ra\",\n      \"ad dy\",\n      \"add y\",\n      \"▁o vers\",\n      \"▁over s\",\n      \"▁ov ers\",\n      \"▁consum ers\",\n      \"▁consumer s\",\n      \"▁consume rs\",\n      \"p n\",\n      \"mo use\",\n      \"m ouse\",\n      \"▁B C\",\n      \"▁ BC\",\n      \"de g\",\n      \"d eg\",\n      \"pe rm\",\n      \"per m\",\n      \"p erm\",\n      \"it és\",\n      \"ité s\",\n      \"▁и спо\",\n      \"▁ис по\",\n      \"he ast\",\n      \"h east\",\n      \"ho ur\",\n      \"hou r\",\n      \"h our\",\n      \"PAR AM\",\n      \"con scious\",\n      \"▁w ing\",\n      \"▁win g\",\n      \"▁ wing\",\n      \"▁atmos phere\",\n      \"▁g ig\",\n      \"▁gi g\",\n      \"▁con tre\",\n      \"▁cont re\",\n      \"▁contr e\",\n      \"▁dr ama\",\n      \"▁dram a\",\n      \"я т\",\n      \"▁Fr ont\",\n      \"▁Fro nt\",\n      \"▁ Front\",\n      \"▁philosoph y\",\n      \"▁H art\",\n      \"▁Har t\",\n      \"▁Ha rt\",\n      \"▁n urs\",\n      \"▁nu rs\",\n      \"▁nur s\",\n      \"ur as\",\n      \"ura s\",\n      \"u ras\",\n      \"▁T ru\",\n      \"▁Tr u\",\n      \"▁s ud\",\n      \"▁su d\",\n      \"▁per forming\",\n      \"▁perform ing\",\n      \"п ы\",\n      \"▁conf used\",\n      \"▁che cks\",\n      \"▁check s\",\n      \"am t\",\n      \"a mt\",\n      \"Ma ke\",\n      \"M ake\",\n      \"▁R O\",\n      \"▁ RO\",\n      \"▁d f\",\n      \"▁ df\",\n      \"iz ations\",\n      \"ization s\",\n      \"▁deg li\",\n      \"▁architect ure\",\n      \"Render er\",\n      \"▁Л а\",\n      \"▁p tr\",\n      \"▁pt r\",\n      \"▁ ptr\",\n      \"▁die ser\",\n      \"▁dies er\",\n      \"▁diese r\",\n      \"sub mit\",\n      \"▁top ics\",\n      \"▁topic s\",\n      \"▁princip les\",\n      \"▁prin ciples\",\n      \"▁principle s\",\n      \"var s\",\n      \"va rs\",\n      \"v ars\",\n      \"so ck\",\n      \"soc k\",\n      \"s ock\",\n      \"▁ton gue\",\n      \"▁tong ue\",\n      \"▁percent age\",\n      \"▁S S\",\n      \"▁ SS\",\n      \"▁d ol\",\n      \"▁do l\",\n      \"▁r ice\",\n      \"▁ri ce\",\n      \"▁ric e\",\n      \"▁ rice\",\n      \"í o\",\n      \"▁E astern\",\n      \"▁East ern\",\n      \"▁Easter n\",\n      \"▁recogn ition\",\n      \"▁E rn\",\n      \"▁Er n\",\n      \"▁U t\",\n      \"▁ Ut\",\n      \"▁c aut\",\n      \"▁ca ut\",\n      \"▁Cl oud\",\n      \"▁ Cloud\",\n      \"▁con version\",\n      \"▁conv ersion\",\n      \"▁convers ion\",\n      \"▁Oh io\",\n      \"▁M E\",\n      \"▁ ME\",\n      \"▁sur ely\",\n      \"▁sure ly\",\n      \"▁g ard\",\n      \"▁gar d\",\n      \"▁ga rd\",\n      \"pu is\",\n      \"p uis\",\n      \"▁u rg\",\n      \"▁ur g\",\n      \"▁ urg\",\n      \"im i\",\n      \"i mi\",\n      \"▁abs ence\",\n      \"▁w inner\",\n      \"▁win ner\",\n      \"L anguage\",\n      \"▁HT TP\",\n      \"▁ HTTP\",\n      \"w t\",\n      \"▁trans lation\",\n      \"▁transl ation\",\n      \"▁ translation\",\n      \"с с\",\n      \"▁K ind\",\n      \"▁Ki nd\",\n      \"▁Kin d\",\n      \"▁ Kind\",\n      \"Tw o\",\n      \"T wo\",\n      \"▁Re volution\",\n      \"▁Rev olution\",\n      \"In sert\",\n      \"Ins ert\",\n      \"Ev ery\",\n      \"E very\",\n      \"or ient\",\n      \"ori ent\",\n      \"orie nt\",\n      \"o rient\",\n      \"▁т ра\",\n      \"▁ тра\",\n      \"▁emot ions\",\n      \"▁emotion s\",\n      \"det ails\",\n      \"detail s\",\n      \"▁f lu\",\n      \"▁fl u\",\n      \"▁ flu\",\n      \"▁oper ate\",\n      \"▁opera te\",\n      \"A g\",\n      \"un ning\",\n      \"unn ing\",\n      \"▁part ie\",\n      \"▁parti e\",\n      \"tr i\",\n      \"t ri\",\n      \"▁gold en\",\n      \"▁gol den\",\n      \"▁Б и\",\n      \"▁found ation\",\n      \"is ten\",\n      \"ist en\",\n      \"iste n\",\n      \"i sten\",\n      \"▁Car los\",\n      \"▁Carl os\",\n      \"▁Carlo s\",\n      \"Child ren\",\n      \"▁neigh b\",\n      \"▁C art\",\n      \"▁Car t\",\n      \"▁Ca rt\",\n      \"▁ Cart\",\n      \"Be gin\",\n      \"B egin\",\n      \"г да\",\n      \"▁s cheduled\",\n      \"▁schedule d\",\n      \"▁schedul ed\",\n      \"' >\",\n      \"▁observ ations\",\n      \"▁observation s\",\n      \"▁produ cer\",\n      \"▁produce r\",\n      \"ath ers\",\n      \"ather s\",\n      \"a thers\",\n      \"но му\",\n      \"ном у\",\n      \"▁expect ations\",\n      \"▁expectation s\",\n      \"os o\",\n      \"o so\",\n      \"z h\",\n      \"mu table\",\n      \"mut able\",\n      \"▁wr ites\",\n      \"▁writ es\",\n      \"▁write s\",\n      \"▁p ushing\",\n      \"▁push ing\",\n      \"▁se ats\",\n      \"▁sea ts\",\n      \"▁seat s\",\n      \"▁br east\",\n      \"▁bre ast\",\n      \"ap ing\",\n      \"api ng\",\n      \"a ping\",\n      \"▁Sim ple\",\n      \"▁ Simple\",\n      \"▁s ocket\",\n      \"▁soc ket\",\n      \"▁sock et\",\n      \"▁ socket\",\n      \"▁sl ave\",\n      \"▁sla ve\",\n      \"▁ slave\",\n      \"il ey\",\n      \"ile y\",\n      \"i ley\",\n      \"▁ass istant\",\n      \"▁assist ant\",\n      \"▁t rim\",\n      \"▁tr im\",\n      \"▁tri m\",\n      \"▁ trim\",\n      \"▁land scape\",\n      \"▁landsc ape\",\n      \"▁associ ation\",\n      \"qu ant\",\n      \"▁Pal est\",\n      \"▁swe at\",\n      \"en gers\",\n      \"eng ers\",\n      \"enge rs\",\n      \"enger s\",\n      \"? _\",\n      \"é p\",\n      \"> .\",\n      \"▁c urious\",\n      \"▁cur ious\",\n      \"▁Com ponent\",\n      \"▁ Component\",\n      \"▁re placement\",\n      \"▁repl acement\",\n      \"▁replace ment\",\n      \"ра ль\",\n      \"рал ь\",\n      \"р аль\",\n      \"▁Tr ack\",\n      \"▁Tra ck\",\n      \"▁ Track\",\n      \"▁Re move\",\n      \"▁Rem ove\",\n      \"▁ Remove\",\n      \"▁S ize\",\n      \"▁Si ze\",\n      \"▁ Size\",\n      \"pe ror\",\n      \"per or\",\n      \"▁cal culate\",\n      \"▁calcul ate\",\n      \"▁calc ulate\",\n      \"▁s essions\",\n      \"▁session s\",\n      \"▁type d\",\n      \"▁typ ed\",\n      \"▁ty ped\",\n      \"▁sub mit\",\n      \"▁subm it\",\n      \"▁ submit\",\n      \"!! !\",\n      \"! !!\",\n      \"▁part ition\",\n      \"▁ partition\",\n      \"ed ing\",\n      \"edi ng\",\n      \"e ding\",\n      \"-- ---\",\n      \"---- -\",\n      \"--- --\",\n      \"- ----\",\n      \"az ioni\",\n      \"azi oni\",\n      \"lie ß\",\n      \"on al\",\n      \"ona l\",\n      \"o nal\",\n      \"▁sh ru\",\n      \"▁shr u\",\n      \"▁RE G\",\n      \"▁ REG\",\n      \"▁F ac\",\n      \"▁Fa c\",\n      \"▁ Fac\",\n      \"config uration\",\n      \"▁бы ло\",\n      \"▁был о\",\n      \"▁A mong\",\n      \"▁Am ong\",\n      \"__ );\",\n      \"__) ;\",\n      \"_ _);\",\n      \"▁Ser ver\",\n      \"▁Serv er\",\n      \"▁ Server\",\n      \"▁L OG\",\n      \"▁LO G\",\n      \"▁ LOG\",\n      \"▁c and\",\n      \"▁can d\",\n      \"▁ca nd\",\n      \"'] );\",\n      \"']) ;\",\n      \"' ]);\",\n      \"go v\",\n      \"g ov\",\n      \"▁S ix\",\n      \"▁Si x\",\n      \"un defined\",\n      \"und efined\",\n      \"undef ined\",\n      \"▁t y\",\n      \"▁ ty\",\n      \"as a\",\n      \"a sa\",\n      \"▁part icles\",\n      \"▁partic les\",\n      \"▁particle s\",\n      \"▁parti cles\",\n      \"▁ф ор\",\n      \"▁фо р\",\n      \"▁ фор\",\n      \"` `\",\n      \"T ube\",\n      \"el and\",\n      \"ela nd\",\n      \"e land\",\n      \"fo ld\",\n      \"fol d\",\n      \"f old\",\n      \"og o\",\n      \"o go\",\n      \"▁appro aches\",\n      \"▁approach es\",\n      \"on da\",\n      \"ond a\",\n      \"ag r\",\n      \"a gr\",\n      \", $\",\n      \"▁{ {\",\n      \"▁ {{\",\n      \"▁Mod ern\",\n      \"▁Mo dern\",\n      \"▁Mode rn\",\n      \"▁W inter\",\n      \"▁Win ter\",\n      \"av ailable\",\n      \"▁L ud\",\n      \"▁Lu d\",\n      \"▁c asa\",\n      \"▁cas a\",\n      \"▁ca sa\",\n      \"▁C ould\",\n      \"▁Co uld\",\n      \"▁Cou ld\",\n      \"▁ Could\",\n      \"▁fif teen\",\n      \"▁pot entially\",\n      \"▁potential ly\",\n      \"^ ^\",\n      \"▁se it\",\n      \"▁sei t\",\n      \"An imation\",\n      \"Anim ation\",\n      \"ко го\",\n      \"к ого\",\n      \"Z one\",\n      \"el if\",\n      \"eli f\",\n      \"e lif\",\n      \"▁acknow led\",\n      \"▁own ership\",\n      \"▁owner ship\",\n      \"▁owners hip\",\n      \"▁describ es\",\n      \"▁describe s\",\n      \"▁re verse\",\n      \"▁revers e\",\n      \"▁rever se\",\n      \"▁ reverse\",\n      \"▁con test\",\n      \"▁cont est\",\n      \"▁sc ored\",\n      \"▁score d\",\n      \"▁op posed\",\n      \"▁opp osed\",\n      \"▁oppos ed\",\n      \"fl ex\",\n      \"f lex\",\n      \"kr e\",\n      \"k re\",\n      \"▁mer ge\",\n      \"▁ merge\",\n      \"▁cover ing\",\n      \"▁cov ering\",\n      \"▁hon estly\",\n      \"▁honest ly\",\n      \"▁M ess\",\n      \"▁Me ss\",\n      \"▁Mes s\",\n      \"▁r arely\",\n      \"▁rare ly\",\n      \"▁incred ible\",\n      \"it age\",\n      \"ita ge\",\n      \"▁vict ims\",\n      \"▁victim s\",\n      \"ны ми\",\n      \"ным и\",\n      \"w l\",\n      \"iz za\",\n      \"izz a\",\n      \"i zza\",\n      \"d n\",\n      \"on de\",\n      \"ond e\",\n      \"o nde\",\n      \"▁pr zy\",\n      \"▁prz y\",\n      \"▁HT ML\",\n      \"▁ HTML\",\n      \"▁pay load\",\n      \"▁ payload\",\n      \"Bu s\",\n      \"B us\",\n      \"us b\",\n      \"u sb\",\n      \"F n\",\n      \"▁display ed\",\n      \"▁o cean\",\n      \"▁A venue\",\n      \"▁Av enue\",\n      \"ac ion\",\n      \"aci on\",\n      \"acio n\",\n      \"gh an\",\n      \"g han\",\n      \"met ric\",\n      \"m etric\",\n      \"ie ties\",\n      \"iet ies\",\n      \"▁attract ive\",\n      \"▁attr active\",\n      \"▁f ö\",\n      \"▁ fö\",\n      \"C reat\",\n      \"ver ter\",\n      \"vert er\",\n      \"▁Al ice\",\n      \"▁Ali ce\",\n      \"по л\",\n      \"▁f raction\",\n      \"▁fr action\",\n      \"▁fra ction\",\n      \"▁fract ion\",\n      \"▁behav iour\",\n      \"▁behavi our\",\n      \"▁Jer sey\",\n      \"▁re venue\",\n      \"▁rev enue\",\n      \"▁reven ue\",\n      \"▁t res\",\n      \"▁tr es\",\n      \"▁tre s\",\n      \"▁ tres\",\n      \"IL D\",\n      \"I LD\",\n      \"▁É t\",\n      \"▁s ync\",\n      \"▁sy nc\",\n      \"▁syn c\",\n      \"▁ sync\",\n      \"wi ch\",\n      \"w ich\",\n      \"▁anc est\",\n      \"ъ т\",\n      \"om o\",\n      \"o mo\",\n      \"▁I de\",\n      \"▁Id e\",\n      \"▁g ained\",\n      \"▁gain ed\",\n      \"▁ga ined\",\n      \"▁moment um\",\n      \"▁K o\",\n      \"ie u\",\n      \"i eu\",\n      \"ie lt\",\n      \"iel t\",\n      \"i elt\",\n      \"▁bon us\",\n      \"▁te xture\",\n      \"▁text ure\",\n      \"▁ texture\",\n      \"Mod al\",\n      \"Mo dal\",\n      \"NE XT\",\n      \"N EXT\",\n      \"▁годи не\",\n      \"▁l anguages\",\n      \"▁language s\",\n      \"v t\",\n      \"▁represent ing\",\n      \"▁D ream\",\n      \"▁Dre am\",\n      \"cur r\",\n      \"cu rr\",\n      \"qu al\",\n      \"q ual\",\n      \"▁j s\",\n      \"▁ js\",\n      \"bu rn\",\n      \"bur n\",\n      \"b urn\",\n      \"▁contribut ions\",\n      \"▁contribution s\",\n      \"▁r ic\",\n      \"▁ri c\",\n      \"▁ ric\",\n      \"}- \\\\\",\n      \"} -\\\\\",\n      \"={ {\",\n      \"= {{\",\n      \"ca rt\",\n      \"car t\",\n      \"c art\",\n      \"F B\",\n      \"ju d\",\n      \"j ud\",\n      \"es p\",\n      \"e sp\",\n      \"▁elect ron\",\n      \"▁electro n\",\n      \"▁e ll\",\n      \"▁el l\",\n      \"▁ ell\",\n      \"▁Run time\",\n      \"▁ Runtime\",\n      \"ac hel\",\n      \"ach el\",\n      \"ache l\",\n      \"a chel\",\n      \"\\\\ _\",\n      \"we ek\",\n      \"pack et\",\n      \"p acket\",\n      \"▁Secret ary\",\n      \"▁Jahr hund\",\n      \"▁th reshold\",\n      \"▁ threshold\",\n      \"ba ge\",\n      \"bag e\",\n      \"b age\",\n      \"▁con cer\",\n      \"▁conc er\",\n      \"▁conce r\",\n      \"▁b one\",\n      \"▁bo ne\",\n      \"▁bon e\",\n      \"▁ bone\",\n      \"▁Holly wood\",\n      \"Cur sor\",\n      \"C ursor\",\n      \"▁aw arded\",\n      \"▁award ed\",\n      \"▁sum mary\",\n      \"▁summar y\",\n      \"▁ summary\",\n      \"ag gio\",\n      \"agg io\",\n      \"aggi o\",\n      \"▁st ell\",\n      \"▁ste ll\",\n      \"▁ stell\",\n      \"▁f lesh\",\n      \"▁fl esh\",\n      \"▁fle sh\",\n      \"P air\",\n      \"▁A ge\",\n      \"▁Ag e\",\n      \"ing ton\",\n      \"▁' .\",\n      \"▁ '.\",\n      \"as er\",\n      \"ase r\",\n      \"a ser\",\n      \"ко ва\",\n      \"ков а\",\n      \"▁qu art\",\n      \"▁q uart\",\n      \"▁quar t\",\n      \"ry ption\",\n      \"rypt ion\",\n      \"All oc\",\n      \"Al loc\",\n      \"ft en\",\n      \"fte n\",\n      \"f ten\",\n      \"Oper and\",\n      \"▁ind icated\",\n      \"▁indic ated\",\n      \"▁indicate d\",\n      \"($ _\",\n      \"( $_\",\n      \"get String\",\n      \"▁list ener\",\n      \"▁listen er\",\n      \"▁ listener\",\n      \"sp ir\",\n      \"spi r\",\n      \") _\",\n      \"ve ns\",\n      \"ven s\",\n      \"v ens\",\n      \"▁food s\",\n      \"▁foo ds\",\n      \"an za\",\n      \"anz a\",\n      \"te il\",\n      \"DE SC\",\n      \"▁n otion\",\n      \"▁not ion\",\n      \"▁em ployment\",\n      \"▁employ ment\",\n      \"▁s wing\",\n      \"▁sw ing\",\n      \"▁ swing\",\n      \"nb sp\",\n      \"▁p ounds\",\n      \"▁pound s\",\n      \"to ols\",\n      \"tool s\",\n      \"too ls\",\n      \"t ools\",\n      \"▁particip ate\",\n      \"▁T ax\",\n      \"▁Ta x\",\n      \"▁ Tax\",\n      \"▁с кла\",\n      \"ap ol\",\n      \"a pol\",\n      \"▁f ost\",\n      \"▁fo st\",\n      \"▁fos t\",\n      \"com pat\",\n      \"comp at\",\n      \"▁public ation\",\n      \"▁rapid ly\",\n      \"▁W is\",\n      \"▁Wi s\",\n      \"Event Listener\",\n      \"▁prem ière\",\n      \"▁premi ère\",\n      \"us o\",\n      \"u so\",\n      \"ext end\",\n      \"▁M ERCHANTABILITY\",\n      \"UT F\",\n      \"U TF\",\n      \"▁exper iments\",\n      \"▁experi ments\",\n      \"▁experiment s\",\n      \"sin gle\",\n      \"sing le\",\n      \"s ingle\",\n      \"z k\",\n      \"▁n aj\",\n      \"▁na j\",\n      \"}} }\",\n      \"} }}\",\n      \"Li n\",\n      \"L in\",\n      \"▁inter act\",\n      \"▁inte ract\",\n      \"▁c ms\",\n      \"▁cm s\",\n      \"▁Ro ger\",\n      \"▁Rog er\",\n      \"▁Р у\",\n      \"> '\",\n      \"com mit\",\n      \"comm it\",\n      \"ло сь\",\n      \"▁out come\",\n      \"▁h its\",\n      \"▁hit s\",\n      \"▁hi ts\",\n      \"▁и м\",\n      \"▁ им\",\n      \"▁s park\",\n      \"▁sp ark\",\n      \"con sole\",\n      \"cons ole\",\n      \"▁ver w\",\n      \"▁ve rw\",\n      \"▁ка то\",\n      \"agnost ics\",\n      \"agnostic s\",\n      \"▁s oci\",\n      \"▁so ci\",\n      \"▁soc i\",\n      \"▁d ining\",\n      \"▁di ning\",\n      \"▁din ing\",\n      \"▁t ech\",\n      \"▁te ch\",\n      \"▁ tech\",\n      \"š t\",\n      \"fo lio\",\n      \"fol io\",\n      \"ult ane\",\n      \"ultan e\",\n      \"кт ор\",\n      \"кто р\",\n      \"к тор\",\n      \"▁B rand\",\n      \"▁Br and\",\n      \"▁Bra nd\",\n      \"Jo in\",\n      \"J oin\",\n      \"▁и ю\",\n      \"▁p ros\",\n      \"▁pro s\",\n      \"▁pr os\",\n      \"▁pos it\",\n      \"Pub lic\",\n      \"P ublic\",\n      \"AspNet Core\",\n      \"▁S hop\",\n      \"▁Sh op\",\n      \"▁ Shop\",\n      \"▁co inc\",\n      \"▁coin c\",\n      \"ни ем\",\n      \"ние м\",\n      \"▁re ferences\",\n      \"▁refer ences\",\n      \"▁reference s\",\n      \"ab out\",\n      \"name space\",\n      \"names pace\",\n      \"D L\",\n      \"▁I R\",\n      \"▁ IR\",\n      \"▁c ada\",\n      \"▁ca da\",\n      \"▁cad a\",\n      \"▁Jord an\",\n      \"▁g ep\",\n      \"▁ge p\",\n      \"▁b ron\",\n      \"▁br on\",\n      \"▁bro n\",\n      \"andid ate\",\n      \"EX PECT\",\n      \"EXP ECT\",\n      \"am o\",\n      \"a mo\",\n      \"▁De utsch\",\n      \"au c\",\n      \"a uc\",\n      \"▁ра йо\",\n      \"▁рай о\",\n      \"▁L abor\",\n      \"▁La bor\",\n      \"▁Lab or\",\n      \"▁surround ed\",\n      \"т ро\",\n      \"▁n ome\",\n      \"▁no me\",\n      \"▁nom e\",\n      \"▁under lying\",\n      \"▁educ ational\",\n      \"▁education al\",\n      \"R IGHT\",\n      \"CO UNT\",\n      \"in ch\",\n      \"inc h\",\n      \"Ty p\",\n      \"T yp\",\n      \"um ph\",\n      \"ump h\",\n      \"fo ur\",\n      \"f our\",\n      \"Control s\",\n      \"▁c p\",\n      \"▁ cp\",\n      \"co st\",\n      \"cos t\",\n      \"c ost\",\n      \"▁mechan ism\",\n      \"en ess\",\n      \"ene ss\",\n      \"enes s\",\n      \"e ness\",\n      \"é qu\",\n      \"▁acqu ired\",\n      \"▁acquire d\",\n      \"▁f alls\",\n      \"▁fall s\",\n      \"▁fal ls\",\n      \"▁ falls\",\n      \"▁H ou\",\n      \"▁Ho u\",\n      \"▁L E\",\n      \"▁ LE\",\n      \"for Each\",\n      \"▁ver tex\",\n      \"▁vert ex\",\n      \"▁ vertex\",\n      \"▁I F\",\n      \"▁ IF\",\n      \"cur s\",\n      \"cu rs\",\n      \"c urs\",\n      \"' =>\",\n      \"те ри\",\n      \"тер и\",\n      \"▁S A\",\n      \"▁ SA\",\n      \"ri ers\",\n      \"rie rs\",\n      \"rier s\",\n      \"r iers\",\n      \"▁u w\",\n      \"▁ uw\",\n      \"▁m arks\",\n      \"▁mark s\",\n      \"▁mar ks\",\n      \"▁ marks\",\n      \"▁en erg\",\n      \"▁ener g\",\n      \"ho f\",\n      \"h of\",\n      \"ylv ania\",\n      \"▁Al len\",\n      \"▁All en\",\n      \"um py\",\n      \"ump y\",\n      \"о го\",\n      \"ст ву\",\n      \"ств у\",\n      \"vo ice\",\n      \"v oice\",\n      \"▁en gage\",\n      \"▁eng age\",\n      \"▁m ant\",\n      \"▁man t\",\n      \"▁ma nt\",\n      \"or se\",\n      \"ors e\",\n      \"== =\",\n      \"= ==\",\n      \"▁impro vement\",\n      \"▁improve ment\",\n      \"Op t\",\n      \"O pt\",\n      \"▁arr ested\",\n      \"▁arrest ed\",\n      \"ти я\",\n      \"▁с ле\",\n      \"▁ сле\",\n      \"it ched\",\n      \"itch ed\",\n      \"soc ket\",\n      \"sock et\",\n      \"s ocket\",\n      \"▁c ycl\",\n      \"▁cy cl\",\n      \"▁ cycl\",\n      \"▁S M\",\n      \"▁ SM\",\n      \"▁S ex\",\n      \"▁Se x\",\n      \"▁neut ral\",\n      \"▁neutr al\",\n      \"ва в\",\n      \"▁J ess\",\n      \"▁Je ss\",\n      \"▁Jes s\",\n      \"▁d ip\",\n      \"▁di p\",\n      \"▁op position\",\n      \"▁oppos ition\",\n      \"▁b orrow\",\n      \"▁bor row\",\n      \"с пе\",\n      \"▁av ant\",\n      \"ко ла\",\n      \"▁t a\",\n      \"▁ ta\",\n      \"An im\",\n      \"A nim\",\n      \"▁G all\",\n      \"▁Gal l\",\n      \"▁Ga ll\",\n      \"rg b\",\n      \"r gb\",\n      \"▁gu ilty\",\n      \"▁guilt y\",\n      \"▁bu ried\",\n      \"▁bur ied\",\n      \"▁g y\",\n      \"▁ gy\",\n      \"Init ial\",\n      \"▁acc omp\",\n      \"▁ac comp\",\n      \"▁accom p\",\n      \"▁breath ing\",\n      \"▁breat hing\",\n      \"ber ry\",\n      \"b erry\",\n      \"GR O\",\n      \"G RO\",\n      \"▁subsequ ent\",\n      \"rou pe\",\n      \"roup e\",\n      \"ul pt\",\n      \"ulp t\",\n      \"t b\",\n      \"▁ ä\",\n      \"P i\",\n      \"arg v\",\n      \"▁M ust\",\n      \"▁Mus t\",\n      \"▁Mu st\",\n      \"▁ Must\",\n      \": '\",\n      \"sv g\",\n      \"ou p\",\n      \"o up\",\n      \"▁prec isely\",\n      \"▁precise ly\",\n      \"▁T a\",\n      \"re na\",\n      \"ren a\",\n      \"r ena\",\n      \"▁f older\",\n      \"▁fol der\",\n      \"▁fold er\",\n      \"▁ folder\",\n      \"▁Ch annel\",\n      \"▁ Channel\",\n      \"▁re vol\",\n      \"▁rev ol\",\n      \"M iss\",\n      \"ло м\",\n      \"red dit\",\n      \"adel ph\",\n      \"▁dis crim\",\n      \"▁disc rim\",\n      \"▁a ve\",\n      \"▁av e\",\n      \"▁ ave\",\n      \"pl eted\",\n      \"ple ted\",\n      \"plete d\",\n      \"plet ed\",\n      \"p leted\",\n      \"▁g ently\",\n      \"▁gent ly\",\n      \"FF FF\",\n      \"ro py\",\n      \"rop y\",\n      \"r opy\",\n      \"▁d ial\",\n      \"▁di al\",\n      \"▁dia l\",\n      \"Not Found\",\n      \"▁\\\" [\",\n      \"Hom e\",\n      \"H ome\",\n      \"on te\",\n      \"ont e\",\n      \"o nte\",\n      \"▁re lie\",\n      \"▁rel ie\",\n      \"▁reli e\",\n      \"▁Con text\",\n      \"▁Cont ext\",\n      \"▁ Context\",\n      \"▁st ats\",\n      \"▁stat s\",\n      \"▁sta ts\",\n      \"▁ stats\",\n      \"▁E nergy\",\n      \"oun ced\",\n      \"ounce d\",\n      \"▁gr ave\",\n      \"▁grav e\",\n      \"▁gra ve\",\n      \"▁re cip\",\n      \"▁rec ip\",\n      \"ли н\",\n      \"л ин\",\n      \"bl og\",\n      \"blo g\",\n      \"b log\",\n      \"▁na am\",\n      \"▁w o\",\n      \"▁ wo\",\n      \"▁direct ions\",\n      \"▁dire ctions\",\n      \"▁direction s\",\n      \"▁Lin coln\",\n      \"! )\",\n      \"un ci\",\n      \"unc i\",\n      \"ne q\",\n      \"n eq\",\n      \"Tag s\",\n      \"T ags\",\n      \"▁t um\",\n      \"▁tu m\",\n      \"▁s aving\",\n      \"▁sa ving\",\n      \"▁sav ing\",\n      \"ail le\",\n      \"ai lle\",\n      \"a ille\",\n      \"item ize\",\n      \"▁F amil\",\n      \"▁Fa mil\",\n      \"ms m\",\n      \"m sm\",\n      \"ne ws\",\n      \"new s\",\n      \"FF ER\",\n      \"F FER\",\n      \"▁D ead\",\n      \"▁De ad\",\n      \"▁ Dead\",\n      \"▁terr itory\",\n      \"▁territor y\",\n      \"▁territo ry\",\n      \"▁K at\",\n      \"▁Ka t\",\n      \"oc ker\",\n      \"ock er\",\n      \"o cker\",\n      \"in teger\",\n      \"inte ger\",\n      \"▁s ne\",\n      \"▁sn e\",\n      \"▁f ails\",\n      \"▁fa ils\",\n      \"▁fail s\",\n      \"▁franç ais\",\n      \"▁int roduction\",\n      \"▁introdu ction\",\n      \"▁G rant\",\n      \"▁Gr ant\",\n      \"▁Gran t\",\n      \"▁Gra nt\",\n      \"ycl e\",\n      \"yc le\",\n      \"y cle\",\n      \"'] .\",\n      \"' ].\",\n      \"▁v ier\",\n      \"▁vi er\",\n      \"▁vie r\",\n      \"▁ vier\",\n      \"nat ive\",\n      \"n ative\",\n      \"▁K le\",\n      \"▁Kl e\",\n      \"qu ote\",\n      \"quot e\",\n      \"User s\",\n      \"Us ers\",\n      \"Use rs\",\n      \"▁ad vis\",\n      \"▁adv is\",\n      \"▁g ym\",\n      \"▁gy m\",\n      \"▁prote in\",\n      \"ا ل\",\n      \"▁M ai\",\n      \"▁Ma i\",\n      \"▁prov iders\",\n      \"▁provide rs\",\n      \"▁provider s\",\n      \"▁so il\",\n      \"gu i\",\n      \"g ui\",\n      \"▁N ation\",\n      \"▁Nat ion\",\n      \"re ation\",\n      \"reat ion\",\n      \"▁T ab\",\n      \"▁Ta b\",\n      \"▁ Tab\",\n      \"en sis\",\n      \"ens is\",\n      \"in as\",\n      \"ina s\",\n      \"i nas\",\n      \"▁Scot land\",\n      \"▁dis patch\",\n      \"▁disp atch\",\n      \"▁ dispatch\",\n      \"un ion\",\n      \"uni on\",\n      \"▁b ere\",\n      \"▁be re\",\n      \"▁ber e\",\n      \"▁ bere\",\n      \"▁P ow\",\n      \"▁Po w\",\n      \"▁H ig\",\n      \"▁Hi g\",\n      \"▁stud ying\",\n      \"▁study ing\",\n      \"RE F\",\n      \"R EF\",\n      \"SS L\",\n      \"S SL\",\n      \"▁f right\",\n      \"▁fr ight\",\n      \"▁S ORT\",\n      \"▁SO RT\",\n      \"▁com pr\",\n      \"▁comp r\",\n      \"▁Mad rid\",\n      \"row ned\",\n      \"rown ed\",\n      \"r owned\",\n      \"op es\",\n      \"ope s\",\n      \"o pes\",\n      \"pd ev\",\n      \"p dev\",\n      \"▁w ash\",\n      \"▁was h\",\n      \"▁wa sh\",\n      \"▁' ../../\",\n      \"▁'../ ../\",\n      \"}} _\",\n      \"} }_\",\n      \"▁acc um\",\n      \"rol ling\",\n      \"roll ing\",\n      \"▁N C\",\n      \"▁ NC\",\n      \"▁f iction\",\n      \"▁fi ction\",\n      \"▁fict ion\",\n      \"ip t\",\n      \"i pt\",\n      \"conne cted\",\n      \"connect ed\",\n      \"lim its\",\n      \"limit s\",\n      \"▁l ap\",\n      \"▁la p\",\n      \"▁ lap\",\n      \"▁where as\",\n      \"pro m\",\n      \"pr om\",\n      \"p rom\",\n      \"▁appoint ment\",\n      \"Pro gram\",\n      \"Pr ogram\",\n      \"▁П ер\",\n      \"▁Пе р\",\n      \"na h\",\n      \"n ah\",\n      \"Valid ation\",\n      \"ic ons\",\n      \"ico ns\",\n      \"icon s\",\n      \"i cons\",\n      \"äl l\",\n      \"ä ll\",\n      \"▁rad ical\",\n      \"▁radi cal\",\n      \"▁ex clusive\",\n      \"▁excl usive\",\n      \"▁exclus ive\",\n      \"em ony\",\n      \"emon y\",\n      \"▁challeng ing\",\n      \"▁m s\",\n      \"▁ ms\",\n      \"▁P rivate\",\n      \"▁Priv ate\",\n      \"▁ Private\",\n      \"▁v ida\",\n      \"▁vi da\",\n      \"▁vid a\",\n      \"▁дру ги\",\n      \"▁camp us\",\n      \"▁cam pus\",\n      \"form s\",\n      \"for ms\",\n      \"д но\",\n      \"pl aat\",\n      \"bs t\",\n      \"b st\",\n      \"AT ED\",\n      \"ATE D\",\n      \"▁Ab stract\",\n      \"▁Abs tract\",\n      \"▁ Abstract\",\n      \"▁int ense\",\n      \"▁intens e\",\n      \"▁L td\",\n      \"▁contro vers\",\n      \"ó g\",\n      \"▁s ă\",\n      \"▁land ing\",\n      \"▁lan ding\",\n      \"! =\",\n      \"▁sc enes\",\n      \"▁scene s\",\n      \"▁scen es\",\n      \"▁Ch ap\",\n      \"▁Cha p\",\n      \"▁sp oken\",\n      \"▁spoke n\",\n      \"▁spo ken\",\n      \"cre d\",\n      \"cr ed\",\n      \"c red\",\n      \"▁p ride\",\n      \"▁pr ide\",\n      \"▁pri de\",\n      \"qu et\",\n      \"que t\",\n      \"▁m eter\",\n      \"▁me ter\",\n      \"▁met er\",\n      \"▁de utsch\",\n      \"uu m\",\n      \"u um\",\n      \"▁b less\",\n      \"▁bl ess\",\n      \"▁ble ss\",\n      \"▁H ann\",\n      \"▁Ha nn\",\n      \"▁Han n\",\n      \"▁input s\",\n      \"▁ inputs\",\n      \"▁R ow\",\n      \"▁Ro w\",\n      \"▁ Row\",\n      \"▁with draw\",\n      \"▁withd raw\",\n      \"P al\",\n      \"ac les\",\n      \"acle s\",\n      \"acl es\",\n      \"a cles\",\n      \"as sets\",\n      \"ass ets\",\n      \"asse ts\",\n      \"asset s\",\n      \"▁v l\",\n      \"▁ vl\",\n      \"ве де\",\n      \"вед е\",\n      \"▁G ot\",\n      \"▁Go t\",\n      \"▁air port\",\n      \"win d\",\n      \"wi nd\",\n      \"w ind\",\n      \"▁Columb ia\",\n      \"▁ch ocolate\",\n      \"▁h ö\",\n      \"▁ hö\",\n      \"▁al arm\",\n      \"FT WARE\",\n      \"▁J ay\",\n      \"▁Ja y\",\n      \"▁s ake\",\n      \"▁sa ke\",\n      \"▁reg istration\",\n      \"▁registr ation\",\n      \"vi d\",\n      \"v id\",\n      \"▁l ake\",\n      \"▁la ke\",\n      \"▁user name\",\n      \"▁ username\",\n      \"▁h ack\",\n      \"▁ha ck\",\n      \"index Of\",\n      \"c x\",\n      \"▁f estival\",\n      \"▁fest ival\",\n      \"▁club s\",\n      \"case s\",\n      \"ca ses\",\n      \"cas es\",\n      \"c ases\",\n      \"CT RL\",\n      \"]; \\r\",\n      \"] ;\\r\",\n      \"▁A ud\",\n      \"▁Au d\",\n      \"▁ Aud\",\n      \"▁prim era\",\n      \"▁prime ra\",\n      \"▁primer a\",\n      \"ва т\",\n      \"в ат\",\n      \"▁brill iant\",\n      \"ut her\",\n      \"uth er\",\n      \"u ther\",\n      \"▁difficult y\",\n      \"it als\",\n      \"ital s\",\n      \"ita ls\",\n      \"▁sc ores\",\n      \"▁score s\",\n      \"▁pol ít\",\n      \"data base\",\n      \"dat abase\",\n      \"as ka\",\n      \"ask a\",\n      \"a ska\",\n      \"▁## ####\",\n      \"▁### ###\",\n      \"▁#### ##\",\n      \"▁##### #\",\n      \"▁a cid\",\n      \"▁ac id\",\n      \"at on\",\n      \"ato n\",\n      \"a ton\",\n      \"at omic\",\n      \"ato mic\",\n      \"atom ic\",\n      \"fr eq\",\n      \"fre q\",\n      \"f req\",\n      \"▁WARRAN TY\",\n      \"▁report ing\",\n      \".) ,\",\n      \". ),\",\n      \"▁n ights\",\n      \"▁night s\",\n      \"▁program me\",\n      \")} {\",\n      \") }{\",\n      \"xi c\",\n      \"x ic\",\n      \"▁s po\",\n      \"▁sp o\",\n      \"line d\",\n      \"li ned\",\n      \"lin ed\",\n      \"l ined\",\n      \"qu arters\",\n      \"er ee\",\n      \"ere e\",\n      \"e ree\",\n      \"mer s\",\n      \"me rs\",\n      \"m ers\",\n      \"▁s erves\",\n      \"▁ser ves\",\n      \"▁serv es\",\n      \"▁serve s\",\n      \"co w\",\n      \"c ow\",\n      \"ль ко\",\n      \"en so\",\n      \"ens o\",\n      \"▁env iron\",\n      \"▁ environ\",\n      \"Li ke\",\n      \"L ike\",\n      \"an che\",\n      \"anc he\",\n      \"anch e\",\n      \"▁cr ash\",\n      \"▁K ap\",\n      \"▁Ka p\",\n      \"no indent\",\n      \"Con n\",\n      \"Co nn\",\n      \"▁ав то\",\n      \"▁in frastructure\",\n      \"IM E\",\n      \"I ME\",\n      \"▁R oom\",\n      \"▁Ro om\",\n      \"▁ Room\",\n      \"ne ed\",\n      \"n eed\",\n      \"or er\",\n      \"ore r\",\n      \"o rer\",\n      \"▁D est\",\n      \"▁De st\",\n      \"▁Des t\",\n      \"▁ Dest\",\n      \"▁D omin\",\n      \"▁Do min\",\n      \"▁Dom in\",\n      \"ather ine\",\n      \"▁Syd ney\",\n      \"▁g auge\",\n      \"▁gau ge\",\n      \"▁ga uge\",\n      \"▁j et\",\n      \"▁je t\",\n      \"▁ jet\",\n      \"b ably\",\n      \"▁comm only\",\n      \"▁common ly\",\n      \"▁st ations\",\n      \"▁stat ions\",\n      \"▁station s\",\n      \"ia h\",\n      \"i ah\",\n      \"n l\",\n      \"ж у\",\n      \"et en\",\n      \"ete n\",\n      \"e ten\",\n      \"_ )\",\n      \"ia c\",\n      \"i ac\",\n      \"am os\",\n      \"amo s\",\n      \"a mos\",\n      \"ne ment\",\n      \"nem ent\",\n      \"n ement\",\n      \"ko n\",\n      \"k on\",\n      \"Inter val\",\n      \"▁cab in\",\n      \"▁ca bin\",\n      \"▁e g\",\n      \"▁ eg\",\n      \"▁sh ots\",\n      \"▁shot s\",\n      \"▁ shots\",\n      \"▁A rea\",\n      \"▁Ar ea\",\n      \"▁Are a\",\n      \"▁ Area\",\n      \"sm ith\",\n      \"param eter\",\n      \"' }\",\n      \"▁h em\",\n      \"▁he m\",\n      \"▁ hem\",\n      \"▁s inging\",\n      \"▁sing ing\",\n      \"▁sin ging\",\n      \"▁access ible\",\n      \"▁P rin\",\n      \"▁Pr in\",\n      \"▁Pri n\",\n      \"opt ional\",\n      \"option al\",\n      \"an cial\",\n      \"anc ial\",\n      \"ancia l\",\n      \"sh ips\",\n      \"ship s\",\n      \"▁can vas\",\n      \"▁ canvas\",\n      \"sp e\",\n      \"s pe\",\n      \"▁address es\",\n      \"▁x ml\",\n      \"▁ xml\",\n      \"▁' \\\"\",\n      \"▁ '\\\"\",\n      \"▁k ar\",\n      \"▁ka r\",\n      \"▁ kar\",\n      \"ö ff\",\n      \"▁a ges\",\n      \"▁ag es\",\n      \"▁age s\",\n      \"▁ ages\",\n      \"ё р\",\n      \"zi ng\",\n      \"zin g\",\n      \"z ing\",\n      \"▁ö ver\",\n      \"▁C lean\",\n      \"▁Cle an\",\n      \"▁ Clean\",\n      \"▁Sil ver\",\n      \"▁о со\",\n      \"▁ос о\",\n      \"he alth\",\n      \"Al i\",\n      \"A li\",\n      \"▁t s\",\n      \"▁ ts\",\n      \"at ern\",\n      \"ate rn\",\n      \"ater n\",\n      \"a tern\",\n      \"▁cho osing\",\n      \"▁bur ned\",\n      \"▁burn ed\",\n      \"br id\",\n      \"b rid\",\n      \"ro oms\",\n      \"room s\",\n      \"öt t\",\n      \"ö tt\",\n      \"K ERN\",\n      \"▁d ish\",\n      \"▁dis h\",\n      \"▁di sh\",\n      \"S a\",\n      \"De tail\",\n      \"Det ail\",\n      \"▁H ind\",\n      \"▁Hi nd\",\n      \"▁D ans\",\n      \"▁Dan s\",\n      \"▁Da ns\",\n      \"i ę\",\n      \"▁J ahren\",\n      \"▁Jah ren\",\n      \"▁Jahr en\",\n      \"▁Jahre n\",\n      \"▁Ja hren\",\n      \"ext ension\",\n      \"al las\",\n      \"all as\",\n      \"alla s\",\n      \"▁B illy\",\n      \"▁Bill y\",\n      \"▁Bil ly\",\n      \"us ammen\",\n      \"it ud\",\n      \"itu d\",\n      \"ge on\",\n      \"geo n\",\n      \"Te mp\",\n      \"T emp\",\n      \"Le g\",\n      \"L eg\",\n      \"itt el\",\n      \"itte l\",\n      \"add le\",\n      \"▁mus cle\",\n      \"▁sc ared\",\n      \"▁scar ed\",\n      \"ss on\",\n      \"s son\",\n      \"▁de note\",\n      \"▁den ote\",\n      \"ie urs\",\n      \"ieu rs\",\n      \"ieur s\",\n      \"i eurs\",\n      \"▁o range\",\n      \"▁or ange\",\n      \"▁h ub\",\n      \"▁ hub\",\n      \"▁re b\",\n      \"▁r eb\",\n      \"▁ reb\",\n      \"ed i\",\n      \"e di\",\n      \"▁vo ices\",\n      \"▁voice s\",\n      \"F older\",\n      \"▁s uspend\",\n      \"▁sus pend\",\n      \"▁susp end\",\n      \"▁ suspend\",\n      \"▁He art\",\n      \"▁sc rap\",\n      \"▁scr ap\",\n      \"▁a ggreg\",\n      \"▁ag greg\",\n      \"▁Gu ide\",\n      \"trans action\",\n      \"▁r iding\",\n      \"▁ri ding\",\n      \"▁rid ing\",\n      \"▁v á\",\n      \"▁ vá\",\n      \"▁b reed\",\n      \"▁br eed\",\n      \"▁bre ed\",\n      \"▁bree d\",\n      \"▁con cert\",\n      \"▁conc ert\",\n      \"▁conce rt\",\n      \"▁concer t\",\n      \"appro x\",\n      \"▁ch ances\",\n      \"▁chance s\",\n      \"To k\",\n      \"T ok\",\n      \"E q\",\n      \"par ts\",\n      \"part s\",\n      \"p arts\",\n      \"▁sch olar\",\n      \"▁schol ar\",\n      \"of fs\",\n      \"off s\",\n      \"fl ush\",\n      \"flu sh\",\n      \"! ”\",\n      \"▁lo gin\",\n      \"▁log in\",\n      \"▁ login\",\n      \"▁so ort\",\n      \"▁M and\",\n      \"▁Man d\",\n      \"▁Ma nd\",\n      \"▁function al\",\n      \"▁B ou\",\n      \"▁Bo u\",\n      \"▁subject s\",\n      \"my s\",\n      \"m ys\",\n      \"▁extra ord\",\n      \"▁Build ing\",\n      \"ik t\",\n      \"i kt\",\n      \"B ad\",\n      \"ia mi\",\n      \"iam i\",\n      \"i ami\",\n      \"Dr iver\",\n      \"D river\",\n      \"êt e\",\n      \"ê te\",\n      \"▁k v\",\n      \"▁ kv\",\n      \"▁t imer\",\n      \"▁time r\",\n      \"▁tim er\",\n      \"▁ti mer\",\n      \"▁ timer\",\n      \"ition ally\",\n      \"itional ly\",\n      \"▁a thlet\",\n      \"▁ath let\",\n      \"▁\\\" );\",\n      \"▁\\\") ;\",\n      \"▁ \\\");\",\n      \"w y\",\n      \"CF G\",\n      \"▁he aven\",\n      \"▁heav en\",\n      \"о в\",\n      \"▁exper imental\",\n      \"▁experiment al\",\n      \"▁b ounds\",\n      \"▁bound s\",\n      \"▁ bounds\",\n      \"IC K\",\n      \"I CK\",\n      \"▁ex cit\",\n      \"▁exc it\",\n      \"▁qu it\",\n      \"▁qui t\",\n      \"▁q uit\",\n      \"▁univers al\",\n      \"д ь\",\n      \"▁S P\",\n      \"▁ SP\",\n      \"▁st ub\",\n      \"▁ stub\",\n      \"▁k le\",\n      \"▁kl e\",\n      \"▁ kle\",\n      \"▁B art\",\n      \"▁Bar t\",\n      \"▁Ba rt\",\n      \"▁\\\" @\",\n      \"pe l\",\n      \"p el\",\n      \"▁( !(\",\n      \"▁(! (\",\n      \"▁se lector\",\n      \"▁select or\",\n      \"▁sel ector\",\n      \"▁sele ctor\",\n      \"▁ selector\",\n      \"E B\",\n      \"▁c oc\",\n      \"▁co c\",\n      \"et ed\",\n      \"ete d\",\n      \"e ted\",\n      \"ют ь\",\n      \"ю ть\",\n      \"▁poss ess\",\n      \"▁R ick\",\n      \"▁Ric k\",\n      \"▁unus ual\",\n      \"ter min\",\n      \"term in\",\n      \"▁b ags\",\n      \"▁bag s\",\n      \"▁ba gs\",\n      \"▁lo ading\",\n      \"▁load ing\",\n      \"▁ loading\",\n      \"▁t f\",\n      \"▁ tf\",\n      \"▁) \\r\",\n      \"▁ )\\r\",\n      \"pro vider\",\n      \"prov ider\",\n      \"plet ion\",\n      \"▁c ursor\",\n      \"▁cur sor\",\n      \"▁ cursor\",\n      \"▁pa used\",\n      \"▁paus ed\",\n      \"▁pause d\",\n      \"и м\",\n      \"▁coun sel\",\n      \"] <\",\n      \"ze ch\",\n      \"zec h\",\n      \"z ech\",\n      \"▁t ie\",\n      \"▁ti e\",\n      \"▁M oon\",\n      \"▁Mo on\",\n      \"▁ar med\",\n      \"▁arm ed\",\n      \"▁ armed\",\n      \"▁ob serve\",\n      \"▁observ e\",\n      \"▁obs erve\",\n      \"▁per met\",\n      \"▁perm et\",\n      \"▁J ob\",\n      \"▁Jo b\",\n      \"▁ Job\",\n      \"fö r\",\n      \"f ör\",\n      \"arg ument\",\n      \"▁egg s\",\n      \"▁eg gs\",\n      \"ás t\",\n      \"á st\",\n      \"▁incred ibly\",\n      \"wer ken\",\n      \"werk en\",\n      \"iz ard\",\n      \"izar d\",\n      \"iza rd\",\n      \"▁p ainted\",\n      \"▁pain ted\",\n      \"▁pa inted\",\n      \"▁paint ed\",\n      \"▁Viet nam\",\n      \"▁vi olent\",\n      \"▁viol ent\",\n      \"Es t\",\n      \"E st\",\n      \"ier ra\",\n      \"i erra\",\n      \"re ader\",\n      \"read er\",\n      \"rea der\",\n      \"we ise\",\n      \"wei se\",\n      \"▁J osh\",\n      \"▁Jo sh\",\n      \"▁Jos h\",\n      \"▁H im\",\n      \"▁Hi m\",\n      \"as hes\",\n      \"ash es\",\n      \"or igin\",\n      \"orig in\",\n      \"ori gin\",\n      \"▁sp ir\",\n      \"▁ spir\",\n      \"▁T ree\",\n      \"▁Tr ee\",\n      \"▁Tre e\",\n      \"▁ Tree\",\n      \"▁n iet\",\n      \"▁nie t\",\n      \"▁ni et\",\n      \"WI N\",\n      \"W IN\",\n      \"mar gin\",\n      \"m argin\",\n      \"▁inv olves\",\n      \"▁invol ves\",\n      \"▁involve s\",\n      \"▁organ is\",\n      \"▁N acional\",\n      \"bar a\",\n      \"ba ra\",\n      \"b ara\",\n      \"▁de puis\",\n      \"▁dep uis\",\n      \"pi o\",\n      \"p io\",\n      \"fe atures\",\n      \"feature s\",\n      \"feat ures\",\n      \"st ru\",\n      \"str u\",\n      \"▁Dis ney\",\n      \"▁restaur ants\",\n      \"▁restaurant s\",\n      \"Mil l\",\n      \"M ill\",\n      \")) \\r\",\n      \") )\\r\",\n      \"с ла\",\n      \"rem ote\",\n      \"▁Th ird\",\n      \"▁base ball\",\n      \"▁al gun\",\n      \"▁alg un\",\n      \"] $\",\n      \"▁em ployed\",\n      \"▁employ ed\",\n      \"po t\",\n      \"p ot\",\n      \"▁Un ityEngine\",\n      \"▁ UnityEngine\",\n      \"▁integr ation\",\n      \"▁risk s\",\n      \"▁ris ks\",\n      \"▁st ro\",\n      \"▁str o\",\n      \"▁ag osto\",\n      \"▁ago sto\",\n      \"incl uding\",\n      \"▁M ind\",\n      \"▁Min d\",\n      \"▁Mi nd\",\n      \"▁st roke\",\n      \"▁str oke\",\n      \"▁stro ke\",\n      \"▁ stroke\",\n      \"▁de als\",\n      \"▁deal s\",\n      \"aj ax\",\n      \"aja x\",\n      \"a jax\",\n      \"ё т\",\n      \"▁\\\\ |\",\n      \"▁ \\\\|\",\n      \"ta r\",\n      \"t ar\",\n      \"adelph ia\",\n      \"▁s ab\",\n      \"▁sa b\",\n      \"pu r\",\n      \"p ur\",\n      \"▁sc rew\",\n      \"▁scr ew\",\n      \"▁in ev\",\n      \"▁\\\\ ;\",\n      \"▁Don ald\",\n      \"▁ Donald\",\n      \"ö d\",\n      \"cc a\",\n      \"c ca\",\n      \"es is\",\n      \"esi s\",\n      \"e sis\",\n      \"▁separ ated\",\n      \"▁separate d\",\n      \"DB G\",\n      \"D BG\",\n      \"ag ent\",\n      \"age nt\",\n      \"agen t\",\n      \"a gent\",\n      \"▁p acked\",\n      \"▁pack ed\",\n      \"▁pac ked\",\n      \"▁ packed\",\n      \"н ня\",\n      \"in tern\",\n      \"int ern\",\n      \"inter n\",\n      \"inte rn\",\n      \"▁M onte\",\n      \"▁Mon te\",\n      \"▁Mont e\",\n      \"▁Mo nte\",\n      \"▁prov ince\",\n      \"▁provinc e\",\n      \"▁provin ce\",\n      \"▁exp anded\",\n      \"▁expand ed\",\n      \"▁appro ached\",\n      \"▁approach ed\",\n      \"▁E p\",\n      \"CL K\",\n      \"▁o re\",\n      \"▁or e\",\n      \"▁ ore\",\n      \"B atch\",\n      \"▁impress ive\",\n      \"R M\",\n      \"▁L ocation\",\n      \"▁Loc ation\",\n      \"▁ Location\",\n      \"▁sh ame\",\n      \"▁sha me\",\n      \"wrap per\",\n      \"w rapper\",\n      \"un wrap\",\n      \"pe er\",\n      \"Bit s\",\n      \"Bi ts\",\n      \"B its\",\n      \"▁S N\",\n      \"▁ SN\",\n      \"sc ar\",\n      \"s car\",\n      \"Com e\",\n      \"Co me\",\n      \"C ome\",\n      \"▁coun cil\",\n      \"▁shout ed\",\n      \"ma king\",\n      \"m aking\",\n      \"▁M aur\",\n      \"▁Ma ur\",\n      \"▁Mau r\",\n      \"▁w is\",\n      \"LE TE\",\n      \"LET E\",\n      \"▁f s\",\n      \"▁ fs\",\n      \"▁d z\",\n      \"▁ dz\",\n      \"un que\",\n      \"ue go\",\n      \"u ego\",\n      \"R andom\",\n      \"H tml\",\n      \"ze m\",\n      \"z em\",\n      \"▁D utch\",\n      \"▁Gold en\",\n      \"▁Gol den\",\n      \"▁T ar\",\n      \"▁Ta r\",\n      \"▁H erm\",\n      \"▁He rm\",\n      \"▁Her m\",\n      \"▁str etch\",\n      \"▁stret ch\",\n      \"var d\",\n      \"va rd\",\n      \"v ard\",\n      \"▁t ries\",\n      \"▁tr ies\",\n      \"▁tri es\",\n      \"W I\",\n      \"▁disappe ared\",\n      \"▁disappear ed\",\n      \"▁cr usher\",\n      \"▁crush er\",\n      \"▁K an\",\n      \"▁Ka n\",\n      \"Ma g\",\n      \"M ag\",\n      \"ø r\",\n      \"▁Cam bridge\",\n      \"▁Camb ridge\",\n      \"▁do po\",\n      \"▁dop o\",\n      \"at ura\",\n      \"atur a\",\n      \"atu ra\",\n      \"he art\",\n      \"▁Sp iel\",\n      \"/* *\\r\",\n      \"/** \\r\",\n      \"Dir ection\",\n      \"Direct ion\",\n      \"Di rection\",\n      \"D irection\",\n      \"at ting\",\n      \"att ing\",\n      \"atti ng\",\n      \"wi g\",\n      \"w ig\",\n      \"▁c odes\",\n      \"▁co des\",\n      \"▁code s\",\n      \"▁cod es\",\n      \"▁ codes\",\n      \"▁pow der\",\n      \"al ert\",\n      \"ale rt\",\n      \"aler t\",\n      \"sem bl\",\n      \"semb l\",\n      \"▁y e\",\n      \"▁ ye\",\n      \"St ar\",\n      \"S tar\",\n      \"▁ro ots\",\n      \"▁root s\",\n      \"▁H oll\",\n      \"▁Hol l\",\n      \"▁Ho ll\",\n      \"Re le\",\n      \"Rel e\",\n      \"R ele\",\n      \"▁const itu\",\n      \"n c\",\n      \"“ .\",\n      \"re ference\",\n      \"refer ence\",\n      \"if icial\",\n      \"ific ial\",\n      \"ifi cial\",\n      \"clos ure\",\n      \"▁fig ured\",\n      \"▁figure d\",\n      \"▁assum ption\",\n      \"getElement ById\",\n      \"▁A G\",\n      \"▁ AG\",\n      \"os es\",\n      \"ose s\",\n      \"o ses\",\n      \"▁_ \\\"\",\n      \"ep per\",\n      \"ob re\",\n      \"o bre\",\n      \"en umerate\",\n      \"о графи\",\n      \"▁less ons\",\n      \"▁lesson s\",\n      \"▁qual ified\",\n      \"Per son\",\n      \"Pers on\",\n      \"P erson\",\n      \"an se\",\n      \"ans e\",\n      \"▁M ort\",\n      \"▁Mor t\",\n      \"▁Mo rt\",\n      \"s ylvania\",\n      \"▁c ré\",\n      \"▁cr é\",\n      \"Bind ing\",\n      \"Bin ding\",\n      \"B inding\",\n      \"і с\",\n      \"▁V ari\",\n      \"▁Var i\",\n      \"▁Va ri\",\n      \"▁ Vari\",\n      \"▁re minded\",\n      \"▁remind ed\",\n      \"▁members hip\",\n      \"▁member ship\",\n      \"ip er\",\n      \"ipe r\",\n      \"i per\",\n      \"zt e\",\n      \"z te\",\n      \"▁c ref\",\n      \"▁cre f\",\n      \"▁cr ef\",\n      \"▁ cref\",\n      \"▁P A\",\n      \"▁ PA\",\n      \"plaat st\",\n      \"▁Env ironment\",\n      \"▁ Environment\",\n      \"bo y\",\n      \"b oy\",\n      \"▁ph rase\",\n      \"▁phr ase\",\n      \"▁ phrase\",\n      \"riv ial\",\n      \"ra g\",\n      \"r ag\",\n      \"во ди\",\n      \"вод и\",\n      \"▁p se\",\n      \"▁ps e\",\n      \"▁ pse\",\n      \"▁tour nament\",\n      \")} ,\",\n      \") },\",\n      \"▁S ound\",\n      \"▁So und\",\n      \"▁Sou nd\",\n      \"▁ Sound\",\n      \"▁V el\",\n      \"▁Ve l\",\n      \"▁ Vel\",\n      \"▁B erg\",\n      \"▁Be rg\",\n      \"▁Ber g\",\n      \"el son\",\n      \"els on\",\n      \"▁ref uge\",\n      \"▁else where\",\n      \"qu ality\",\n      \"qual ity\",\n      \"▁abandon ed\",\n      \"▁F lo\",\n      \"▁Fl o\",\n      \"ib il\",\n      \"i bil\",\n      \"UA L\",\n      \"U AL\",\n      \"▁Pl atz\",\n      \"▁d elta\",\n      \"▁del ta\",\n      \"▁ delta\",\n      \"▁B uy\",\n      \"▁Bu y\",\n      \"ri ère\",\n      \"r ière\",\n      \"▁fl our\",\n      \"▁flo ur\",\n      \"▁laugh ing\",\n      \"▁laug hing\",\n      \"▁Look ing\",\n      \"▁Lo oking\",\n      \"Ag ent\",\n      \"A gent\",\n      \"▁w x\",\n      \"▁ wx\",\n      \"▁W ales\",\n      \"▁Wal es\",\n      \"▁Wa les\",\n      \"C tx\",\n      \"▁c ake\",\n      \"▁ca ke\",\n      \"▁c rate\",\n      \"▁cr ate\",\n      \"▁ crate\",\n      \"▁к ла\",\n      \"▁ кла\",\n      \"an ga\",\n      \"ang a\",\n      \"Z ero\",\n      \"▁amount s\",\n      \"Tr a\",\n      \"T ra\",\n      \"om etric\",\n      \"omet ric\",\n      \"o metric\",\n      \"▁con straints\",\n      \"▁constr aints\",\n      \"▁constraint s\",\n      \"▁tem ple\",\n      \"▁templ e\",\n      \"▁temp le\",\n      \"▁install ation\",\n      \"st roke\",\n      \"str oke\",\n      \"▁N eder\",\n      \"▁Ne der\",\n      \"▁Ned er\",\n      \"ț i\",\n      \"▁I bid\",\n      \"▁o bs\",\n      \"▁ob s\",\n      \"▁ obs\",\n      \"ent ries\",\n      \"entr ies\",\n      \"▁j usqu\",\n      \"OR M\",\n      \"O RM\",\n      \"▁S ky\",\n      \"▁Sk y\",\n      \"ik es\",\n      \"ike s\",\n      \"i kes\",\n      \"na k\",\n      \"n ak\",\n      \"▁m odes\",\n      \"▁mod es\",\n      \"▁mo des\",\n      \"▁mode s\",\n      \"▁Hit ler\",\n      \"▁b elt\",\n      \"▁be lt\",\n      \"▁bel t\",\n      \"▁point ing\",\n      \"▁B an\",\n      \"▁Ba n\",\n      \"ign ore\",\n      \"▁per su\",\n      \"▁pers u\",\n      \"▁Bes ides\",\n      \"yn om\",\n      \"y nom\",\n      \"▁leg is\",\n      \"▁C PU\",\n      \"▁CP U\",\n      \"▁ CPU\",\n      \"an ded\",\n      \"and ed\",\n      \"ande d\",\n      \"ui s\",\n      \"u is\",\n      \"bs ite\",\n      \"b site\",\n      \"▁E uro\",\n      \"▁Eu ro\",\n      \"▁ut ter\",\n      \"▁ utter\",\n      \"e clipse\",\n      \"▁ir re\",\n      \"▁irr e\",\n      \"▁D ocument\",\n      \"▁Doc ument\",\n      \"▁ Document\",\n      \"▁Mean while\",\n      \"▁famil ie\",\n      \"ver ify\",\n      \"▁J ason\",\n      \"▁Ja son\",\n      \"▁O rt\",\n      \"▁Or t\",\n      \"▁ci udad\",\n      \"▁techn ologies\",\n      \"▁ча сти\",\n      \"▁част и\",\n      \"▁час ти\",\n      \"ni ca\",\n      \"nic a\",\n      \"n ica\",\n      \"can cel\",\n      \"c ancel\",\n      \"V irtual\",\n      \"▁ev ident\",\n      \"am an\",\n      \"ama n\",\n      \"a man\",\n      \"▁Sup reme\",\n      \"at oes\",\n      \"ato es\",\n      \"▁ste ady\",\n      \"▁stead y\",\n      \"▁month ly\",\n      \"▁SO FTWARE\",\n      \"Di e\",\n      \"D ie\",\n      \"▁app lying\",\n      \"▁apply ing\",\n      \"▁appl ying\",\n      \"Di g\",\n      \"D ig\",\n      \"vi er\",\n      \"v ier\",\n      \"▁го ро\",\n      \"▁W H\",\n      \"▁ WH\",\n      \"▁min ds\",\n      \"▁mind s\",\n      \"▁k am\",\n      \"▁ka m\",\n      \"▁expert ise\",\n      \"▁not ification\",\n      \"▁ notification\",\n      \". -\",\n      \"▁del iber\",\n      \"▁H E\",\n      \"▁ HE\",\n      \"▁res ist\",\n      \"ou tes\",\n      \"out es\",\n      \"oute s\",\n      \"o utes\",\n      \"▁How ard\",\n      \"▁Ho ward\",\n      \"spec ial\",\n      \"spe cial\",\n      \"▁p resentation\",\n      \"▁present ation\",\n      \"▁You Tube\",\n      \"mi r\",\n      \"m ir\",\n      \"▁r ust\",\n      \"▁ru st\",\n      \"▁rus t\",\n      \"▁ rust\",\n      \"▁n ations\",\n      \"▁nat ions\",\n      \"▁nation s\",\n      \"▁G ets\",\n      \"▁Ge ts\",\n      \"▁Get s\",\n      \"▁respon ses\",\n      \"▁response s\",\n      \"▁respons es\",\n      \"ar ded\",\n      \"ard ed\",\n      \"arde d\",\n      \"im mer\",\n      \"imm er\",\n      \"▁reve al\",\n      \"▁M eg\",\n      \"▁Me g\",\n      \"▁tod os\",\n      \"▁todo s\",\n      \"▁a de\",\n      \"▁ad e\",\n      \"▁ ade\",\n      \"ateg ories\",\n      \"ategor ies\",\n      \"▁pay ments\",\n      \"▁payment s\",\n      \"ô t\",\n      \"En umer\",\n      \"Enum er\",\n      \"E numer\",\n      \"▁platform s\",\n      \"▁plat forms\",\n      \"▁life time\",\n      \"▁lif etime\",\n      \"Com plete\",\n      \"Comp lete\",\n      \"Qu est\",\n      \"Que st\",\n      \"Q uest\",\n      \"en ders\",\n      \"end ers\",\n      \"ender s\",\n      \"ende rs\",\n      \"▁c um\",\n      \"▁cu m\",\n      \"pl er\",\n      \"ple r\",\n      \"p ler\",\n      \"▁app l\",\n      \"▁ap pl\",\n      \"äh rend\",\n      \"ähr end\",\n      \"з ь\",\n      \"en ez\",\n      \"ene z\",\n      \"e nez\",\n      \"over ty\",\n      \"yn chron\",\n      \"▁arg ued\",\n      \"▁argue d\",\n      \"▁K ath\",\n      \"▁Kat h\",\n      \"▁Ka th\",\n      \"▁s ynchron\",\n      \"▁syn chron\",\n      \"▁B uilder\",\n      \"▁Build er\",\n      \"▁ Builder\",\n      \"B order\",\n      \"Pl an\",\n      \"P lan\",\n      \"ri eb\",\n      \"rie b\",\n      \"r ieb\",\n      \"n m\",\n      \"FOR MAT\",\n      \"FORM AT\",\n      \"us k\",\n      \"u sk\",\n      \"▁j umped\",\n      \"▁jump ed\",\n      \"ch arg\",\n      \"char g\",\n      \"cha rg\",\n      \"▁cont ribute\",\n      \"▁contribut e\",\n      \"Me sh\",\n      \"M esh\",\n      \"Un ivers\",\n      \"re ll\",\n      \"rel l\",\n      \"r ell\",\n      \"▁p olar\",\n      \"▁pol ar\",\n      \"▁po lar\",\n      \"▁tr ois\",\n      \"▁tro is\",\n      \"ic io\",\n      \"ici o\",\n      \"i cio\",\n      \"Group s\",\n      \"G roups\",\n      \"▁( %\",\n      \"▁ (%\",\n      \"Lo op\",\n      \"L oop\",\n      \"▁g az\",\n      \"▁ga z\",\n      \"db g\",\n      \"d bg\",\n      \"LA Y\",\n      \"L AY\",\n      \"Jo hn\",\n      \"J ohn\",\n      \"bl ocks\",\n      \"block s\",\n      \"blo cks\",\n      \"▁l ung\",\n      \"▁lu ng\",\n      \"▁lun g\",\n      \"▁ lung\",\n      \"▁k ön\",\n      \"▁kö n\",\n      \"th rough\",\n      \"▁fif th\",\n      \"lish er\",\n      \"l isher\",\n      \"▁inv olving\",\n      \"▁invol ving\",\n      \"▁De ep\",\n      \"▁ Deep\",\n      \"▁обла сти\",\n      \"▁s ull\",\n      \"▁su ll\",\n      \"▁sul l\",\n      \"Ex port\",\n      \"Exp ort\",\n      \"▁K ate\",\n      \"▁Kat e\",\n      \"▁Ka te\",\n      \"per iod\",\n      \"ch arge\",\n      \"char ge\",\n      \"charg e\",\n      \"G T\",\n      \"\\\"> \\r\",\n      \"\\\" >\\r\",\n      \"ти н\",\n      \"т ин\",\n      \"▁O tt\",\n      \"▁Ot t\",\n      \"▁inter actions\",\n      \"▁interaction s\",\n      \"▁interact ions\",\n      \"▁Tor onto\",\n      \"TR ACE\",\n      \"TRA CE\",\n      \"▁d ifer\",\n      \"▁di fer\",\n      \"▁dif er\",\n      \"▁lib eral\",\n      \"▁liber al\",\n      \"▁p article\",\n      \"▁part icle\",\n      \"▁partic le\",\n      \"▁parti cle\",\n      \"▁sur ve\",\n      \"▁surv e\",\n      \"al ous\",\n      \"alo us\",\n      \"re ason\",\n      \"rea son\",\n      \"▁de pression\",\n      \"▁dep ression\",\n      \"▁depress ion\",\n      \"а л\",\n      \"▁f lower\",\n      \"▁fl ower\",\n      \"▁flo wer\",\n      \"▁flow er\",\n      \"▁wa ar\",\n      \"▁h ade\",\n      \"▁had e\",\n      \"▁ha de\",\n      \"▁cent uries\",\n      \"ut y\",\n      \"u ty\",\n      \"par ty\",\n      \"part y\",\n      \"▁appro val\",\n      \"gener ate\",\n      \"▁B arn\",\n      \"▁Bar n\",\n      \"▁Ba rn\",\n      \"▁m arg\",\n      \"▁mar g\",\n      \"▁ma rg\",\n      \"▁m onde\",\n      \"▁mon de\",\n      \"▁mo nde\",\n      \"▁mond e\",\n      \"▁o ok\",\n      \"▁ ook\",\n      \"▁Cl ark\",\n      \"▁Clar k\",\n      \"▁the oret\",\n      \"vious ly\",\n      \"vi ously\",\n      \"v iously\",\n      \"? )\",\n      \"▁R ud\",\n      \"▁Ru d\",\n      \"st mt\",\n      \"in ction\",\n      \"inct ion\",\n      \"▁t un\",\n      \"▁tu n\",\n      \"▁ro ads\",\n      \"▁road s\",\n      \"▁rot ation\",\n      \"▁ rotation\",\n      \"pp en\",\n      \"ppe n\",\n      \"p pen\",\n      \"sen sor\",\n      \"s ensor\",\n      \"▁K ol\",\n      \"▁Ko l\",\n      \"id elines\",\n      \"ide lines\",\n      \"idel ines\",\n      \"▁ є\",\n      \"▁com posed\",\n      \"▁comp osed\",\n      \"▁compos ed\",\n      \"▁v irus\",\n      \"▁vi rus\",\n      \"▁vir us\",\n      \"' $\",\n      \"S N\",\n      \"▁V on\",\n      \"▁Vo n\",\n      \"mon t\",\n      \"mo nt\",\n      \"m ont\",\n      \"la r\",\n      \"l ar\",\n      \"▁opin ions\",\n      \"▁opinion s\",\n      \"uct ion\",\n      \"u ction\",\n      \"ru pal\",\n      \"rup al\",\n      \"under line\",\n      \"▁hor ror\",\n      \"Mus t\",\n      \"Mu st\",\n      \"M ust\",\n      \"ot to\",\n      \"ott o\",\n      \"o tto\",\n      \"Sh ould\",\n      \"▁stat ist\",\n      \"▁g em\",\n      \"▁ge m\",\n      \"▁ gem\",\n      \"▁se cre\",\n      \"▁sec re\",\n      \"▁st rip\",\n      \"▁str ip\",\n      \"▁stri p\",\n      \"▁ strip\",\n      \"▁d irt\",\n      \"▁di rt\",\n      \"▁dir t\",\n      \"ama zon\",\n      \"amaz on\",\n      \"▁R ound\",\n      \"▁Ro und\",\n      \"▁Rou nd\",\n      \"▁ Round\",\n      \"▁dis covery\",\n      \"▁disc overy\",\n      \"▁discover y\",\n      \"▁disco very\",\n      \"▁G O\",\n      \"▁ GO\",\n      \"▁substant ial\",\n      \"ib t\",\n      \"i bt\",\n      \"▁dem ands\",\n      \"▁demand s\",\n      \"▁every day\",\n      \"▁b esch\",\n      \"▁be sch\",\n      \"▁bes ch\",\n      \"▁B ridge\",\n      \"▁Br idge\",\n      \"▁H D\",\n      \"▁ HD\",\n      \"▁D ol\",\n      \"▁Do l\",\n      \"▁t rès\",\n      \"▁tr ès\",\n      \"an ni\",\n      \"ann i\",\n      \"ro it\",\n      \"() );\\r\",\n      \"()); \\r\",\n      \"()) ;\\r\",\n      \"( ));\\r\",\n      \"fa r\",\n      \"f ar\",\n      \"tim estamp\",\n      \"▁bul k\",\n      \"Bl ack\",\n      \"▁g an\",\n      \"▁ga n\",\n      \"▁ gan\",\n      \"set ting\",\n      \"ret val\",\n      \"ва не\",\n      \"ван е\",\n      \"nu ng\",\n      \"n ung\",\n      \"▁talk s\",\n      \"▁tal ks\",\n      \"▁scient ists\",\n      \"▁scientist s\",\n      \"▁v ig\",\n      \"▁vi g\",\n      \"▁quant ity\",\n      \"▁G ard\",\n      \"▁Gar d\",\n      \"▁Ga rd\",\n      \"▁mov ements\",\n      \"▁move ments\",\n      \"▁movement s\",\n      \"äh r\",\n      \"ä hr\",\n      \"ling s\",\n      \"lin gs\",\n      \"l ings\",\n      \"▁Т е\",\n      \"te am\",\n      \"ri to\",\n      \"rit o\",\n      \"r ito\",\n      \"▁as sembly\",\n      \"▁ assembly\",\n      \"il st\",\n      \"ils t\",\n      \"i lst\",\n      \"▁happ iness\",\n      \"▁le af\",\n      \"▁ leaf\",\n      \"▁ass essment\",\n      \"▁assess ment\",\n      \"Co ord\",\n      \"ir s\",\n      \"i rs\",\n      \"sa m\",\n      \"s am\",\n      \"▁att orney\",\n      \"▁g eme\",\n      \"▁ge me\",\n      \"▁gem e\",\n      \"▁ geme\",\n      \"ID E\",\n      \"I DE\",\n      \"▁V ere\",\n      \"▁Ver e\",\n      \"▁Ve re\",\n      \"▁Anth ony\",\n      \"am iento\",\n      \"ami ento\",\n      \"▁A st\",\n      \"▁As t\",\n      \"▁cir cul\",\n      \"▁circ ul\",\n      \"▁Fr ances\",\n      \"▁Franc es\",\n      \"▁France s\",\n      \"▁Fran ces\",\n      \"▁p ent\",\n      \"▁pe nt\",\n      \"▁pen t\",\n      \"▁ pent\",\n      \"▁m ate\",\n      \"▁mat e\",\n      \"▁ma te\",\n      \"▁ mate\",\n      \"▁Trans port\",\n      \"▁ Transport\",\n      \"ow o\",\n      \"o wo\",\n      \"ч у\",\n      \"is tes\",\n      \"ist es\",\n      \"iste s\",\n      \"TR AN\",\n      \"TRA N\",\n      \"T RAN\",\n      \"IM PORT\",\n      \"IMP ORT\",\n      \"▁B reak\",\n      \"▁Bre ak\",\n      \"▁ Break\",\n      \"▁s ons\",\n      \"▁so ns\",\n      \"▁son s\",\n      \"▁invest ors\",\n      \"▁Phil ipp\",\n      \"▁Philip p\",\n      \"TH OD\",\n      \"▁pan ic\",\n      \"▁pa nic\",\n      \"▁ panic\",\n      \"▁: )\",\n      \"▁d etection\",\n      \"▁det ection\",\n      \"▁detect ion\",\n      \"▁sim ultane\",\n      \"nt e\",\n      \"n te\",\n      \"▁list ened\",\n      \"▁listen ed\",\n      \"к ре\",\n      \"▁B rig\",\n      \"▁Br ig\",\n      \"Option al\",\n      \"Opt ional\",\n      \"▁a bund\",\n      \"▁ab und\",\n      \"▁c riteria\",\n      \"▁crit eria\",\n      \"▁c hip\",\n      \"▁ch ip\",\n      \"▁chi p\",\n      \"▁ chip\",\n      \"▁ок ру\",\n      \"▁Con stant\",\n      \"▁Const ant\",\n      \"▁ Constant\",\n      \"▁m ining\",\n      \"▁min ing\",\n      \"▁mi ning\",\n      \"▁mini ng\",\n      \"та л\",\n      \"т ал\",\n      \"ma tes\",\n      \"mat es\",\n      \"mate s\",\n      \"m ates\",\n      \"▁w orship\",\n      \"▁wor ship\",\n      \"ro uter\",\n      \"rou ter\",\n      \"route r\",\n      \"r outer\",\n      \"C N\",\n      \"▁M atch\",\n      \"▁Mat ch\",\n      \"▁ Match\",\n      \"▁C ole\",\n      \"▁Col e\",\n      \"▁Co le\",\n      \"▁down t\",\n      \"▁dow nt\",\n      \"▁h oles\",\n      \"▁hol es\",\n      \"▁ho les\",\n      \"▁hole s\",\n      \"▁gr ateful\",\n      \"RES ULT\",\n      \"▁Europ a\",\n      \"▁Euro pa\",\n      \"▁con sent\",\n      \"▁cons ent\",\n      \"▁conse nt\",\n      \"l ä\",\n      \"op ter\",\n      \"opt er\",\n      \"▁colle agues\",\n      \"or ous\",\n      \"oro us\",\n      \"o rous\",\n      \"▁enem ies\",\n      \"ha ng\",\n      \"han g\",\n      \"h ang\",\n      \"act ual\",\n      \"Object s\",\n      \"▁я к\",\n      \"▁fl uid\",\n      \"▁flu id\",\n      \"fix ed\",\n      \"f ixed\",\n      \"▁G raph\",\n      \"▁Gr aph\",\n      \"▁Gra ph\",\n      \"▁ Graph\",\n      \"▁scr atch\",\n      \"ce rs\",\n      \"cer s\",\n      \"c ers\",\n      \"ri bu\",\n      \"rib u\",\n      \"▁valid ation\",\n      \"▁ validation\",\n      \"▁com pletion\",\n      \"▁complet ion\",\n      \"▁B egin\",\n      \"▁Be gin\",\n      \"▁Beg in\",\n      \"▁ Begin\",\n      \"end point\",\n      \"ri ent\",\n      \"rie nt\",\n      \"rien t\",\n      \"r ient\",\n      \"C M\",\n      \"▁S ite\",\n      \"▁Si te\",\n      \"▁ Site\",\n      \"▁expl ains\",\n      \"▁explain s\",\n      \"tr es\",\n      \"tre s\",\n      \"t res\",\n      \"▁any body\",\n      \"fo reach\",\n      \"fore ach\",\n      \"for each\",\n      \"lo n\",\n      \"l on\",\n      \"Ch ain\",\n      \"▁B uff\",\n      \"▁Bu ff\",\n      \"▁ Buff\",\n      \"oc al\",\n      \"oca l\",\n      \"o cal\",\n      \"▁M organ\",\n      \"▁Mor gan\",\n      \"▁s ang\",\n      \"▁sa ng\",\n      \"▁san g\",\n      \"▁pass es\",\n      \"▁pas ses\",\n      \"@ @\",\n      \"ij d\",\n      \"i jd\",\n      \"W ord\",\n      \"▁H ung\",\n      \"▁Hun g\",\n      \"▁Hu ng\",\n      \"▁F er\",\n      \"▁Fe r\",\n      \"▁v ý\",\n      \"ba st\",\n      \"bas t\",\n      \"b ast\",\n      \"▁enter tainment\",\n      \"▁entertain ment\",\n      \"hi n\",\n      \"h in\",\n      \"▁g rat\",\n      \"▁gr at\",\n      \"▁gra t\",\n      \"▁M ember\",\n      \"▁Me mber\",\n      \"▁Mem ber\",\n      \"▁ Member\",\n      \"▁M inn\",\n      \"▁Min n\",\n      \"▁Mi nn\",\n      \"▁pr inted\",\n      \"▁print ed\",\n      \"▁prin ted\",\n      \"▁Frank lin\",\n      \"▁I mp\",\n      \"▁Im p\",\n      \"▁ Imp\",\n      \"M achine\",\n      \"column s\",\n      \"▁de leted\",\n      \"▁del eted\",\n      \"▁delete d\",\n      \"▁delet ed\",\n      \"▁ deleted\",\n      \"▁manufact uring\",\n      \"▁re ly\",\n      \"▁r ely\",\n      \"▁rel y\",\n      \"▁con se\",\n      \"▁cons e\",\n      \"▁f ishing\",\n      \"▁fish ing\",\n      \"▁fis hing\",\n      \"bl o\",\n      \"b lo\",\n      \"- $\",\n      \"▁. \\\"\",\n      \"▁ .\\\"\",\n      \"▁clin ical\",\n      \"▁clinic al\",\n      \"▁Stud ies\",\n      \"▁Б у\",\n      \"def inition\",\n      \"▁evalu ation\",\n      \"▁eval uation\",\n      \"▁att acked\",\n      \"▁attack ed\",\n      \"▁fro zen\",\n      \"ze nt\",\n      \"zen t\",\n      \"z ent\",\n      \"▁ú lt\",\n      \"▁r ational\",\n      \"▁rat ional\",\n      \"▁ratio nal\",\n      \"ot he\",\n      \"oth e\",\n      \"o the\",\n      \"Can cel\",\n      \"C ancel\",\n      \"hi story\",\n      \"hist ory\",\n      \"set Text\",\n      \"▁a lc\",\n      \"▁al c\",\n      \"▁h ydro\",\n      \"▁hy dro\",\n      \"▁hyd ro\",\n      \"▁The atre\",\n      \"▁M aterial\",\n      \"▁Mat erial\",\n      \"▁ Material\",\n      \"IO Exception\",\n      \"**** **/\",\n      \"****** /\",\n      \"sp l\",\n      \"s pl\",\n      \"NO DE\",\n      \"att rs\",\n      \"attr s\",\n      \"▁m ie\",\n      \"▁mi e\",\n      \"▁off ices\",\n      \"▁offic es\",\n      \"▁office s\",\n      \"r ó\",\n      \"▁j am\",\n      \"▁ja m\",\n      \"▁Id ent\",\n      \"▁Ide nt\",\n      \"▁ Ident\",\n      \"v é\",\n      \"Set ting\",\n      \"▁Sever al\",\n      \"▁Sev eral\",\n      \"▁dec ay\",\n      \"And roid\",\n      \"▁S ave\",\n      \"▁Sa ve\",\n      \"▁Sav e\",\n      \"▁ Save\",\n      \"un ted\",\n      \"unt ed\",\n      \"unte d\",\n      \"▁Mount ain\",\n      \"us c\",\n      \"u sc\",\n      \"▁mar zo\",\n      \"▁a sleep\",\n      \"▁as leep\",\n      \"▁sold ier\",\n      \"▁D ouble\",\n      \"▁Dou ble\",\n      \"▁ Double\",\n      \"P K\",\n      \"▁cont rad\",\n      \"▁contr ad\",\n      \"▁contra d\",\n      \"▁w ins\",\n      \"▁win s\",\n      \"ce iver\",\n      \"ceive r\",\n      \"▁se asons\",\n      \"▁season s\",\n      \"▁seas ons\",\n      \"▁C hall\",\n      \"▁Ch all\",\n      \"▁Cha ll\",\n      \"▁health care\",\n      \"ła d\",\n      \"ł ad\",\n      \"о т\",\n      \"▁F ive\",\n      \"▁Fi ve\",\n      \"▁H ell\",\n      \"▁He ll\",\n      \"▁Hel l\",\n      \"▁world wide\",\n      \"▁' ,\",\n      \"▁ ',\",\n      \"я н\",\n      \"ma de\",\n      \"mad e\",\n      \"m ade\",\n      \"▁respon ded\",\n      \"▁respond ed\",\n      \"▁a y\",\n      \"▁ ay\",\n      \"▁proced ures\",\n      \"▁procedure s\",\n      \"те ра\",\n      \"тер а\",\n      \"▁cle ared\",\n      \"▁clear ed\",\n      \"\\\"] .\",\n      \"\\\" ].\",\n      \"▁T arget\",\n      \"▁Tar get\",\n      \"▁ Target\",\n      \"▁S ide\",\n      \"▁Si de\",\n      \"▁Sid e\",\n      \"▁ Side\",\n      \"om in\",\n      \"omi n\",\n      \"o min\",\n      \"▁de ploy\",\n      \"▁T ell\",\n      \"▁Te ll\",\n      \"▁Tel l\",\n      \"▁ Tell\",\n      \"▁on going\",\n      \"fl oor\",\n      \"f loor\",\n      \"▁b ones\",\n      \"▁bo nes\",\n      \"▁bon es\",\n      \"▁bone s\",\n      \"▁De lete\",\n      \"▁Del ete\",\n      \"▁ Delete\",\n      \"▁shru gged\",\n      \"O ur\",\n      \"De r\",\n      \"D er\",\n      \"▁init ialize\",\n      \"▁initial ize\",\n      \"▁ initialize\",\n      \"▁T ed\",\n      \"▁Te d\",\n      \"MA GE\",\n      \"MAG E\",\n      \"M AGE\",\n      \"▁h ire\",\n      \"▁hi re\",\n      \"▁ hire\",\n      \"▁tr acking\",\n      \"▁track ing\",\n      \"▁a sh\",\n      \"▁as h\",\n      \"▁ ash\",\n      \"▁ce iling\",\n      \"ка х\",\n      \"et ti\",\n      \"ett i\",\n      \"e tti\",\n      \"▁cour age\",\n      \"▁cou rage\",\n      \"ensch app\",\n      \"ют ся\",\n      \"ю тся\",\n      \"Mo re\",\n      \"M ore\",\n      \"▁fol g\",\n      \"▁fo lg\",\n      \"▁ folg\",\n      \"▁Gr ace\",\n      \"▁Gra ce\",\n      \"▁K elly\",\n      \"▁Kel ly\",\n      \"▁re ven\",\n      \"▁r even\",\n      \"▁rev en\",\n      \"▁reve n\",\n      \"▁A li\",\n      \"▁Al i\",\n      \"▁ Ali\",\n      \"▁d isp\",\n      \"▁dis p\",\n      \"▁di sp\",\n      \"▁ disp\",\n      \"▁de feat\",\n      \"▁defe at\",\n      \"▁cre ature\",\n      \"▁creat ure\",\n      \"▁Kenn edy\",\n      \"▁D iego\",\n      \"▁Die go\",\n      \"▁Di ego\",\n      \"EM P\",\n      \"E MP\",\n      \"▁s team\",\n      \"▁ste am\",\n      \"end ance\",\n      \"ri g\",\n      \"r ig\",\n      \"▁ign or\",\n      \"▁ig nor\",\n      \"em en\",\n      \"eme n\",\n      \"e men\",\n      \"▁G ru\",\n      \"▁Gr u\",\n      \"▁pro posal\",\n      \"▁propos al\",\n      \"▁we iter\",\n      \"▁weit er\",\n      \"▁ лі\",\n      \"ib les\",\n      \"ible s\",\n      \"i bles\",\n      \"▁consider ation\",\n      \"▁belie ves\",\n      \"▁believe s\",\n      \"▁S oph\",\n      \"▁So ph\",\n      \"“ ,\",\n      \"▁Matt hew\",\n      \"▁circ uit\",\n      \"▁s inger\",\n      \"▁sing er\",\n      \"▁sin ger\",\n      \"▁S quare\",\n      \"ç o\",\n      \"Ed ge\",\n      \"▁a str\",\n      \"▁as tr\",\n      \"▁ast r\",\n      \"▁ astr\",\n      \"▁represent ative\",\n      \"▁comprehens ive\",\n      \"li ga\",\n      \"lig a\",\n      \"l iga\",\n      \"▁m ere\",\n      \"▁me re\",\n      \"▁mer e\",\n      \"tb l\",\n      \"t bl\",\n      \"▁contin uing\",\n      \"▁continu ing\",\n      \"ograph er\",\n      \"ograp her\",\n      \"LE D\",\n      \"L ED\",\n      \"▁/* **/\",\n      \"▁/** */\",\n      \"▁s ear\",\n      \"▁se ar\",\n      \"▁sea r\",\n      \"▁enorm ous\",\n      \"iz i\",\n      \"i zi\",\n      \"Di t\",\n      \"D it\",\n      \"th ere\",\n      \"ther e\",\n      \"the re\",\n      \"t here\",\n      \"і н\",\n      \"си те\",\n      \"▁gu erra\",\n      \"▁end point\",\n      \"▁ endpoint\",\n      \"▁le sson\",\n      \"▁les son\",\n      \"▁less on\",\n      \"zo n\",\n      \"z on\",\n      \"var iable\",\n      \"vari able\",\n      \"и с\",\n      \"▁research ers\",\n      \"▁attempt ed\",\n      \"▁e nf\",\n      \"▁en f\",\n      \"ту ра\",\n      \"тур а\",\n      \"▁de fin\",\n      \"▁def in\",\n      \"ве ст\",\n      \"▁aw ful\",\n      \"▁lo west\",\n      \"▁low est\",\n      \"ru les\",\n      \"rule s\",\n      \"r ules\",\n      \"▁un like\",\n      \"inter val\",\n      \"▁produ cing\",\n      \"▁K am\",\n      \"▁Ka m\",\n      \"▁I MP\",\n      \"▁IM P\",\n      \"▁ IMP\",\n      \"Gener al\",\n      \"Gen eral\",\n      \"▁f aire\",\n      \"▁fa ire\",\n      \"▁fair e\",\n      \"▁max im\",\n      \"▁ma xim\",\n      \"as semb\",\n      \"ass emb\",\n      \"asse mb\",\n      \"assem b\",\n      \"ac ent\",\n      \"ace nt\",\n      \"a cent\",\n      \"? >\",\n      \"pl ica\",\n      \"plic a\",\n      \"p lica\",\n      \"▁r am\",\n      \"▁ra m\",\n      \"▁ ram\",\n      \"ma te\",\n      \"mat e\",\n      \"m ate\",\n      \"ц у\",\n      \"m n\",\n      \"▁H i\",\n      \"▁ Hi\",\n      \"▁st ages\",\n      \"▁stage s\",\n      \"▁stag es\",\n      \"▁sta ges\",\n      \"▁Ed itor\",\n      \"▁Edit or\",\n      \"▁ Editor\",\n      \"▁t ang\",\n      \"▁tan g\",\n      \"▁ta ng\",\n      \"R D\",\n      \"▁i ch\",\n      \"▁ic h\",\n      \"▁ ich\",\n      \"▁depend ent\",\n      \"▁dep endent\",\n      \"▁ dependent\",\n      \"li fer\",\n      \"life r\",\n      \"lif er\",\n      \"l ifer\",\n      \"as cript\",\n      \"asc ript\",\n      \"a script\",\n      \"▁expos ure\",\n      \"ре з\",\n      \"▁m art\",\n      \"▁mar t\",\n      \"▁ma rt\",\n      \"▁ mart\",\n      \"▁Bar cel\",\n      \"xs pace\",\n      \"x space\",\n      \"SE SSION\",\n      \"▁p rest\",\n      \"▁pre st\",\n      \"▁pr est\",\n      \"▁pres t\",\n      \"UR CE\",\n      \"- .\",\n      \"▁се ло\",\n      \"ha ve\",\n      \"hav e\",\n      \"h ave\",\n      \"▁observ ation\",\n      \"▁obs ervation\",\n      \"▁comm ands\",\n      \"▁command s\",\n      \"▁ commands\",\n      \"▁e ager\",\n      \"▁out door\",\n      \"▁DE BUG\",\n      \"▁ DEBUG\",\n      \"▁h r\",\n      \"▁ hr\",\n      \"A X\",\n      \"▁p uzz\",\n      \"▁pu zz\",\n      \"bl ank\",\n      \"бу р\",\n      \"б ур\",\n      \"▁k ennis\",\n      \"▁reg arded\",\n      \"▁regard ed\",\n      \"▁} ),\",\n      \"▁}) ,\",\n      \"▁ }),\",\n      \"vol ume\",\n      \"▁про из\",\n      \"▁Tr aining\",\n      \"▁Tra ining\",\n      \"▁Train ing\",\n      \"a ñ\",\n      \"▁f ois\",\n      \"▁foi s\",\n      \"▁fo is\",\n      \"▁т ри\",\n      \"▁ три\",\n      \"в ня\",\n      \"▁opt imal\",\n      \"▁optim al\",\n      \"▁sub scription\",\n      \"▁subs cription\",\n      \"▁ subscription\",\n      \"br idge\",\n      \"brid ge\",\n      \"b ridge\",\n      \"im ental\",\n      \"iment al\",\n      \"imen tal\",\n      \"▁Th ink\",\n      \"▁\\\" ;\",\n      \"▁ \\\";\",\n      \"▁leg isl\",\n      \"▁legis l\",\n      \"▁H op\",\n      \"▁Ho p\",\n      \"▁br anches\",\n      \"▁branch es\",\n      \"▁V eg\",\n      \"▁Ve g\",\n      \"▁s print\",\n      \"▁spr int\",\n      \"▁fl ux\",\n      \"▁flu x\",\n      \"▁Fr eder\",\n      \"▁Fre der\",\n      \"▁Fred er\",\n      \"si s\",\n      \"s is\",\n      \"not ify\",\n      \"▁Ф ран\",\n      \"so m\",\n      \"s om\",\n      \"ny m\",\n      \"n ym\",\n      \"▁R é\",\n      \"le tt\",\n      \"let t\",\n      \"l ett\",\n      \"ing ham\",\n      \"▁F arm\",\n      \"▁Far m\",\n      \"▁Fa rm\",\n      \"DO M\",\n      \"D OM\",\n      \"▁sh ield\",\n      \"He re\",\n      \"Her e\",\n      \"H ere\",\n      \"▁T reat\",\n      \"▁Tre at\",\n      \"▁Lu ke\",\n      \"▁un safe\",\n      \"an ton\",\n      \"ant on\",\n      \"anto n\",\n      \"▁Im per\",\n      \"▁Imp er\",\n      \"▁tele phone\",\n      \"▁un lock\",\n      \"▁ unlock\",\n      \"Own er\",\n      \"col lection\",\n      \"coll ection\",\n      \"collect ion\",\n      \"▁s nd\",\n      \"▁sn d\",\n      \"▁ snd\",\n      \"▁su iv\",\n      \"▁ent ering\",\n      \"▁enter ing\",\n      \"ше н\",\n      \"ш ен\",\n      \"▁L abel\",\n      \"▁La bel\",\n      \"▁Lab el\",\n      \"▁ Label\",\n      \"se lector\",\n      \"sel ector\",\n      \"select or\",\n      \"▁G ET\",\n      \"▁ GET\",\n      \"▁qu ando\",\n      \"▁quand o\",\n      \"▁f ed\",\n      \"▁fe d\",\n      \"▁ fed\",\n      \"j Query\",\n      \"Or igin\",\n      \"▁A lan\",\n      \"▁Al an\",\n      \"math scr\",\n      \"▁pregn ant\",\n      \"▁preg nant\",\n      \"Ex pect\",\n      \"Exp ect\",\n      \"re sources\",\n      \"res ources\",\n      \"resource s\",\n      \"▁er sten\",\n      \"▁erst en\",\n      \"▁ers ten\",\n      \"▁erste n\",\n      \"al ia\",\n      \"ali a\",\n      \"a lia\",\n      \"▁ret ired\",\n      \"▁retire d\",\n      \"û t\",\n      \"Cr ed\",\n      \"C red\",\n      \"▁m éd\",\n      \"▁mé d\",\n      \"▁e rh\",\n      \"▁er h\",\n      \"Frame work\",\n      \"Sl ot\",\n      \"S lot\",\n      \"d uration\",\n      \"sa l\",\n      \"s al\",\n      \"▁com position\",\n      \"▁compos ition\",\n      \"art icle\",\n      \"gp u\",\n      \"g pu\",\n      \"▁per mitted\",\n      \"▁perm itted\",\n      \"▁permit ted\",\n      \"▁F ont\",\n      \"▁Fo nt\",\n      \"▁ Font\",\n      \"▁M uch\",\n      \"▁Mu ch\",\n      \"▁p ending\",\n      \"▁pen ding\",\n      \"▁ pending\",\n      \"▁ag encies\",\n      \"Column s\",\n      \"▁k lik\",\n      \"▁kl ik\",\n      \"▁r ating\",\n      \"▁rat ing\",\n      \"▁ra ting\",\n      \"▁ rating\",\n      \"min d\",\n      \"mi nd\",\n      \"m ind\",\n      \"▁Penn sylvania\",\n      \"J ava\",\n      \"ab stract\",\n      \"abs tract\",\n      \"▁d umb\",\n      \"▁du mb\",\n      \"▁V I\",\n      \"▁ VI\",\n      \"us a\",\n      \"u sa\",\n      \"Rem ote\",\n      \"▁YO U\",\n      \"▁C reek\",\n      \"▁Cre ek\",\n      \"ма ти\",\n      \"мат и\",\n      \"Bot tom\",\n      \"B ottom\",\n      \"▁roll ing\",\n      \"▁ rolling\",\n      \"▁b undle\",\n      \"▁bund le\",\n      \"▁ bundle\",\n      \"▁g olf\",\n      \"▁gol f\",\n      \"gp io\",\n      \"g pio\",\n      \"▁Ch air\",\n      \"▁Cha ir\",\n      \"▁c ls\",\n      \"▁cl s\",\n      \"▁ cls\",\n      \"$ }\",\n      \"▁Par liament\",\n      \"f ühr\",\n      \"Man y\",\n      \"Ma ny\",\n      \"M any\",\n      \"▁S ep\",\n      \"▁Se p\",\n      \"▁ Sep\",\n      \"▁bad ly\",\n      \"ig i\",\n      \"i gi\",\n      \"▁Geme inde\",\n      \"Il l\",\n      \"I ll\",\n      \"▁А н\",\n      \"ua rt\",\n      \"uar t\",\n      \"u art\",\n      \"it empty\",\n      \"item pty\",\n      \"▁N iger\",\n      \"▁Ni ger\",\n      \"▁im migr\",\n      \"▁imm igr\",\n      \"Su per\",\n      \"Sup er\",\n      \"S uper\",\n      \"v á\",\n      \"ist ribute\",\n      \"istribut e\",\n      \"Hel pers\",\n      \"Helper s\",\n      \"Help ers\",\n      \"▁w aters\",\n      \"▁water s\",\n      \"▁wat ers\",\n      \"▁wa ters\",\n      \"▁join ing\",\n      \"▁jo ining\",\n      \"om itempty\",\n      \"▁Other wise\",\n      \"▁H ost\",\n      \"▁Ho st\",\n      \"▁ Host\",\n      \"▁re dd\",\n      \"▁red d\",\n      \"▁d y\",\n      \"▁ dy\",\n      \"▁con verted\",\n      \"▁convert ed\",\n      \"▁conver ted\",\n      \"▁pr ayer\",\n      \"▁pray er\",\n      \"▁pra yer\",\n      \"▁У краї\",\n      \"▁Укра ї\",\n      \"▁e lections\",\n      \"▁elect ions\",\n      \"▁ele ctions\",\n      \"▁election s\",\n      \"re b\",\n      \"r eb\",\n      \"er ie\",\n      \"eri e\",\n      \"e rie\",\n      \"▁с вя\",\n      \"Ab s\",\n      \"A bs\",\n      \"ie mbre\",\n      \"iem bre\",\n      \"i embre\",\n      \"hol ders\",\n      \"hold ers\",\n      \"holder s\",\n      \"▁R ol\",\n      \"▁Ro l\",\n      \"ut schen\",\n      \"uts chen\",\n      \"utsch en\",\n      \"utsche n\",\n      \"▁G h\",\n      \"ter y\",\n      \"te ry\",\n      \"t ery\",\n      \"ан г\",\n      \"а нг\",\n      \"▁narr ative\",\n      \"min us\",\n      \"m inus\",\n      \"▁I ron\",\n      \"▁Ir on\",\n      \"=\\\" #\",\n      \"▁w and\",\n      \"▁wa nd\",\n      \"▁ wand\",\n      \"▁w ished\",\n      \"▁wish ed\",\n      \"▁wis hed\",\n      \"ic ode\",\n      \"ico de\",\n      \"i code\",\n      \"or r\",\n      \"o rr\",\n      \"[ [\",\n      \"▁detect ed\",\n      \"▁municip al\",\n      \"▁P our\",\n      \"▁Po ur\",\n      \"▁S erv\",\n      \"▁Se rv\",\n      \"▁Ser v\",\n      \"▁ Serv\",\n      \"cite t\",\n      \"cit et\",\n      \"c itet\",\n      \"▁g rey\",\n      \"▁gr ey\",\n      \"▁gre y\",\n      \"▁R ap\",\n      \"▁Ra p\",\n      \"▁v oy\",\n      \"▁vo y\",\n      \"▁l leg\",\n      \"▁ll eg\",\n      \"▁cur rency\",\n      \"▁curr ency\",\n      \"▁ currency\",\n      \"▁S cript\",\n      \"▁Sc ript\",\n      \"▁ Script\",\n      \"str ument\",\n      \"stru ment\",\n      \"▁expect ing\",\n      \"▁t ickets\",\n      \"▁tick ets\",\n      \"▁ticket s\",\n      \"▁b ucket\",\n      \"▁buck et\",\n      \"▁ bucket\",\n      \"eg r\",\n      \"e gr\",\n      \"▁j acket\",\n      \"▁jack et\",\n      \"dr v\",\n      \"d rv\",\n      \"▁lo ans\",\n      \"▁loan s\",\n      \"▁k ann\",\n      \"▁kan n\",\n      \"▁ka nn\",\n      \"▁integr al\",\n      \"▁character istics\",\n      \"▁characteristic s\",\n      \"(\\\" .\",\n      \"( \\\".\",\n      \"▁man ual\",\n      \"▁d ynamics\",\n      \"▁dynam ics\",\n      \"▁dynamic s\",\n      \": *\",\n      \"sh a\",\n      \"s ha\",\n      \"re ens\",\n      \"ree ns\",\n      \"reen s\",\n      \"on ical\",\n      \"oni cal\",\n      \"onic al\",\n      \"▁to ile\",\n      \"añ a\",\n      \"a ña\",\n      \"▁d istant\",\n      \"▁di stant\",\n      \"▁dist ant\",\n      \"▁hand led\",\n      \"▁handle d\",\n      \"Bo ol\",\n      \"B ool\",\n      \"▁pe nal\",\n      \"▁pen al\",\n      \"▁Th ings\",\n      \"▁prom inent\",\n      \"▁ex ped\",\n      \"▁exp ed\",\n      \"▁He lp\",\n      \"▁Hel p\",\n      \"▁ Help\",\n      \"▁a sp\",\n      \"▁as p\",\n      \"▁ asp\",\n      \"la p\",\n      \"l ap\",\n      \"▁A uth\",\n      \"▁Aut h\",\n      \"▁Au th\",\n      \"▁ Auth\",\n      \"Bas ic\",\n      \"ach uset\",\n      \"▁B ild\",\n      \"▁Bi ld\",\n      \"▁Bil d\",\n      \"▁ent itled\",\n      \"▁j ag\",\n      \"▁ja g\",\n      \"▁reject ed\",\n      \"▁m emor\",\n      \"▁me mor\",\n      \"▁mem or\",\n      \"▁memo r\",\n      \"or ts\",\n      \"ort s\",\n      \"▁ap plies\",\n      \"▁appl ies\",\n      \"▁L anguage\",\n      \"▁ Language\",\n      \"spec ific\",\n      \"achuset ts\",\n      \"HA ND\",\n      \"H AND\",\n      \"▁R oute\",\n      \"▁Ro ute\",\n      \"▁Rou te\",\n      \"▁ Route\",\n      \"mark et\",\n      \"mar ket\",\n      \"▁K y\",\n      \"▁p ose\",\n      \"▁pos e\",\n      \"▁po se\",\n      \"▁ pose\",\n      \"AC HE\",\n      \"ACH E\",\n      \"po ll\",\n      \"pol l\",\n      \"p oll\",\n      \"▁r ocks\",\n      \"▁ro cks\",\n      \"▁rock s\",\n      \"bo ne\",\n      \"bon e\",\n      \"b one\",\n      \"▁D IS\",\n      \"▁DI S\",\n      \"▁ DIS\",\n      \"W atch\",\n      \"▁sm iling\",\n      \"ри о\",\n      \"Mon th\",\n      \"Mont h\",\n      \"▁e fter\",\n      \"con struct\",\n      \"const ruct\",\n      \"▁b ands\",\n      \"▁band s\",\n      \"▁ban ds\",\n      \"▁ bands\",\n      \"▁collabor ation\",\n      \"ни ми\",\n      \"ним и\",\n      \"gl as\",\n      \"g las\",\n      \"▁v y\",\n      \"▁ vy\",\n      \"▁eng agement\",\n      \"▁engage ment\",\n      \"__ )\",\n      \"_ _)\",\n      \"▁w ings\",\n      \"▁win gs\",\n      \"▁wing s\",\n      \"ки м\",\n      \"к им\",\n      \"net je\",\n      \"at iva\",\n      \"ati va\",\n      \"ativ a\",\n      \"▁Du ke\",\n      \"ле е\",\n      \"▁With in\",\n      \"▁d ove\",\n      \"▁do ve\",\n      \"▁c b\",\n      \"▁ cb\",\n      \"ye rs\",\n      \"yer s\",\n      \"y ers\",\n      \"po w\",\n      \"p ow\",\n      \"[ (\",\n      \"▁evalu ate\",\n      \"▁eval uate\",\n      \"Point s\",\n      \"▁р і\",\n      \"▁ рі\",\n      \"od igd\",\n      \"odi gd\",\n      \"on omy\",\n      \"ono my\",\n      \"onom y\",\n      \"▁Ill inois\",\n      \"▁T yp\",\n      \"▁Ty p\",\n      \"▁ Typ\",\n      \"▁coord inates\",\n      \"▁coordinate s\",\n      \"pis ode\",\n      \"uck ed\",\n      \"uc ked\",\n      \"▁f lav\",\n      \"▁fl av\",\n      \"▁br ands\",\n      \"▁brand s\",\n      \"▁cal endar\",\n      \"▁ calendar\",\n      \"Li b\",\n      \"L ib\",\n      \"▁uit gen\",\n      \"▁t ale\",\n      \"▁tal e\",\n      \"▁ta le\",\n      \"▁brief ly\",\n      \"▁m ic\",\n      \"▁mi c\",\n      \"▁ mic\",\n      \"RE SS\",\n      \"RES S\",\n      \"▁sp äter\",\n      \"▁integr ated\",\n      \"▁integrate d\",\n      \"▁cook ies\",\n      \"▁cookie s\",\n      \"▁uitgen odigd\",\n      \"▁P riv\",\n      \"▁Pr iv\",\n      \"▁Pri v\",\n      \"▁ Priv\",\n      \"▁phen omen\",\n      \"▁vo egen\",\n      \"Su pp\",\n      \"Sup p\",\n      \"S upp\",\n      \"▁re fers\",\n      \"▁ref ers\",\n      \"▁refer s\",\n      \"па д\",\n      \"▁Cl inton\",\n      \"▁Clin ton\",\n      \"▁ass ignment\",\n      \"▁assign ment\",\n      \"in als\",\n      \"ina ls\",\n      \"inal s\",\n      \"i nals\",\n      \"▁a sym\",\n      \"▁as ym\",\n      \"cy cle\",\n      \"cycl e\",\n      \"c ycle\",\n      \"▁And erson\",\n      \"▁Anders on\",\n      \"▁b inding\",\n      \"▁bin ding\",\n      \"▁bind ing\",\n      \"▁ binding\",\n      \"ri que\",\n      \"r ique\",\n      \"hi nd\",\n      \"hin d\",\n      \"h ind\",\n      \"▁be half\",\n      \"▁beh alf\",\n      \"▁F le\",\n      \"▁Fl e\",\n      \"▁break s\",\n      \"▁bre aks\",\n      \"▁so ap\",\n      \"▁ soap\",\n      \"ва р\",\n      \"в ар\",\n      \"▁v ä\",\n      \"▁ vä\",\n      \"▁c rying\",\n      \"▁cr ying\",\n      \"▁cry ing\",\n      \"▁ →\",\n      \"▁m sm\",\n      \"▁ms m\",\n      \"▁ msm\",\n      \"▁bo ots\",\n      \"▁boot s\",\n      \"ow ing\",\n      \"owi ng\",\n      \"o wing\",\n      \"▁b ell\",\n      \"▁be ll\",\n      \"▁bel l\",\n      \"▁ bell\",\n      \"su ite\",\n      \"suit e\",\n      \"▁Bund es\",\n      \"▁Bun des\",\n      \"Y ear\",\n      \"nd ef\",\n      \"nde f\",\n      \"n def\",\n      \"O ther\",\n      \"▁go ogle\",\n      \"▁goog le\",\n      \"▁ google\",\n      \"EN CE\",\n      \"ENC E\",\n      \"WE R\",\n      \"W ER\",\n      \"Le s\",\n      \"L es\",\n      \"Sh ared\",\n      \"Share d\",\n      \"▁E D\",\n      \"▁ ED\",\n      \"IF T\",\n      \"I FT\",\n      \"▁flo ating\",\n      \"▁float ing\",\n      \"ý m\",\n      \"{} ,\",\n      \"{ },\",\n      \"Bin ary\",\n      \"B inary\",\n      \"▁ro ce\",\n      \"ra j\",\n      \"r aj\",\n      \"▁be werken\",\n      \"B F\",\n      \"▁H ur\",\n      \"▁Hu r\",\n      \"ce n\",\n      \"c en\",\n      \"▁e re\",\n      \"▁er e\",\n      \"▁ ere\",\n      \"▁c amb\",\n      \"▁cam b\",\n      \"▁ca mb\",\n      \"▁Pak istan\",\n      \"▁great ly\",\n      \"▁log ging\",\n      \"▁ logging\",\n      \"/ .\",\n      \"Ten sor\",\n      \"T ensor\",\n      \"▁op ens\",\n      \"▁open s\",\n      \"▁ opens\",\n      \"▁R io\",\n      \"▁klik ken\",\n      \"▁sc ulpt\",\n      \"ap ore\",\n      \"apor e\",\n      \"w x\",\n      \"▁N ich\",\n      \"▁Nic h\",\n      \"▁Ni ch\",\n      \"na n\",\n      \"n an\",\n      \"▁inj ured\",\n      \"com pare\",\n      \"comp are\",\n      \"compar e\",\n      \"th a\",\n      \"t ha\",\n      \"Sam ple\",\n      \"S ample\",\n      \"Sh ell\",\n      \"She ll\",\n      \"S hell\",\n      \"▁comm ander\",\n      \"▁command er\",\n      \"▁re ceiver\",\n      \"▁rece iver\",\n      \"▁receive r\",\n      \"▁h opes\",\n      \"▁hope s\",\n      \"▁hop es\",\n      \"▁ho pes\",\n      \"▁b yl\",\n      \"▁by l\",\n      \"▁pro xy\",\n      \"▁pr oxy\",\n      \"▁ proxy\",\n      \"▁g all\",\n      \"▁gal l\",\n      \"▁ga ll\",\n      \"get Id\",\n      \"▁B ab\",\n      \"▁Ba b\",\n      \"fe ld\",\n      \"fel d\",\n      \"f eld\",\n      \"▁\\\" _\",\n      \"▁H ab\",\n      \"▁Ha b\",\n      \"sim ple\",\n      \"▁execut ed\",\n      \"▁execute d\",\n      \"▁a te\",\n      \"▁at e\",\n      \"▁ ate\",\n      \"▁an imation\",\n      \"▁anim ation\",\n      \"▁ animation\",\n      \"▁in hab\",\n      \"▁бо ль\",\n      \"▁r outer\",\n      \"▁ro uter\",\n      \"▁rout er\",\n      \"▁route r\",\n      \"▁rou ter\",\n      \"▁ router\",\n      \"▁gl ob\",\n      \"▁glo b\",\n      \"▁ glob\",\n      \"Ge plaatst\",\n      \"▁begin netje\",\n      \"▁K ur\",\n      \"▁Ku r\",\n      \"▁Х а\",\n      \"al igned\",\n      \"align ed\",\n      \"▁cert ificate\",\n      \"▁ Å\",\n      \".) .\",\n      \". ).\",\n      \"▁s oll\",\n      \"▁so ll\",\n      \"▁sol l\",\n      \"▁Im port\",\n      \"▁Imp ort\",\n      \"▁ Import\",\n      \"ре ди\",\n      \"ред и\",\n      \"р еди\",\n      \"▁pand emic\",\n      \"▁n ic\",\n      \"▁ni c\",\n      \"▁ nic\",\n      \"v ä\",\n      \"▁G ree\",\n      \"▁Gr ee\",\n      \"▁Gre e\",\n      \"▁S ay\",\n      \"▁Sa y\",\n      \"▁д і\",\n      \"▁ ді\",\n      \"▁N um\",\n      \"▁Nu m\",\n      \"▁ Num\",\n      \"▁rough ly\",\n      \"▁des pués\",\n      \"▁ ​\",\n      \"▁spec ify\",\n      \"Map per\",\n      \"lic ht\",\n      \"li cht\",\n      \"lich t\",\n      \"l icht\",\n      \"▁th umb\",\n      \"▁ thumb\",\n      \"wi e\",\n      \"w ie\",\n      \"▁un likely\",\n      \"▁unlike ly\",\n      \"▁ unlikely\",\n      \"▁E dd\",\n      \"▁Ed d\",\n      \"He y\",\n      \"H ey\",\n      \"▁O pt\",\n      \"▁Op t\",\n      \"▁ Opt\",\n      \"B LOCK\",\n      \"во р\",\n      \"в ор\",\n      \"▁ ×\",\n      \"▁b a\",\n      \"▁ ba\",\n      \"▁period s\",\n      \"▁title s\",\n      \"▁tit les\",\n      \"Me d\",\n      \"M ed\",\n      \"▁f on\",\n      \"▁fo n\",\n      \"▁ fon\",\n      \"▁b ast\",\n      \"▁bas t\",\n      \"▁ba st\",\n      \"▁ bast\",\n      \"▁F orest\",\n      \"▁For est\",\n      \"▁Fore st\",\n      \"▁Fo rest\",\n      \"▁ №\",\n      \"on ds\",\n      \"ond s\",\n      \"▁f al\",\n      \"▁fa l\",\n      \"▁g esch\",\n      \"▁ge sch\",\n      \"▁ges ch\",\n      \"▁ gesch\",\n      \"dir ection\",\n      \"di rection\",\n      \"direct ion\",\n      \"dire ction\",\n      \"d irection\",\n      \"IF Y\",\n      \"▁L A\",\n      \"▁ LA\",\n      \"▁( ((\",\n      \"▁(( (\",\n      \"▁ (((\",\n      \"GT H\",\n      \"G TH\",\n      \"it udes\",\n      \"itude s\",\n      \"itu des\",\n      \"itud es\",\n      \"▁dest ruction\",\n      \"▁destruct ion\",\n      \"▁J a\",\n      \"▁s take\",\n      \"▁st ake\",\n      \"▁sta ke\",\n      \"iffer ent\",\n      \"iffe rent\",\n      \"▁ident ical\",\n      \"▁f og\",\n      \"▁fo g\",\n      \"▁R eb\",\n      \"▁Re b\",\n      \"▁ Reb\",\n      \"ски е\",\n      \"сту п\",\n      \"ja x\",\n      \"j ax\",\n      \"▁M ars\",\n      \"▁Mar s\",\n      \"▁Ma rs\",\n      \"▁hist oric\",\n      \"▁histor ic\",\n      \"▁V o\",\n      \"▁ Vo\",\n      \"▁entre pre\",\n      \"▁t ension\",\n      \"▁tens ion\",\n      \"▁W HERE\",\n      \"▁WH ERE\",\n      \"▁WHE RE\",\n      \"▁Phil adelphia\",\n      \"Count er\",\n      \"Co unter\",\n      \"C ounter\",\n      \"▁fr ames\",\n      \"▁frame s\",\n      \"▁fra mes\",\n      \"▁fram es\",\n      \"▁ frames\",\n      \"▁m uy\",\n      \"▁mu y\",\n      \"e j\",\n      \"ö t\",\n      \"e u\",\n      \"▁че лове\",\n      \"PRO C\",\n      \"PR OC\",\n      \"▁res olved\",\n      \"▁resolve d\",\n      \"▁ resolved\",\n      \"▁t ape\",\n      \"▁tap e\",\n      \"▁ta pe\",\n      \"ци он\",\n      \"▁sing ular\",\n      \"▁person nel\",\n      \"▁M un\",\n      \"▁Mu n\",\n      \"▁O cc\",\n      \"▁ Occ\",\n      \"▁scal ar\",\n      \"▁ scalar\",\n      \"de ss\",\n      \"des s\",\n      \"d ess\",\n      \"▁c able\",\n      \"▁cab le\",\n      \"▁ca ble\",\n      \"be ing\",\n      \"b eing\",\n      \"▁J enn\",\n      \"▁Je nn\",\n      \"▁Jen n\",\n      \"▁er st\",\n      \"▁ers t\",\n      \"▁ erst\",\n      \"Action s\",\n      \"Act ions\",\n      \"A ctions\",\n      \"Env ironment\",\n      \"vi a\",\n      \"v ia\",\n      \"▁strugg ling\",\n      \"▁D VD\",\n      \"wh e\",\n      \"w he\",\n      \"▁throw ing\",\n      \"▁thr owing\",\n      \"▁thro wing\",\n      \"Bound s\",\n      \"B ounds\",\n      \"▁M D\",\n      \"▁ MD\",\n      \"▁\\\" ../\",\n      \"▁\\\". ./\",\n      \"▁satisf y\",\n      \"▁Color ado\",\n      \"▁Act ive\",\n      \"▁Activ e\",\n      \"▁ Active\",\n      \"Task s\",\n      \"<>( );\",\n      \"<> ();\",\n      \"< >();\",\n      \"▁sl ipped\",\n      \"▁slip ped\",\n      \"▁po ison\",\n      \"▁poi son\",\n      \"z b\",\n      \"Dis patch\",\n      \"war ning\",\n      \"warn ing\",\n      \"w arning\",\n      \"▁ult imate\",\n      \"p icture\",\n      \"ex pression\",\n      \"exp ression\",\n      \"expr ession\",\n      \"express ion\",\n      \"▁T alk\",\n      \"▁Tal k\",\n      \"▁f lick\",\n      \"▁fl ick\",\n      \"▁rais ing\",\n      \"▁ra ising\",\n      \"▁ raising\",\n      \"▁trans actions\",\n      \"▁transaction s\",\n      \"▁gl ance\",\n      \"▁g ri\",\n      \"▁gr i\",\n      \"▁п рез\",\n      \"▁пре з\",\n      \"se lection\",\n      \"sel ection\",\n      \"select ion\",\n      \"s election\",\n      \"њ а\",\n      \"en dl\",\n      \"end l\",\n      \"▁A bb\",\n      \"▁Ab b\",\n      \"▁b old\",\n      \"▁bo ld\",\n      \"▁bol d\",\n      \"▁ bold\",\n      \"▁maint ained\",\n      \"▁maintain ed\",\n      \"Ex ists\",\n      \"▁encour aged\",\n      \"▁encourage d\",\n      \"Qu al\",\n      \"Q ual\",\n      \"▁ess ere\",\n      \"▁h ired\",\n      \"▁hi red\",\n      \"▁hire d\",\n      \"let ter\",\n      \"lett er\",\n      \"lette r\",\n      \"it ches\",\n      \"itch es\",\n      \"oth ers\",\n      \"other s\",\n      \"othe rs\",\n      \"o thers\",\n      \"▁w oj\",\n      \"▁wo j\",\n      \"▁inj uries\",\n      \"▁d il\",\n      \"▁di l\",\n      \"ex ecut\",\n      \"exec ut\",\n      \"▁Ste el\",\n      \"▁G arden\",\n      \"▁Gar den\",\n      \"▁Gard en\",\n      \"з я\",\n      \"\\\\, \\\\\",\n      \"\\\\ ,\\\\\",\n      \"▁An gel\",\n      \"▁Ang el\",\n      \"pr im\",\n      \"p rim\",\n      \">: ]<\",\n      \"g b\",\n      \"pe at\",\n      \"in te\",\n      \"int e\",\n      \"i nte\",\n      \"▁ap olog\",\n      \"▁reg ulations\",\n      \"▁regul ations\",\n      \"▁regulation s\",\n      \"S rc\",\n      \"k h\",\n      \"Up load\",\n      \"U pload\",\n      \"ma pping\",\n      \"map ping\",\n      \"m apping\",\n      \"▁p resents\",\n      \"▁pres ents\",\n      \"▁present s\",\n      \"▁po etry\",\n      \"▁poet ry\",\n      \"▁st ops\",\n      \"▁stop s\",\n      \"▁sto ps\",\n      \"▁T ol\",\n      \"▁To l\",\n      \"▁t ower\",\n      \"▁to wer\",\n      \"▁tow er\",\n      \"▁O UT\",\n      \"▁ OUT\",\n      \"Th ank\",\n      \"Than k\",\n      \"▁organ ic\",\n      \"▁d rei\",\n      \"▁dr ei\",\n      \"▁dre i\",\n      \"▁p ound\",\n      \"▁po und\",\n      \"▁pou nd\",\n      \"cent ury\",\n      \"▁mod ules\",\n      \"▁module s\",\n      \"▁ modules\",\n      \"▁д ере\",\n      \"▁де ре\",\n      \"▁w orn\",\n      \"▁wor n\",\n      \"▁wo rn\",\n      \"▁par ad\",\n      \"▁para d\",\n      \"▁pa rad\",\n      \"▁C os\",\n      \"▁Co s\",\n      \"fi c\",\n      \"f ic\",\n      \"▁бе з\",\n      \"▁Jim my\",\n      \"▁l ands\",\n      \"▁land s\",\n      \"▁lan ds\",\n      \"▁ lands\",\n      \"▁min ist\",\n      \"▁mini st\",\n      \"vs pace\",\n      \"v space\",\n      \"▁light ing\",\n      \"▁n aked\",\n      \"▁na ked\",\n      \"▁design er\",\n      \"▁St ream\",\n      \"▁Stre am\",\n      \"▁ Stream\",\n      \"TM P\",\n      \"T MP\",\n      \"Cent er\",\n      \"C enter\",\n      \"resent ation\",\n      \"ON T\",\n      \"O NT\",\n      \"▁e rs\",\n      \"▁er s\",\n      \"▁ ers\",\n      \"▁measure ment\",\n      \"▁mus cles\",\n      \"▁muscle s\",\n      \"▁I gn\",\n      \"▁ Ign\",\n      \"▁C OM\",\n      \"▁CO M\",\n      \"▁ COM\",\n      \"▁f ru\",\n      \"▁fr u\",\n      \"▁gen re\",\n      \"▁al pha\",\n      \"▁ alpha\",\n      \"▁ret irement\",\n      \"▁retire ment\",\n      \"▁G on\",\n      \"▁Go n\",\n      \"ő l\",\n      \"cont ents\",\n      \"content s\",\n      \"▁he aling\",\n      \"▁heal ing\",\n      \"▁s ido\",\n      \"▁si do\",\n      \"▁sid o\",\n      \"incip al\",\n      \"Per mission\",\n      \"Perm ission\",\n      \"ра к\",\n      \"▁G ordon\",\n      \"▁Gor don\",\n      \"▁R ank\",\n      \"▁Ran k\",\n      \"▁ Rank\",\n      \"▁Aut om\",\n      \"▁Au tom\",\n      \"▁Auto m\",\n      \"▁ Autom\",\n      \"Con structor\",\n      \"Construct or\",\n      \"wi ki\",\n      \"wik i\",\n      \"w iki\",\n      \"▁concern ing\",\n      \"▁concer ning\",\n      \"riz ona\",\n      \"▁var iant\",\n      \"▁vari ant\",\n      \"▁ variant\",\n      \"▁arr anged\",\n      \"▁arrang ed\",\n      \"▁arrange d\",\n      \"▁S pr\",\n      \"▁Sp r\",\n      \"BP ACK\",\n      \"B PACK\",\n      \"Tim estamp\",\n      \"re store\",\n      \"rest ore\",\n      \"aw are\",\n      \"awa re\",\n      \"a ware\",\n      \"▁Ob serv\",\n      \"▁ Observ\",\n      \"▁S V\",\n      \"▁ SV\",\n      \"ip p\",\n      \"i pp\",\n      \"▁Execut ive\",\n      \"▁col leg\",\n      \"▁coll eg\",\n      \"▁colle g\",\n      \"▁explicit ly\",\n      \"wr itten\",\n      \"writ ten\",\n      \"▁K ön\",\n      \"▁Kö n\",\n      \"ir us\",\n      \"i rus\",\n      \"▁H old\",\n      \"▁Hol d\",\n      \"▁Ho ld\",\n      \"▁P ract\",\n      \"▁Pr act\",\n      \"▁Pra ct\",\n      \"Char acter\",\n      \"▁red istribute\",\n      \"uer to\",\n      \"▁Stud ent\",\n      \"▁ Student\",\n      \"▁el der\",\n      \"▁D op\",\n      \"▁Do p\",\n      \"v p\",\n      \"▁H ub\",\n      \"▁Hu b\",\n      \"▁ Hub\",\n      \"▁gr ounds\",\n      \"▁ground s\",\n      \"▁R y\",\n      \"▁sign als\",\n      \"▁sig nals\",\n      \"▁signal s\",\n      \"▁g ifts\",\n      \"▁gift s\",\n      \"▁streng then\",\n      \"▁strength en\",\n      \"▁L yn\",\n      \"▁Ly n\",\n      \"com mun\",\n      \"comm un\",\n      \"▁на й\",\n      \"▁fin ance\",\n      \"▁financ e\",\n      \"no c\",\n      \"n oc\",\n      \"he lm\",\n      \"hel m\",\n      \"h elm\",\n      \"▁c uts\",\n      \"▁cut s\",\n      \"▁cu ts\",\n      \"▁advent ure\",\n      \"▁R ic\",\n      \"▁intellect ual\",\n      \"▁Out put\",\n      \"▁ Output\",\n      \"▁aw k\",\n      \"▁ awk\",\n      \"▁concentr ation\",\n      \"▁guid ance\",\n      \"Buf f\",\n      \"Bu ff\",\n      \"B uff\",\n      \"▁f illing\",\n      \"▁fil ling\",\n      \"▁fill ing\",\n      \"▁reg ul\",\n      \"▁del icious\",\n      \"([ ]\",\n      \"( []\",\n      \"ши х\",\n      \"▁t ons\",\n      \"▁to ns\",\n      \"▁ton s\",\n      \"▁ tons\",\n      \"act ivity\",\n      \"activ ity\",\n      \"G P\",\n      \"LO B\",\n      \"L OB\",\n      \"st adt\",\n      \"sta dt\",\n      \"stad t\",\n      \"ta l\",\n      \"t al\",\n      \"▁im g\",\n      \"▁i mg\",\n      \"▁ img\",\n      \"▁r ush\",\n      \"▁ru sh\",\n      \"▁rus h\",\n      \"att ice\",\n      \"atti ce\",\n      \"▁p ok\",\n      \"▁po k\",\n      \"st eps\",\n      \"ste ps\",\n      \"step s\",\n      \"▁l id\",\n      \"▁li d\",\n      \"▁D NA\",\n      \"B rowser\",\n      \"▁lad ies\",\n      \"▁an nées\",\n      \"▁ann ées\",\n      \"▁resc ue\",\n      \"av ity\",\n      \"avi ty\",\n      \"ro ck\",\n      \"roc k\",\n      \"r ock\",\n      \"▁glass es\",\n      \"▁B ey\",\n      \"▁Be y\",\n      \")} $\",\n      \") }$\",\n      \"de tail\",\n      \"det ail\",\n      \"▁d és\",\n      \"▁dé s\",\n      \"ta x\",\n      \"t ax\",\n      \"▁favour ite\",\n      \"▁prec ision\",\n      \"▁con oc\",\n      \"▁co noc\",\n      \"M s\",\n      \"▁N ative\",\n      \"▁Nat ive\",\n      \"▁ Native\",\n      \"▁P il\",\n      \"▁Pi l\",\n      \"Input Stream\",\n      \"or p\",\n      \"o rp\",\n      \"▁P ap\",\n      \"▁Pa p\",\n      \"▁p icking\",\n      \"▁pick ing\",\n      \"▁pic king\",\n      \"ip h\",\n      \"i ph\",\n      \"Load ing\",\n      \"Lo ading\",\n      \"▁pr iest\",\n      \"▁pri est\",\n      \"H ook\",\n      \"▁p ist\",\n      \"▁pi st\",\n      \"▁U ne\",\n      \"▁Un e\",\n      \"▁ Une\",\n      \"% ,\",\n      \"▁b il\",\n      \"▁bi l\",\n      \"▁ bil\",\n      \"▁conserv ative\",\n      \"ev al\",\n      \"eva l\",\n      \"e val\",\n      \"ik ing\",\n      \"iki ng\",\n      \"i king\",\n      \"'} ,\",\n      \"' },\",\n      \"▁sa uce\",\n      \"▁sau ce\",\n      \"▁D ue\",\n      \"▁Du e\",\n      \"as sen\",\n      \"ass en\",\n      \"asse n\",\n      \"▁occasion ally\",\n      \"▁occasional ly\",\n      \"▁Д ж\",\n      \"un known\",\n      \"unk nown\",\n      \"DE D\",\n      \"D ED\",\n      \"▁d rum\",\n      \"▁dr um\",\n      \"▁dru m\",\n      \"▁d ub\",\n      \"▁du b\",\n      \"AT URE\",\n      \"us age\",\n      \"usa ge\",\n      \"get Type\",\n      \"re ply\",\n      \"rep ly\",\n      \"▁strateg ic\",\n      \"▁k ap\",\n      \"▁ka p\",\n      \"▁ kap\",\n      \"de sign\",\n      \"des ign\",\n      \"date time\",\n      \"dat etime\",\n      \"▁P rim\",\n      \"▁Pr im\",\n      \"▁Pri m\",\n      \"▁ Prim\",\n      \"Ma ster\",\n      \"M aster\",\n      \"▁Cor ps\",\n      \"▁consider able\",\n      \"▁T u\",\n      \"▁ ла\",\n      \"▁t ous\",\n      \"▁to us\",\n      \"▁tou s\",\n      \"▁c lar\",\n      \"▁cl ar\",\n      \"▁po em\",\n      \"al bum\",\n      \"] *\",\n      \"lo aded\",\n      \"load ed\",\n      \"▁travel ing\",\n      \"▁trav eling\",\n      \"вы е\",\n      \"▁F err\",\n      \"▁Fe rr\",\n      \"▁Fer r\",\n      \"▁p harm\",\n      \"▁ph arm\",\n      \"ab i\",\n      \"a bi\",\n      \"▁} \\\\\",\n      \"▁ }\\\\\",\n      \"col lect\",\n      \"coll ect\",\n      \"▁B our\",\n      \"▁Bo ur\",\n      \"▁Bou r\",\n      \"O C\",\n      \"▁measure ments\",\n      \"▁measurement s\",\n      \"▁Profess ional\",\n      \"▁s ensor\",\n      \"▁sens or\",\n      \"▁sen sor\",\n      \"▁ sensor\",\n      \"ut sche\",\n      \"uts che\",\n      \"utsch e\",\n      \"▁dem anded\",\n      \"▁demand ed\",\n      \"▁accompan ied\",\n      \"▁p rend\",\n      \"▁pre nd\",\n      \"▁pr end\",\n      \"▁enc oding\",\n      \"▁ encoding\",\n      \"▁Gesch ichte\",\n      \"▁m ig\",\n      \"▁mi g\",\n      \"▁G ib\",\n      \"▁Gi b\",\n      \"▁Re ich\",\n      \"▁m yster\",\n      \"▁my ster\",\n      \"▁myst er\",\n      \"▁M ock\",\n      \"▁Mo ck\",\n      \"▁ Mock\",\n      \"▁phys ically\",\n      \"▁physical ly\",\n      \"▁B au\",\n      \"▁Ba u\",\n      \"▁S ingle\",\n      \"▁Sing le\",\n      \"▁Sin gle\",\n      \"▁ Single\",\n      \"▁man aging\",\n      \"▁K il\",\n      \"▁Ki l\",\n      \"▁Tem ple\",\n      \"▁Temp le\",\n      \"▁l ev\",\n      \"▁le v\",\n      \"▁ lev\",\n      \"▁l í\",\n      \"CP U\",\n      \"C PU\",\n      \"▁Prem ier\",\n      \"▁G ive\",\n      \"▁Gi ve\",\n      \"ir i\",\n      \"i ri\",\n      \"N V\",\n      \"▁A I\",\n      \"▁ AI\",\n      \"▁f p\",\n      \"▁ fp\",\n      \"лекс анд\",\n      \"▁t ant\",\n      \"▁tan t\",\n      \"▁ta nt\",\n      \"▁f ot\",\n      \"▁fo t\",\n      \"Null able\",\n      \"▁gu ards\",\n      \"▁guard s\",\n      \"On ce\",\n      \"▁ch amber\",\n      \"▁cha mber\",\n      \"fil m\",\n      \"fi lm\",\n      \"▁b ias\",\n      \"▁bi as\",\n      \"▁ bias\",\n      \"▁T ai\",\n      \"▁Ta i\",\n      \"ins ic\",\n      \"insi c\",\n      \"▁m l\",\n      \"▁ ml\",\n      \"▁K a\",\n      \"ва л\",\n      \"в ал\",\n      \"▁S ER\",\n      \"▁SE R\",\n      \"▁ SER\",\n      \"▁Some one\",\n      \"}} _{\",\n      \"}}_ {\",\n      \"} }_{\",\n      \"Fix ed\",\n      \"F ixed\",\n      \"▁b ent\",\n      \"▁be nt\",\n      \"▁ben t\",\n      \"▁pro hib\",\n      \"▁b id\",\n      \"▁bi d\",\n      \"▁ bid\",\n      \"▁fe wer\",\n      \"▁few er\",\n      \"к ры\",\n      \"▁l ugar\",\n      \"▁lug ar\",\n      \"▁lu gar\",\n      \"▁de serve\",\n      \"▁des erve\",\n      \"ss l\",\n      \"s sl\",\n      \"▁c fg\",\n      \"▁cf g\",\n      \"▁ cfg\",\n      \"re ck\",\n      \"rec k\",\n      \"▁st ability\",\n      \"▁stabil ity\",\n      \"▁stab ility\",\n      \"re size\",\n      \"res ize\",\n      \"▁assert That\",\n      \"Tr igger\",\n      \"▁ста нов\",\n      \"▁стан ов\",\n      \"▁ станов\",\n      \"pl ugins\",\n      \"plugin s\",\n      \"plug ins\",\n      \"▁l ets\",\n      \"▁le ts\",\n      \"▁let s\",\n      \"▁ lets\",\n      \"хі д\",\n      \"х ід\",\n      \"▁La ura\",\n      \"▁Lau ra\",\n      \"не р\",\n      \"н ер\",\n      \"▁br ut\",\n      \"▁bru t\",\n      \"▁F I\",\n      \"▁ FI\",\n      \"is ons\",\n      \"ison s\",\n      \"iso ns\",\n      \"▁d yn\",\n      \"▁dy n\",\n      \"▁ dyn\",\n      \"ic her\",\n      \"ich er\",\n      \"iche r\",\n      \"i cher\",\n      \"ray ed\",\n      \"▁frequ ent\",\n      \"▁jed och\",\n      \"▁Mar ine\",\n      \"st rings\",\n      \"str ings\",\n      \"string s\",\n      \"▁U til\",\n      \"▁Ut il\",\n      \"▁ Util\",\n      \"▁b os\",\n      \"▁bo s\",\n      \"Mu s\",\n      \"M us\",\n      \"▁Portug al\",\n      \"Str ategy\",\n      \"▁по се\",\n      \"▁пос е\",\n      \"▁sl ice\",\n      \"▁slic e\",\n      \"▁ slice\",\n      \"▁ins ight\",\n      \"▁w idget\",\n      \"▁wid get\",\n      \"▁ widget\",\n      \"▁gén éral\",\n      \"message s\",\n      \"m essages\",\n      \"▁H u\",\n      \"▁requ irement\",\n      \"▁require ment\",\n      \"Si de\",\n      \"S ide\",\n      \"empl ates\",\n      \"emplate s\",\n      \"▁cer emony\",\n      \"▁ceremon y\",\n      \"▁phys ics\",\n      \"▁grad uate\",\n      \"▁gradu ate\",\n      \"▁ graduate\",\n      \"par a\",\n      \"pa ra\",\n      \"p ara\",\n      \"▁pre serv\",\n      \"▁pres erv\",\n      \"▁sh ops\",\n      \"▁shop s\",\n      \"▁ shops\",\n      \"ze k\",\n      \"z ek\",\n      \"▁u b\",\n      \"▁ ub\",\n      \"pre pare\",\n      \"▁O il\",\n      \"▁f ib\",\n      \"▁fi b\",\n      \"▁run time\",\n      \"▁ runtime\",\n      \"▁h ogy\",\n      \"▁ho gy\",\n      \"Warn ing\",\n      \"War ning\",\n      \"W arning\",\n      \"▁Con vert\",\n      \"▁ Convert\",\n      \"bour ne\",\n      \"▁emer ged\",\n      \"▁emerge d\",\n      \"▁Д и\",\n      \"ight h\",\n      \"igh th\",\n      \"gu ard\",\n      \"ka l\",\n      \"k al\",\n      \"valid ation\",\n      \"ên cia\",\n      \"ê ncia\",\n      \"▁dr inks\",\n      \"▁drink s\",\n      \"the orem\",\n      \"H R\",\n      \"ie v\",\n      \"i ev\",\n      \"ploy ee\",\n      \"Us age\",\n      \"▁с пе\",\n      \"▁сп е\",\n      \"▁ спе\",\n      \"dis patch\",\n      \"disp atch\",\n      \"▁inst antly\",\n      \"▁instant ly\",\n      \"ob i\",\n      \"o bi\",\n      \"▁just ify\",\n      \"▁N ev\",\n      \"▁Ne v\",\n      \"▁я вля\",\n      \"ag ra\",\n      \"agr a\",\n      \"a gra\",\n      \"▁trans mission\",\n      \"▁transm ission\",\n      \"fl y\",\n      \"f ly\",\n      \"; </\",\n      \"▁symbol s\",\n      \"ów n\",\n      \"ó wn\",\n      \"▁cor ps\",\n      \"▁j ail\",\n      \"▁ja il\",\n      \"▁L en\",\n      \"▁Le n\",\n      \"▁ Len\",\n      \"▁c raw\",\n      \"▁cr aw\",\n      \"▁life style\",\n      \"▁lif estyle\",\n      \"▁re direct\",\n      \"▁red irect\",\n      \"▁ redirect\",\n      \"▁Down load\",\n      \"▁ Download\",\n      \"▁o sc\",\n      \"▁os c\",\n      \"▁ osc\",\n      \"▁ins isted\",\n      \"▁insist ed\",\n      \"▁j aw\",\n      \"▁ja w\",\n      \"in da\",\n      \"ind a\",\n      \"▁L ICENSE\",\n      \"▁ LICENSE\",\n      \"M R\",\n      \"ве н\",\n      \"в ен\",\n      \"l ibrary\",\n      \"▁kn ee\",\n      \"▁kne e\",\n      \"Hel lo\",\n      \"H ello\",\n      \"▁defe ated\",\n      \"▁defeat ed\",\n      \"▁mi xture\",\n      \"en cer\",\n      \"ence r\",\n      \"enc er\",\n      \"ва ти\",\n      \"ват и\",\n      \"T T\",\n      \"in her\",\n      \"O ld\",\n      \"com ments\",\n      \"comm ents\",\n      \"comment s\",\n      \"de velop\",\n      \"▁su icide\",\n      \"olog ia\",\n      \"▁death s\",\n      \"▁l isting\",\n      \"▁list ing\",\n      \"▁process ed\",\n      \"▁proc essed\",\n      \"▁proces sed\",\n      \"om er\",\n      \"ome r\",\n      \"o mer\",\n      \"▁token s\",\n      \"▁tok ens\",\n      \"▁ tokens\",\n      \"▁г е\",\n      \"▁ ге\",\n      \"▁n ú\",\n      \"▁é v\",\n      \"▁ év\",\n      \"▁B ody\",\n      \"▁Bo dy\",\n      \"▁Bod y\",\n      \"▁ Body\",\n      \"▁gi orn\",\n      \"▁el abor\",\n      \"▁R and\",\n      \"▁Ra nd\",\n      \"▁Ran d\",\n      \"▁N otes\",\n      \"▁No tes\",\n      \"▁Not es\",\n      \"▁Note s\",\n      \"▁Mass achusetts\",\n      \"( %\",\n      \"In formation\",\n      \"▁W r\",\n      \"▁ Wr\",\n      \"m k\",\n      \"▁Sch w\",\n      \"▁Sc hw\",\n      \"as ting\",\n      \"ast ing\",\n      \"▁t iene\",\n      \"▁tie ne\",\n      \"▁ti ene\",\n      \"▁di rig\",\n      \"▁dir ig\",\n      \"▁r im\",\n      \"▁ri m\",\n      \"▁ rim\",\n      \"вы й\",\n      \"▁trans ferred\",\n      \"▁transfer red\",\n      \"od i\",\n      \"o di\",\n      \"▁h unting\",\n      \"▁hun ting\",\n      \"▁hunt ing\",\n      \"▁enjoy ing\",\n      \"▁enjo ying\",\n      \"p k\",\n      \"MA G\",\n      \"M AG\",\n      \"A xis\",\n      \"in tegr\",\n      \"int egr\",\n      \"inte gr\",\n      \"Fail ure\",\n      \"▁los ses\",\n      \"▁loss es\",\n      \"▁l oving\",\n      \"▁lo ving\",\n      \"▁lov ing\",\n      \"Con sum\",\n      \"Cons um\",\n      \"ри й\",\n      \"▁in spect\",\n      \"▁ins pect\",\n      \"▁insp ect\",\n      \"P ut\",\n      \"av ia\",\n      \"avi a\",\n      \"a via\",\n      \"▁h ated\",\n      \"▁ha ted\",\n      \"▁hat ed\",\n      \"▁hate d\",\n      \"ь ю\",\n      \"▁br ush\",\n      \"▁bru sh\",\n      \"▁un comfort\",\n      \"▁Th read\",\n      \"▁ Thread\",\n      \"▁commun icate\",\n      \"ж но\",\n      \"IN ST\",\n      \"INS T\",\n      \"▁M ach\",\n      \"▁Mac h\",\n      \"▁Ma ch\",\n      \"Ign ore\",\n      \"▁program ming\",\n      \"c í\",\n      \"=\\\" <?\",\n      \"Re q\",\n      \"R eq\",\n      \"▁F if\",\n      \"▁Fi f\",\n      \"in ely\",\n      \"ine ly\",\n      \"▁consum ption\",\n      \"er ial\",\n      \"eria l\",\n      \"eri al\",\n      \"e rial\",\n      \"▁commun ications\",\n      \"▁communication s\",\n      \"та ль\",\n      \"тал ь\",\n      \"т аль\",\n      \"ie re\",\n      \"ier e\",\n      \"i ere\",\n      \"▁L iving\",\n      \"▁Li ving\",\n      \"▁Liv ing\",\n      \"▁Al fred\",\n      \"▁Alf red\",\n      \"di e\",\n      \"d ie\",\n      \"▁p rost\",\n      \"▁pro st\",\n      \"▁pr ost\",\n      \"▁pros t\",\n      \"▁f ier\",\n      \"▁fi er\",\n      \"▁C F\",\n      \"▁ CF\",\n      \"▁B BC\",\n      \"▁BB C\",\n      \"We ight\",\n      \"W eight\",\n      \"Con vert\",\n      \"Conv ert\",\n      \"▁feat uring\",\n      \"ar te\",\n      \"art e\",\n      \"' _\",\n      \"▁J S\",\n      \"▁ JS\",\n      \"ста ви\",\n      \"став и\",\n      \"▁prem ium\",\n      \"▁premi um\",\n      \"zi g\",\n      \"z ig\",\n      \"▁d eze\",\n      \"▁de ze\",\n      \"▁Af ghan\",\n      \"hy thm\",\n      \"mo t\",\n      \"m ot\",\n      \"US B\",\n      \"U SB\",\n      \"▁U I\",\n      \"▁ UI\",\n      \"fa ke\",\n      \"f ake\",\n      \"an co\",\n      \"anc o\",\n      \"E F\",\n      \"As set\",\n      \"Ass et\",\n      \"▁Det ails\",\n      \"▁ Details\",\n      \"gorith ms\",\n      \"gorithm s\",\n      \"▁s ighed\",\n      \"▁sig hed\",\n      \"▁sigh ed\",\n      \"▁Л у\",\n      \"ч ки\",\n      \"▁C it\",\n      \"▁Ci t\",\n      \"ch annels\",\n      \"chan nels\",\n      \"channel s\",\n      \"▁re ads\",\n      \"▁read s\",\n      \"▁auto matic\",\n      \"▁autom atic\",\n      \"▁me dal\",\n      \"▁med al\",\n      \"po d\",\n      \"p od\",\n      \"▁M ik\",\n      \"▁Mi k\",\n      \"▁l on\",\n      \"▁lo n\",\n      \"▁ lon\",\n      \"li ver\",\n      \"live r\",\n      \"liv er\",\n      \"l iver\",\n      \"▁Atl antic\",\n      \"om i\",\n      \"o mi\",\n      \"án í\",\n      \"á ní\",\n      \"cre at\",\n      \"c reat\",\n      \"▁ass uming\",\n      \"▁assum ing\",\n      \"r å\",\n      \"▁( );\",\n      \"▁() ;\",\n      \"▁ ();\",\n      \"min e\",\n      \"mi ne\",\n      \"m ine\",\n      \"al er\",\n      \"ale r\",\n      \"a ler\",\n      \"H W\",\n      \"▁und ert\",\n      \"▁under t\",\n      \"Sw itch\",\n      \"hi s\",\n      \"h is\",\n      \"▁fl ew\",\n      \"▁fle w\",\n      \"MA N\",\n      \"M AN\",\n      \"IN DEX\",\n      \"IND EX\",\n      \"▁K az\",\n      \"▁Ka z\",\n      \"▁ме жду\",\n      \"▁b ol\",\n      \"▁bo l\",\n      \"▁ bol\",\n      \"ста нов\",\n      \"стан ов\",\n      \"хо д\",\n      \"AP P\",\n      \"A PP\",\n      \"▁t iem\",\n      \"▁tie m\",\n      \"▁ti em\",\n      \"▁att ach\",\n      \"▁ attach\",\n      \"▁saf ely\",\n      \"▁safe ly\",\n      \"FUN CTION\",\n      \"FUNC TION\",\n      \"▁l ag\",\n      \"▁la g\",\n      \"▁ lag\",\n      \"ни ци\",\n      \"ниц и\",\n      \"sh it\",\n      \"s hit\",\n      \"▁t empt\",\n      \"▁tem pt\",\n      \"▁temp t\",\n      \"RI P\",\n      \"R IP\",\n      \"at ta\",\n      \"att a\",\n      \"a tta\",\n      \"▁ident ifier\",\n      \"▁ identifier\",\n      \"eb ook\",\n      \"e book\",\n      \"▁S ales\",\n      \"▁Sal es\",\n      \"▁Sa les\",\n      \"▁Sale s\",\n      \"▁e erst\",\n      \"▁eer st\",\n      \"▁re son\",\n      \"▁res on\",\n      \"▁acc used\",\n      \"▁accus ed\",\n      \".. .)\",\n      \"... )\",\n      \"▁basket ball\",\n      \"▁ERR OR\",\n      \"▁ ERROR\",\n      \"Ab stract\",\n      \"Abs tract\",\n      \"▁per f\",\n      \"▁pe rf\",\n      \"▁ perf\",\n      \"▁tem po\",\n      \"▁temp o\",\n      \"▁M ol\",\n      \"▁Mo l\",\n      \"▁l ogo\",\n      \"▁lo go\",\n      \"▁log o\",\n      \"▁ logo\",\n      \"ль та\",\n      \"▁in correct\",\n      \"▁incor rect\",\n      \"▁girl friend\",\n      \"▁N ar\",\n      \"▁Na r\",\n      \"▁cloud s\",\n      \"▁й о\",\n      \"▁ йо\",\n      \"▁f its\",\n      \"▁fit s\",\n      \"▁fi ts\",\n      \"REQ UEST\",\n      \"▁P ear\",\n      \"▁Pe ar\",\n      \"ME THOD\",\n      \"▁CH APTER\",\n      \"C pp\",\n      \"▁am pl\",\n      \"ic king\",\n      \"ick ing\",\n      \"▁real iz\",\n      \"| ^\",\n      \"na s\",\n      \"n as\",\n      \"BU FFER\",\n      \"BUF FER\",\n      \"ц я\",\n      \"ni er\",\n      \"nie r\",\n      \"n ier\",\n      \"ke ep\",\n      \"kee p\",\n      \"▁sist ema\",\n      \"▁C er\",\n      \"▁Ce r\",\n      \"▁D raw\",\n      \"▁Dr aw\",\n      \"▁ Draw\",\n      \"get Instance\",\n      \"VE L\",\n      \"V EL\",\n      \"▁bel iefs\",\n      \"▁belie fs\",\n      \"▁belief s\",\n      \"▁M C\",\n      \"▁ MC\",\n      \"-- --------\",\n      \"---- ------\",\n      \"-------- --\",\n      \"--- -------\",\n      \"----- -----\",\n      \"------ ----\",\n      \"--------- -\",\n      \"------- ---\",\n      \"- ---------\",\n      \"▁ir rit\",\n      \"▁irr it\",\n      \"▁N ations\",\n      \"▁Nat ions\",\n      \"▁Nation s\",\n      \"ens itive\",\n      \"▁no uve\",\n      \"▁nou ve\",\n      \"▁e lif\",\n      \"▁el if\",\n      \"▁ elif\",\n      \"▁me als\",\n      \"▁meal s\",\n      \"▁close st\",\n      \"▁clos est\",\n      \"▁r outes\",\n      \"▁ro utes\",\n      \"▁rout es\",\n      \"▁route s\",\n      \"▁rou tes\",\n      \"▁ routes\",\n      \"▁по ли\",\n      \"▁пол и\",\n      \"▁ful fill\",\n      \"ди на\",\n      \"дин а\",\n      \"co ut\",\n      \"cou t\",\n      \"c out\",\n      \"▁M obile\",\n      \"▁ Mobile\",\n      \"▁in equ\",\n      \"▁p elo\",\n      \"▁pe lo\",\n      \"▁pel o\",\n      \"'] ))\",\n      \"']) )\",\n      \"' ]))\",\n      \"▁short ly\",\n      \"▁imag ined\",\n      \"▁imagine d\",\n      \"▁imagin ed\",\n      \"un den\",\n      \"und en\",\n      \"unde n\",\n      \"▁tr usted\",\n      \"▁trust ed\",\n      \"▁estim ates\",\n      \"▁estimate s\",\n      \"▁r od\",\n      \"▁ro d\",\n      \"▁ rod\",\n      \"iss enschaft\",\n      \"issen schaft\",\n      \"▁log ical\",\n      \"▁logic al\",\n      \"un ter\",\n      \"unt er\",\n      \"unte r\",\n      \"▁O nt\",\n      \"▁On t\",\n      \"▁com pass\",\n      \"▁comp ass\",\n      \"▁ compass\",\n      \"bu d\",\n      \"b ud\",\n      \"▁w ise\",\n      \"▁wis e\",\n      \"▁ wise\",\n      \"▁g er\",\n      \"▁ge r\",\n      \"▁ ger\",\n      \"▁I ss\",\n      \"▁Is s\",\n      \"▁ Iss\",\n      \"ha d\",\n      \"h ad\",\n      \"▁H A\",\n      \"▁ HA\",\n      \"▁r ang\",\n      \"▁ran g\",\n      \"▁ra ng\",\n      \"▁t rap\",\n      \"▁tr ap\",\n      \"▁tra p\",\n      \"▁in ject\",\n      \"▁inj ect\",\n      \"▁ inject\",\n      \"fe ed\",\n      \"fee d\",\n      \"f eed\",\n      \"pe ction\",\n      \"pect ion\",\n      \"p ection\",\n      \"▁satisf action\",\n      \"N I\",\n      \"▁rob ust\",\n      \"T ABLE\",\n      \"▁zur ück\",\n      \"▁Charl otte\",\n      \"it ative\",\n      \"itat ive\",\n      \"▁insp iration\",\n      \"▁inspir ation\",\n      \"or ious\",\n      \"ori ous\",\n      \"orio us\",\n      \"eur s\",\n      \"eu rs\",\n      \"e urs\",\n      \"га н\",\n      \"г ан\",\n      \"с лу\",\n      \"▁anal og\",\n      \"al ias\",\n      \"ali as\",\n      \"alia s\",\n      \"▁r acing\",\n      \"▁rac ing\",\n      \"▁ra cing\",\n      \"st ock\",\n      \"sto ck\",\n      \"ust ral\",\n      \"ustr al\",\n      \"▁+ \\\\\",\n      \"▁ +\\\\\",\n      \"uu id\",\n      \"u uid\",\n      \"em ente\",\n      \"ement e\",\n      \"eme nte\",\n      \"emen te\",\n      \"e mente\",\n      \"as sembly\",\n      \"assemb ly\",\n      \"Group Name\",\n      \"you t\",\n      \"yo ut\",\n      \"y out\",\n      \"▁r ab\",\n      \"▁ra b\",\n      \"▁ rab\",\n      \"th ree\",\n      \"▁T her\",\n      \"▁The r\",\n      \"▁Th er\",\n      \"▁B UT\",\n      \"▁BU T\",\n      \"▁ BUT\",\n      \"fi sh\",\n      \"f ish\",\n      \"▁n ell\",\n      \"▁ne ll\",\n      \"▁nel l\",\n      \"▁ nell\",\n      \"Ga te\",\n      \"G ate\",\n      \"▁prep aring\",\n      \"▁prepar ing\",\n      \"ст ер\",\n      \"сте р\",\n      \"с тер\",\n      \"Ok ay\",\n      \"▁con cluded\",\n      \"▁concl uded\",\n      \"▁conclude d\",\n      \"par s\",\n      \"pa rs\",\n      \"p ars\",\n      \"▁l oro\",\n      \"▁lo ro\",\n      \"▁g ut\",\n      \"▁gu t\",\n      \"▁b itter\",\n      \"▁bit ter\",\n      \"▁W i\",\n      \"▁e astern\",\n      \"▁eas tern\",\n      \"▁east ern\",\n      \"▁week ly\",\n      \"▁t ear\",\n      \"▁te ar\",\n      \"▁tea r\",\n      \".\\\" \\\"\\\"\",\n      \". \\\"\\\"\\\"\",\n      \"▁demonstr ate\",\n      \"▁s oph\",\n      \"▁so ph\",\n      \"▁sop h\",\n      \"▁R us\",\n      \"▁Ru s\",\n      \"▁ob sc\",\n      \"▁obs c\",\n      \"мери кан\",\n      \"be an\",\n      \"▁Do ctor\",\n      \"▁Doc tor\",\n      \"▁Law rence\",\n      \"th ird\",\n      \"▁conscious ness\",\n      \"▁r aces\",\n      \"▁race s\",\n      \"▁rac es\",\n      \"▁ra ces\",\n      \"el ements\",\n      \"ele ments\",\n      \"element s\",\n      \"elem ents\",\n      \"▁m ismo\",\n      \"▁mis mo\",\n      \"▁mism o\",\n      \"▁occup ied\",\n      \"▁sl ide\",\n      \"▁slid e\",\n      \"▁ slide\",\n      \"▁And y\",\n      \"▁An dy\",\n      \"tc p\",\n      \"t cp\",\n      \"▁st iff\",\n      \"▁L eben\",\n      \"▁Le ben\",\n      \"▁Leb en\",\n      \"▁up grade\",\n      \"Th row\",\n      \"▁G uy\",\n      \"▁Gu y\",\n      \"Cam era\",\n      \"AC H\",\n      \"A CH\",\n      \"▁pu ede\",\n      \"▁pued e\",\n      \"WE BPACK\",\n      \"же ние\",\n      \"─ ─\",\n      \"Ш А\",\n      \"ло ва\",\n      \"лов а\",\n      \"vis or\",\n      \"vi sor\",\n      \"sign al\",\n      \"sig nal\",\n      \"▁Al ber\",\n      \"▁Alb er\",\n      \"MB OL\",\n      \"▁p t\",\n      \"▁ pt\",\n      \"▁rom antic\",\n      \"▁correspon ds\",\n      \"▁correspond s\",\n      \"▁Oper ation\",\n      \"▁ Operation\",\n      \"▁X ML\",\n      \"▁ XML\",\n      \"▁in finite\",\n      \"ge w\",\n      \"g ew\",\n      \"▁Argent ina\",\n      \"SU B\",\n      \"S UB\",\n      \"▁w ip\",\n      \"▁L evel\",\n      \"▁Le vel\",\n      \"▁Lev el\",\n      \"▁ Level\",\n      \"▁c oin\",\n      \"▁co in\",\n      \"▁ coin\",\n      \"▁O wn\",\n      \"▁ Own\",\n      \"d v\",\n      \"us pend\",\n      \"▁judg ment\",\n      \"▁M ais\",\n      \"▁Ma is\",\n      \"▁Mai s\",\n      \"* :\",\n      \"us ted\",\n      \"ust ed\",\n      \"u sted\",\n      \"( /\",\n      \"▁\\\" +\",\n      \"▁ \\\"+\",\n      \"cre ment\",\n      \"cr ement\",\n      \"▁Ph oto\",\n      \"▁Phot o\",\n      \"▁ Photo\",\n      \"Message s\",\n      \"M essages\",\n      \"▁Su ccess\",\n      \"▁ Success\",\n      \"hr ef\",\n      \"hre f\",\n      \"h ref\",\n      \"▁f ert\",\n      \"▁fe rt\",\n      \"▁fer t\",\n      \"Hol der\",\n      \"H older\",\n      \"emper ature\",\n      \"OFF SET\",\n      \"▁d all\",\n      \"▁da ll\",\n      \"▁dal l\",\n      \"▁r ival\",\n      \"▁ri val\",\n      \"▁riv al\",\n      \"▁con form\",\n      \"▁conf orm\",\n      \"sub ject\",\n      \"TI NG\",\n      \"T ING\",\n      \"▁v est\",\n      \"▁ve st\",\n      \"▁ vest\",\n      \"▁Add itionally\",\n      \"▁Additional ly\",\n      \"cont act\",\n      \"▁C P\",\n      \"▁ CP\",\n      \"▁C OP\",\n      \"▁CO P\",\n      \"H C\",\n      \"▁excl us\",\n      \"▁b ru\",\n      \"▁br u\",\n      \"▁ bru\",\n      \"lic ense\",\n      \"l icense\",\n      \"▁B uck\",\n      \"▁Bu ck\",\n      \"▁Buc k\",\n      \"▁go ds\",\n      \"▁god s\",\n      \"▁Un idos\",\n      \"▁Qu ery\",\n      \"▁Que ry\",\n      \"▁ Query\",\n      \"со в\",\n      \"с ов\",\n      \"▁concept s\",\n      \"▁conce pts\",\n      \"▁m ild\",\n      \"▁mil d\",\n      \"▁mi ld\",\n      \"▁sup plied\",\n      \"▁cap abilities\",\n      \"▁m arry\",\n      \"▁mar ry\",\n      \"Sn apshot\",\n      \"▁et wa\",\n      \"▁A lt\",\n      \"▁Al t\",\n      \"▁ Alt\",\n      \"v í\",\n      \"kt ion\",\n      \"ko l\",\n      \"k ol\",\n      \"▁g rip\",\n      \"▁gr ip\",\n      \"▁gri p\",\n      \"▁C S\",\n      \"▁ CS\",\n      \"▁Sam uel\",\n      \"▁Be ck\",\n      \"▁G allery\",\n      \"▁Gall ery\",\n      \"ri cht\",\n      \"ric ht\",\n      \"rich t\",\n      \"r icht\",\n      \"▁d t\",\n      \"▁ dt\",\n      \"pe g\",\n      \"p eg\",\n      \"▁T oo\",\n      \"▁To o\",\n      \"▁ Too\",\n      \"am ment\",\n      \"amm ent\",\n      \"ammen t\",\n      \"▁f aint\",\n      \"▁fa int\",\n      \"virt ual\",\n      \"v irtual\",\n      \"▁pl ug\",\n      \"▁ plug\",\n      \"H or\",\n      \"ie le\",\n      \"iel e\",\n      \"i ele\",\n      \"ни ки\",\n      \"ник и\",\n      \"▁c ov\",\n      \"▁co v\",\n      \"▁ cov\",\n      \"ě t\",\n      \"▁enc uent\",\n      \"ab c\",\n      \"a bc\",\n      \"CL UD\",\n      \"CLU D\",\n      \"▁sym metry\",\n      \"▁symmet ry\",\n      \"ail ing\",\n      \"ai ling\",\n      \"a iling\",\n      \"▁Mo ore\",\n      \"ch art\",\n      \"char t\",\n      \"cha rt\",\n      \"▁shift ed\",\n      \"▁dam aged\",\n      \"▁damage d\",\n      \"▁test im\",\n      \"~ $\",\n      \"▁h iding\",\n      \"▁hi ding\",\n      \"▁hid ing\",\n      \"** *\",\n      \"* **\",\n      \"▁h orn\",\n      \"▁hor n\",\n      \"▁ho rn\",\n      \"▁ horn\",\n      \"▁T oken\",\n      \"▁To ken\",\n      \"▁Tok en\",\n      \"▁ Token\",\n      \"▁p ixels\",\n      \"▁pixel s\",\n      \"Ev al\",\n      \"E val\",\n      \"ál y\",\n      \"á ly\",\n      \"▁та ко\",\n      \"▁так о\",\n      \"▁conf usion\",\n      \"et ta\",\n      \"ett a\",\n      \"e tta\",\n      \"rypt ed\",\n      \"em at\",\n      \"ema t\",\n      \"e mat\",\n      \"CLUD ING\",\n      \"look up\",\n      \"TI M\",\n      \"T IM\",\n      \"▁al lem\",\n      \"▁all em\",\n      \"▁alle m\",\n      \"r p\",\n      \"at io\",\n      \"ati o\",\n      \"en í\",\n      \"e ní\",\n      \"me try\",\n      \"met ry\",\n      \"m etry\",\n      \"id ays\",\n      \"ida ys\",\n      \"iday s\",\n      \"i days\",\n      \"The ta\",\n      \"Th eta\",\n      \"Conne ct\",\n      \"Conn ect\",\n      \"▁ass ass\",\n      \"\\\" \\\\\",\n      \"▁be am\",\n      \"▁Custom er\",\n      \"▁ Customer\",\n      \"▁p ela\",\n      \"▁pe la\",\n      \"▁pel a\",\n      \"s leep\",\n      \"▁F al\",\n      \"▁Fa l\",\n      \"▁Qu ick\",\n      \"▁ Quick\",\n      \"▁Ind ones\",\n      \"▁Ukr aine\",\n      \"▁Ukrain e\",\n      \"Y Y\",\n      \"▁Jon athan\",\n      \"AT OR\",\n      \"▁Govern or\",\n      \"im eter\",\n      \"ime ter\",\n      \"imet er\",\n      \"▁Vis it\",\n      \"▁K rist\",\n      \"▁Kr ist\",\n      \"▁afford able\",\n      \"; /\",\n      \"▁h ay\",\n      \"▁ha y\",\n      \"un to\",\n      \"unt o\",\n      \"▁c argo\",\n      \"▁car go\",\n      \"▁Z we\",\n      \"▁Zw e\",\n      \"▁Br uce\",\n      \"▁Bru ce\",\n      \"ле м\",\n      \"л ем\",\n      \"▁e mit\",\n      \"▁em it\",\n      \"▁ emit\",\n      \"з д\",\n      \"ш у\",\n      \"▁ко ро\",\n      \"▁кор о\",\n      \"oh l\",\n      \"o hl\",\n      \"Menu Item\",\n      \"▁C lear\",\n      \"▁Cl ear\",\n      \"▁Cle ar\",\n      \"▁ Clear\",\n      \"▁Al tern\",\n      \"▁Alt ern\",\n      \"▁d awn\",\n      \"▁da wn\",\n      \"▁wis dom\",\n      \"ці й\",\n      \"b örd\",\n      \"Dec imal\",\n      \"fil led\",\n      \"fill ed\",\n      \"f illed\",\n      \"arg uments\",\n      \"argument s\",\n      \"▁f et\",\n      \"▁fe t\",\n      \"▁Be aut\",\n      \"▁d ens\",\n      \"▁de ns\",\n      \"▁den s\",\n      \"Return s\",\n      \"att ach\",\n      \"atta ch\",\n      \"▁Ве ли\",\n      \"▁f iled\",\n      \"▁fil ed\",\n      \"▁file d\",\n      \"▁fi led\",\n      \"▁Har ris\",\n      \"▁Harr is\",\n      \"▁Ex ample\",\n      \"▁ Example\",\n      \"▁Le arn\",\n      \"▁Lear n\",\n      \"Res olver\",\n      \"Resolve r\",\n      \"▁com plement\",\n      \"▁comp lement\",\n      \"▁compl ement\",\n      \"pr ef\",\n      \"pre f\",\n      \"p ref\",\n      \"▁int ens\",\n      \"▁inte ns\",\n      \"▁gar age\",\n      \"▁ga rage\",\n      \"ai ent\",\n      \"a ient\",\n      \"▁e tern\",\n      \"▁et ern\",\n      \"кт а\",\n      \"к та\",\n      \"▁den ied\",\n      \"▁L L\",\n      \"▁ LL\",\n      \"sequ ence\",\n      \"▁ridic ulous\",\n      \"ö m\",\n      \"at ti\",\n      \"att i\",\n      \"a tti\",\n      \"▁qu esto\",\n      \"▁que sto\",\n      \"▁quest o\",\n      \"▁de termin\",\n      \"▁determ in\",\n      \"▁deter min\",\n      \"▁arbitr ary\",\n      \"il ia\",\n      \"ili a\",\n      \"i lia\",\n      \"cl usion\",\n      \"cur rency\",\n      \"curr ency\",\n      \"▁add ressed\",\n      \"▁address ed\",\n      \"▁addr essed\",\n      \"▁interpret ation\",\n      \"N L\",\n      \"r ä\",\n      \"▁& #\",\n      \"▁ &#\",\n      \"▁b ou\",\n      \"▁bo u\",\n      \"▁p ants\",\n      \"▁pan ts\",\n      \"▁pant s\",\n      \"▁Ex press\",\n      \"▁Exp ress\",\n      \"▁ Express\",\n      \"cl s\",\n      \"c ls\",\n      \"tag Helper\",\n      \"▁Nat ural\",\n      \"▁Natur al\",\n      \"▁sub mitted\",\n      \"▁submit ted\",\n      \"▁subm itted\",\n      \"se cret\",\n      \"sec ret\",\n      \"il ib\",\n      \"ili b\",\n      \"i lib\",\n      \"ch ell\",\n      \"che ll\",\n      \"chel l\",\n      \"c hell\",\n      \"▁H aupt\",\n      \"▁Ha upt\",\n      \"he id\",\n      \"▁c ord\",\n      \"▁co rd\",\n      \"▁cor d\",\n      \"▁ cord\",\n      \"▁p overty\",\n      \"am ped\",\n      \"amp ed\",\n      \"te sts\",\n      \"test s\",\n      \"tes ts\",\n      \"t ests\",\n      \"▁Hand le\",\n      \"▁ Handle\",\n      \"▁Est ados\",\n      \"▁Estado s\",\n      \"Valid ator\",\n      \"at om\",\n      \"ato m\",\n      \"a tom\",\n      \"lo pe\",\n      \"l ope\",\n      \"▁t ile\",\n      \"▁til e\",\n      \"▁ti le\",\n      \"▁ tile\",\n      \"Con tract\",\n      \"Cont ract\",\n      \"R F\",\n      \"▁prep aration\",\n      \"▁prepar ation\",\n      \"▁M aj\",\n      \"▁Ma j\",\n      \"▁К ар\",\n      \"▁Ка р\",\n      \"су дар\",\n      \"▁wood s\",\n      \"▁ch ef\",\n      \"▁che f\",\n      \"▁S ad\",\n      \"▁Sa d\",\n      \"FLAG S\",\n      \"▁impro ving\",\n      \"com pute\",\n      \"comp ute\",\n      \"comput e\",\n      \"RET URN\",\n      \"Met rics\",\n      \"Metric s\",\n      \"▁S quad\",\n      \"▁S ets\",\n      \"▁Se ts\",\n      \"▁Set s\",\n      \"▁ Sets\",\n      \"▁S PE\",\n      \"▁SP E\",\n      \"▁ SPE\",\n      \"▁b link\",\n      \"▁bl ink\",\n      \"▁a ctors\",\n      \"▁act ors\",\n      \"▁actor s\",\n      \"▁surv ived\",\n      \"▁survive d\",\n      \"▁surviv ed\",\n      \"▁E mer\",\n      \"▁Em er\",\n      \"▁' -\",\n      \"▁R achel\",\n      \"▁Ra chel\",\n      \"▁deutsch er\",\n      \"▁s op\",\n      \"▁so p\",\n      \"▁v il\",\n      \"▁vi l\",\n      \"▁ vil\",\n      \"fall s\",\n      \"f alls\",\n      \"re fer\",\n      \"ref er\",\n      \"dar k\",\n      \"d ark\",\n      \"▁prom otion\",\n      \"▁promot ion\",\n      \":% .*\",\n      \"▁C rit\",\n      \"▁Cr it\",\n      \"▁S to\",\n      \"▁St o\",\n      \"# {\",\n      \"▁class ification\",\n      \"al en\",\n      \"ale n\",\n      \"a len\",\n      \"Un der\",\n      \"Und er\",\n      \"U nder\",\n      \"▁c ort\",\n      \"▁co rt\",\n      \"▁cor t\",\n      \"qu ate\",\n      \"q uate\",\n      \"con cat\",\n      \"conc at\",\n      \"▁E ffect\",\n      \"▁Eff ect\",\n      \"▁ Effect\",\n      \"▁offic ially\",\n      \"▁official ly\",\n      \"▁Bern ard\",\n      \"us r\",\n      \"u sr\",\n      \"▁M é\",\n      \"▁l anded\",\n      \"▁land ed\",\n      \"▁lan ded\",\n      \"se nt\",\n      \"sen t\",\n      \"s ent\",\n      \"inter pret\",\n      \"▁E xp\",\n      \"▁Ex p\",\n      \"▁ Exp\",\n      \"ul um\",\n      \"ulu m\",\n      \"lo ading\",\n      \"load ing\",\n      \"Fi re\",\n      \"F ire\",\n      \"▁p orn\",\n      \"▁po rn\",\n      \"▁por n\",\n      \"▁Air port\",\n      \"▁t ard\",\n      \"▁tar d\",\n      \"▁ta rd\",\n      \"▁Off icer\",\n      \"▁Office r\",\n      \"gg reg\",\n      \"g greg\",\n      \"с ли\",\n      \"▁int ensity\",\n      \"▁intens ity\",\n      \"ân d\",\n      \"â nd\",\n      \"zz a\",\n      \"z za\",\n      \"▁exc use\",\n      \"AS K\",\n      \"A SK\",\n      \"▁Sen ior\",\n      \"▁gener ations\",\n      \"▁generation s\",\n      \"ou ses\",\n      \"ous es\",\n      \"ouse s\",\n      \"o uses\",\n      \"▁war ned\",\n      \"▁warn ed\",\n      \"▁cap it\",\n      \"▁ca pit\",\n      \"▁ос нов\",\n      \"▁c hop\",\n      \"▁ch op\",\n      \"▁cho p\",\n      \"om ed\",\n      \"ome d\",\n      \"o med\",\n      \"▁pro secut\",\n      \"▁pros ecut\",\n      \"▁a lg\",\n      \"▁al g\",\n      \"▁ alg\",\n      \"▁re tain\",\n      \"▁ret ain\",\n      \"ag ine\",\n      \"agi ne\",\n      \"wer k\",\n      \"w erk\",\n      \"▁R aj\",\n      \"▁Ra j\",\n      \"BE R\",\n      \"B ER\",\n      \"itut ional\",\n      \"itution al\",\n      \"і б\",\n      \"▁с ер\",\n      \"▁се р\",\n      \"▁ сер\",\n      \"▁inst inct\",\n      \"▁bound aries\",\n      \"▁med ian\",\n      \"▁media n\",\n      \"▁medi an\",\n      \"▁hor rible\",\n      \"▁innov ative\",\n      \"▁E P\",\n      \"▁ EP\",\n      \"▁vac ation\",\n      \"▁walk s\",\n      \"▁wal ks\",\n      \"▁re called\",\n      \"▁rec alled\",\n      \"▁recall ed\",\n      \"л ле\",\n      \"▁а д\",\n      \"▁s érie\",\n      \"▁sé rie\",\n      \"▁Barcel ona\",\n      \"ol as\",\n      \"ola s\",\n      \"o las\",\n      \"▁legis lation\",\n      \"▁legisl ation\",\n      \"▁fr anch\",\n      \"▁franc h\",\n      \"To uch\",\n      \"T ouch\",\n      \"Di ct\",\n      \"D ict\",\n      \"▁differ ently\",\n      \"▁different ly\",\n      \"▁imag ination\",\n      \"▁imagin ation\",\n      \"▁b ills\",\n      \"▁bill s\",\n      \"▁bil ls\",\n      \"▁re ception\",\n      \"▁rece ption\",\n      \"z á\",\n      \"IMPORT ED\",\n      \"la b\",\n      \"l ab\",\n      \"(\\\" [\",\n      \"il lon\",\n      \"ill on\",\n      \"illo n\",\n      \"-- ;\",\n      \"▁M är\",\n      \"▁b alls\",\n      \"▁ball s\",\n      \"▁bal ls\",\n      \"Prom ise\",\n      \"P romise\",\n      \"▁inst itution\",\n      \"▁institut ion\",\n      \"ba u\",\n      \"b au\",\n      \"▁surv ival\",\n      \"▁surviv al\",\n      \"▁D rive\",\n      \"▁Dr ive\",\n      \"jo int\",\n      \"join t\",\n      \"j oint\",\n      \"▁fl avor\",\n      \"▁flav or\",\n      \"▁comput ed\",\n      \"▁compute d\",\n      \"▁view ed\",\n      \"▁vie wed\",\n      \"▁swim ming\",\n      \"▁innov ation\",\n      \"sh are\",\n      \"sha re\",\n      \"rol lers\",\n      \"roll ers\",\n      \"roller s\",\n      \"▁Ser ge\",\n      \"fil ters\",\n      \"filter s\",\n      \"it ivity\",\n      \"▁c orn\",\n      \"▁co rn\",\n      \"▁cor n\",\n      \"▁M s\",\n      \"▁ Ms\",\n      \"те лей\",\n      \"тел ей\",\n      \"▁mat hemat\",\n      \"▁math emat\",\n      \"▁La bour\",\n      \"▁Lab our\",\n      \"ре й\",\n      \"р ей\",\n      \"▁p unt\",\n      \"▁pu nt\",\n      \"▁pun t\",\n      \"▁re vers\",\n      \"▁rev ers\",\n      \"▁reve rs\",\n      \"▁rever s\",\n      \"▁no where\",\n      \"▁now here\",\n      \"ri fic\",\n      \"rif ic\",\n      \"r ific\",\n      \"▁H AL\",\n      \"▁HA L\",\n      \"▁ HAL\",\n      \"▁E mail\",\n      \"▁Em ail\",\n      \"▁ Email\",\n      \"▁C over\",\n      \"▁Co ver\",\n      \"▁Cov er\",\n      \"▁monitor ing\",\n      \"▁p c\",\n      \"▁ pc\",\n      \"SE D\",\n      \"S ED\",\n      \"n v\",\n      \"▁Y ears\",\n      \"▁Year s\",\n      \"▁Ye ars\",\n      \"▁Se ason\",\n      \"▁Sea son\",\n      \"▁st abil\",\n      \"▁sta bil\",\n      \"▁stab il\",\n      \"ac co\",\n      \"acc o\",\n      \"be at\",\n      \"or ic\",\n      \"ori c\",\n      \"o ric\",\n      \"▁p ipeline\",\n      \"▁pipe line\",\n      \"▁pip eline\",\n      \"▁ pipeline\",\n      \"▁r adi\",\n      \"▁rad i\",\n      \"▁ra di\",\n      \"ul us\",\n      \"ulu s\",\n      \"▁celebr ate\",\n      \"▁C i\",\n      \"▁O THER\",\n      \"j ę\",\n      \"▁l u\",\n      \"▁ lu\",\n      \"▁C C\",\n      \"▁ CC\",\n      \"ag onal\",\n      \"ago nal\",\n      \"agon al\",\n      \"ä d\",\n      \"▁мо же\",\n      \"▁Hou ston\",\n      \"▁be ings\",\n      \"▁being s\",\n      \"▁v ous\",\n      \"▁vo us\",\n      \"Route r\",\n      \"Ro uter\",\n      \"R outer\",\n      \"▁N am\",\n      \"▁Na m\",\n      \"▁wet enschapp\",\n      \"< \\\\\",\n      \"▁Tur k\",\n      \"count ry\",\n      \"c ountry\",\n      \"h m\",\n      \"cul ate\",\n      \"cu late\",\n      \"c ulate\",\n      \"▁S K\",\n      \"▁ SK\",\n      \"▁secret ary\",\n      \"vent ory\",\n      \"▁in sect\",\n      \"▁ins ect\",\n      \"IT H\",\n      \"I TH\",\n      \"ve lt\",\n      \"vel t\",\n      \"v elt\",\n      \"▁en core\",\n      \"▁enc ore\",\n      \"Go ogle\",\n      \"▁Ch art\",\n      \"▁Char t\",\n      \"▁Cha rt\",\n      \"▁ Chart\",\n      \"▁d ude\",\n      \"▁du de\",\n      \"▁l apt\",\n      \"▁la pt\",\n      \"▁lap t\",\n      \"fe n\",\n      \"f en\",\n      \"\\\\ [\",\n      \"▁ch ampionship\",\n      \"▁champion ship\",\n      \"▁champions hip\",\n      \"App e\",\n      \"Ap pe\",\n      \"A ppe\",\n      \"pro t\",\n      \"pr ot\",\n      \"p rot\",\n      \"▁s eva\",\n      \"▁se va\",\n      \"▁M iami\",\n      \"▁Mi ami\",\n      \"▁m atched\",\n      \"▁mat ched\",\n      \"▁match ed\",\n      \"▁ matched\",\n      \"l b\",\n      \"en cil\",\n      \"enc il\",\n      \"enci l\",\n      \"▁di ese\",\n      \"▁die se\",\n      \"▁dies e\",\n      \"▁n g\",\n      \"▁ ng\",\n      \"ме ни\",\n      \"мен и\",\n      \"ug gest\",\n      \"ugg est\",\n      \"ub ern\",\n      \"ube rn\",\n      \"uber n\",\n      \"▁Em ily\",\n      \"▁f ate\",\n      \"▁fa te\",\n      \"▁fat e\",\n      \"') ;\\r\",\n      \"'); \\r\",\n      \"' );\\r\",\n      \"es ty\",\n      \"est y\",\n      \"e sty\",\n      \"▁L uis\",\n      \"▁Lu is\",\n      \"Fil l\",\n      \"Fi ll\",\n      \"F ill\",\n      \"▁ex isted\",\n      \"▁exist ed\",\n      \"▁existe d\",\n      \"▁express ions\",\n      \"▁expression s\",\n      \"▁expr essions\",\n      \"\\\") \\r\",\n      \"\\\" )\\r\",\n      \"ru d\",\n      \"r ud\",\n      \"N d\",\n      \"iddle ware\",\n      \"PO S\",\n      \"P OS\",\n      \"▁К он\",\n      \"▁Ко н\",\n      \"▁D aily\",\n      \"▁Da ily\",\n      \"▁liter ary\",\n      \"▁A udio\",\n      \"▁Aud io\",\n      \"▁ Audio\",\n      \"Err ors\",\n      \"Error s\",\n      \"Er rors\",\n      \"▁remark able\",\n      \"▁result ed\",\n      \"▁sp ots\",\n      \"▁spot s\",\n      \"▁spo ts\",\n      \"lar ge\",\n      \"larg e\",\n      \"l arge\",\n      \"ur ations\",\n      \"uration s\",\n      \"on go\",\n      \"ong o\",\n      \"ro se\",\n      \"ros e\",\n      \"r ose\",\n      \"Com ponents\",\n      \"Component s\",\n      \"je s\",\n      \"j es\",\n      \"▁genu ine\",\n      \"▁M ut\",\n      \"▁Mu t\",\n      \"▁ Mut\",\n      \"▁M ade\",\n      \"▁Mad e\",\n      \"▁Ma de\",\n      \"▁s orts\",\n      \"▁sort s\",\n      \"▁sor ts\",\n      \"▁exp enses\",\n      \"▁expense s\",\n      \"▁Wh atever\",\n      \"▁What ever\",\n      \"con stant\",\n      \"const ant\",\n      \"▁sing les\",\n      \"▁single s\",\n      \"▁sin gles\",\n      \"ograf ie\",\n      \"G M\",\n      \"у до\",\n      \"▁A qu\",\n      \"▁the orem\",\n      \"▁ theorem\",\n      \"sw er\",\n      \"s wer\",\n      \"ri ving\",\n      \"riv ing\",\n      \"r iving\",\n      \"an as\",\n      \"ana s\",\n      \"a nas\",\n      \"gl es\",\n      \"gle s\",\n      \"g les\",\n      \"▁oper ated\",\n      \"▁operate d\",\n      \"▁opera ted\",\n      \"▁v ed\",\n      \"▁ve d\",\n      \"▁ ved\",\n      \"ow ski\",\n      \"ows ki\",\n      \"ri um\",\n      \"r ium\",\n      \"De m\",\n      \"D em\",\n      \"Sp lit\",\n      \"S plit\",\n      \"▁in fect\",\n      \"▁inf ect\",\n      \"▁I nv\",\n      \"▁In v\",\n      \"▁ Inv\",\n      \"kl e\",\n      \"k le\",\n      \"▁го д\",\n      \"▁It alia\",\n      \"▁Ital ia\",\n      \"▁d ollar\",\n      \"▁doll ar\",\n      \"▁dol lar\",\n      \"▁P ra\",\n      \"▁Pr a\",\n      \"▁B ull\",\n      \"▁Bul l\",\n      \"▁Bu ll\",\n      \"▁but tons\",\n      \"▁button s\",\n      \"▁butt ons\",\n      \"▁ buttons\",\n      \"ли й\",\n      \"▁met rics\",\n      \"▁metric s\",\n      \"▁ metrics\",\n      \"▁particip ation\",\n      \"PL AY\",\n      \"P LAY\",\n      \"▁b io\",\n      \"▁bi o\",\n      \"▁ bio\",\n      \"str aints\",\n      \"straint s\",\n      \"\\\\} $\",\n      \"\\\\ }$\",\n      \"ou rt\",\n      \"our t\",\n      \"o urt\",\n      \"▁prec ise\",\n      \"▁и г\",\n      \"те н\",\n      \"т ен\",\n      \"Has Column\",\n      \"FR A\",\n      \"F RA\",\n      \"▁in ch\",\n      \"▁inc h\",\n      \"▁ inch\",\n      \"▁neighbor s\",\n      \"▁neighb ors\",\n      \"Ex pected\",\n      \"Expect ed\",\n      \"E xpected\",\n      \"▁Democr ats\",\n      \"▁Democrat s\",\n      \"k c\",\n      \"▁L am\",\n      \"▁La m\",\n      \"Az ure\",\n      \"irt schaft\",\n      \"irts chaft\",\n      \">' ;\",\n      \"> ';\",\n      \"▁cou sin\",\n      \"▁cous in\",\n      \"create Element\",\n      \"Co uld\",\n      \"C ould\",\n      \"▁cap ac\",\n      \"▁p ause\",\n      \"▁pa use\",\n      \"▁paus e\",\n      \"▁ pause\",\n      \"Array List\",\n      \"kt e\",\n      \"k te\",\n      \"ord ered\",\n      \"order ed\",\n      \"▁sh aking\",\n      \"▁sha king\",\n      \"label s\",\n      \"lab els\",\n      \"▁redu cing\",\n      \"вы х\",\n      \"US ED\",\n      \"USE D\",\n      \"U SED\",\n      \"▁v oting\",\n      \"▁vo ting\",\n      \"▁vot ing\",\n      \"▁Min istry\",\n      \"▁M ig\",\n      \"▁Mi g\",\n      \"▁C hen\",\n      \"▁Ch en\",\n      \"▁Che n\",\n      \"▁ac company\",\n      \"▁accompan y\",\n      \"▁accomp any\",\n      \"ul le\",\n      \"ull e\",\n      \"u lle\",\n      \"▁g a\",\n      \"▁ ga\",\n      \"▁equ ipped\",\n      \"▁equip ped\",\n      \"▁n un\",\n      \"▁nu n\",\n      \"Be t\",\n      \"B et\",\n      \"▁lic ensed\",\n      \"▁license d\",\n      \"AR CH\",\n      \"F N\",\n      \"▁eng ines\",\n      \"▁engine s\",\n      \"▁s ter\",\n      \"▁st er\",\n      \"▁ste r\",\n      \"▁ ster\",\n      \"▁loc ale\",\n      \"▁local e\",\n      \"▁ locale\",\n      \"▁в ъ\",\n      \"lin ks\",\n      \"link s\",\n      \"l inks\",\n      \"▁Cap ital\",\n      \"▁al ien\",\n      \"▁ali en\",\n      \"W r\",\n      \"р ъ\",\n      \"Car t\",\n      \"C art\",\n      \"▁Mark eting\",\n      \"▁Market ing\",\n      \"▁R T\",\n      \"▁ RT\",\n      \"File Name\",\n      \"▁t i\",\n      \"▁ ti\",\n      \"ij i\",\n      \"i ji\",\n      \"▁vers us\",\n      \"li ve\",\n      \"liv e\",\n      \"l ive\",\n      \"Sy m\",\n      \"S ym\",\n      \"ko r\",\n      \"k or\",\n      \"▁e mission\",\n      \"▁em ission\",\n      \"um m\",\n      \"u mm\",\n      \"yc z\",\n      \"y cz\",\n      \"▁clim bed\",\n      \"▁climb ed\",\n      \"▁plus ieurs\",\n      \"к ри\",\n      \"ya r\",\n      \"y ar\",\n      \"os ten\",\n      \"ost en\",\n      \"o sten\",\n      \"▁u sb\",\n      \"▁us b\",\n      \"▁ usb\",\n      \"▁cross ing\",\n      \"▁pol ynom\",\n      \"▁poly nom\",\n      \"▁rem oval\",\n      \"▁Ad ams\",\n      \"▁Adam s\",\n      \"▁i hre\",\n      \"▁ih re\",\n      \"▁ihr e\",\n      \"an den\",\n      \"and en\",\n      \"ande n\",\n      \"▁Ben j\",\n      \"▁P hill\",\n      \"▁Ph ill\",\n      \"▁Phil l\",\n      \"▁wound ed\",\n      \"▁Cast le\",\n      \"▁Cas tle\",\n      \"bi ld\",\n      \"bil d\",\n      \"b ild\",\n      \"An notation\",\n      \"Process or\",\n      \"▁t in\",\n      \"▁ti n\",\n      \"fo lg\",\n      \"fol g\",\n      \"▁Stud ents\",\n      \"▁Student s\",\n      \"▁Mex ican\",\n      \"▁administr ative\",\n      \"IL ED\",\n      \"ILE D\",\n      \"I LED\",\n      \"▁con qu\",\n      \"▁che er\",\n      \"▁C es\",\n      \"▁Ce s\",\n      \"B ecause\",\n      \"▁J uni\",\n      \"▁Jun i\",\n      \"▁Ju ni\",\n      \"▁en contr\",\n      \"av i\",\n      \"a vi\",\n      \"V I\",\n      \"ak u\",\n      \"a ku\",\n      \"▁T on\",\n      \"▁To n\",\n      \"▁sm oking\",\n      \"▁b ay\",\n      \"▁ba y\",\n      \"work s\",\n      \"wor ks\",\n      \"а т\",\n      \"at tered\",\n      \"att ered\",\n      \"atter ed\",\n      \"atte red\",\n      \"▁Bo olean\",\n      \"▁ Boolean\",\n      \"▁B alt\",\n      \"▁Ba lt\",\n      \"▁Bal t\",\n      \"de fer\",\n      \"def er\",\n      \"path y\",\n      \"pat hy\",\n      \"pa thy\",\n      \"A h\",\n      \"▁a kt\",\n      \"▁ak t\",\n      \"▁ akt\",\n      \"▁gover nor\",\n      \"▁govern or\",\n      \"P ad\",\n      \"▁si sters\",\n      \"▁sister s\",\n      \"▁sist ers\",\n      \"La t\",\n      \"L at\",\n      \"▁re vel\",\n      \"▁r evel\",\n      \"▁rev el\",\n      \"▁reve l\",\n      \"▁S Y\",\n      \"▁ SY\",\n      \"it os\",\n      \"ito s\",\n      \"i tos\",\n      \"▁fil ters\",\n      \"▁filter s\",\n      \"▁ filters\",\n      \"Ch unk\",\n      \"con sum\",\n      \"cons um\",\n      \"▁rem oving\",\n      \"▁H err\",\n      \"▁He rr\",\n      \"▁Her r\",\n      \"▁gener ator\",\n      \"▁ generator\",\n      \"▁C ra\",\n      \"▁Cr a\",\n      \"▁far mers\",\n      \"▁farm ers\",\n      \"▁farmer s\",\n      \"▁Mem bers\",\n      \"▁Member s\",\n      \"▁ Members\",\n      \"▁over come\",\n      \"▁C in\",\n      \"▁Ci n\",\n      \"ig keit\",\n      \"cri ptions\",\n      \"cription s\",\n      \"cript ions\",\n      \"Test s\",\n      \"Te sts\",\n      \"T ests\",\n      \"▁к лу\",\n      \"▁sh ake\",\n      \"▁sha ke\",\n      \"▁ shake\",\n      \"▁y y\",\n      \"▁ yy\",\n      \"pl acement\",\n      \"place ment\",\n      \"plac ement\",\n      \"▁a wards\",\n      \"▁aw ards\",\n      \"▁award s\",\n      \"▁epis odes\",\n      \"▁episode s\",\n      \"▁Bl ood\",\n      \"▁Blo od\",\n      \"▁bul let\",\n      \"▁bull et\",\n      \"▁ bullet\",\n      \"▁v iene\",\n      \"▁vi ene\",\n      \"▁vie ne\",\n      \"▁Fin ancial\",\n      \"F uture\",\n      \"▁r ou\",\n      \"▁ro u\",\n      \"▁ rou\",\n      \"▁bi ologie\",\n      \"▁use State\",\n      \"ia ni\",\n      \"ian i\",\n      \"i ani\",\n      \"pie ce\",\n      \"p iece\",\n      \"▁spe aker\",\n      \"▁speak er\",\n      \"▁re fr\",\n      \"▁ref r\",\n      \"AR K\",\n      \"▁M IT\",\n      \"▁MI T\",\n      \"▁ MIT\",\n      \"▁T an\",\n      \"▁Ta n\",\n      \"▁B ased\",\n      \"▁Bas ed\",\n      \"▁Base d\",\n      \"▁Ba sed\",\n      \"▁ Based\",\n      \"▁cult iv\",\n      \"▁hung ry\",\n      \"▁A y\",\n      \"▁H ey\",\n      \"▁He y\",\n      \"▁ Hey\",\n      \"▁excit ement\",\n      \"ibr aries\",\n      \"Hi t\",\n      \"H it\",\n      \"▁E nde\",\n      \"▁En de\",\n      \"▁End e\",\n      \"N G\",\n      \"FI L\",\n      \"F IL\",\n      \".\\\" )\",\n      \". \\\")\",\n      \"F amily\",\n      \"in ery\",\n      \"ine ry\",\n      \"iner y\",\n      \"ne cess\",\n      \"ve lope\",\n      \"vel ope\",\n      \"velop e\",\n      \"▁B ot\",\n      \"▁Bo t\",\n      \"▁ Bot\",\n      \"port er\",\n      \"por ter\",\n      \"porte r\",\n      \"p orter\",\n      \"▁cl imb\",\n      \"▁clim b\",\n      \"▁E li\",\n      \"▁El i\",\n      \"ur ent\",\n      \"ure nt\",\n      \"uren t\",\n      \"u rent\",\n      \"▁mist akes\",\n      \"▁mistake s\",\n      \"áb an\",\n      \"á ban\",\n      \"mark s\",\n      \"mar ks\",\n      \"m arks\",\n      \"pk t\",\n      \"p kt\",\n      \"L ibrary\",\n      \"st ed\",\n      \"ste d\",\n      \"s ted\",\n      \"ublic e\",\n      \"ubl ice\",\n      \"▁Administr ation\",\n      \"▁Admin istration\",\n      \"▁sh apes\",\n      \"▁shape s\",\n      \"▁sha pes\",\n      \"пу бли\",\n      \"Go d\",\n      \"G od\",\n      \"in nen\",\n      \"inn en\",\n      \"ко ло\",\n      \"к оло\",\n      \"<< <<\",\n      \"ib e\",\n      \"i be\",\n      \"ê s\",\n      \"▁С ША\",\n      \"▁Fore ign\",\n      \"▁ Foreign\",\n      \"▁Marg aret\",\n      \"▁g ene\",\n      \"▁gen e\",\n      \"▁ge ne\",\n      \"▁dist urb\",\n      \"▁т ер\",\n      \"▁те р\",\n      \"▁ тер\",\n      \"▁on Click\",\n      \"▁Engine ering\",\n      \"▁stop ping\",\n      \"▁sto pping\",\n      \"▁restr ictions\",\n      \"▁restrict ions\",\n      \"▁restriction s\",\n      \", *\",\n      \"BU F\",\n      \"▁sh adows\",\n      \"▁shadow s\",\n      \"hc i\",\n      \"h ci\",\n      \"▁Christ ians\",\n      \"▁Christian s\",\n      \"▁f ence\",\n      \"▁fen ce\",\n      \"▁lux ury\",\n      \"ak h\",\n      \"a kh\",\n      \"co ord\",\n      \"▁invest igate\",\n      \"▁investig ate\",\n      \"▁convent ional\",\n      \"▁convention al\",\n      \"\\\" —\",\n      \"▁vis its\",\n      \"▁visit s\",\n      \"is é\",\n      \"▁S ac\",\n      \"▁Sa c\",\n      \"class Name\",\n      \"▁Psy ch\",\n      \"▁ref lected\",\n      \"▁reflect ed\",\n      \"▁п ло\",\n      \"▁ пло\",\n      \"▁V ice\",\n      \"▁Vi ce\",\n      \"▁Vic e\",\n      \"ła w\",\n      \"ł aw\",\n      \"________ ________\",\n      \"▁W olf\",\n      \"▁Wol f\",\n      \"re nte\",\n      \"ren te\",\n      \"rent e\",\n      \"r ente\",\n      \"▁Ch ampion\",\n      \"▁sim ulation\",\n      \"es ota\",\n      \"eso ta\",\n      \"▁S oon\",\n      \"▁So on\",\n      \"▁C el\",\n      \"▁Ce l\",\n      \"▁the ories\",\n      \"▁S TR\",\n      \"▁ST R\",\n      \"▁ STR\",\n      \"▁collect ive\",\n      \"▁coord inate\",\n      \"query Selector\",\n      \"em ed\",\n      \"eme d\",\n      \"e med\",\n      \"B reak\",\n      \"▁g ef\",\n      \"▁ge f\",\n      \"▁electric ity\",\n      \"▁gather ing\",\n      \"at ers\",\n      \"ate rs\",\n      \"ater s\",\n      \"a ters\",\n      \"ex per\",\n      \"exp er\",\n      \"▁R oma\",\n      \"▁Rom a\",\n      \"▁Ro ma\",\n      \"▁Co oper\",\n      \"SY MBOL\",\n      \"v d\",\n      \"ivers ary\",\n      \"ain es\",\n      \"ai nes\",\n      \"aine s\",\n      \"a ines\",\n      \"▁G rad\",\n      \"▁Gr ad\",\n      \"▁Gra d\",\n      \"▁ Grad\",\n      \"▁independ ence\",\n      \"wo h\",\n      \"w oh\",\n      \"▁con sequence\",\n      \"▁consequ ence\",\n      \"▁convers ations\",\n      \"▁conversation s\",\n      \"▁R ou\",\n      \"▁Ro u\",\n      \"▁and ere\",\n      \"▁ander e\",\n      \"▁System s\",\n      \"га р\",\n      \"г ар\",\n      \"▁mo ist\",\n      \"▁mois t\",\n      \"fl u\",\n      \"f lu\",\n      \"ці я\",\n      \"ни ш\",\n      \"▁r ode\",\n      \"▁ro de\",\n      \"▁rod e\",\n      \"▁p erd\",\n      \"▁per d\",\n      \"▁pe rd\",\n      \"▁s zer\",\n      \"▁sz er\",\n      \"▁fl ood\",\n      \"▁flo od\",\n      \"▁in tim\",\n      \"▁int im\",\n      \"std err\",\n      \"▁ref lection\",\n      \"▁reflect ion\",\n      \"Sc an\",\n      \"S can\",\n      \"▁dis aster\",\n      \"ake spe\",\n      \"akes pe\",\n      \"▁In valid\",\n      \"▁ Invalid\",\n      \"▁hum or\",\n      \"▁Fried rich\",\n      \"▁suggest ions\",\n      \"▁suggestion s\",\n      \"uv ud\",\n      \"De lay\",\n      \"Del ay\",\n      \"br ief\",\n      \"b rief\",\n      \"▁и с\",\n      \"▁ ис\",\n      \"gl ied\",\n      \"fa s\",\n      \"f as\",\n      \"▁S mart\",\n      \"▁Sm art\",\n      \"▁m edi\",\n      \"▁me di\",\n      \"▁med i\",\n      \"▁ medi\",\n      \"sd k\",\n      \"s dk\",\n      \"▁se us\",\n      \"▁seu s\",\n      \"▁A rizona\",\n      \"▁innoc ent\",\n      \"War n\",\n      \"W arn\",\n      \"ac ious\",\n      \"aci ous\",\n      \"acio us\",\n      \"▁Mos cow\",\n      \"▁c aps\",\n      \"▁cap s\",\n      \"▁ca ps\",\n      \"▁ caps\",\n      \"Dele gate\",\n      \"▁dram atic\",\n      \"bo oks\",\n      \"book s\",\n      \"▁sh ore\",\n      \"▁ shore\",\n      \"uk i\",\n      \"u ki\",\n      \"▁Russ ell\",\n      \"▁cor relation\",\n      \"▁corre lation\",\n      \"▁correl ation\",\n      \"He lp\",\n      \"Hel p\",\n      \"▁pub blic\",\n      \"zy m\",\n      \"z ym\",\n      \"com b\",\n      \"co mb\",\n      \"c omb\",\n      \"E Y\",\n      \"LEN GTH\",\n      \"▁M ün\",\n      \"▁_ .\",\n      \"▁ _.\",\n      \"▁f erm\",\n      \"▁fe rm\",\n      \"▁fer m\",\n      \"▁I an\",\n      \"▁St udio\",\n      \"▁Stud io\",\n      \"▁aff airs\",\n      \"▁affair s\",\n      \"lo s\",\n      \"l os\",\n      \"Rule s\",\n      \"R ules\",\n      \"run ning\",\n      \"r unning\",\n      \"▁Post ed\",\n      \"▁Po sted\",\n      \"▁Pos ted\",\n      \"P ixel\",\n      \"▁d ancing\",\n      \"▁dan cing\",\n      \"▁agree ments\",\n      \"▁agre ements\",\n      \"▁agreement s\",\n      \"▁P ic\",\n      \"▁Pi c\",\n      \"an cia\",\n      \"anc ia\",\n      \"a ncia\",\n      \"▁m á\",\n      \"ation Token\",\n      \"des criptor\",\n      \"▁C arter\",\n      \"▁Car ter\",\n      \"▁Cart er\",\n      \"Re lease\",\n      \"Rele ase\",\n      \"**** ********\",\n      \"******** ****\",\n      \"****** ******\",\n      \"▁out standing\",\n      \"ch anges\",\n      \"change s\",\n      \"chan ges\",\n      \"AR RAY\",\n      \"▁Bar bara\",\n      \"▁Barb ara\",\n      \"▁nur se\",\n      \"▁nurs e\",\n      \"( \\r\",\n      \"▁Dou glas\",\n      \"▁Doug las\",\n      \"▁nu cle\",\n      \"▁nuc le\",\n      \"ou ri\",\n      \"our i\",\n      \"o uri\",\n      \"▁St yle\",\n      \"▁ Style\",\n      \"av o\",\n      \"a vo\",\n      \"▁pain ful\",\n      \"▁s lic\",\n      \"▁sl ic\",\n      \"▁sein em\",\n      \"▁seine m\",\n      \"▁sei nem\",\n      \"SUP PORT\",\n      \"og ene\",\n      \"ogen e\",\n      \"oge ne\",\n      \"▁sat ell\",\n      \"ta gon\",\n      \"tag on\",\n      \"t agon\",\n      \"▁coll apse\",\n      \"▁ collapse\",\n      \"ve lle\",\n      \"vel le\",\n      \"v elle\",\n      \"MO N\",\n      \"M ON\",\n      \"augh ters\",\n      \"aught ers\",\n      \"aughter s\",\n      \"▁threat ened\",\n      \"▁Il legal\",\n      \"▁desper ate\",\n      \"st rict\",\n      \"str ict\",\n      \"stri ct\",\n      \"ru s\",\n      \"r us\",\n      \"сти ту\",\n      \"\\\\\\\" :\",\n      \"\\\\ \\\":\",\n      \"▁conf lic\",\n      \"down load\",\n      \"at os\",\n      \"ato s\",\n      \"a tos\",\n      \"▁Pos ition\",\n      \"▁ Position\",\n      \".* ;\",\n      \". *;\",\n      \"▁the ater\",\n      \"▁ple asant\",\n      \"▁C ette\",\n      \"▁Sing apore\",\n      \"he et\",\n      \"▁p ir\",\n      \"▁pi r\",\n      \"▁ac quis\",\n      \"▁acqu is\",\n      \"▁на зва\",\n      \"те ля\",\n      \"тел я\",\n      \"▁rec ru\",\n      \"же ния\",\n      \"ё л\",\n      \"вер сите\",\n      \"▁res pective\",\n      \"▁respect ive\",\n      \"▁t unnel\",\n      \"▁tun nel\",\n      \"▁tunn el\",\n      \"▁De an\",\n      \"D u\",\n      \"▁un cle\",\n      \"▁unc le\",\n      \"▁off ensive\",\n      \"co lo\",\n      \"col o\",\n      \"c olo\",\n      \"▁Un like\",\n      \"se ries\",\n      \"ser ies\",\n      \"serie s\",\n      \"s eries\",\n      \"▁A rn\",\n      \"▁Ar n\",\n      \"min ute\",\n      \"▁des criptor\",\n      \"▁ descriptor\",\n      \"▁st ones\",\n      \"▁stone s\",\n      \"▁sto nes\",\n      \"IC ATION\",\n      \"▁P ad\",\n      \"▁Pa d\",\n      \"▁ Pad\",\n      \"▁i Phone\",\n      \"e i\",\n      \"▁fant asy\",\n      \"▁Kore an\",\n      \"▁Korea n\",\n      \"\\\" }\",\n      \"▁or th\",\n      \"▁ orth\",\n      \"hal ten\",\n      \"halt en\",\n      \"de ep\",\n      \"▁K ay\",\n      \"▁Ka y\",\n      \"requ ency\",\n      \"▁du ties\",\n      \"▁dut ies\",\n      \"aw t\",\n      \"a wt\",\n      \"▁ne arest\",\n      \"▁near est\",\n      \"▁dis order\",\n      \"ст ру\",\n      \"▁Ch ile\",\n      \"▁Chi le\",\n      \"▁s eq\",\n      \"▁se q\",\n      \"▁ seq\",\n      \"▁transport ation\",\n      \"O O\",\n      \"▁D ez\",\n      \"▁De z\",\n      \"ij u\",\n      \"i ju\",\n      \"▁Result s\",\n      \"▁ Results\",\n      \"je d\",\n      \"j ed\",\n      \"iv el\",\n      \"ive l\",\n      \"i vel\",\n      \"HO ST\",\n      \"H OST\",\n      \"▁ €\",\n      \"▁ Î\",\n      \"▁c hin\",\n      \"▁ch in\",\n      \"▁chi n\",\n      \"▁m att\",\n      \"▁mat t\",\n      \"▁ma tt\",\n      \"▁v oted\",\n      \"▁vo ted\",\n      \"▁vote d\",\n      \"▁vot ed\",\n      \"▁ge hör\",\n      \"▁s ue\",\n      \"▁su e\",\n      \"▁leg acy\",\n      \"в ся\",\n      \"SO URCE\",\n      \"W ORK\",\n      \"it is\",\n      \"iti s\",\n      \"▁$ |\",\n      \"▁о бо\",\n      \"▁об о\",\n      \"▁n r\",\n      \"▁ nr\",\n      \"▁T amb\",\n      \"▁Ta mb\",\n      \"▁Tam b\",\n      \"▁sn ap\",\n      \"▁ snap\",\n      \"▁im pressed\",\n      \"▁imp ressed\",\n      \"▁impress ed\",\n      \"▁depos it\",\n      \"▁d ivid\",\n      \"▁di vid\",\n      \"▁div id\",\n      \"Seg ment\",\n      \"▁к ар\",\n      \"▁ка р\",\n      \"▁ кар\",\n      \"▁G as\",\n      \"▁Ga s\",\n      \"▁cr imes\",\n      \"▁crim es\",\n      \"▁crime s\",\n      \"▁cri mes\",\n      \"▁ins ult\",\n      \"▁H um\",\n      \"▁Hu m\",\n      \"▁bound ed\",\n      \"▁k icked\",\n      \"▁kick ed\",\n      \"▁М у\",\n      \"▁| \\\\\",\n      \"▁ |\\\\\",\n      \"ad ded\",\n      \"add ed\",\n      \"Pro du\",\n      \"P rodu\",\n      \"▁. /\",\n      \"▁ ./\",\n      \"▁awk ward\",\n      \"▁К ра\",\n      \"▁ ї\",\n      \"▁CON TR\",\n      \"▁be im\",\n      \"▁bei m\",\n      \"▁place holder\",\n      \"▁ placeholder\",\n      \"sp i\",\n      \"s pi\",\n      \"▁B ei\",\n      \"▁Be i\",\n      \"▁P f\",\n      \"ient es\",\n      \"ien tes\",\n      \"iente s\",\n      \"i entes\",\n      \"dis k\",\n      \"di sk\",\n      \"d isk\",\n      \"bl k\",\n      \"ne o\",\n      \"it arian\",\n      \"ita rian\",\n      \"itar ian\",\n      \"▁c ogn\",\n      \"▁co gn\",\n      \"▁s out\",\n      \"▁so ut\",\n      \"▁sou t\",\n      \"▁tr ash\",\n      \"▁tra sh\",\n      \"▁tras h\",\n      \"▁R ab\",\n      \"▁Ra b\",\n      \"▁dec line\",\n      \"▁decl ine\",\n      \"ta t\",\n      \"t at\",\n      \"▁comb ine\",\n      \"▁T ot\",\n      \"▁To t\",\n      \"▁dr ops\",\n      \"▁dro ps\",\n      \"▁drop s\",\n      \"Time s\",\n      \"Tim es\",\n      \"T imes\",\n      \"ched uler\",\n      \"chedul er\",\n      \"▁govern ments\",\n      \"▁government s\",\n      \"Te x\",\n      \"T ex\",\n      \"▁U sed\",\n      \"▁Us ed\",\n      \"▁Use d\",\n      \"▁ Used\",\n      \"за н\",\n      \"з ан\",\n      \"▁p d\",\n      \"▁ pd\",\n      \"ме т\",\n      \"м ет\",\n      \"▁&= &\",\n      \"▁N ag\",\n      \"▁Na g\",\n      \"▁до л\",\n      \"▁ дол\",\n      \"▁Al ways\",\n      \"rt c\",\n      \"r tc\",\n      \"ск е\",\n      \"с ке\",\n      \"▁perform ances\",\n      \"▁performance s\",\n      \"rupt ed\",\n      \"rup ted\",\n      \"▁д ва\",\n      \"▁man agers\",\n      \"▁manager s\",\n      \"▁manage rs\",\n      \"▁P itt\",\n      \"▁Pi tt\",\n      \"▁myst ery\",\n      \"▁myster y\",\n      \"▁set tle\",\n      \"▁sett le\",\n      \"ul se\",\n      \"uls e\",\n      \"cr oss\",\n      \"cro ss\",\n      \"c ross\",\n      \"quest ion\",\n      \"as ha\",\n      \"ash a\",\n      \"a sha\",\n      \"se ed\",\n      \"see d\",\n      \"s eed\",\n      \"ur able\",\n      \"ura ble\",\n      \"Fin al\",\n      \"Fi nal\",\n      \"F inal\",\n      \"++ ++\",\n      \"input s\",\n      \"▁back up\",\n      \"▁ backup\",\n      \"▁Le arning\",\n      \"▁Lear ning\",\n      \"▁Learn ing\",\n      \"▁* ,\",\n      \"▁ *,\",\n      \"lo go\",\n      \"log o\",\n      \"l ogo\",\n      \"▁se inen\",\n      \"▁sein en\",\n      \"▁seine n\",\n      \"▁sei nen\",\n      \"▁vulner able\",\n      \"direct ory\",\n      \"i ë\",\n      \"▁friend ship\",\n      \"▁friends hip\",\n      \"t u\",\n      \"▁V ec\",\n      \"▁Ve c\",\n      \"▁ Vec\",\n      \"rif ice\",\n      \"rific e\",\n      \"▁б ра\",\n      \"▁ бра\",\n      \"▁inv olve\",\n      \"▁invol ve\",\n      \"TO N\",\n      \"T ON\",\n      \"▁cor rid\",\n      \"se par\",\n      \"sep ar\",\n      \"Dest roy\",\n      \"▁j ul\",\n      \"▁ju l\",\n      \"▁inequ ality\",\n      \"▁a in\",\n      \"▁ai n\",\n      \"▁ ain\",\n      \"he x\",\n      \"h ex\",\n      \"▁w ider\",\n      \"▁wide r\",\n      \"▁wid er\",\n      \"те ли\",\n      \"тел и\",\n      \"▁j ack\",\n      \"▁ja ck\",\n      \"▁ jack\",\n      \"▁qu ot\",\n      \"▁ quot\",\n      \"▁G len\",\n      \"▁Gl en\",\n      \"▁Gle n\",\n      \"init ely\",\n      \"ih ood\",\n      \"i hood\",\n      \"▁wa ist\",\n      \"▁Man chester\",\n      \"reg ular\",\n      \"▁( &\",\n      \"▁ (&\",\n      \"▁mass es\",\n      \"▁mas ses\",\n      \"▁DE FAULT\",\n      \"▁ DEFAULT\",\n      \"▁ch airs\",\n      \"▁chair s\",\n      \"▁cha irs\",\n      \"▁F ast\",\n      \"▁Fa st\",\n      \"▁ Fast\",\n      \"▁c itt\",\n      \"▁cit t\",\n      \"▁ci tt\",\n      \"_{ {\\\\\",\n      \"_ {{\\\\\",\n      \"o a\",\n      \"▁$ \\\\{\",\n      \"▁$\\\\ {\",\n      \"▁se eds\",\n      \"▁see ds\",\n      \"▁seed s\",\n      \"▁A ld\",\n      \"▁Al d\",\n      \"▁B att\",\n      \"▁Ba tt\",\n      \"▁Bat t\",\n      \"fa b\",\n      \"f ab\",\n      \"▁democr acy\",\n      \"DT O\",\n      \"D TO\",\n      \"▁H ij\",\n      \"▁Hi j\",\n      \"PT R\",\n      \"P TR\",\n      \"N a\",\n      \"▁Har vard\",\n      \"si d\",\n      \"s id\",\n      \"Pr ed\",\n      \"Pre d\",\n      \"P red\",\n      \"fer s\",\n      \"fe rs\",\n      \"f ers\",\n      \"▁s pare\",\n      \"▁sp are\",\n      \"AM P\",\n      \"A MP\",\n      \"▁g roupe\",\n      \"▁group e\",\n      \"▁s ender\",\n      \"▁se nder\",\n      \"▁send er\",\n      \"▁sen der\",\n      \"▁ sender\",\n      \"▁Christ opher\",\n      \"▁prison ers\",\n      \"▁prisoner s\",\n      \"▁K er\",\n      \"▁Ke r\",\n      \"▁C rist\",\n      \"▁Cr ist\",\n      \"▁Cris t\",\n      \"▁A LL\",\n      \"▁AL L\",\n      \"▁ ALL\",\n      \"ri ce\",\n      \"ric e\",\n      \"r ice\",\n      \"▁an tes\",\n      \"▁ant es\",\n      \"▁ante s\",\n      \"▁ antes\",\n      \"nat ural\",\n      \"▁Su san\",\n      \"▁Sus an\",\n      \"▁J uli\",\n      \"▁Jul i\",\n      \"▁Ju li\",\n      \"▁di ab\",\n      \"▁dia b\",\n      \"ix on\",\n      \"ic ator\",\n      \"ica tor\",\n      \"▁flex ible\",\n      \"▁re serve\",\n      \"▁res erve\",\n      \"▁reserv e\",\n      \"Cont ains\",\n      \"▁H il\",\n      \"▁Hi l\",\n      \"▁I sa\",\n      \"▁Is a\",\n      \"▁town s\",\n      \"▁tow ns\",\n      \"G S\",\n      \"▁T rad\",\n      \"▁Tr ad\",\n      \"▁Tra d\",\n      \"▁L ock\",\n      \"▁Loc k\",\n      \"▁Lo ck\",\n      \"▁ Lock\",\n      \"▁G rund\",\n      \"▁Gr und\",\n      \"▁Gru nd\",\n      \"▁crit icism\",\n      \"▁critic ism\",\n      \"н ю\",\n      \"▁c ă\",\n      \"▁polit ician\",\n      \"st able\",\n      \"sta ble\",\n      \"s table\",\n      \"Ac cept\",\n      \"Sum mary\",\n      \"▁tamb ém\",\n      \"▁també m\",\n      \"}^ {-\",\n      \"}^{ -\",\n      \"} ^{-\",\n      \"▁I M\",\n      \"▁ IM\",\n      \"id al\",\n      \"ida l\",\n      \"i dal\",\n      \"мо р\",\n      \"м ор\",\n      \"Bl ue\",\n      \"GRO UP\",\n      \"▁term inal\",\n      \"▁termin al\",\n      \"▁complex ity\",\n      \"▁loc ally\",\n      \"▁local ly\",\n      \"DO WN\",\n      \"▁N ear\",\n      \"▁Ne ar\",\n      \"Dep th\",\n      \"▁p ole\",\n      \"▁pol e\",\n      \"▁po le\",\n      \"▁e quality\",\n      \"▁equ ality\",\n      \"▁equal ity\",\n      \"Si te\",\n      \"S ite\",\n      \"▁is instance\",\n      \"Sp eed\",\n      \"Spe ed\",\n      \"S peed\",\n      \"ip pi\",\n      \"ipp i\",\n      \", &\",\n      \"▁E nc\",\n      \"▁En c\",\n      \"▁ Enc\",\n      \"ще н\",\n      \"щ ен\",\n      \"▁m ater\",\n      \"▁mat er\",\n      \"▁ma ter\",\n      \"▁mate r\",\n      \"▁sl aves\",\n      \"▁slave s\",\n      \"▁sla ves\",\n      \"AC TION\",\n      \"ACT ION\",\n      \"A CTION\",\n      \"usal em\",\n      \"usa lem\",\n      \"▁h az\",\n      \"▁ha z\",\n      \"▁Be at\",\n      \"▁w rest\",\n      \"▁wr est\",\n      \"▁l lam\",\n      \"▁ll am\",\n      \"In s\",\n      \"I ns\",\n      \"ми на\",\n      \"▁бу в\",\n      \"▁Fr ame\",\n      \"▁Fra me\",\n      \"▁ Frame\",\n      \"us hes\",\n      \"ush es\",\n      \"▁virtual ly\",\n      \"▁virt ually\",\n      \"▁P erm\",\n      \"▁Per m\",\n      \"▁Pe rm\",\n      \"▁ Perm\",\n      \"▁we ights\",\n      \"▁weight s\",\n      \"▁weigh ts\",\n      \"▁ weights\",\n      \"▁ll vm\",\n      \"▁ llvm\",\n      \"▁c ave\",\n      \"▁ca ve\",\n      \"▁cav e\",\n      \"st ates\",\n      \"state s\",\n      \"stat es\",\n      \"sta tes\",\n      \"DM A\",\n      \"D MA\",\n      \"el lt\",\n      \"ell t\",\n      \"if act\",\n      \"ifa ct\",\n      \"i fact\",\n      \"v endor\",\n      \"▁E mma\",\n      \"▁Em ma\",\n      \"Loc ale\",\n      \"Local e\",\n      \"▁S ET\",\n      \"▁SE T\",\n      \"▁ SET\",\n      \"▁ge ometry\",\n      \"▁ geometry\",\n      \"St yles\",\n      \"Style s\",\n      \"▁Ref eree\",\n      \"▁Refer ee\",\n      \"▁we it\",\n      \"fi ca\",\n      \"fic a\",\n      \"f ica\",\n      \"▁a ds\",\n      \"▁ad s\",\n      \"▁ ads\",\n      \"gr ay\",\n      \"gra y\",\n      \"g ray\",\n      \"▁B urg\",\n      \"▁Bur g\",\n      \"▁Bu rg\",\n      \"ion a\",\n      \"io na\",\n      \"i ona\",\n      \"dag ger\",\n      \"d agger\",\n      \"▁Jan uar\",\n      \"де й\",\n      \"д ей\",\n      \"ister schaft\",\n      \"pp o\",\n      \"p po\",\n      \"oid s\",\n      \"oi ds\",\n      \"o ids\",\n      \"▁dé part\",\n      \"Sh ader\",\n      \"▁con straint\",\n      \"▁constr aint\",\n      \"▁ constraint\",\n      \"Se cret\",\n      \"Sec ret\",\n      \"▁P eters\",\n      \"▁Pe ters\",\n      \"▁Peter s\",\n      \"▁Pet ers\",\n      \"▁Pete rs\",\n      \"▁ey eb\",\n      \"▁eye b\",\n      \"▁m esh\",\n      \"▁me sh\",\n      \"▁mes h\",\n      \"▁ mesh\",\n      \"▁c ookie\",\n      \"▁cook ie\",\n      \"▁ cookie\",\n      \"▁P ick\",\n      \"▁Pic k\",\n      \"▁Pi ck\",\n      \"▁n ick\",\n      \"▁ni ck\",\n      \"▁nic k\",\n      \"▁ nick\",\n      \"by e\",\n      \"b ye\",\n      \"▁sav ings\",\n      \"▁saving s\",\n      \"Tr y\",\n      \"T ry\",\n      \"py thon\",\n      \"▁p atri\",\n      \"▁pat ri\",\n      \"▁pa tri\",\n      \"▁mult ip\",\n      \"▁multi p\",\n      \"▁mul tip\",\n      \"▁ multip\",\n      \"▁k inda\",\n      \"▁kind a\",\n      \"▁kin da\",\n      \"▁' _\",\n      \"▁ '_\",\n      \"▁Fr anz\",\n      \"▁Fran z\",\n      \"▁cl oth\",\n      \"▁clo th\",\n      \"зу льта\",\n      \"▁fle et\",\n      \"▁human ity\",\n      \"re sa\",\n      \"res a\",\n      \"r esa\",\n      \"bl ob\",\n      \"blo b\",\n      \"▁T X\",\n      \"▁ TX\",\n      \"▁B uch\",\n      \"▁Bu ch\",\n      \"▁Buc h\",\n      \"▁L ond\",\n      \"▁Lo nd\",\n      \"▁val ley\",\n      \"▁m urm\",\n      \"▁mur m\",\n      \"▁mu rm\",\n      \"▁T rade\",\n      \"▁Tr ade\",\n      \"▁Tra de\",\n      \"▁Trad e\",\n      \"line width\",\n      \"▁e special\",\n      \"▁espec ial\",\n      \"up per\",\n      \"upp er\",\n      \"▁h osp\",\n      \"▁ho sp\",\n      \"▁t anto\",\n      \"▁tan to\",\n      \"▁tant o\",\n      \"▁old est\",\n      \"▁ol dest\",\n      \"▁R oose\",\n      \"▁Ro ose\",\n      \"▁h itting\",\n      \"▁hit ting\",\n      \"do g\",\n      \"d og\",\n      \"ov i\",\n      \"o vi\",\n      \"}, \\r\",\n      \"} ,\\r\",\n      \"▁compat ible\",\n      \"▁ compatible\",\n      \"▁We bsite\",\n      \"▁Web site\",\n      \"po ch\",\n      \"p och\",\n      \"▁B ag\",\n      \"▁Ba g\",\n      \"▁ Bag\",\n      \"▁accompl ish\",\n      \"▁accomp lish\",\n      \"Ch rist\",\n      \"as set\",\n      \"ass et\",\n      \"asse t\",\n      \"▁U ntil\",\n      \"▁Un til\",\n      \"▁ Until\",\n      \"▁g eld\",\n      \"▁ge ld\",\n      \"▁gel d\",\n      \"List en\",\n      \"Li sten\",\n      \"L isten\",\n      \"S B\",\n      \"Set up\",\n      \"ic ia\",\n      \"ici a\",\n      \"i cia\",\n      \"▁l um\",\n      \"▁lu m\",\n      \"▁jan vier\",\n      \"PA GE\",\n      \"P AGE\",\n      \"▁N u\",\n      \"/ \\\"\",\n      \"▁divor ce\",\n      \"Ex ecute\",\n      \"Execut e\",\n      \"Exec ute\",\n      \"De pend\",\n      \"Dep end\",\n      \"▁Scott ish\",\n      \"▁T s\",\n      \"ru ppe\",\n      \"rup pe\",\n      \"▁ref use\",\n      \"▁Ok tober\",\n      \"ij k\",\n      \"i jk\",\n      \"▁A my\",\n      \"▁Am y\",\n      \"▁di min\",\n      \"▁dim in\",\n      \"▁g ross\",\n      \"▁gr oss\",\n      \"▁gro ss\",\n      \"▁t rat\",\n      \"▁tr at\",\n      \"▁tra t\",\n      \"is ible\",\n      \"isi ble\",\n      \"mix er\",\n      \"m ixer\",\n      \"▁aut res\",\n      \"▁au tres\",\n      \"▁autre s\",\n      \"▁ autres\",\n      \"▁ne at\",\n      \"▁ot ros\",\n      \"▁otro s\",\n      \"Vo id\",\n      \"V oid\",\n      \"▁sc hol\",\n      \"▁sch ol\",\n      \"▁Wal ker\",\n      \"▁Walk er\",\n      \"▁t ube\",\n      \"▁tu be\",\n      \"▁tub e\",\n      \"olog ists\",\n      \"ologist s\",\n      \"▁г руп\",\n      \"▁гру п\",\n      \"▁h aben\",\n      \"▁hab en\",\n      \"▁ha ben\",\n      \"ub er\",\n      \"ube r\",\n      \"u ber\",\n      \"ACT IVE\",\n      \"▁Att endance\",\n      \"▁о п\",\n      \"▁bl ade\",\n      \"opl us\",\n      \"o plus\",\n      \"▁Or iginal\",\n      \"▁Origin al\",\n      \"▁ Original\",\n      \"▁manufact urer\",\n      \"as z\",\n      \"a sz\",\n      \"ât e\",\n      \"â te\",\n      \"re r\",\n      \"r er\",\n      \"▁J son\",\n      \"▁ Json\",\n      \"▁succeed ed\",\n      \"uff le\",\n      \"▁b acked\",\n      \"▁back ed\",\n      \"es ian\",\n      \"esi an\",\n      \"ti ck\",\n      \"t ick\",\n      \"Ex ternal\",\n      \"▁X IX\",\n      \"▁XI X\",\n      \"▁he arts\",\n      \"▁heart s\",\n      \"▁hear ts\",\n      \"▁По сле\",\n      \"ol u\",\n      \"o lu\",\n      \"▁ле т\",\n      \"▁ лет\",\n      \"VI CE\",\n      \"V ICE\",\n      \"ár io\",\n      \"á rio\",\n      \"▁fr aud\",\n      \"▁fra ud\",\n      \"ed u\",\n      \"e du\",\n      \"Pr imary\",\n      \"Prim ary\",\n      \"▁g aming\",\n      \"▁gam ing\",\n      \"▁ga ming\",\n      \"▁p lt\",\n      \"▁pl t\",\n      \"ig ator\",\n      \"iga tor\",\n      \"IE S\",\n      \"I ES\",\n      \"Comp iler\",\n      \"▁mon ument\",\n      \"ag em\",\n      \"age m\",\n      \"a gem\",\n      \"▁R ain\",\n      \"▁Ra in\",\n      \"▁mo ins\",\n      \"ok u\",\n      \"o ku\",\n      \"os ex\",\n      \"ose x\",\n      \"o sex\",\n      \"▁K ansas\",\n      \"▁gep ublice\",\n      \"▁J oy\",\n      \"▁Jo y\",\n      \"Sc ene\",\n      \"▁king dom\",\n      \"ri ces\",\n      \"ric es\",\n      \"rice s\",\n      \"r ices\",\n      \"▁ju in\",\n      \"▁uncomfort able\",\n      \"▁M oney\",\n      \"▁Mon ey\",\n      \"▁Mo ney\",\n      \"ob b\",\n      \"o bb\",\n      \"ex pl\",\n      \"exp l\",\n      \"str cmp\",\n      \"▁d read\",\n      \"▁dr ead\",\n      \"▁dre ad\",\n      \"rit ion\",\n      \"r ition\",\n      \"▁C hi\",\n      \"▁Ch i\",\n      \"▁demonstr ated\",\n      \"▁demonstrate d\",\n      \"▁vert ices\",\n      \"ч о\",\n      \"▁C ulture\",\n      \"▁ Culture\",\n      \"F X\",\n      \"D ictionary\",\n      \"▁D ru\",\n      \"▁Dr u\",\n      \"tr m\",\n      \"t rm\",\n      \"▁ex amine\",\n      \"▁exam ine\",\n      \"▁the rap\",\n      \"▁ther ap\",\n      \"i ème\",\n      \"ми ни\",\n      \"▁produ ces\",\n      \"▁produce s\",\n      \"▁photograph s\",\n      \"▁thread s\",\n      \"▁ threads\",\n      \"▁M I\",\n      \"▁ MI\",\n      \"▁extraord inary\",\n      \"ски м\",\n      \"ск им\",\n      \"с ким\",\n      \"▁gepublice erd\",\n      \"▁Pol and\",\n      \"▁Po land\",\n      \"▁guarante ed\",\n      \"▁guarantee d\",\n      \"R G\",\n      \"os c\",\n      \"o sc\",\n      \"ал и\",\n      \"а ли\",\n      \"▁те х\",\n      \"err no\",\n      \"sc ience\",\n      \"if fs\",\n      \"iff s\",\n      \"▁T am\",\n      \"▁Ta m\",\n      \"▁B eth\",\n      \"▁Be th\",\n      \"▁Bet h\",\n      \"▁Tr avel\",\n      \"▁Tra vel\",\n      \"▁trans late\",\n      \"▁transl ate\",\n      \"▁ translate\",\n      \"ch é\",\n      \"▁l ing\",\n      \"▁li ng\",\n      \"▁lin g\",\n      \"▁ ling\",\n      \"▁bel ongs\",\n      \"▁belong s\",\n      \"▁elect rical\",\n      \"▁electric al\",\n      \"en sk\",\n      \"ens k\",\n      \"▁Com pet\",\n      \"▁Comp et\",\n      \"c g\",\n      \"V C\",\n      \"to pic\",\n      \"top ic\",\n      \"t opic\",\n      \"▁pre sum\",\n      \"▁pres um\",\n      \"ве та\",\n      \"вет а\",\n      \"▁approxim ation\",\n      \"▁approx imation\",\n      \"▁g rim\",\n      \"▁gr im\",\n      \"▁gri m\",\n      \"▁И з\",\n      \"_{ (\",\n      \"_ {(\",\n      \"ви н\",\n      \"в ин\",\n      \"ut ion\",\n      \"uti on\",\n      \"ow ych\",\n      \"owy ch\",\n      \"å g\",\n      \"ster reich\",\n      \"▁character istic\",\n      \"om ing\",\n      \"omin g\",\n      \"omi ng\",\n      \"o ming\",\n      \"▁/* !\",\n      \"▁ /*!\",\n      \"▁pr ize\",\n      \"▁pri ze\",\n      \"▁Minn esota\",\n      \"te d\",\n      \"t ed\",\n      \"ц ы\",\n      \"▁O m\",\n      \"▁ Om\",\n      \"▁ind ices\",\n      \"▁indic es\",\n      \"▁ indices\",\n      \"▁s tem\",\n      \"▁st em\",\n      \"▁ste m\",\n      \"re gon\",\n      \"reg on\",\n      \"ни че\",\n      \"▁Sal v\",\n      \"▁Sa lv\",\n      \"és e\",\n      \"é se\",\n      \"▁a ged\",\n      \"▁ag ed\",\n      \"▁age d\",\n      \"▁ aged\",\n      \"▁P ast\",\n      \"▁Pa st\",\n      \"▁Pas t\",\n      \"▁intern ation\",\n      \"▁V ic\",\n      \"▁Vi c\",\n      \"▁res ume\",\n      \"▁ resume\",\n      \"akespe are\",\n      \"▁est ado\",\n      \"▁esta do\",\n      \"▁estad o\",\n      \"▁ab ilities\",\n      \"▁ abilities\",\n      \"▁b row\",\n      \"▁br ow\",\n      \"▁bro w\",\n      \"▁N FL\",\n      \"▁tr ends\",\n      \"▁trend s\",\n      \"▁tren ds\",\n      \"▁Aust in\",\n      \"▁L IMIT\",\n      \"▁LI MIT\",\n      \"▁ LIMIT\",\n      \"▁K or\",\n      \"▁Ko r\",\n      \"▁f olk\",\n      \"▁fol k\",\n      \"▁ folk\",\n      \"▁w ard\",\n      \"▁war d\",\n      \"▁wa rd\",\n      \"▁ ward\",\n      \"▁n est\",\n      \"▁ne st\",\n      \"▁Jun ior\",\n      \"▁Juni or\",\n      \"▁maint aining\",\n      \"▁maintain ing\",\n      \"P ub\",\n      \"OB JECT\",\n      \"▁blo ody\",\n      \"▁blood y\",\n      \"▁s j\",\n      \"▁d type\",\n      \"▁dt ype\",\n      \"▁ dtype\",\n      \"Pan e\",\n      \"P ane\",\n      \"▁b acter\",\n      \"▁grad ually\",\n      \"▁gradu ally\",\n      \"m r\",\n      \"Te am\",\n      \"▁ind icating\",\n      \"▁indic ating\",\n      \"▁decre ase\",\n      \"te k\",\n      \"t ek\",\n      \"▁Re present\",\n      \"▁Rep resent\",\n      \"▁develop ers\",\n      \"▁developer s\",\n      \"Gu id\",\n      \"Gui d\",\n      \"G uid\",\n      \"▁D iet\",\n      \"▁Die t\",\n      \"▁Di et\",\n      \"▁re tr\",\n      \"▁r etr\",\n      \"▁ret r\",\n      \"Nav igation\",\n      \"es i\",\n      \"e si\",\n      \"▁l azy\",\n      \"▁la zy\",\n      \"Stand ard\",\n      \"E r\",\n      \"A W\",\n      \"▁Ét ats\",\n      \"▁ass ured\",\n      \"▁assure d\",\n      \"Sa n\",\n      \"S an\",\n      \"▁And re\",\n      \"▁Andr e\",\n      \"’ ,\",\n      \"fa ng\",\n      \"fan g\",\n      \"f ang\",\n      \"ér ation\",\n      \"▁indust ries\",\n      \"▁in con\",\n      \"▁inc on\",\n      \"Em it\",\n      \"E mit\",\n      \"▁г де\",\n      \"▁ret riev\",\n      \"▁retr iev\",\n      \"en i\",\n      \"e ni\",\n      \"▁Tur key\",\n      \"▁Turk ey\",\n      \"iz ers\",\n      \"ize rs\",\n      \"izer s\",\n      \"An gle\",\n      \"Ang le\",\n      \"▁o c\",\n      \"▁ oc\",\n      \"▁pal m\",\n      \"▁pa lm\",\n      \"▁s tan\",\n      \"▁st an\",\n      \"▁sta n\",\n      \"▁ stan\",\n      \"ль но\",\n      \"▁C SS\",\n      \"▁CS S\",\n      \"▁ CSS\",\n      \"▁fr ances\",\n      \"▁franc es\",\n      \"▁g rin\",\n      \"▁gr in\",\n      \"▁gri n\",\n      \"▁tiem po\",\n      \"▁P rix\",\n      \"▁Pr ix\",\n      \"▁Pri x\",\n      \"]) .\",\n      \"] ).\",\n      \"▁de put\",\n      \"▁dep ut\",\n      \"▁P in\",\n      \"▁Pi n\",\n      \"▁ Pin\",\n      \"▁si xt\",\n      \"▁six t\",\n      \"▁predict ed\",\n      \"▁pred icted\",\n      \"az ure\",\n      \"azu re\",\n      \"▁Mo tor\",\n      \"▁Mot or\",\n      \"▁i hm\",\n      \"▁ih m\",\n      \"▁man us\",\n      \"ap os\",\n      \"a pos\",\n      \"▁instr uments\",\n      \"▁instrument s\",\n      \"▁co unts\",\n      \"▁coun ts\",\n      \"▁count s\",\n      \"▁aim ed\",\n      \"▁ai med\",\n      \"▁ aimed\",\n      \"pro fit\",\n      \"prof it\",\n      \"▁d ok\",\n      \"▁do k\",\n      \"об ра\",\n      \"о бра\",\n      \"▁e stud\",\n      \"▁est ud\",\n      \"ie sz\",\n      \"ies z\",\n      \"i esz\",\n      \"▁p iss\",\n      \"▁pi ss\",\n      \"▁in aug\",\n      \"▁vo ters\",\n      \"▁vote rs\",\n      \"▁vot ers\",\n      \"▁pack ages\",\n      \"▁package s\",\n      \"▁ packages\",\n      \"▁c ute\",\n      \"▁cut e\",\n      \"▁cu te\",\n      \"▁f itness\",\n      \"▁fit ness\",\n      \"▁l eurs\",\n      \"▁le urs\",\n      \"▁leur s\",\n      \"▁s orted\",\n      \"▁sort ed\",\n      \"▁sor ted\",\n      \"ph ant\",\n      \"pha nt\",\n      \"phan t\",\n      \"OP T\",\n      \"O PT\",\n      \"▁z ip\",\n      \"▁ zip\",\n      \"se ason\",\n      \"sea son\",\n      \"em i\",\n      \"e mi\",\n      \"enc oding\",\n      \"wo n\",\n      \"w on\",\n      \"el ect\",\n      \"ele ct\",\n      \"e lect\",\n      \"▁t ooth\",\n      \"▁to oth\",\n      \"▁too th\",\n      \"▁up coming\",\n      \"▁G raham\",\n      \"▁Gra ham\",\n      \"nu t\",\n      \"n ut\",\n      \"▁Ar k\",\n      \"äl t\",\n      \"ä lt\",\n      \"▁prec ious\",\n      \"ag le\",\n      \"a gle\",\n      \"né e\",\n      \"n ée\",\n      \"ни ца\",\n      \"ниц а\",\n      \"ar is\",\n      \"ari s\",\n      \"a ris\",\n      \"▁p ile\",\n      \"▁pi le\",\n      \"▁pil e\",\n      \"co le\",\n      \"col e\",\n      \"c ole\",\n      \"▁W ITH\",\n      \"▁WIT H\",\n      \"▁ WITH\",\n      \"rou ting\",\n      \"r outing\",\n      \"▁* **\",\n      \"▁** *\",\n      \"▁ ***\",\n      \"Appe arance\",\n      \"ll vm\",\n      \"▁O liver\",\n      \"▁Ol iver\",\n      \"▁P L\",\n      \"▁ PL\",\n      \"if ndef\",\n      \"et zt\",\n      \"etz t\",\n      \"sk iego\",\n      \"ski ego\",\n      \"▁p on\",\n      \"▁po n\",\n      \"▁ pon\",\n      \"AR GET\",\n      \"ARG ET\",\n      \"k ö\",\n      \"al led\",\n      \"all ed\",\n      \"alle d\",\n      \"▁= \\\\\",\n      \"▁ =\\\\\",\n      \"su re\",\n      \"sur e\",\n      \"s ure\",\n      \"mat ches\",\n      \"match es\",\n      \"▁temper atures\",\n      \"▁temperature s\",\n      \"SE L\",\n      \"S EL\",\n      \"▁cl one\",\n      \"▁clo ne\",\n      \"▁ clone\",\n      \"▁el ler\",\n      \"▁elle r\",\n      \"▁ell er\",\n      \"▁ eller\",\n      \"er na\",\n      \"ern a\",\n      \"▁п оло\",\n      \"▁по ло\",\n      \"▁пол о\",\n      \"Man agement\",\n      \"comp any\",\n      \"▁l un\",\n      \"▁lu n\",\n      \"▁stre aming\",\n      \"▁stream ing\",\n      \"▁N i\",\n      \"▁s í\",\n      \"Cont act\",\n      \"▁C redit\",\n      \"▁Cr edit\",\n      \"▁Cre dit\",\n      \"▁O ak\",\n      \"▁пред став\",\n      \"rad ius\",\n      \"cl i\",\n      \"c li\",\n      \"IE NT\",\n      \"I ENT\",\n      \"▁Lu cy\",\n      \"▁Luc y\",\n      \"▁calcul ation\",\n      \"▁calc ulation\",\n      \"▁p ixel\",\n      \"▁ pixel\",\n      \"▁m ul\",\n      \"▁mu l\",\n      \"▁ mul\",\n      \"▁out comes\",\n      \"▁outcome s\",\n      \"▁cent ers\",\n      \"▁center s\",\n      \"▁res idence\",\n      \"▁resid ence\",\n      \"Con straint\",\n      \"▁pre serve\",\n      \"▁pres erve\",\n      \"▁preserv e\",\n      \"pe on\",\n      \"uf fix\",\n      \"uff ix\",\n      \"▁Rober ts\",\n      \"▁Robert s\",\n      \"▁Rob erts\",\n      \"▁pro mot\",\n      \"▁pr omot\",\n      \"▁prom ot\",\n      \"? !\",\n      \"bal ance\",\n      \"▁cour ts\",\n      \"▁court s\",\n      \"▁dis g\",\n      \"▁di sg\",\n      \"PR INT\",\n      \"PRI NT\",\n      \"▁и х\",\n      \"el fare\",\n      \"elf are\",\n      \"▁ret reat\",\n      \"▁А в\",\n      \"Co st\",\n      \"C ost\",\n      \"al so\",\n      \"als o\",\n      \"▁F ür\",\n      \"▁Mär z\",\n      \"DI O\",\n      \"D IO\",\n      \"▁b ez\",\n      \"▁be z\",\n      \"▁ bez\",\n      \"AUT H\",\n      \"AU TH\",\n      \"De n\",\n      \"D en\",\n      \"▁a tom\",\n      \"▁at om\",\n      \"▁ atom\",\n      \"▁r oman\",\n      \"▁ro man\",\n      \"▁rom an\",\n      \"▁P el\",\n      \"▁Pe l\",\n      \"▁Roose velt\",\n      \"▁Pl ant\",\n      \"▁Plan t\",\n      \"Cont ents\",\n      \"Content s\",\n      \"▁Bet ween\",\n      \"▁cou pling\",\n      \"▁coup ling\",\n      \"str ucture\",\n      \"struct ure\",\n      \"▁Mar shall\",\n      \"▁Mars hall\",\n      \"▁Marshal l\",\n      \"▁Care er\",\n      \"▁rail way\",\n      \"▁B ureau\",\n      \"▁Bur eau\",\n      \"▁poss ibilities\",\n      \"▁k or\",\n      \"▁ko r\",\n      \"▁ kor\",\n      \"){ \\r\",\n      \") {\\r\",\n      \"mer o\",\n      \"me ro\",\n      \"m ero\",\n      \"mo v\",\n      \"m ov\",\n      \"анг л\",\n      \"AI N\",\n      \"A IN\",\n      \"mu nd\",\n      \"mun d\",\n      \"m und\",\n      \"let te\",\n      \"lett e\",\n      \"l ette\",\n      \"▁sum mar\",\n      \"▁describ ing\",\n      \"▁N AS\",\n      \"▁NA S\",\n      \"▁E mb\",\n      \"▁Em b\",\n      \"▁ Emb\",\n      \"Inst ruction\",\n      \"li est\",\n      \"lie st\",\n      \"l iest\",\n      \"▁S ig\",\n      \"▁Si g\",\n      \"▁ Sig\",\n      \"Bi ll\",\n      \"B ill\",\n      \"▁v erd\",\n      \"▁ver d\",\n      \"▁ve rd\",\n      \"pl ant\",\n      \"plan t\",\n      \"▁galax ies\",\n      \"\\\"] )\",\n      \"\\\" ])\",\n      \"▁Py Object\",\n      \"▁ PyObject\",\n      \"▁G y\",\n      \"▁m ě\",\n      \"▁organ isation\",\n      \"▁organis ation\",\n      \"He r\",\n      \"H er\",\n      \"Se p\",\n      \"S ep\",\n      \"oc om\",\n      \"oco m\",\n      \"o com\",\n      \"▁S ame\",\n      \"▁Sam e\",\n      \"▁Sa me\",\n      \"▁ Same\",\n      \"▁b ite\",\n      \"▁bit e\",\n      \"▁bi te\",\n      \"▁Se attle\",\n      \"зы ва\",\n      \"Ob server\",\n      \"Observ er\",\n      \"’ .\",\n      \"▁m orph\",\n      \"▁mor ph\",\n      \"ur ches\",\n      \"urch es\",\n      \"al ph\",\n      \"re ement\",\n      \"ree ment\",\n      \"con sin\",\n      \"cons in\",\n      \"^ -\",\n      \"▁d ann\",\n      \"▁da nn\",\n      \"▁dan n\",\n      \"trans late\",\n      \"transl ate\",\n      \"ви х\",\n      \"Re act\",\n      \"▁c ats\",\n      \"▁cat s\",\n      \"▁ca ts\",\n      \"▁b rew\",\n      \"▁br ew\",\n      \"▁bre w\",\n      \"▁ brew\",\n      \"▁d s\",\n      \"▁ ds\",\n      \"▁cir cles\",\n      \"▁circ les\",\n      \"▁circle s\",\n      \"▁d rift\",\n      \"▁dr ift\",\n      \"▁dri ft\",\n      \"ag ma\",\n      \"▁Val ent\",\n      \"PI N\",\n      \"P IN\",\n      \"AR M\",\n      \"A RM\",\n      \"▁sur viv\",\n      \"▁surv iv\",\n      \"al in\",\n      \"ali n\",\n      \"a lin\",\n      \"Pr ef\",\n      \"Pre f\",\n      \"P ref\",\n      \"friend ly\",\n      \"▁uncertain ty\",\n      \"▁f d\",\n      \"▁ fd\",\n      \"▁engine er\",\n      \"Be n\",\n      \"B en\",\n      \"ic ular\",\n      \"i cular\",\n      \"or est\",\n      \"ore st\",\n      \"ores t\",\n      \"o rest\",\n      \"▁hor izontal\",\n      \"▁horizon tal\",\n      \"▁ horizontal\",\n      \"UT C\",\n      \"U TC\",\n      \"text rm\",\n      \"tex trm\",\n      \"Li ve\",\n      \"L ive\",\n      \"Sc ore\",\n      \"S core\",\n      \"▁Germ ans\",\n      \"▁German s\",\n      \"▁Ger mans\",\n      \"di stance\",\n      \"dist ance\",\n      \"d istance\",\n      \"ut i\",\n      \"u ti\",\n      \"▁é qu\",\n      \"▁ équ\",\n      \"▁numer ical\",\n      \"▁re ass\",\n      \"Act iv\",\n      \"▁c od\",\n      \"▁co d\",\n      \"▁ cod\",\n      \"bul let\",\n      \"en sing\",\n      \"ens ing\",\n      \"▁G em\",\n      \"▁Ge m\",\n      \"▁nav igation\",\n      \"▁navig ation\",\n      \"▁ navigation\",\n      \"add Class\",\n      \"▁simultane ously\",\n      \"ви й\",\n      \"▁йо го\",\n      \"▁й ого\",\n      \"▁H ö\",\n      \"▁har sh\",\n      \"prec ated\",\n      \"p recated\",\n      \"С СР\",\n      \"▁Equ ip\",\n      \"ad get\",\n      \"▁T YPE\",\n      \"▁ TYPE\",\n      \"▁m g\",\n      \"▁ mg\",\n      \"IG H\",\n      \"▁v in\",\n      \"▁vi n\",\n      \"▁ vin\",\n      \"▁fin dings\",\n      \"▁find ings\",\n      \"▁finding s\",\n      \"iv an\",\n      \"iva n\",\n      \"i van\",\n      \"▁pos session\",\n      \"▁poss ession\",\n      \"▁possess ion\",\n      \"▁т ого\",\n      \"▁то го\",\n      \"▁ того\",\n      \"▁par sed\",\n      \"▁parse d\",\n      \"▁ parsed\",\n      \"ri ors\",\n      \"rior s\",\n      \"rio rs\",\n      \"r iors\",\n      \"zeich net\",\n      \"ни ков\",\n      \"ник ов\",\n      \"Work er\",\n      \"▁en ables\",\n      \"▁enable s\",\n      \"▁( $\\\\\",\n      \"▁($ \\\\\",\n      \"▁C opy\",\n      \"▁Co py\",\n      \"▁Cop y\",\n      \"▁ Copy\",\n      \"▁orient ation\",\n      \"ст ре\",\n      \"с тре\",\n      \"▁Ind ians\",\n      \"▁India ns\",\n      \"▁Indian s\",\n      \"▁G ary\",\n      \"▁Gar y\",\n      \"▁Ga ry\",\n      \"▁Ins urance\",\n      \"is an\",\n      \"isa n\",\n      \"i san\",\n      \"Ch at\",\n      \"C hat\",\n      \"▁com un\",\n      \"▁co mun\",\n      \"▁co ron\",\n      \"▁cor on\",\n      \"ографи я\",\n      \"up dated\",\n      \"update d\",\n      \"▁И н\",\n      \"The se\",\n      \"Th ese\",\n      \"SE C\",\n      \"S EC\",\n      \"▁boy friend\",\n      \"Di agnostics\",\n      \"Hi nt\",\n      \"H int\",\n      \"mu l\",\n      \"m ul\",\n      \"▁in ode\",\n      \"▁i node\",\n      \"▁ inode\",\n      \"x A\",\n      \"ef t\",\n      \"e ft\",\n      \"OP TION\",\n      \"OPT ION\",\n      \"un ct\",\n      \"unc t\",\n      \"an non\",\n      \"ann on\",\n      \"anno n\",\n      \"EN S\",\n      \"E NS\",\n      \"st rip\",\n      \"str ip\",\n      \"stri p\",\n      \"▁enthus i\",\n      \"▁W hit\",\n      \"▁Wh it\",\n      \"▁Ф и\",\n      \"au de\",\n      \"aud e\",\n      \"a ude\",\n      \"▁disag ree\",\n      \"▁sn apped\",\n      \"▁snap ped\",\n      \"Ph ys\",\n      \"▁S yn\",\n      \"▁Sy n\",\n      \"▁s our\",\n      \"▁so ur\",\n      \"▁sou r\",\n      \"▁L ux\",\n      \"▁Lu x\",\n      \"ug ar\",\n      \"uga r\",\n      \"u gar\",\n      \"til e\",\n      \"ti le\",\n      \"t ile\",\n      \"▁in fection\",\n      \"▁inf ection\",\n      \"▁infect ion\",\n      \"▁F eb\",\n      \"▁Fe b\",\n      \"▁C hem\",\n      \"▁Ch em\",\n      \"▁Che m\",\n      \"data set\",\n      \"dat aset\",\n      \"ch ts\",\n      \"cht s\",\n      \"D ynamic\",\n      \"▁с ред\",\n      \"▁qu een\",\n      \"▁que en\",\n      \"work er\",\n      \"wor ker\",\n      \"sw ap\",\n      \"▁tim estamp\",\n      \"▁ timestamp\",\n      \"▁In tegr\",\n      \"▁Int egr\",\n      \"▁ Integr\",\n      \"▁inter views\",\n      \"▁interview s\",\n      \"su ch\",\n      \"s uch\",\n      \"▁l aughter\",\n      \"▁laugh ter\",\n      \"pro f\",\n      \"pr of\",\n      \"▁B ird\",\n      \"▁Bi rd\",\n      \"▁Bir d\",\n      \"( |\",\n      \"â n\",\n      \"▁g ra\",\n      \"▁gr a\",\n      \"▁ gra\",\n      \"& =\",\n      \"ze ns\",\n      \"zen s\",\n      \"z ens\",\n      \"get Message\",\n      \"▁O st\",\n      \"▁Os t\",\n      \"▁g ab\",\n      \"▁ga b\",\n      \"▁mort gage\",\n      \"mult icol\",\n      \"multi col\",\n      \"LE VEL\",\n      \"part ition\",\n      \"se en\",\n      \"see n\",\n      \"s een\",\n      \"▁dec lar\",\n      \"▁decl ar\",\n      \"A U\",\n      \"▁o x\",\n      \"▁ ox\",\n      \"▁l igger\",\n      \"▁lig ger\",\n      \"▁C arm\",\n      \"▁Car m\",\n      \"▁Ca rm\",\n      \"ge me\",\n      \"gem e\",\n      \"g eme\",\n      \"▁Ve gas\",\n      \"▁Veg as\",\n      \"▁E ug\",\n      \"▁Eu g\",\n      \"or us\",\n      \"o rus\",\n      \"▁b rick\",\n      \"▁br ick\",\n      \"▁as í\",\n      \"▁Mag azine\",\n      \"HasColumn Type\",\n      \"V R\",\n      \"lic her\",\n      \"li cher\",\n      \"lich er\",\n      \"liche r\",\n      \"l icher\",\n      \"▁F uture\",\n      \"▁Fut ure\",\n      \"▁ Future\",\n      \"▁J ug\",\n      \"▁Ju g\",\n      \"at tan\",\n      \"att an\",\n      \"atta n\",\n      \"con structor\",\n      \"construct or\",\n      \"V P\",\n      \"▁т ур\",\n      \"▁ту р\",\n      \"▁ тур\",\n      \"чи на\",\n      \"чин а\",\n      \"Comp arator\",\n      \"Compar ator\",\n      \"▁aut hentic\",\n      \"▁mon ster\",\n      \"▁trans formed\",\n      \"▁transform ed\",\n      \"▁firm s\",\n      \"▁fir ms\",\n      \"F W\",\n      \"▁c atalog\",\n      \"▁catal og\",\n      \"▁ catalog\",\n      \"bo ards\",\n      \"board s\",\n      \"▁dise ases\",\n      \"▁disease s\",\n      \"▁Benj amin\",\n      \"▁hor izon\",\n      \"▁Av ailable\",\n      \"▁ Available\",\n      \"M vc\",\n      \"St ud\",\n      \"▁l ord\",\n      \"▁lo rd\",\n      \"▁ lord\",\n      \"gen eral\",\n      \"gener al\",\n      \"па р\",\n      \"п ар\",\n      \"▁cab inet\",\n      \"▁cabin et\",\n      \"▁Bas ic\",\n      \"▁ Basic\",\n      \"Test Case\",\n      \"an sk\",\n      \"ans k\",\n      \"▁S now\",\n      \"▁Sn ow\",\n      \"ier ten\",\n      \"iert en\",\n      \"ierte n\",\n      \"i erten\",\n      \"▁v ocal\",\n      \"▁vo cal\",\n      \"▁voc al\",\n      \"Pad ding\",\n      \"P adding\",\n      \"ha lt\",\n      \"hal t\",\n      \"h alt\",\n      \"▁Alex and\",\n      \"▁Col omb\",\n      \"iv amente\",\n      \"iva mente\",\n      \"▁art ificial\",\n      \"▁Atl anta\",\n      \"▁m entre\",\n      \"▁men tre\",\n      \"▁ment re\",\n      \"▁est aba\",\n      \"▁estab a\",\n      \"▁esta ba\",\n      \"je kt\",\n      \"jek t\",\n      \"j ekt\",\n      \"▁sle pt\",\n      \"▁end less\",\n      \"▁endl ess\",\n      \"ér o\",\n      \"é ro\",\n      \"at tery\",\n      \"att ery\",\n      \"atter y\",\n      \"atte ry\",\n      \"uu r\",\n      \"u ur\",\n      \"▁weak ness\",\n      \"▁attempt ing\",\n      \"BY TE\",\n      \"▁found er\",\n      \"▁fo under\",\n      \"▁fou nder\",\n      \"▁sa lv\",\n      \"▁sal v\",\n      \"▁Medic ine\",\n      \"ti d\",\n      \"t id\",\n      \"▁Sch we\",\n      \"▁Schw e\",\n      \"ra ction\",\n      \"ract ion\",\n      \"r action\",\n      \"▁ ¿\",\n      \"cr ate\",\n      \"c rate\",\n      \"SER VER\",\n      \"▁comp ound\",\n      \"▁con ve\",\n      \"▁conv e\",\n      \"▁c af\",\n      \"▁ca f\",\n      \"▁hand ful\",\n      \"on ne\",\n      \"úblic a\",\n      \"▁def ensive\",\n      \"▁defens ive\",\n      \"Al ignment\",\n      \"Align ment\",\n      \"▁pr éc\",\n      \"▁pré c\",\n      \"▁signific ance\",\n      \"él é\",\n      \"é lé\",\n      \"ar ta\",\n      \"art a\",\n      \"Da m\",\n      \"D am\",\n      \"▁per pet\",\n      \"▁c aller\",\n      \"▁call er\",\n      \"▁cal ler\",\n      \"ic ients\",\n      \"ici ents\",\n      \"icient s\",\n      \"ce p\",\n      \"c ep\",\n      \"▁Mult i\",\n      \"▁Mul ti\",\n      \"▁ Multi\",\n      \"▁st olen\",\n      \"▁sto len\",\n      \"▁stole n\",\n      \"▁focus ing\",\n      \"em bed\",\n      \"emb ed\",\n      \"▁b ree\",\n      \"▁br ee\",\n      \"▁bre e\",\n      \"▁A B\",\n      \"▁ AB\",\n      \"▁occasion s\",\n      \"▁occas ions\",\n      \"se a\",\n      \"s ea\",\n      \"Pro v\",\n      \"Pr ov\",\n      \"P rov\",\n      \"че ние\",\n      \"▁C ategory\",\n      \"▁ Category\",\n      \"▁s q\",\n      \"▁ sq\",\n      \"▁Ф е\",\n      \"V A\",\n      \"Di ff\",\n      \"D iff\",\n      \"Tr i\",\n      \"T ri\",\n      \"iss ement\",\n      \"isse ment\",\n      \"▁act ress\",\n      \"▁П е\",\n      \"▁j ej\",\n      \"▁je j\",\n      \"▁tw isted\",\n      \"▁twist ed\",\n      \"▁N icol\",\n      \"▁Nic ol\",\n      \"▁Ni col\",\n      \"▁jun ior\",\n      \"▁junio r\",\n      \"▁juni or\",\n      \"So und\",\n      \"S ound\",\n      \"▁Bra sil\",\n      \"▁Bras il\",\n      \"▁ju ice\",\n      \"▁> >>\",\n      \"▁>> >\",\n      \"▁ >>>\",\n      \"▁A lb\",\n      \"▁Al b\",\n      \"▁soft ly\",\n      \"▁Mc K\",\n      \"▁G ren\",\n      \"▁Gr en\",\n      \"▁Gre n\",\n      \"▁ital iano\",\n      \"▁cre atures\",\n      \"▁creat ures\",\n      \"▁creature s\",\n      \"▁res idential\",\n      \"▁resident ial\",\n      \"▁resid ential\",\n      \"▁Inst agram\",\n      \"uck s\",\n      \"uc ks\",\n      \"u cks\",\n      \"▁k iller\",\n      \"▁kill er\",\n      \"▁kil ler\",\n      \"▁John ny\",\n      \"▁enter prise\",\n      \"D to\",\n      \"ch estra\",\n      \"che stra\",\n      \"ches tra\",\n      \"chestr a\",\n      \"▁T el\",\n      \"▁Te l\",\n      \"▁Act iv\",\n      \"▁ Activ\",\n      \"fa ctor\",\n      \"fac tor\",\n      \"fact or\",\n      \"f actor\",\n      \"ou st\",\n      \"ous t\",\n      \"o ust\",\n      \"▁vac uum\",\n      \"ра л\",\n      \"р ал\",\n      \"') ->\",\n      \"' )->\",\n      \"▁L eft\",\n      \"▁Le ft\",\n      \"▁ Left\",\n      \"▁de fect\",\n      \"▁def ect\",\n      \"▁defe ct\",\n      \"▁nine te\",\n      \"▁nin ete\",\n      \"fa re\",\n      \"far e\",\n      \"f are\",\n      \"▁reg ret\",\n      \"▁s har\",\n      \"▁sh ar\",\n      \"▁sha r\",\n      \"ctr ine\",\n      \"me sh\",\n      \"mes h\",\n      \"m esh\",\n      \"ci ty\",\n      \"cit y\",\n      \"c ity\",\n      \"ic it\",\n      \"ici t\",\n      \"i cit\",\n      \"▁F em\",\n      \"▁Fe m\",\n      \"lim ited\",\n      \"limit ed\",\n      \"ok a\",\n      \"o ka\",\n      \"!\\\\ !\\\\\",\n      \"Don ald\",\n      \"з но\",\n      \"▁pro vision\",\n      \"▁prov ision\",\n      \"▁discuss ions\",\n      \"▁discussion s\",\n      \"Dr ag\",\n      \"D rag\",\n      \"▁In cl\",\n      \"▁Inc l\",\n      \"Ex it\",\n      \"E xit\",\n      \"▁A bd\",\n      \"▁Ab d\",\n      \"st ory\",\n      \"sto ry\",\n      \"ie ve\",\n      \"iev e\",\n      \"i eve\",\n      \"▁by ł\",\n      \"ol ving\",\n      \"olv ing\",\n      \"woh ner\",\n      \"▁gu idelines\",\n      \"▁guide lines\",\n      \"▁guid elines\",\n      \"▁st raw\",\n      \"▁str aw\",\n      \"▁stra w\",\n      \"ü ss\",\n      \"▁бу ло\",\n      \"▁bur den\",\n      \"▁spat ial\",\n      \"▁stret ched\",\n      \"▁stretch ed\",\n      \"▁I nf\",\n      \"▁In f\",\n      \"▁ Inf\",\n      \"▁type def\",\n      \"▁typed ef\",\n      \"▁ro bot\",\n      \"▁rob ot\",\n      \"▁D oc\",\n      \"▁Do c\",\n      \"▁ Doc\",\n      \"pl iers\",\n      \"plier s\",\n      \"wa l\",\n      \"w al\",\n      \"ca mp\",\n      \"cam p\",\n      \"c amp\",\n      \"▁dif fé\",\n      \"▁diff é\",\n      \"▁Mc G\",\n      \"▁t el\",\n      \"▁te l\",\n      \"ar ette\",\n      \"aret te\",\n      \"▁sub sequently\",\n      \"▁subsequ ently\",\n      \"▁subsequent ly\",\n      \"▁h oney\",\n      \"▁hon ey\",\n      \"▁ho ney\",\n      \"FUN C\",\n      \"▁establish ment\",\n      \"te sy\",\n      \"tes y\",\n      \"▁któ ry\",\n      \"▁се ль\",\n      \"▁F O\",\n      \"▁ FO\",\n      \"▁Is lands\",\n      \"▁Island s\",\n      \"▁m p\",\n      \"▁ mp\",\n      \"Scal ar\",\n      \"▁Y an\",\n      \"▁Ya n\",\n      \"ck en\",\n      \"cke n\",\n      \"c ken\",\n      \"▁var iation\",\n      \"▁vari ation\",\n      \"i ą\",\n      \"op tim\",\n      \"opt im\",\n      \"az or\",\n      \"tu ple\",\n      \"t uple\",\n      \"▁gr avity\",\n      \"▁grav ity\",\n      \"▁con clude\",\n      \"▁concl ude\",\n      \"▁col lections\",\n      \"▁collection s\",\n      \"▁collect ions\",\n      \"▁colle ctions\",\n      \"és z\",\n      \"é sz\",\n      \"▁L iver\",\n      \"▁Li ver\",\n      \"▁Live r\",\n      \"▁Liv er\",\n      \"▁eth nic\",\n      \"comp ile\",\n      \"▁p arl\",\n      \"▁par l\",\n      \"▁pa rl\",\n      \"Sur face\",\n      \"{ '\",\n      \"▁par agraph\",\n      \"▁para graph\",\n      \"▁ paragraph\",\n      \"pos ite\",\n      \"po site\",\n      \"ít ulo\",\n      \"ob a\",\n      \"o ba\",\n      \"bin ary\",\n      \"b inary\",\n      \"ro b\",\n      \"r ob\",\n      \"▁Pe dro\",\n      \"▁Ped ro\",\n      \"▁f is\",\n      \"▁fi s\",\n      \"▁Gr ande\",\n      \"▁Grand e\",\n      \"▁Gran de\",\n      \"▁Gra nde\",\n      \"od ox\",\n      \"odo x\",\n      \"▁pos ting\",\n      \"▁post ing\",\n      \"< !--\",\n      \"▁rac ial\",\n      \"▁ra cial\",\n      \"CO M\",\n      \"C OM\",\n      \"ё м\",\n      \"▁A UT\",\n      \"▁AU T\",\n      \"▁ AUT\",\n      \"▁d ishes\",\n      \"▁dis hes\",\n      \"▁dish es\",\n      \"assert True\",\n      \"▁G row\",\n      \"▁Gr ow\",\n      \"▁Gro w\",\n      \"▁sl id\",\n      \"▁ju illet\",\n      \"сс о\",\n      \"с со\",\n      \"Run ner\",\n      \"Sa l\",\n      \"S al\",\n      \"Sa me\",\n      \"Sam e\",\n      \"S ame\",\n      \"▁Stud y\",\n      \"▁Col onel\",\n      \"▁J oin\",\n      \"▁Jo in\",\n      \"▁ Join\",\n      \"ar ms\",\n      \"arm s\",\n      \"▁l y\",\n      \"▁ ly\",\n      \"▁co oper\",\n      \"▁cur ves\",\n      \"▁curve s\",\n      \"▁curv es\",\n      \"He alth\",\n      \"▁M OD\",\n      \"▁MO D\",\n      \"▁ MOD\",\n      \"▁pr imo\",\n      \"▁prim o\",\n      \"▁pri mo\",\n      \"ock ets\",\n      \"ocket s\",\n      \"multi column\",\n      \"multicol umn\",\n      \"▁С ан\",\n      \"▁Са н\",\n      \"▁H unter\",\n      \"▁Hun ter\",\n      \"▁Hunt er\",\n      \"Custom er\",\n      \"ot hy\",\n      \"oth y\",\n      \"o thy\",\n      \"Des ign\",\n      \"De sign\",\n      \"ma ss\",\n      \"mas s\",\n      \"m ass\",\n      \"▁fam ille\",\n      \"▁famil le\",\n      \"▁fue ron\",\n      \"▁fu eron\",\n      \"▁fuer on\",\n      \"ä m\",\n      \"▁head quarters\",\n      \"▁d ign\",\n      \"▁di gn\",\n      \"▁dig n\",\n      \"▁Ro bin\",\n      \"▁Rob in\",\n      \"▁me ets\",\n      \"▁meet s\",\n      \"▁so it\",\n      \"па да\",\n      \"пад а\",\n      \")\\\" );\",\n      \") \\\");\",\n      \"▁w rapper\",\n      \"▁wrap per\",\n      \"▁ wrapper\",\n      \"▁theoret ical\",\n      \"▁u d\",\n      \"▁ ud\",\n      \"pl icity\",\n      \"plic ity\",\n      \"plicit y\",\n      \"▁w p\",\n      \"▁ wp\",\n      \"▁испо ль\",\n      \"▁c amps\",\n      \"▁camp s\",\n      \"▁cam ps\",\n      \"▁A gency\",\n      \"▁Ag ency\",\n      \"g c\",\n      \"hu m\",\n      \"h um\",\n      \"AT T\",\n      \"A TT\",\n      \"B tn\",\n      \"C ent\",\n      \"▁H elen\",\n      \"▁He len\",\n      \"▁Hel en\",\n      \"▁am plit\",\n      \"▁ampl it\",\n      \"▁Mem orial\",\n      \"und ial\",\n      \"SH IFT\",\n      \"wi k\",\n      \"w ik\",\n      \"▁Lie utenant\",\n      \"VAL ID\",\n      \"▁B ath\",\n      \"▁Ba th\",\n      \"▁Bat h\",\n      \"▁Jeff erson\",\n      \"▁C ut\",\n      \"▁Cu t\",\n      \"▁ Cut\",\n      \"▁ser vers\",\n      \"▁serv ers\",\n      \"▁server s\",\n      \"▁serve rs\",\n      \"▁ servers\",\n      \"ly ph\",\n      \"▁CO PY\",\n      \"▁COP Y\",\n      \"▁comput ers\",\n      \"▁computer s\",\n      \"▁compute rs\",\n      \"const ruction\",\n      \"construct ion\",\n      \"▁P DF\",\n      \"▁PD F\",\n      \"▁ PDF\",\n      \"▁pro tagon\",\n      \"▁prot agon\",\n      \"▁fore head\",\n      \"custom er\",\n      \"Un is\",\n      \"U nis\",\n      \"▁sign ing\",\n      \"▁sig ning\",\n      \". ’\",\n      \"F etch\",\n      \"▁S core\",\n      \"▁Sc ore\",\n      \"▁ Score\",\n      \"hu man\",\n      \"hum an\",\n      \"h uman\",\n      \"▁down town\",\n      \"▁downt own\",\n      \"In tern\",\n      \"Int ern\",\n      \"Inter n\",\n      \"▁bes ides\",\n      \"▁beside s\",\n      \"▁д во\",\n      \"▁пра ви\",\n      \"▁ прави\",\n      \"▁c c\",\n      \"▁ cc\",\n      \"▁D ebug\",\n      \"▁De bug\",\n      \"▁Deb ug\",\n      \"▁ Debug\",\n      \"▁Cl ose\",\n      \"▁ Close\",\n      \"el ihood\",\n      \"eli hood\",\n      \"▁al gorithms\",\n      \"▁algorithm s\",\n      \"▁H amb\",\n      \"▁Ham b\",\n      \"▁Ha mb\",\n      \"ч на\",\n      \"▁c ust\",\n      \"▁cu st\",\n      \"▁mo unted\",\n      \"▁mount ed\",\n      \"par en\",\n      \"pa ren\",\n      \"pare n\",\n      \"p aren\",\n      \"▁isol ated\",\n      \"▁A gr\",\n      \"▁Ag r\",\n      \"▁or bit\",\n      \"▁orb it\",\n      \"print k\",\n      \"▁t urb\",\n      \"▁tu rb\",\n      \"▁tur b\",\n      \"▁gru po\",\n      \"ми и\",\n      \"\\\"\\\" \\\"\",\n      \"\\\" \\\"\\\"\",\n      \"▁h ills\",\n      \"▁hill s\",\n      \"ря д\",\n      \"▁B od\",\n      \"▁Bo d\",\n      \"▁об ще\",\n      \"est one\",\n      \"esto ne\",\n      \"eston e\",\n      \"e stone\",\n      \"▁satisf ying\",\n      \"▁satisfy ing\",\n      \"▁I van\",\n      \"▁Iv an\",\n      \"▁associ ate\",\n      \"name d\",\n      \"na med\",\n      \"nam ed\",\n      \"n amed\",\n      \"oc cup\",\n      \"occ up\",\n      \"GP IO\",\n      \"G PIO\",\n      \"hi t\",\n      \"h it\",\n      \"▁dis tract\",\n      \"▁di stract\",\n      \"▁dist ract\",\n      \"▁bar rel\",\n      \"▁barr el\",\n      \"▁in variant\",\n      \"di d\",\n      \"d id\",\n      \"▁l ieu\",\n      \"▁li eu\",\n      \"▁lie u\",\n      \"sc ene\",\n      \"UN K\",\n      \"▁Ont ario\",\n      \"▁M ission\",\n      \"▁Miss ion\",\n      \"zi al\",\n      \"z ial\",\n      \"▁comp ete\",\n      \"▁compet e\",\n      \"▁cou ples\",\n      \"▁couple s\",\n      \"▁coup les\",\n      \"SH A\",\n      \"S HA\",\n      \"▁s ei\",\n      \"▁se i\",\n      \"▁m igration\",\n      \"▁migr ation\",\n      \"ac ked\",\n      \"ack ed\",\n      \"▁b arn\",\n      \"▁bar n\",\n      \"▁ba rn\",\n      \"hal f\",\n      \"h alf\",\n      \"▁neigh bour\",\n      \"▁neighb our\",\n      \"ft e\",\n      \"f te\",\n      \"▁od ds\",\n      \"▁odd s\",\n      \"▁optim ization\",\n      \"▁I C\",\n      \"▁ IC\",\n      \"▁H end\",\n      \"▁He nd\",\n      \"▁Hen d\",\n      \"pay ment\",\n      \"M r\",\n      \"') :\",\n      \"' ):\",\n      \"vo ir\",\n      \"v oir\",\n      \"▁R ange\",\n      \"▁Rang e\",\n      \"▁Ran ge\",\n      \"▁ Range\",\n      \"▁polit icians\",\n      \"▁politician s\",\n      \"▁K han\",\n      \"▁Kh an\",\n      \"▁shel ter\",\n      \"▁tim ing\",\n      \"▁ti ming\",\n      \"Create d\",\n      \"Creat ed\",\n      \"C reated\",\n      \"▁sept embre\",\n      \"li t\",\n      \"l it\",\n      \"▁S hel\",\n      \"▁She l\",\n      \"▁Sh el\",\n      \"▁c ouch\",\n      \"▁co uch\",\n      \"▁cou ch\",\n      \"▁d är\",\n      \"ult ur\",\n      \"▁G iov\",\n      \"▁Gi ov\",\n      \"ô le\",\n      \"RE AM\",\n      \"▁O cean\",\n      \"▁M B\",\n      \"▁ MB\",\n      \"▁lie gt\",\n      \"▁o v\",\n      \"▁ ov\",\n      \"▁car pet\",\n      \"та р\",\n      \"т ар\",\n      \"▁го дина\",\n      \"▁годи на\",\n      \"▁S ão\",\n      \"▁о тно\",\n      \"▁от но\",\n      \"ab ling\",\n      \"abl ing\",\n      \"a bling\",\n      \"in th\",\n      \"int h\",\n      \"▁purs ue\",\n      \"▁Const itution\",\n      \"an j\",\n      \"▁F BI\",\n      \"▁ar row\",\n      \"▁arr ow\",\n      \"▁ arrow\",\n      \"ph ones\",\n      \"phone s\",\n      \"▁kn ocked\",\n      \"▁knock ed\",\n      \"▁de com\",\n      \"▁dec om\",\n      \"ie k\",\n      \"i ek\",\n      \"ь е\",\n      \"St rip\",\n      \"Str ip\",\n      \"▁V enez\",\n      \"▁Ven ez\",\n      \"▁Ve nez\",\n      \"▁p upp\",\n      \"▁pu pp\",\n      \"▁pup p\",\n      \"bi an\",\n      \"bia n\",\n      \"b ian\",\n      \"▁cot ton\",\n      \"h p\",\n      \"▁the atre\",\n      \"▁accept able\",\n      \"cuss ion\",\n      \"▁r ounds\",\n      \"▁round s\",\n      \"▁act ively\",\n      \"▁activ ely\",\n      \"▁active ly\",\n      \"▁among st\",\n      \"▁a bc\",\n      \"▁ab c\",\n      \"▁ abc\",\n      \"F M\",\n      \"Pop up\",\n      \"▁divers ity\",\n      \"us z\",\n      \"u sz\",\n      \"▁employ er\",\n      \"spec ially\",\n      \"special ly\",\n      \"▁sus pected\",\n      \"▁suspect ed\",\n      \"▁c rypt\",\n      \"▁cry pt\",\n      \"▁O scar\",\n      \"▁Os car\",\n      \"no r\",\n      \"n or\",\n      \"▁bab ies\",\n      \"во м\",\n      \"▁m undo\",\n      \"▁li bert\",\n      \"▁lib ert\",\n      \"▁liber t\",\n      \"S G\",\n      \"ah ren\",\n      \"ahr en\",\n      \"a hren\",\n      \"▁magn itude\",\n      \"T M\",\n      \"' +\",\n      \"▁об ъ\",\n      \"▁G ust\",\n      \"▁Gu st\",\n      \"▁gr ain\",\n      \"▁gra in\",\n      \"мен т\",\n      \"м ент\",\n      \"to Equal\",\n      \"▁m os\",\n      \"▁mo s\",\n      \"▁ mos\",\n      \"▁consist ently\",\n      \"▁consistent ly\",\n      \"х у\",\n      \"▁domin ant\",\n      \"Con verter\",\n      \"Convert er\",\n      \"at able\",\n      \"ata ble\",\n      \"a table\",\n      \"▁J ag\",\n      \"▁Ja g\",\n      \"scri ptions\",\n      \"script ions\",\n      \"scription s\",\n      \"s criptions\",\n      \"x B\",\n      \"▁ ©\",\n      \"fol der\",\n      \"fold er\",\n      \"f older\",\n      \"▁sub stance\",\n      \"▁subst ance\",\n      \"▁по с\",\n      \"L o\",\n      \"BU S\",\n      \"B US\",\n      \"bas ic\",\n      \"us sen\",\n      \"uss en\",\n      \"▁co ins\",\n      \"▁coin s\",\n      \": -\",\n      \"▁N elson\",\n      \"▁Nel son\",\n      \"In ner\",\n      \"ograf ía\",\n      \"▁ex empl\",\n      \"▁exem pl\",\n      \"ch g\",\n      \"▁sy nd\",\n      \"▁syn d\",\n      \"dyn amic\",\n      \"d ynamic\",\n      \"ver ted\",\n      \"vert ed\",\n      \"▁EV ENT\",\n      \"▁ EVENT\",\n      \"se ek\",\n      \"see k\",\n      \"av ier\",\n      \"avi er\",\n      \"a vier\",\n      \"▁p rot\",\n      \"▁pro t\",\n      \"▁pr ot\",\n      \"▁ prot\",\n      \"-- ----\",\n      \"---- --\",\n      \"--- ---\",\n      \"----- -\",\n      \"- -----\",\n      \"▁con vention\",\n      \"▁conv ention\",\n      \"▁convent ion\",\n      \"▁станов ника\",\n      \"gl ing\",\n      \"g ling\",\n      \"hor a\",\n      \"ho ra\",\n      \"h ora\",\n      \"ши й\",\n      \"▁wh ilst\",\n      \"ser ialize\",\n      \"serial ize\",\n      \"s erialize\",\n      \"▁R ing\",\n      \"([ '\",\n      \"( ['\",\n      \"▁c her\",\n      \"▁ch er\",\n      \"▁che r\",\n      \"▁ cher\",\n      \"сь кі\",\n      \"▁D anny\",\n      \"▁Dan ny\",\n      \"▁re aches\",\n      \"▁reach es\",\n      \"▁el igible\",\n      \"▁P arent\",\n      \"▁Par ent\",\n      \"▁Pa rent\",\n      \"▁ Parent\",\n      \"▁came ras\",\n      \"▁cam eras\",\n      \"▁camera s\",\n      \"▁discipl ine\",\n      \"▁s illy\",\n      \"▁sil ly\",\n      \"re ts\",\n      \"ret s\",\n      \"r ets\",\n      \"yt ics\",\n      \"▁Reg ional\",\n      \"▁Region al\",\n      \"▁B aby\",\n      \"▁Ba by\",\n      \"▁Bab y\",\n      \"te le\",\n      \"t ele\",\n      \"WAR NING\",\n      \"WARN ING\",\n      \"su pp\",\n      \"sup p\",\n      \"s upp\",\n      \"▁refer ring\",\n      \"▁mer ch\",\n      \"▁merc h\",\n      \"ol ves\",\n      \"olve s\",\n      \"olv es\",\n      \"em et\",\n      \"eme t\",\n      \"e met\",\n      \"ck e\",\n      \"c ke\",\n      \"▁M unicip\",\n      \"▁Mun icip\",\n      \"Wh ite\",\n      \"▁ Ś\",\n      \"ri os\",\n      \"rio s\",\n      \"r ios\",\n      \"log ging\",\n      \"▁d x\",\n      \"▁ dx\",\n      \"▁su sp\",\n      \"▁sus p\",\n      \"ex ternal\",\n      \"▁Liber al\",\n      \"▁Lib eral\",\n      \"▁Init ialize\",\n      \"▁Initial ize\",\n      \"▁ Initialize\",\n      \"▁exhib ition\",\n      \"▁exhibit ion\",\n      \"▁ext ensions\",\n      \"▁extension s\",\n      \"▁extens ions\",\n      \"▁ extensions\",\n      \"ke eper\",\n      \"keep er\",\n      \"kee per\",\n      \"SY S\",\n      \"▁J ake\",\n      \"▁Ja ke\",\n      \"▁Jak e\",\n      \"fo oter\",\n      \"foot er\",\n      \"foo ter\",\n      \"▁ph ones\",\n      \"▁phone s\",\n      \"▁ phones\",\n      \"▁real m\",\n      \"▁contribut ed\",\n      \"▁contribute d\",\n      \"ME SS\",\n      \"▁For mat\",\n      \"▁Form at\",\n      \"▁ Format\",\n      \"Per iod\",\n      \"▁h id\",\n      \"▁hi d\",\n      \"▁ hid\",\n      \"▁me tres\",\n      \"▁met res\",\n      \"▁D im\",\n      \"▁Di m\",\n      \"▁ Dim\",\n      \"ache lor\",\n      \"achel or\",\n      \"▁T ak\",\n      \"▁Ta k\",\n      \"▁ве ли\",\n      \"▁g ram\",\n      \"▁gr am\",\n      \"▁gra m\",\n      \"▁ gram\",\n      \"▁M Y\",\n      \"▁ MY\",\n      \"on ders\",\n      \"ond ers\",\n      \"onder s\",\n      \"onde rs\",\n      \"'; \\r\",\n      \"' ;\\r\",\n      \"▁F ro\",\n      \"▁Fr o\",\n      \"▁advant ages\",\n      \"▁advantage s\",\n      \"io v\",\n      \"i ov\",\n      \"▁she ets\",\n      \"▁sheet s\",\n      \"ce mbre\",\n      \"c embre\",\n      \"ž e\",\n      \"] \\r\",\n      \"▁D J\",\n      \"subset eq\",\n      \"UP DATE\",\n      \"▁b locked\",\n      \"▁bl ocked\",\n      \"▁block ed\",\n      \"▁pan els\",\n      \"▁pa nels\",\n      \"▁panel s\",\n      \"E A\",\n      \"nd e\",\n      \"n de\",\n      \"ê t\",\n      \"Bu l\",\n      \"B ul\",\n      \"▁m eters\",\n      \"▁me ters\",\n      \"▁met ers\",\n      \"▁meter s\",\n      \"jo ur\",\n      \"j our\",\n      \"▁rap port\",\n      \"▁rapp ort\",\n      \"▁J ak\",\n      \"▁Ja k\",\n      \"▁V AL\",\n      \"▁VA L\",\n      \"▁ VAL\",\n      \"▁p up\",\n      \"▁pu p\",\n      \"▁k a\",\n      \"▁ ka\",\n      \"for ced\",\n      \"force d\",\n      \"▁ав гу\",\n      \"ener gy\",\n      \"e nergy\",\n      \"▁V a\",\n      \"not es\",\n      \"no tes\",\n      \"note s\",\n      \"n otes\",\n      \"▁relax ed\",\n      \"C r\",\n      \"id ding\",\n      \"idd ing\",\n      \"▁def ines\",\n      \"▁define s\",\n      \"▁defin es\",\n      \"▁kiss ed\",\n      \"▁inv asion\",\n      \"▁invas ion\",\n      \"▁sc reens\",\n      \"▁screen s\",\n      \"C trl\",\n      \"▁pass engers\",\n      \"▁passenger s\",\n      \"▁Х о\",\n      \"ation ship\",\n      \"ations hip\",\n      \"per cent\",\n      \"\\\\ }\",\n      \"▁be ating\",\n      \"▁beat ing\",\n      \"life ray\",\n      \"lifer ay\",\n      \"▁V M\",\n      \"▁ VM\",\n      \"▁Gab riel\",\n      \"▁g allery\",\n      \"▁gall ery\",\n      \"▁Л о\",\n      \"iv ot\",\n      \"ivo t\",\n      \"▁r ental\",\n      \"▁ren tal\",\n      \"▁rent al\",\n      \"▁sh ocked\",\n      \"▁shock ed\",\n      \"▁Ste in\",\n      \"▁B h\",\n      \"▁ ло\",\n      \"Un e\",\n      \"U ne\",\n      \"ге н\",\n      \"г ен\",\n      \"▁kom mun\",\n      \"an ka\",\n      \"ank a\",\n      \"▁C ape\",\n      \"▁Cap e\",\n      \"▁Ca pe\",\n      \"Re ady\",\n      \"Read y\",\n      \"▁к ри\",\n      \"▁ кри\",\n      \"tr ag\",\n      \"tra g\",\n      \"t rag\",\n      \"Al ign\",\n      \"Ali gn\",\n      \"▁host ed\",\n      \"▁ho sted\",\n      \"▁\\\\ (\",\n      \"▁S ession\",\n      \"▁ Session\",\n      \"ys k\",\n      \"y sk\",\n      \"Pen ding\",\n      \"P ending\",\n      \"ellig ence\",\n      \"elli gence\",\n      \"▁Never theless\",\n      \"bit ro\",\n      \"bitr o\",\n      \"ho lm\",\n      \"hol m\",\n      \"quir y\",\n      \"▁mechan ical\",\n      \"▁D é\",\n      \"an eous\",\n      \"ane ous\",\n      \"▁psych ological\",\n      \"▁a broad\",\n      \"▁ab road\",\n      \"▁a voir\",\n      \"▁av oir\",\n      \"▁separ ation\",\n      \"▁sep aration\",\n      \"▁Haw ai\",\n      \"iej sc\",\n      \"▁N ether\",\n      \"▁Ne ther\",\n      \"▁Net her\",\n      \"▁sub tle\",\n      \"bi rd\",\n      \"b ird\",\n      \"▁mark er\",\n      \"▁mar ker\",\n      \"▁ marker\",\n      \"▁со зда\",\n      \"ва ла\",\n      \"вал а\",\n      \"▁Work ing\",\n      \"▁Wor king\",\n      \"▁h over\",\n      \"▁ho ver\",\n      \"▁ hover\",\n      \"%%%% %%%%\",\n      \"▁м ат\",\n      \"▁ма т\",\n      \"▁ мат\",\n      \"▁s oup\",\n      \"▁so up\",\n      \"▁sou p\",\n      \"Al ert\",\n      \"ch r\",\n      \"c hr\",\n      \"▁P CI\",\n      \"▁PC I\",\n      \"▁ PCI\",\n      \"▁m ús\",\n      \"ient ras\",\n      \"ien tras\",\n      \"▁St orage\",\n      \"▁Sto rage\",\n      \"▁ Storage\",\n      \"▁av ailability\",\n      \"▁op era\",\n      \"▁oper a\",\n      \"▁P roduction\",\n      \"▁Produ ction\",\n      \"▁Product ion\",\n      \"ia ne\",\n      \"ian e\",\n      \"i ane\",\n      \"▁Bet ter\",\n      \"▁B utton\",\n      \"▁But ton\",\n      \"▁ Button\",\n      \"▁Pe ace\",\n      \"▁Mor ris\",\n      \"▁s ib\",\n      \"▁si b\",\n      \"▁f iber\",\n      \"▁fi ber\",\n      \"▁fib er\",\n      \"Int ent\",\n      \"▁D esc\",\n      \"▁De sc\",\n      \"▁Des c\",\n      \"▁ Desc\",\n      \"ning en\",\n      \"n ingen\",\n      \"ze j\",\n      \"z ej\",\n      \"av an\",\n      \"ava n\",\n      \"a van\",\n      \"cover ed\",\n      \"cov ered\",\n      \"▁s yst\",\n      \"▁sy st\",\n      \"▁sys t\",\n      \"_ +\",\n      \"▁орга ни\",\n      \"▁Re lig\",\n      \"▁Rel ig\",\n      \"ци аль\",\n      \"▁s pite\",\n      \"▁sp ite\",\n      \"▁re prés\",\n      \"▁~ ~\",\n      \"▁ ~~\",\n      \"▁to xic\",\n      \"▁a pro\",\n      \"▁ap ro\",\n      \"▁apr o\",\n      \"X Y\",\n      \"▁tr ips\",\n      \"▁tri ps\",\n      \"▁trip s\",\n      \"▁pl aats\",\n      \"▁con vey\",\n      \"▁conv ey\",\n      \"▁conve y\",\n      \"Pr im\",\n      \"P rim\",\n      \"▁о ста\",\n      \"▁ос та\",\n      \"▁ост а\",\n      \"ok o\",\n      \"o ko\",\n      \"▁l obby\",\n      \"▁lob by\",\n      \"▁recommend ations\",\n      \"▁recommendation s\",\n      \"SP ACE\",\n      \"▁overwhel ming\",\n      \"ennes see\",\n      \"▁ac quire\",\n      \"▁acqu ire\",\n      \"w m\",\n      \"LOB AL\",\n      \"▁D EF\",\n      \"▁DE F\",\n      \"▁ DEF\",\n      \"je r\",\n      \"j er\",\n      \"▁re cur\",\n      \"▁rec ur\",\n      \"om men\",\n      \"omm en\",\n      \"▁j og\",\n      \"▁jo g\",\n      \"▁n ast\",\n      \"▁na st\",\n      \"▁nas t\",\n      \"▁L P\",\n      \"▁ LP\",\n      \"jo n\",\n      \"j on\",\n      \"▁w ishes\",\n      \"▁wish es\",\n      \"▁wis hes\",\n      \"▁N ancy\",\n      \"▁support ers\",\n      \"▁supp orters\",\n      \"^{ -\\\\\",\n      \"^{- \\\\\",\n      \"▁T rib\",\n      \"▁Tr ib\",\n      \"▁Tri b\",\n      \"▁ Ä\",\n      \"▁disappoint ed\",\n      \"▁у ни\",\n      \"x D\",\n      \"li nt\",\n      \"lin t\",\n      \"l int\",\n      \"I p\",\n      \"▁Islam ic\",\n      \"än de\",\n      \"änd e\",\n      \"ä nde\",\n      \"end ment\",\n      \"dt ype\",\n      \"d type\",\n      \"▁di gest\",\n      \"▁dig est\",\n      \"▁Set tings\",\n      \"▁Setting s\",\n      \"▁ Settings\",\n      \"ér a\",\n      \"é ra\",\n      \"▁aggress ive\",\n      \"▁intellig ent\",\n      \"eder börd\",\n      \"ster dam\",\n      \"pc i\",\n      \"p ci\",\n      \"▁over flow\",\n      \"▁ overflow\",\n      \"im b\",\n      \"i mb\",\n      \"re ach\",\n      \"rea ch\",\n      \"r each\",\n      \"cept or\",\n      \"cep tor\",\n      \"▁yield s\",\n      \"▁Se bast\",\n      \"▁ut ility\",\n      \"▁util ity\",\n      \"▁р и\",\n      \"▁ ри\",\n      \"▁fac ulty\",\n      \"▁In ternal\",\n      \"▁Intern al\",\n      \"▁Inter nal\",\n      \"▁ Internal\",\n      \"▁attract ed\",\n      \"▁attra cted\",\n      \"рі в\",\n      \"р ів\",\n      \"▁mix ing\",\n      \"▁R uth\",\n      \"▁Ru th\",\n      \"▁esc aped\",\n      \"▁escape d\",\n      \"▁E asy\",\n      \"▁dr ain\",\n      \"▁r ings\",\n      \"▁ring s\",\n      \"▁ rings\",\n      \"qu ire\",\n      \"quir e\",\n      \"Av ailable\",\n      \"▁ц и\",\n      \"▁ ци\",\n      \"▁conv ince\",\n      \"▁convin ce\",\n      \"or sch\",\n      \"ors ch\",\n      \"ут бо\",\n      \"CP P\",\n      \"C PP\",\n      \"ra ge\",\n      \"rag e\",\n      \"r age\",\n      \"ч і\",\n      \"▁p rod\",\n      \"▁pro d\",\n      \"▁pr od\",\n      \"▁ prod\",\n      \"▁p ig\",\n      \"▁pi g\",\n      \"▁C atal\",\n      \"▁Cat al\",\n      \"▁Ca tal\",\n      \"▁al ias\",\n      \"▁ali as\",\n      \"▁ alias\",\n      \"▁че мпи\",\n      \"▁чем пи\",\n      \"Pl ace\",\n      \"P lace\",\n      \"▁g orge\",\n      \"▁depend ence\",\n      \"▁cr uel\",\n      \"▁cru el\",\n      \"▁ther mal\",\n      \"▁therm al\",\n      \"ut down\",\n      \"ref resh\",\n      \"▁re sort\",\n      \"▁res ort\",\n      \"▁S HA\",\n      \"▁SH A\",\n      \"▁ SHA\",\n      \"ти й\",\n      \"fo od\",\n      \"foo d\",\n      \"f ood\",\n      \"▁N ad\",\n      \"▁Na d\",\n      \"▁pregn ancy\",\n      \"▁pro jection\",\n      \"▁project ion\",\n      \"▁pa ís\",\n      \"▁полу чи\",\n      \"▁the mes\",\n      \"▁them es\",\n      \"▁theme s\",\n      \"▁fun eral\",\n      \"▁cas o\",\n      \"▁ca so\",\n      \"ле кт\",\n      \"лек т\",\n      \"Ex tra\",\n      \"Ext ra\",\n      \"▁t issue\",\n      \"▁dr agon\",\n      \"▁drag on\",\n      \"▁l ig\",\n      \"▁li g\",\n      \"▁ lig\",\n      \"▁n ei\",\n      \"▁ne i\",\n      \"▁com edy\",\n      \"▁come dy\",\n      \"▁comed y\",\n      \"те м\",\n      \"т ем\",\n      \"сла в\",\n      \"с лав\",\n      \"▁pass enger\",\n      \"Cl one\",\n      \"i ção\",\n      \"yg on\",\n      \"y gon\",\n      \"▁H alf\",\n      \"▁Hal f\",\n      \"▁la bour\",\n      \"▁lab our\",\n      \"▁vill ages\",\n      \"▁village s\",\n      \"▁ві й\",\n      \"▁О т\",\n      \"▁L isa\",\n      \"▁Li sa\",\n      \"▁Lis a\",\n      \"_ [\",\n      \"ba g\",\n      \"b ag\",\n      \"▁d iver\",\n      \"▁di ver\",\n      \"▁div er\",\n      \"▁dive r\",\n      \"▁M L\",\n      \"▁ ML\",\n      \"▁transl ated\",\n      \"▁translate d\",\n      \"▁per ò\",\n      \"ab ama\",\n      \"aba ma\",\n      \"▁cas tle\",\n      \"▁cast le\",\n      \"▁ castle\",\n      \"* \\\\\",\n      \"▁reg ia\",\n      \"!! !!\",\n      \"!!! !\",\n      \"! !!!\",\n      \"*> (\",\n      \"* >(\",\n      \"▁Work s\",\n      \"▁Wor ks\",\n      \"▁N ature\",\n      \"▁Nat ure\",\n      \"▁Natur e\",\n      \"NE L\",\n      \"N EL\",\n      \"▁P om\",\n      \"▁Po m\",\n      \"tt a\",\n      \"t ta\",\n      \"▁Jam ie\",\n      \"▁p unch\",\n      \"▁pun ch\",\n      \"tain ment\",\n      \"▁K rieg\",\n      \"▁Kr ieg\",\n      \"▁restr icted\",\n      \"▁restrict ed\",\n      \"mob ile\",\n      \"m obile\",\n      \"▁grand mother\",\n      \"Arg uments\",\n      \"Argument s\",\n      \"▁s inc\",\n      \"▁si nc\",\n      \"▁sin c\",\n      \"▁Mon th\",\n      \"▁Mont h\",\n      \"▁ Month\",\n      \"esc ape\",\n      \"e scape\",\n      \"▁opt ical\",\n      \"▁L ane\",\n      \"▁La ne\",\n      \"▁Lan e\",\n      \"▁Deutsch land\",\n      \"▁S aison\",\n      \"▁Sa ison\",\n      \"▁V irtual\",\n      \"▁ Virtual\",\n      \"pe z\",\n      \"p ez\",\n      \"In line\",\n      \"ow any\",\n      \"owa ny\",\n      \"rad io\",\n      \"r adio\",\n      \"ö ß\",\n      \"▁O thers\",\n      \"▁Other s\",\n      \"MA IN\",\n      \"M AIN\",\n      \"sc al\",\n      \"s cal\",\n      \"▁D allas\",\n      \"▁Dal las\",\n      \"▁an chor\",\n      \"▁anc hor\",\n      \"▁anch or\",\n      \"▁ anchor\",\n      \"en cias\",\n      \"enc ias\",\n      \"encia s\",\n      \"enci as\",\n      \"▁re porter\",\n      \"▁rep orter\",\n      \"▁report er\",\n      \"▁veget ables\",\n      \"▁enforce ment\",\n      \"▁Wis consin\",\n      \"▁con dem\",\n      \"▁cond em\",\n      \"▁e b\",\n      \"▁ eb\",\n      \"▁s its\",\n      \"▁sit s\",\n      \"▁si ts\",\n      \"▁calcul ations\",\n      \"▁calculation s\",\n      \"▁calc ulations\",\n      \"▁\\\" --\",\n      \"▁\\\"- -\",\n      \"ue lle\",\n      \"uel le\",\n      \"u elle\",\n      \"▁tip o\",\n      \"▁ti po\",\n      \"▁P AR\",\n      \"▁PA R\",\n      \"▁ PAR\",\n      \"co rd\",\n      \"cor d\",\n      \"c ord\",\n      \"▁ро ків\",\n      \"ph an\",\n      \"pha n\",\n      \"p han\",\n      \"▁kon nte\",\n      \"▁z ap\",\n      \"▁za p\",\n      \"wr iting\",\n      \"writ ing\",\n      \"en gu\",\n      \"eng u\",\n      \"▁pert urb\",\n      \"Fac e\",\n      \"F ace\",\n      \"ag og\",\n      \"ago g\",\n      \"▁De cl\",\n      \"▁Dec l\",\n      \"▁ Decl\",\n      \"est ly\",\n      \"▁War ren\",\n      \"▁H ills\",\n      \"▁Hill s\",\n      \"▁Hil ls\",\n      \"▁ref resh\",\n      \"▁refr esh\",\n      \"▁refres h\",\n      \"▁ refresh\",\n      \"▁fl ip\",\n      \"io p\",\n      \"i op\",\n      \"▁key board\",\n      \"is to\",\n      \"ist o\",\n      \"i sto\",\n      \"▁prom oted\",\n      \"▁promote d\",\n      \"▁promot ed\",\n      \"back s\",\n      \"ba cks\",\n      \"b acks\",\n      \"Enc oding\",\n      \"▁ ال\",\n      \"▁g min\",\n      \"ро б\",\n      \"р об\",\n      \"▁follow ers\",\n      \"▁p epper\",\n      \"um ble\",\n      \"umb le\",\n      \"▁sp ray\",\n      \"▁spr ay\",\n      \"▁dr ives\",\n      \"▁dri ves\",\n      \"▁driv es\",\n      \"▁drive s\",\n      \"P ush\",\n      \"cook ie\",\n      \"c ookie\",\n      \"▁gel dig\",\n      \"▁geld ig\",\n      \"ig ung\",\n      \"igu ng\",\n      \"vis it\",\n      \"▁at omic\",\n      \"▁atom ic\",\n      \"▁ atomic\",\n      \"▁A thlet\",\n      \"▁Ath let\",\n      \"▁Or igin\",\n      \"▁Ori gin\",\n      \"▁ Origin\",\n      \"▁H appy\",\n      \"▁G ra\",\n      \"▁Gr a\",\n      \"▁att ribut\",\n      \"▁п ов\",\n      \"▁по в\",\n      \"▁ пов\",\n      \"▁n ost\",\n      \"▁no st\",\n      \"▁nos t\",\n      \"▁ nost\",\n      \"ur u\",\n      \"u ru\",\n      \"▁Ne ither\",\n      \"▁ma ar\",\n      \"ject ions\",\n      \"je ctions\",\n      \"jection s\",\n      \"▁re nov\",\n      \"▁ren ov\",\n      \"fin ity\",\n      \"f inity\",\n      \"gener ic\",\n      \"init ialize\",\n      \"initial ize\",\n      \"pgf set\",\n      \"▁hyp othes\",\n      \"▁ma cro\",\n      \"▁mac ro\",\n      \"ma ps\",\n      \"map s\",\n      \"m aps\",\n      \"▁f are\",\n      \"▁far e\",\n      \"▁fa re\",\n      \"▁ fare\",\n      \"Be st\",\n      \"B est\",\n      \"uch t\",\n      \"uc ht\",\n      \"u cht\",\n      \"co d\",\n      \"c od\",\n      \"▁h orm\",\n      \"▁hor m\",\n      \"▁ho rm\",\n      \"▁P oll\",\n      \"▁Pol l\",\n      \"▁Po ll\",\n      \"▁host ing\",\n      \"▁Re ading\",\n      \"▁Read ing\",\n      \"Cert ificate\",\n      \"▁и ма\",\n      \"▁им а\",\n      \"▁C ov\",\n      \"▁Co v\",\n      \"▁P red\",\n      \"▁Pr ed\",\n      \"▁Pre d\",\n      \"▁ Pred\",\n      \"re direct\",\n      \"red irect\",\n      \"▁l attice\",\n      \"▁port folio\",\n      \"▁o ven\",\n      \"▁ov en\",\n      \"▁ oven\",\n      \"ie len\",\n      \"iel en\",\n      \"iele n\",\n      \"i elen\",\n      \"sub scribe\",\n      \"foot note\",\n      \"но ю\",\n      \"▁mom ento\",\n      \"▁moment o\",\n      \"▁d ich\",\n      \"▁di ch\",\n      \"▁dic h\",\n      \"▁ent ert\",\n      \"▁enter t\",\n      \"▁g é\",\n      \"▁connect ing\",\n      \"▁n acional\",\n      \"▁o tt\",\n      \"▁ot t\",\n      \"▁ ott\",\n      \"ні в\",\n      \"н ів\",\n      \"▁rac ist\",\n      \"▁penal ty\",\n      \"ül t\",\n      \"ü lt\",\n      \"▁Israel i\",\n      \"▁( †\",\n      \"▁desc end\",\n      \"▁ос іб\",\n      \"▁b elly\",\n      \"▁bel ly\",\n      \"▁bell y\",\n      \"ні сть\",\n      \"▁encounter ed\",\n      \"T ip\",\n      \"▁gu ilt\",\n      \"▁d amp\",\n      \"▁da mp\",\n      \"▁dam p\",\n      \"ze ug\",\n      \"▁Mem ory\",\n      \"▁ Memory\",\n      \"Check ed\",\n      \"▁Sh akespeare\",\n      \"hi ll\",\n      \"h ill\",\n      \"▁w oke\",\n      \"▁wo ke\",\n      \"▁sal ary\",\n      \"eth eless\",\n      \"ethe less\",\n      \"e theless\",\n      \"▁Т и\",\n      \"er de\",\n      \"erd e\",\n      \"▁He in\",\n      \"▁g it\",\n      \"▁gi t\",\n      \"▁ git\",\n      \"=\\\" \\\"\",\n      \"= \\\"\\\"\",\n      \"ül l\",\n      \"ü ll\",\n      \"ge ben\",\n      \"geb en\",\n      \"g eben\",\n      \"Pr es\",\n      \"Pre s\",\n      \"P res\",\n      \"ie val\",\n      \"iev al\",\n      \"i eval\",\n      \"mark er\",\n      \"mar ker\",\n      \"▁д ан\",\n      \"▁да н\",\n      \"▁ дан\",\n      \"▁oct obre\",\n      \"RO L\",\n      \"R OL\",\n      \"▁jan u\",\n      \"▁ja nu\",\n      \"▁) :\",\n      \"▁ ):\",\n      \"br anch\",\n      \"▁J erry\",\n      \"▁Jer ry\",\n      \"ke hr\",\n      \"▁contr acts\",\n      \"▁contract s\",\n      \"▁aff air\",\n      \"▁Росси и\",\n      \"ja ck\",\n      \"j ack\",\n      \"AN G\",\n      \"A NG\",\n      \"▁dro pping\",\n      \"▁drop ping\",\n      \"▁d ic\",\n      \"▁di c\",\n      \"sch ool\",\n      \"▁Fin land\",\n      \"▁d ort\",\n      \"▁do rt\",\n      \"▁K ings\",\n      \"▁King s\",\n      \"▁Kin gs\",\n      \"▁Arg ument\",\n      \"▁ Argument\",\n      \"▁Sim ilarly\",\n      \"▁Similar ly\",\n      \"▁V erm\",\n      \"▁Ver m\",\n      \"▁Ve rm\",\n      \"▁pret end\",\n      \"! _\",\n      \"łu g\",\n      \"ł ug\",\n      \"же ння\",\n      \"жен ня\",\n      \"da ting\",\n      \"dat ing\",\n      \"d ating\",\n      \"cs v\",\n      \"c sv\",\n      \"▁dialog ue\",\n      \"▁dial ogue\",\n      \"STR U\",\n      \"▁public ly\",\n      \"wed ge\",\n      \"w edge\",\n      \"▁H och\",\n      \"▁Ho ch\",\n      \"▁spe aks\",\n      \"▁speak s\",\n      \"▁compens ation\",\n      \"an ca\",\n      \"anc a\",\n      \"text tt\",\n      \"▁Fil ter\",\n      \"▁ Filter\",\n      \"▁part ly\",\n      \"▁us eless\",\n      \"▁use less\",\n      \"▁г у\",\n      \"▁ гу\",\n      \"▁d eter\",\n      \"▁de ter\",\n      \"▁det er\",\n      \"IE W\",\n      \"▁con secut\",\n      \"▁cons ecut\",\n      \"▁conse cut\",\n      \"▁h oly\",\n      \"▁hol y\",\n      \"▁ho ly\",\n      \"▁grad uated\",\n      \"▁gradu ated\",\n      \"▁graduate d\",\n      \"an dal\",\n      \"and al\",\n      \"anda l\",\n      \"ți e\",\n      \"ț ie\",\n      \"▁W ant\",\n      \"▁Wa nt\",\n      \"▁Aust ria\",\n      \"or den\",\n      \"ord en\",\n      \"fr ag\",\n      \"f rag\",\n      \"▁f oo\",\n      \"▁fo o\",\n      \"▁ foo\",\n      \"cl aimed\",\n      \"claim ed\",\n      \"во е\",\n      \"▁not able\",\n      \"▁no table\",\n      \"▁journal ist\",\n      \"▁M ail\",\n      \"▁Ma il\",\n      \"▁Mai l\",\n      \"▁ Mail\",\n      \"!( \\\"\",\n      \"! (\\\"\",\n      \"ps e\",\n      \"p se\",\n      \"▁C lay\",\n      \"▁Cl ay\",\n      \"iv i\",\n      \"i vi\",\n      \"▁sc ales\",\n      \"▁scale s\",\n      \"▁scal es\",\n      \"▁er ste\",\n      \"▁erst e\",\n      \"▁ers te\",\n      \"Data Type\",\n      \"▁D iam\",\n      \"▁Di am\",\n      \"í r\",\n      \"loc ale\",\n      \"local e\",\n      \"▁rel uct\",\n      \"ien st\",\n      \"iens t\",\n      \"ast ro\",\n      \"astr o\",\n      \"act ly\",\n      \"я х\",\n      \"▁Vill age\",\n      \"▁Villa ge\",\n      \"▁Vil lage\",\n      \"▁d aughters\",\n      \"▁daughter s\",\n      \"▁manufact urers\",\n      \"▁manufacturer s\",\n      \"▁print ing\",\n      \"▁prin ting\",\n      \"ч ка\",\n      \"Nd Ex\",\n      \"Ch anges\",\n      \"Change s\",\n      \"▁/ ******/\",\n      \"ver tex\",\n      \"vert ex\",\n      \"▁b rows\",\n      \"▁br ows\",\n      \"▁bro ws\",\n      \"▁brow s\",\n      \"▁K ö\",\n      \"not ations\",\n      \"notation s\",\n      \"▁i ls\",\n      \"▁il s\",\n      \"▁ ils\",\n      \"at el\",\n      \"ate l\",\n      \"C ir\",\n      \"▁meaning ful\",\n      \"q a\",\n      \"▁C old\",\n      \"▁Col d\",\n      \"▁Co ld\",\n      \"ue to\",\n      \"u eto\",\n      \"you r\",\n      \"yo ur\",\n      \"y our\",\n      \"m f\",\n      \"мо в\",\n      \"м ов\",\n      \"▁Ü ber\",\n      \"▁fam ilia\",\n      \"▁famil ia\",\n      \"▁ste ep\",\n      \"▁pres idential\",\n      \"▁president ial\",\n      \"▁presid ential\",\n      \"▁z á\",\n      \"▁ zá\",\n      \"▁w ars\",\n      \"▁war s\",\n      \"▁wa rs\",\n      \"▁C re\",\n      \"▁Cr e\",\n      \"▁after wards\",\n      \"▁afterward s\",\n      \"ha lb\",\n      \"hal b\",\n      \"▁strugg led\",\n      \"▁struggle d\",\n      \"Ch art\",\n      \"Char t\",\n      \"User Id\",\n      \"ac ular\",\n      \"a cular\",\n      \"iv ia\",\n      \"ivi a\",\n      \"i via\",\n      \"▁u gly\",\n      \"▁K unst\",\n      \"E s\",\n      \"▁Q String\",\n      \"▁C ow\",\n      \"▁Co w\",\n      \"Rad ius\",\n      \"▁Gr iff\",\n      \"▁V as\",\n      \"▁Va s\",\n      \"HA L\",\n      \"H AL\",\n      \"Mod ified\",\n      \"ra le\",\n      \"ral e\",\n      \"r ale\",\n      \"mem cpy\",\n      \"▁в клю\",\n      \"▁r s\",\n      \"▁ rs\",\n      \"▁h alt\",\n      \"▁ha lt\",\n      \"▁hal t\",\n      \"▁ halt\",\n      \"▁Miss iss\",\n      \"▁h uvud\",\n      \"ec a\",\n      \"e ca\",\n      \"▁Jahrhund ert\",\n      \"E urope\",\n      \"Sign ature\",\n      \"▁grand father\",\n      \"▁O regon\",\n      \"gu e\",\n      \"g ue\",\n      \"xy gen\",\n      \"fr ames\",\n      \"frame s\",\n      \"▁hab its\",\n      \"▁ha bits\",\n      \"▁habit s\",\n      \"Support ed\",\n      \"Supp orted\",\n      \"▁low ered\",\n      \"▁lower ed\",\n      \"▁rad iation\",\n      \"▁radi ation\",\n      \"ab en\",\n      \"abe n\",\n      \"a ben\",\n      \"▁Pro gress\",\n      \"▁ Progress\",\n      \"▁C osta\",\n      \"▁Co sta\",\n      \"▁Cost a\",\n      \"▁Cos ta\",\n      \"▁dev oted\",\n      \"▁gest ure\",\n      \"▁Dez ember\",\n      \"▁qu oted\",\n      \"▁quote d\",\n      \"▁quot ed\",\n      \"▁difficult ies\",\n      \"т ре\",\n      \"▁sustain able\",\n      \"▁d ense\",\n      \"▁den se\",\n      \"▁dens e\",\n      \"▁ih rer\",\n      \"▁ihr er\",\n      \"▁ihre r\",\n      \"▁firm ly\",\n      \"â t\",\n      \"om ent\",\n      \"ome nt\",\n      \"omen t\",\n      \"o ment\",\n      \"▁c out\",\n      \"▁co ut\",\n      \"▁cou t\",\n      \"▁ cout\",\n      \"▁p oi\",\n      \"▁po i\",\n      \"d jango\",\n      \"▁pro found\",\n      \"▁prof ound\",\n      \"▁Wil helm\",\n      \"▁fl ush\",\n      \"▁flu sh\",\n      \"▁ flush\",\n      \"▁av ril\",\n      \"LA B\",\n      \"L AB\",\n      \"▁B row\",\n      \"▁Br ow\",\n      \"▁Bro w\",\n      \"▁pro pose\",\n      \"▁prop ose\",\n      \"▁propos e\",\n      \"▁r anks\",\n      \"▁ran ks\",\n      \"▁rank s\",\n      \"WI D\",\n      \"W ID\",\n      \"▁mut ual\",\n      \"▁text s\",\n      \"▁tex ts\",\n      \"▁S ale\",\n      \"▁Sal e\",\n      \"▁Sa le\",\n      \"▁qu asi\",\n      \"▁n og\",\n      \"▁no g\",\n      \"▁ nog\",\n      \"▁nouve au\",\n      \"▁c v\",\n      \"▁ cv\",\n      \"▁no ble\",\n      \"▁nob le\",\n      \"▁dé cembre\",\n      \"▁déc embre\",\n      \"▁cl ever\",\n      \"▁cle ver\",\n      \"▁P ir\",\n      \"▁Pi r\",\n      \"▁graph ics\",\n      \"▁graphic s\",\n      \"▁ graphics\",\n      \"▁G R\",\n      \"▁ GR\",\n      \"че ской\",\n      \"▁s ag\",\n      \"▁sa g\",\n      \"ict ions\",\n      \"iction s\",\n      \"i ctions\",\n      \"na nt\",\n      \"nan t\",\n      \"n ant\",\n      \"▁th é\",\n      \"C G\",\n      \"▁Jac ques\",\n      \"W M\",\n      \"▁F inn\",\n      \"▁Fin n\",\n      \"▁Fi nn\",\n      \"▁dev ast\",\n      \"зо м\",\n      \"хо в\",\n      \"х ов\",\n      \"▁En tre\",\n      \"▁Ent re\",\n      \". ;\",\n      \"▁fl uct\",\n      \"▁flu ct\",\n      \"▁Sc iences\",\n      \"▁Sci ences\",\n      \"▁Science s\",\n      \"▁т у\",\n      \"▁ ту\",\n      \"path s\",\n      \"pat hs\",\n      \"▁sh orter\",\n      \"▁short er\",\n      \"▁suggest ion\",\n      \"ER Y\",\n      \"▁D ire\",\n      \"▁Di re\",\n      \"▁Dir e\",\n      \"at eurs\",\n      \"ate urs\",\n      \"ateur s\",\n      \"▁round ed\",\n      \"▁t art\",\n      \"▁tar t\",\n      \"▁ta rt\",\n      \"ю ще\",\n      \"up er\",\n      \"u per\",\n      \"▁secret s\",\n      \"▁sec rets\",\n      \"▁secre ts\",\n      \"▁compan ion\",\n      \"▁K EY\",\n      \"▁ KEY\",\n      \"T ile\",\n      \"▁B ibli\",\n      \"x s\",\n      \"▁ang ular\",\n      \"▁ angular\",\n      \"pa g\",\n      \"p ag\",\n      \"er ness\",\n      \"ern ess\",\n      \"erne ss\",\n      \"▁S orry\",\n      \"▁Sor ry\",\n      \"▁ Sorry\",\n      \"▁pre diction\",\n      \"▁predict ion\",\n      \"▁pred iction\",\n      \"▁M aking\",\n      \"▁Ma king\",\n      \"▁Mak ing\",\n      \"на род\",\n      \"ol are\",\n      \"ola re\",\n      \"olar e\",\n      \"rp c\",\n      \"r pc\",\n      \"▁t ens\",\n      \"▁te ns\",\n      \"▁ten s\",\n      \"en as\",\n      \"ena s\",\n      \"e nas\",\n      \"▁Re ally\",\n      \"▁Real ly\",\n      \"H I\",\n      \"port al\",\n      \"por tal\",\n      \"▁for me\",\n      \"▁form e\",\n      \"gan g\",\n      \"ga ng\",\n      \"g ang\",\n      \"▁l ane\",\n      \"▁la ne\",\n      \"▁lan e\",\n      \"▁ lane\",\n      \"▁s tag\",\n      \"▁st ag\",\n      \"▁sta g\",\n      \"▁Mar x\",\n      \"▁Ma rx\",\n      \"▁L LC\",\n      \"▁LL C\",\n      \"▁d are\",\n      \"▁da re\",\n      \"▁dar e\",\n      \"▁Olymp ic\",\n      \"▁p ant\",\n      \"▁pan t\",\n      \"▁pa nt\",\n      \"build ing\",\n      \"; ;\",\n      \"▁c ops\",\n      \"▁co ps\",\n      \"▁cop s\",\n      \"▁r ushed\",\n      \"▁rush ed\",\n      \"▁rus hed\",\n      \"▁L ot\",\n      \"▁Lo t\",\n      \"▁init iative\",\n      \"▁initi ative\",\n      \"▁inv ite\",\n      \"▁Saf ety\",\n      \"▁Safe ty\",\n      \"FA ILED\",\n      \"FAIL ED\",\n      \"▁habit ants\",\n      \"en sen\",\n      \"ens en\",\n      \"ense n\",\n      \"▁l ég\",\n      \"▁W elcome\",\n      \"▁Wel come\",\n      \"Valid ate\",\n      \"▁qu atre\",\n      \"▁G ray\",\n      \"▁Gr ay\",\n      \"▁Gra y\",\n      \"▁E ve\",\n      \"▁Ev e\",\n      \"▁C omb\",\n      \"▁Com b\",\n      \"▁Co mb\",\n      \"▁ Comb\",\n      \"▁p endant\",\n      \"a qu\",\n      \"con figure\",\n      \"config ure\",\n      \"▁A dm\",\n      \"▁Ad m\",\n      \"▁rif le\",\n      \"▁Exper ience\",\n      \"Decl aration\",\n      \"▁å r\",\n      \"▁ år\",\n      \"ill ery\",\n      \"ille ry\",\n      \"iller y\",\n      \"os pel\",\n      \"osp el\",\n      \"▁A rena\",\n      \"▁Ar ena\",\n      \"▁Are na\",\n      \"▁bo ards\",\n      \"▁board s\",\n      \"▁ boards\",\n      \"▁pur ple\",\n      \"▁p ills\",\n      \"▁pil ls\",\n      \"▁pill s\",\n      \"ueto oth\",\n      \"li que\",\n      \"l ique\",\n      \"▁pop ulations\",\n      \"▁population s\",\n      \"▁popul ations\",\n      \"▁acc ent\",\n      \"▁ac cent\",\n      \"▁r anges\",\n      \"▁range s\",\n      \"▁ran ges\",\n      \"▁rang es\",\n      \"▁Anal ysis\",\n      \"▁ Analysis\",\n      \"▁d ictionary\",\n      \"▁Dr agon\",\n      \"▁Drag on\",\n      \"re ction\",\n      \"rect ion\",\n      \"r ection\",\n      \"▁vis itor\",\n      \"▁visit or\",\n      \"seg ment\",\n      \"▁д р\",\n      \"▁F uck\",\n      \"▁Fu ck\",\n      \"д ж\",\n      \"▁ident ification\",\n      \"Class Name\",\n      \"boot strap\",\n      \"▁sur faces\",\n      \"▁surface s\",\n      \"▁surf aces\",\n      \"▁scream ing\",\n      \"кт у\",\n      \"к ту\",\n      \"pl ain\",\n      \"sh adow\",\n      \"incl udes\",\n      \"include s\",\n      \"▁j azz\",\n      \"▁ja zz\",\n      \"▁á l\",\n      \"▁ ál\",\n      \"ri ka\",\n      \"rik a\",\n      \"r ika\",\n      \"ho p\",\n      \"h op\",\n      \"▁i on\",\n      \"▁io n\",\n      \"▁ ion\",\n      \"vr e\",\n      \"v re\",\n      \"▁newsp apers\",\n      \"▁newspaper s\",\n      \"▁i hn\",\n      \"▁ih n\",\n      \"▁P arse\",\n      \"▁Par se\",\n      \"▁Pars e\",\n      \"▁ Parse\",\n      \"П о\",\n      \"▁strict ly\",\n      \"▁re covered\",\n      \"▁recover ed\",\n      \"▁U na\",\n      \"▁Un a\",\n      \"▁err e\",\n      \"▁er re\",\n      \"▁ erre\",\n      \"iss ues\",\n      \"issue s\",\n      \"▁exp ense\",\n      \"че ния\",\n      \"▁do nc\",\n      \"▁don c\",\n      \"Bi n\",\n      \"B in\",\n      \"▁Com ment\",\n      \"▁Comm ent\",\n      \"▁ Comment\",\n      \"▁sac rifice\",\n      \"▁sacrific e\",\n      \"T uple\",\n      \"() [\",\n      \"( )[\",\n      \"▁tra vers\",\n      \"▁trav ers\",\n      \"Im p\",\n      \"I mp\",\n      \"J e\",\n      \"▁Lin ux\",\n      \"▁е ё\",\n      \"▁P i\",\n      \"▁ Pi\",\n      \"▁cur ios\",\n      \"▁cu rios\",\n      \"▁r age\",\n      \"▁rag e\",\n      \"▁ra ge\",\n      \"▁ rage\",\n      \"▁e scal\",\n      \"▁es cal\",\n      \"▁esc al\",\n      \"▁al ignment\",\n      \"▁align ment\",\n      \"▁pent ru\",\n      \"▁cur r\",\n      \"▁cu rr\",\n      \"▁ curr\",\n      \"▁b este\",\n      \"▁be ste\",\n      \"▁best e\",\n      \"▁bes te\",\n      \"[] ,\",\n      \"[ ],\",\n      \"▁// !\",\n      \"H ub\",\n      \"Vis ibility\",\n      \"▁A sk\",\n      \"▁As k\",\n      \"ab ul\",\n      \"a bul\",\n      \"co lon\",\n      \"col on\",\n      \"colo n\",\n      \"▁D ays\",\n      \"▁Day s\",\n      \"▁Da ys\",\n      \"Aut hentication\",\n      \"ві т\",\n      \"▁l od\",\n      \"▁lo d\",\n      \"xF C\",\n      \"x FC\",\n      \"Look up\",\n      \"js ce\",\n      \"Al pha\",\n      \"▁harm ony\",\n      \"▁harmon y\",\n      \"▁W ard\",\n      \"▁War d\",\n      \"▁Wa rd\",\n      \"trans fer\",\n      \"▁H orn\",\n      \"▁Hor n\",\n      \"▁Ho rn\",\n      \"▁s d\",\n      \"▁ sd\",\n      \"so ap\",\n      \"▁z ich\",\n      \"▁Con sole\",\n      \"▁Cons ole\",\n      \"▁ Console\",\n      \"▁ко ли\",\n      \"▁Ph one\",\n      \"▁ Phone\",\n      \"pa per\",\n      \"p aper\",\n      \"й н\",\n      \"▁z m\",\n      \"▁ zm\",\n      \"Do ne\",\n      \"Don e\",\n      \"D one\",\n      \"ph ase\",\n      \"pha se\",\n      \"phas e\",\n      \"▁Jul ia\",\n      \"▁Ju lia\",\n      \"▁Juli a\",\n      \"▁ed ited\",\n      \"▁edit ed\",\n      \"af fe\",\n      \"aff e\",\n      \"Sy ntax\",\n      \"yl l\",\n      \"y ll\",\n      \"▁Lu cas\",\n      \"▁Luc as\",\n      \"▁and eren\",\n      \"▁andere n\",\n      \"▁ander en\",\n      \"[ <\",\n      \"▁Data base\",\n      \"▁Dat abase\",\n      \"▁ Database\",\n      \"▁spect ral\",\n      \"▁spectra l\",\n      \"ass ador\",\n      \"ска та\",\n      \"с ката\",\n      \"▁import ante\",\n      \"▁important e\",\n      \"▁х а\",\n      \"▁ ха\",\n      \"t z\",\n      \"▁s tere\",\n      \"▁st ere\",\n      \"▁ste re\",\n      \"▁ster e\",\n      \"▁m elt\",\n      \"▁me lt\",\n      \"▁mel t\",\n      \"▁C row\",\n      \"▁Cr ow\",\n      \"▁Cro w\",\n      \"ш ка\",\n      \"it utes\",\n      \"itut es\",\n      \"itute s\",\n      \"itu tes\",\n      \"▁satisf ies\",\n      \"▁L iga\",\n      \"▁Li ga\",\n      \"▁t omb\",\n      \"▁to mb\",\n      \"▁tom b\",\n      \"▁f ühr\",\n      \"▁ führ\",\n      \"▁sol ely\",\n      \"▁sole ly\",\n      \"▁E ither\",\n      \"▁t ennis\",\n      \"▁ten nis\",\n      \"▁s igh\",\n      \"▁si gh\",\n      \"▁sig h\",\n      \"ser de\",\n      \"s erde\",\n      \"ub a\",\n      \"u ba\",\n      \"ę d\",\n      \"le z\",\n      \"l ez\",\n      \"Fac t\",\n      \"F act\",\n      \"▁sque ez\",\n      \"▁Thom pson\",\n      \"▁N L\",\n      \"▁ NL\",\n      \"▁P ara\",\n      \"▁Par a\",\n      \"▁Pa ra\",\n      \"▁? ?\",\n      \"▁ ??\",\n      \"▁fin ishing\",\n      \"▁finish ing\",\n      \"She et\",\n      \"S heet\",\n      \"LIN K\",\n      \"L INK\",\n      \"▁б ро\",\n      \"▁ бро\",\n      \"▁l over\",\n      \"▁lo ver\",\n      \"▁love r\",\n      \"▁lov er\",\n      \"m achine\",\n      \"▁L esser\",\n      \"▁Les ser\",\n      \"▁Less er\",\n      \"pon d\",\n      \"po nd\",\n      \"p ond\",\n      \"▁pain tings\",\n      \"▁paint ings\",\n      \"▁painting s\",\n      \"▁assum ptions\",\n      \"▁assumption s\",\n      \"▁mod ification\",\n      \"fr e\",\n      \"f re\",\n      \"▁U lt\",\n      \"▁Ul t\",\n      \"▁A F\",\n      \"▁ AF\",\n      \"R V\",\n      \"bin ding\",\n      \"bind ing\",\n      \"b inding\",\n      \"▁toile t\",\n      \"ra r\",\n      \"r ar\",\n      \"▁an ge\",\n      \"▁ang e\",\n      \"▁ ange\",\n      \"▁she ep\",\n      \"PRO TO\",\n      \"act ic\",\n      \"a ctic\",\n      \"▁S peed\",\n      \"▁Sp eed\",\n      \"▁Spe ed\",\n      \"▁ Speed\",\n      \"▁I ce\",\n      \"gn u\",\n      \"g nu\",\n      \"ow ned\",\n      \"own ed\",\n      \"Sub scription\",\n      \"yr ics\",\n      \"y rics\",\n      \"▁back ward\",\n      \">\\\" .\",\n      \"> \\\".\",\n      \"pi t\",\n      \"p it\",\n      \"▁real istic\",\n      \"öff ent\",\n      \"az i\",\n      \"a zi\",\n      \"DE R\",\n      \"D ER\",\n      \"b ucket\",\n      \"én y\",\n      \"é ny\",\n      \"xF E\",\n      \"x FE\",\n      \"▁f ancy\",\n      \"▁fan cy\",\n      \"ex cept\",\n      \"▁S ul\",\n      \"▁Su l\",\n      \"▁l aser\",\n      \"▁la ser\",\n      \"▁las er\",\n      \"Mon itor\",\n      \"▁c omic\",\n      \"▁com ic\",\n      \"▁co mic\",\n      \"▁Arch itect\",\n      \"▁ex pr\",\n      \"▁exp r\",\n      \"▁ expr\",\n      \"ount ers\",\n      \"oun ters\",\n      \"ounter s\",\n      \"▁Mel bourne\",\n      \"com plex\",\n      \"comp lex\",\n      \"'. $\",\n      \"' .$\",\n      \"om ot\",\n      \"omo t\",\n      \"o mot\",\n      \"▁M enu\",\n      \"▁Me nu\",\n      \"▁Men u\",\n      \"▁ Menu\",\n      \"astic search\",\n      \"▁ed iting\",\n      \"▁edit ing\",\n      \"Pre sent\",\n      \"Pres ent\",\n      \"P resent\",\n      \"op les\",\n      \"ople s\",\n      \"opl es\",\n      \"o ples\",\n      \"è ncia\",\n      \"▁в то\",\n      \"gl ise\",\n      \"she et\",\n      \"s heet\",\n      \"▁he lic\",\n      \"▁hel ic\",\n      \"▁str anger\",\n      \"▁strange r\",\n      \"▁strang er\",\n      \"▁ex ec\",\n      \"▁ exec\",\n      \"FE R\",\n      \"F ER\",\n      \"in ian\",\n      \"ini an\",\n      \"SET TING\",\n      \"▁M ix\",\n      \"▁Mi x\",\n      \"▁ Mix\",\n      \"▁com plain\",\n      \"▁compl ain\",\n      \"▁in crement\",\n      \"▁incre ment\",\n      \"CS S\",\n      \"C SS\",\n      \"mm a\",\n      \"m ma\",\n      \"sl ide\",\n      \"▁про тив\",\n      \"▁проти в\",\n      \"▁Lim ited\",\n      \"Con sole\",\n      \"Cons ole\",\n      \"▁eng aging\",\n      \"ul er\",\n      \"ule r\",\n      \"u ler\",\n      \"▁O ptions\",\n      \"▁Option s\",\n      \"▁Opt ions\",\n      \"▁ Options\",\n      \"▁l ens\",\n      \"▁le ns\",\n      \"▁len s\",\n      \"Ma il\",\n      \"M ail\",\n      \"▁bar rier\",\n      \"▁barr ier\",\n      \"trans port\",\n      \"▁c ups\",\n      \"▁cu ps\",\n      \"▁cup s\",\n      \"it err\",\n      \"ite rr\",\n      \"iter r\",\n      \"▁const ants\",\n      \"▁constant s\",\n      \"▁ constants\",\n      \"▁T ech\",\n      \"▁Te ch\",\n      \"iz io\",\n      \"izi o\",\n      \"сту па\",\n      \"ступ а\",\n      \"▁Sw eden\",\n      \"at hon\",\n      \"ath on\",\n      \"a thon\",\n      \"▁M agn\",\n      \"▁Mag n\",\n      \"▁Ma gn\",\n      \"trans ition\",\n      \"де ла\",\n      \"es k\",\n      \"e sk\",\n      \"So ft\",\n      \"S oft\",\n      \"fun ctions\",\n      \"function s\",\n      \"ne a\",\n      \"n ea\",\n      \"Im plement\",\n      \"Impl ement\",\n      \"Imp lement\",\n      \"ev ery\",\n      \"ever y\",\n      \"eve ry\",\n      \"e very\",\n      \"▁Man ufact\",\n      \"▁improve ments\",\n      \"▁improvement s\",\n      \"▁Ind iana\",\n      \"▁India na\",\n      \"▁Indian a\",\n      \"▁host s\",\n      \"▁ho sts\",\n      \"C V\",\n      \"We st\",\n      \"W est\",\n      \"to wn\",\n      \"t own\",\n      \"can vas\",\n      \"▁ш ко\",\n      \"▁Col umn\",\n      \"▁ Column\",\n      \"▁Par ker\",\n      \"▁Park er\",\n      \"▁es pa\",\n      \"▁esp a\",\n      \"▁Pub lish\",\n      \"▁которы й\",\n      \"av is\",\n      \"avi s\",\n      \"a vis\",\n      \"▁Z w\",\n      \"▁emphas is\",\n      \"ol v\",\n      \"o lv\",\n      \"▁re curs\",\n      \"▁rec urs\",\n      \"▁recur s\",\n      \"it aire\",\n      \"ita ire\",\n      \"▁B ishop\",\n      \"▁Bi shop\",\n      \"▁Bis hop\",\n      \"ne ro\",\n      \"ner o\",\n      \"n ero\",\n      \"▁d eny\",\n      \"▁de ny\",\n      \"▁den y\",\n      \"▁do ub\",\n      \"▁dou b\",\n      \"peon ato\",\n      \"▁C ourse\",\n      \"▁Cour se\",\n      \"▁Que ens\",\n      \"▁Queen s\",\n      \"▁bl ur\",\n      \"el ed\",\n      \"ele d\",\n      \"e led\",\n      \"iz o\",\n      \"i zo\",\n      \"▁dé but\",\n      \"▁Mod ule\",\n      \"▁Mo dule\",\n      \"▁ Module\",\n      \"▁anx ious\",\n      \"▁st are\",\n      \"▁star e\",\n      \"▁sta re\",\n      \"▁Pro position\",\n      \"▁K u\",\n      \"▁i c\",\n      \"▁ ic\",\n      \"Per cent\",\n      \"Qu ant\",\n      \"▁И сто\",\n      \"▁h ex\",\n      \"▁he x\",\n      \"▁ hex\",\n      \"ass oci\",\n      \"asso ci\",\n      \"▁arrang ement\",\n      \"▁arrange ment\",\n      \"▁bo ats\",\n      \"▁boat s\",\n      \"Un d\",\n      \"U nd\",\n      \"▁sl ots\",\n      \"▁slot s\",\n      \"се н\",\n      \"с ен\",\n      \"necess ary\",\n      \"▁app earing\",\n      \"▁appe aring\",\n      \"▁appear ing\",\n      \"▁R ule\",\n      \"▁Ru le\",\n      \"▁ Rule\",\n      \"▁G T\",\n      \"▁ GT\",\n      \"For ce\",\n      \"et to\",\n      \"ett o\",\n      \"e tto\",\n      \"ze nia\",\n      \"zen ia\",\n      \"▁o uts\",\n      \"▁out s\",\n      \"▁ou ts\",\n      \"▁ outs\",\n      \"▁vari ations\",\n      \"▁variation s\",\n      \"▁wh ites\",\n      \"▁white s\",\n      \"▁g lo\",\n      \"▁gl o\",\n      \"▁B R\",\n      \"▁ BR\",\n      \"ic ky\",\n      \"ick y\",\n      \"▁j ury\",\n      \"▁ju ry\",\n      \"▁jur y\",\n      \"▁treat ments\",\n      \"▁treatment s\",\n      \"▁The ater\",\n      \"kn ow\",\n      \"k now\",\n      \"▁pro files\",\n      \"▁prof iles\",\n      \"▁profile s\",\n      \"▁con spir\",\n      \"▁class room\",\n      \"▁B ass\",\n      \"▁Bas s\",\n      \"▁Ba ss\",\n      \"▁law yers\",\n      \"▁lawyer s\",\n      \"v ue\",\n      \"▁A rc\",\n      \"▁Ar c\",\n      \"▁ Arc\",\n      \"▁s la\",\n      \"▁sl a\",\n      \"▁att ending\",\n      \"▁attend ing\",\n      \"n x\",\n      \"m x\",\n      \"TO P\",\n      \"T OP\",\n      \"▁b ored\",\n      \"▁bo red\",\n      \"▁bore d\",\n      \"▁bor ed\",\n      \"pre vious\",\n      \"prev ious\",\n      \"r w\",\n      \"pt ic\",\n      \"љ у\",\n      \"▁app ar\",\n      \"▁ap par\",\n      \"▁P ont\",\n      \"▁Po nt\",\n      \": _\",\n      \"ii i\",\n      \"i ii\",\n      \"▁j erk\",\n      \"▁jer k\",\n      \"hed ral\",\n      \"сс а\",\n      \"с са\",\n      \"▁Pr ize\",\n      \"▁Pri ze\",\n      \"▁Р и\",\n      \"б ре\",\n      \"▁hand les\",\n      \"▁handle s\",\n      \"▁j ak\",\n      \"▁ja k\",\n      \"▁Afghan istan\",\n      \"▁b oring\",\n      \"▁bo ring\",\n      \"▁bor ing\",\n      \"if ik\",\n      \"ifi k\",\n      \"▁sh ade\",\n      \"▁sha de\",\n      \"air o\",\n      \"ai ro\",\n      \"a iro\",\n      \"od ay\",\n      \"oda y\",\n      \"o day\",\n      \"▁pl ates\",\n      \"▁plate s\",\n      \"▁plat es\",\n      \"▁Championship s\",\n      \"▁Champion ships\",\n      \"▁che eks\",\n      \"▁cheek s\",\n      \"ri ke\",\n      \"rik e\",\n      \"r ike\",\n      \"▁kön nen\",\n      \"▁app le\",\n      \"▁ap ple\",\n      \"▁appl e\",\n      \"▁ apple\",\n      \"▁Ed die\",\n      \"▁Edd ie\",\n      \"▁s od\",\n      \"▁so d\",\n      \"▁tr ains\",\n      \"▁tra ins\",\n      \"▁train s\",\n      \"pan ic\",\n      \"pa nic\",\n      \"▁Ad vent\",\n      \"▁Adv ent\",\n      \"ub re\",\n      \"u bre\",\n      \"▁d å\",\n      \"▁S ymbol\",\n      \"▁Sym bol\",\n      \"▁ Symbol\",\n      \"▁с те\",\n      \"▁ст е\",\n      \"▁ сте\",\n      \"Sa m\",\n      \"S am\",\n      \"inher it\",\n      \"cam era\",\n      \"▁c ours\",\n      \"▁co urs\",\n      \"▁cour s\",\n      \"▁cou rs\",\n      \"▁make up\",\n      \"re gex\",\n      \"reg ex\",\n      \"▁U E\",\n      \"▁ UE\",\n      \"▁Det roit\",\n      \"▁W eight\",\n      \"▁We ight\",\n      \"▁ Weight\",\n      \"▁P iet\",\n      \"▁Pi et\",\n      \"▁a ria\",\n      \"▁ar ia\",\n      \"▁ aria\",\n      \"DI RECT\",\n      \"DIR ECT\",\n      \"ace ae\",\n      \"▁In fo\",\n      \"▁Inf o\",\n      \"▁ Info\",\n      \"an ya\",\n      \"any a\",\n      \"back end\",\n      \"▁T ennessee\",\n      \"pi cker\",\n      \"pic ker\",\n      \"pick er\",\n      \"p icker\",\n      \"▁Le o\",\n      \"▁P oss\",\n      \"▁Po ss\",\n      \"▁Pos s\",\n      \"pr ises\",\n      \"prise s\",\n      \"▁m ature\",\n      \"▁mat ure\",\n      \"сь ких\",\n      \"▁F ant\",\n      \"▁Fa nt\",\n      \"Re ason\",\n      \"▁m oy\",\n      \"▁mo y\",\n      \"▁B aker\",\n      \"▁Ba ker\",\n      \"▁Bak er\",\n      \"▁sub set\",\n      \"▁subs et\",\n      \"▁ subset\",\n      \"▁Stan ley\",\n      \"▁el even\",\n      \"▁ele ven\",\n      \"▁elev en\",\n      \"ol ate\",\n      \"ola te\",\n      \"o late\",\n      \"▁fort une\",\n      \"Status Code\",\n      \"▁ent ities\",\n      \"▁ entities\",\n      \"▁Ok ay\",\n      \"▁ Okay\",\n      \"ц о\",\n      \"an os\",\n      \"ano s\",\n      \"a nos\",\n      \"rel ative\",\n      \"▁order ing\",\n      \"▁ord ering\",\n      \"▁No body\",\n      \"▁Nob ody\",\n      \"▁str len\",\n      \"▁ strlen\",\n      \"▁r ope\",\n      \"▁ro pe\",\n      \"▁cig arette\",\n      \"hol ds\",\n      \"hold s\",\n      \"h olds\",\n      \"ir able\",\n      \"ira ble\",\n      \"value Of\",\n      \"St ub\",\n      \"▁phot ography\",\n      \"▁photograph y\",\n      \"es tra\",\n      \"est ra\",\n      \"estr a\",\n      \"e stra\",\n      \"▁cult ures\",\n      \"▁culture s\",\n      \"▁decl aration\",\n      \"▁declar ation\",\n      \"mer cial\",\n      \"LI ED\",\n      \"au te\",\n      \"aut e\",\n      \"a ute\",\n      \"al ter\",\n      \"alt er\",\n      \"Sub mit\",\n      \"▁Mag ic\",\n      \"▁r hythm\",\n      \"Pay ment\",\n      \"ni h\",\n      \"n ih\",\n      \"▁inter section\",\n      \"l é\",\n      \"EN TRY\",\n      \"/ )\",\n      \"▁m og\",\n      \"▁mo g\",\n      \"ru st\",\n      \"rus t\",\n      \"r ust\",\n      \"▁threat s\",\n      \"▁Mil itary\",\n      \"ap or\",\n      \"a por\",\n      \"▁s igu\",\n      \"▁si gu\",\n      \"▁sig u\",\n      \"set minus\",\n      \"▁I ng\",\n      \"▁In g\",\n      \"st ation\",\n      \"stat ion\",\n      \"T ake\",\n      \"▁s hed\",\n      \"▁sh ed\",\n      \"▁she d\",\n      \"▁Fr ancia\",\n      \"▁Franc ia\",\n      \"▁Fra ncia\",\n      \"▁Fran cia\",\n      \"pos ts\",\n      \"po sts\",\n      \"post s\",\n      \"Mar ker\",\n      \"Mark er\",\n      \"Lower Case\",\n      \"▁be find\",\n      \"▁bef ind\",\n      \"▁C zech\",\n      \"▁Cz ech\",\n      \"ícul a\",\n      \"▁Per formance\",\n      \"▁W es\",\n      \"▁We s\",\n      \"▁L arry\",\n      \"▁Lar ry\",\n      \"▁o st\",\n      \"▁os t\",\n      \"▁ ost\",\n      \"▁em ails\",\n      \"▁email s\",\n      \"▁Re lease\",\n      \"▁ Release\",\n      \"▁ad apter\",\n      \"▁adapt er\",\n      \"▁ adapter\",\n      \"▁pad re\",\n      \"ac io\",\n      \"aci o\",\n      \"a cio\",\n      \"▁з ем\",\n      \"▁gen etic\",\n      \"▁ge netic\",\n      \"▁U nd\",\n      \"▁Un d\",\n      \"▁ Und\",\n      \"▁accept ance\",\n      \"да н\",\n      \"д ан\",\n      \"▁Girl s\",\n      \"▁Gir ls\",\n      \"comp iler\",\n      \"compile r\",\n      \"su n\",\n      \"s un\",\n      \"▁whe els\",\n      \"▁wheel s\",\n      \"▁thorough ly\",\n      \"gr und\",\n      \"gru nd\",\n      \"g rund\",\n      \"un ction\",\n      \"unct ion\",\n      \"▁e lla\",\n      \"▁el la\",\n      \"▁ell a\",\n      \"▁ ella\",\n      \"X FF\",\n      \"ug s\",\n      \"u gs\",\n      \"ient os\",\n      \"ien tos\",\n      \"iento s\",\n      \"▁D M\",\n      \"▁ DM\",\n      \"▁polit ique\",\n      \"▁campaign s\",\n      \"▁Tok yo\",\n      \"▁album s\",\n      \"KERN EL\",\n      \"pd ata\",\n      \"p data\",\n      \"▁lap top\",\n      \"▁lapt op\",\n      \"▁v ál\",\n      \"▁vá l\",\n      \"▁f ou\",\n      \"▁fo u\",\n      \"or b\",\n      \"o rb\",\n      \"▁T ower\",\n      \"▁To wer\",\n      \"▁Tow er\",\n      \"▁Get ting\",\n      \"▁cor ners\",\n      \"▁corner s\",\n      \"▁corn ers\",\n      \"pl ess\",\n      \"ple ss\",\n      \"ples s\",\n      \"p less\",\n      \"▁special ist\",\n      \"▁i v\",\n      \"▁ iv\",\n      \"Ui nt\",\n      \"U int\",\n      \"▁name ly\",\n      \"▁nam ely\",\n      \"▁sc aling\",\n      \"▁scal ing\",\n      \"Ext ensions\",\n      \"Extension s\",\n      \"▁cent ro\",\n      \"omorph ism\",\n      \"▁dé f\",\n      \"), \\\\\",\n      \") ,\\\\\",\n      \"▁contr ary\",\n      \"▁contra ry\",\n      \"▁str iking\",\n      \"▁stri king\",\n      \"▁B ere\",\n      \"▁Be re\",\n      \"▁Ber e\",\n      \"▁fore cast\",\n      \"▁z ones\",\n      \"▁zone s\",\n      \"▁zo nes\",\n      \"sm art\",\n      \"s mart\",\n      \"as hi\",\n      \"ash i\",\n      \"ri n\",\n      \"r in\",\n      \"NE W\",\n      \"▁sim ulations\",\n      \"▁simulation s\",\n      \"▁R ather\",\n      \"▁Ra ther\",\n      \"▁Rat her\",\n      \"▁Writ ing\",\n      \"▁Wr iting\",\n      \"▁$ [\",\n      \"▁as sh\",\n      \"▁ass h\",\n      \"▁f ailing\",\n      \"▁fa iling\",\n      \"▁fail ing\",\n      \"▁man if\",\n      \"▁B og\",\n      \"▁Bo g\",\n      \"▁D ir\",\n      \"▁Di r\",\n      \"▁ Dir\",\n      \"▁influ enced\",\n      \"▁influence d\",\n      \"conf irm\",\n      \"▁we igh\",\n      \"▁in ventory\",\n      \"▁invent ory\",\n      \"▁a pare\",\n      \"▁ap are\",\n      \"▁e u\",\n      \"▁ eu\",\n      \"char acter\",\n      \"io m\",\n      \"i om\",\n      \"▁o rb\",\n      \"▁or b\",\n      \"▁ orb\",\n      \"dev ices\",\n      \"device s\",\n      \"▁L ED\",\n      \"▁LE D\",\n      \"▁ LED\",\n      \"▁prop ortion\",\n      \"▁proport ion\",\n      \"▁Hon or\",\n      \"▁Ho nor\",\n      \"▁appro aching\",\n      \"▁approach ing\",\n      \"de leg\",\n      \"del eg\",\n      \"▁B B\",\n      \"▁ BB\",\n      \"hel pers\",\n      \"help ers\",\n      \"helper s\",\n      \"re pository\",\n      \"rep ository\",\n      \"▁б ере\",\n      \"▁бе ре\",\n      \"▁inhab it\",\n      \"▁s ão\",\n      \"▁travel ed\",\n      \"▁trav eled\",\n      \"ne x\",\n      \"n ex\",\n      \"▁C lin\",\n      \"▁Cl in\",\n      \"CE PT\",\n      \"▁off ense\",\n      \"▁in cent\",\n      \"▁inc ent\",\n      \"ID S\",\n      \"I DS\",\n      \"▁coeff icients\",\n      \"▁coefficient s\",\n      \"▁l p\",\n      \"▁ lp\",\n      \"чно го\",\n      \"ч ного\",\n      \"▁c d\",\n      \"▁ cd\",\n      \"mu st\",\n      \"mus t\",\n      \"m ust\",\n      \"▁soon er\",\n      \"ez e\",\n      \"e ze\",\n      \"C at\",\n      \"ma ker\",\n      \"make r\",\n      \"m aker\",\n      \"▁r anked\",\n      \"▁ran ked\",\n      \"▁rank ed\",\n      \"ful ness\",\n      \"▁part ially\",\n      \"▁partial ly\",\n      \"▁parti ally\",\n      \"Pro m\",\n      \"Pr om\",\n      \"P rom\",\n      \"▁ф он\",\n      \"▁фо н\",\n      \"▁Pro bably\",\n      \"▁c ached\",\n      \"▁cache d\",\n      \"▁ca ched\",\n      \"▁ cached\",\n      \"▁bal anced\",\n      \"▁balance d\",\n      \"ah oma\",\n      \"aho ma\",\n      \"▁Mur ray\",\n      \"▁a li\",\n      \"▁al i\",\n      \"▁ ali\",\n      \"iv os\",\n      \"ivo s\",\n      \"▁b ark\",\n      \"▁bar k\",\n      \"IT EM\",\n      \"ITE M\",\n      \"▁Kir che\",\n      \"▁alloc ated\",\n      \"▁allocate d\",\n      \"Al t\",\n      \"A lt\",\n      \"▁am éric\",\n      \"íl ia\",\n      \"í lia\",\n      \"▁c ens\",\n      \"▁ce ns\",\n      \"▁lic enses\",\n      \"▁license s\",\n      \"▁ licenses\",\n      \"ac z\",\n      \"a cz\",\n      \"▁G ate\",\n      \"▁Ga te\",\n      \"▁ Gate\",\n      \"▁B L\",\n      \"▁ BL\",\n      \"▁re public\",\n      \"▁rep ublic\",\n      \"RO W\",\n      \"▁состав ля\",\n      \"▁соста вля\",\n      \"▁Fil ip\",\n      \"▁Ind ivid\",\n      \"▁tr ials\",\n      \"▁tri als\",\n      \"▁trial s\",\n      \"/* !\",\n      \"▁G P\",\n      \"▁ GP\",\n      \"ni ka\",\n      \"nik a\",\n      \"n ika\",\n      \"▁ex em\",\n      \"▁ad vers\",\n      \"▁adv ers\",\n      \"um ped\",\n      \"ump ed\",\n      \"▁Dev ice\",\n      \"▁ Device\",\n      \"wa ke\",\n      \"w ake\",\n      \"Ex ec\",\n      \"ar ding\",\n      \"ard ing\",\n      \"ardi ng\",\n      \"▁pobl ación\",\n      \"▁k een\",\n      \"▁ke en\",\n      \"▁b itch\",\n      \"▁bit ch\",\n      \"▁embed ded\",\n      \"▁B ond\",\n      \"▁Bo nd\",\n      \"▁Bon d\",\n      \"ri des\",\n      \"ride s\",\n      \"rid es\",\n      \"r ides\",\n      \"▁W oman\",\n      \"▁Wo man\",\n      \". [\",\n      \"ér é\",\n      \"é ré\",\n      \"▁Hash Map\",\n      \"▁ HashMap\",\n      \"▁co unting\",\n      \"▁coun ting\",\n      \"▁count ing\",\n      \"▁Init ial\",\n      \"▁ Initial\",\n      \"▁ver se\",\n      \"▁vers e\",\n      \"▁ verse\",\n      \"▁Vere in\",\n      \">\\\" ,\",\n      \"> \\\",\",\n      \"▁an th\",\n      \"▁ant h\",\n      \"▁ anth\",\n      \"ci d\",\n      \"c id\",\n      \"▁h unt\",\n      \"▁hun t\",\n      \"на л\",\n      \"н ал\",\n      \"ci es\",\n      \"cie s\",\n      \"c ies\",\n      \"Pi n\",\n      \"P in\",\n      \"▁# !\",\n      \"ва я\",\n      \"sn d\",\n      \"s nd\",\n      \"▁u k\",\n      \"▁ uk\",\n      \"▁sw ift\",\n      \"▁tempor ada\",\n      \"▁environment s\",\n      \"▁environ ments\",\n      \"claim er\",\n      \"eme tery\",\n      \"emet ery\",\n      \"j är\",\n      \"▁ча ст\",\n      \"▁час т\",\n      \"Trans port\",\n      \"▁A rr\",\n      \"▁Ar r\",\n      \"▁ Arr\",\n      \"▁P aper\",\n      \"▁Pa per\",\n      \"▁Pap er\",\n      \"▁b ew\",\n      \"▁be w\",\n      \"▁ bew\",\n      \"▁har vest\",\n      \"▁- ----\",\n      \"▁-- ---\",\n      \"▁--- --\",\n      \"▁ -----\",\n      \"product s\",\n      \"ле т\",\n      \"л ет\",\n      \"ident ifier\",\n      \"RO OT\",\n      \"▁M ak\",\n      \"▁Ma k\",\n      \"▁App ro\",\n      \"▁Ap pro\",\n      \"▁ Appro\",\n      \"ie ri\",\n      \"ier i\",\n      \"i eri\",\n      \"▁F ly\",\n      \"▁Fl y\",\n      \"▁is set\",\n      \"▁iss et\",\n      \"▁ isset\",\n      \"▁determ ination\",\n      \"▁determin ation\",\n      \"Ge ometry\",\n      \"▁emer ging\",\n      \"sub scription\",\n      \"ol y\",\n      \"o ly\",\n      \"▁R ace\",\n      \"▁Ra ce\",\n      \"▁B ah\",\n      \"▁Ba h\",\n      \"▁Config uration\",\n      \"▁ Configuration\",\n      \"▁Inter est\",\n      \"ско в\",\n      \"ск ов\",\n      \"с ков\",\n      \"ist rz\",\n      \"istr z\",\n      \"▁S han\",\n      \"▁Sh an\",\n      \"▁Sha n\",\n      \"▁P ain\",\n      \"▁Pa in\",\n      \"CON NE\",\n      \"ma jor\",\n      \"m ajor\",\n      \"▁St ay\",\n      \"▁Sta y\",\n      \"▁bron ze\",\n      \"▁f itting\",\n      \"▁fit ting\",\n      \"▁J ar\",\n      \"▁Ja r\",\n      \"mg r\",\n      \"m gr\",\n      \"▁S har\",\n      \"▁Sh ar\",\n      \"▁Sha r\",\n      \"FL O\",\n      \"F LO\",\n      \"ut er\",\n      \"ute r\",\n      \"u ter\",\n      \"с ы\",\n      \"▁cont acts\",\n      \"▁contact s\",\n      \"▁f iring\",\n      \"▁fi ring\",\n      \"▁fir ing\",\n      \"на н\",\n      \"н ан\",\n      \"▁prof es\",\n      \"sk é\",\n      \"s ké\",\n      \"▁rule d\",\n      \"▁ru led\",\n      \"▁rul ed\",\n      \"=\\\" /\",\n      \"an dro\",\n      \"and ro\",\n      \"▁ens uring\",\n      \"iz en\",\n      \"ize n\",\n      \"i zen\",\n      \"▁че рез\",\n      \"ise cond\",\n      \"i second\",\n      \"ob il\",\n      \"obi l\",\n      \"o bil\",\n      \"▁re ck\",\n      \"▁rec k\",\n      \"▁ reck\",\n      \")} (\",\n      \") }(\",\n      \"bit map\",\n      \"▁B run\",\n      \"▁Br un\",\n      \"▁Bru n\",\n      \"▁Jer usalem\",\n      \"▁W o\",\n      \"▁Republic ans\",\n      \"▁Republican s\",\n      \"mat ic\",\n      \"m atic\",\n      \"▁E arl\",\n      \"▁d ock\",\n      \"▁do ck\",\n      \"▁doc k\",\n      \"▁M all\",\n      \"▁Mal l\",\n      \"▁Ma ll\",\n      \"k k\",\n      \"▁ Й\",\n      \"▁C OL\",\n      \"▁CO L\",\n      \"▁ COL\",\n      \"▁lat ach\",\n      \"UI nt\",\n      \"U Int\",\n      \"ци ональ\",\n      \"цион аль\",\n      \"циона ль\",\n      \"▁seg ments\",\n      \"▁segment s\",\n      \"▁re fund\",\n      \"▁ref und\",\n      \"fa c\",\n      \"f ac\",\n      \"▁Art icle\",\n      \"▁B orn\",\n      \"▁Bo rn\",\n      \"▁Bor n\",\n      \"² .\",\n      \"br and\",\n      \"bra nd\",\n      \"b rand\",\n      \"{$ \\\\\",\n      \"{ $\\\\\",\n      \"▁s s\",\n      \"▁ ss\",\n      \"▁Re sources\",\n      \"▁Res ources\",\n      \"▁Resource s\",\n      \"▁ Resources\",\n      \"▁re cycl\",\n      \"▁rec ycl\",\n      \"▁$ $\\\\\",\n      \"▁$$ \\\\\",\n      \"▁Conne ction\",\n      \"▁Connect ion\",\n      \"▁ Connection\",\n      \"▁imp erial\",\n      \"▁imper ial\",\n      \"▁pract ically\",\n      \"▁practical ly\",\n      \"▁– ,\",\n      \"▁Dis play\",\n      \"▁ Display\",\n      \"ier no\",\n      \"mo uth\",\n      \"m outh\",\n      \"ed es\",\n      \"ede s\",\n      \"e des\",\n      \"ba hn\",\n      \"b ahn\",\n      \"▁C atherine\",\n      \"▁high way\",\n      \"un ting\",\n      \"unt ing\",\n      \"▁Any way\",\n      \"Sp ell\",\n      \"Spe ll\",\n      \"▁L iste\",\n      \"▁List e\",\n      \"▁Li ste\",\n      \"▁Lis te\",\n      \"▁ret rieve\",\n      \"▁retr ieve\",\n      \"▁retriev e\",\n      \"▁z d\",\n      \"▁ zd\",\n      \"stra ße\",\n      \"▁dom inated\",\n      \"▁domin ated\",\n      \"to uch\",\n      \"t ouch\",\n      \"▁m b\",\n      \"▁ mb\",\n      \"LO NG\",\n      \"L ONG\",\n      \"as ures\",\n      \"asure s\",\n      \"TL S\",\n      \"T LS\",\n      \"▁accompl ished\",\n      \"▁accomp lished\",\n      \"▁accomplish ed\",\n      \"▁f ears\",\n      \"▁fe ars\",\n      \"▁fear s\",\n      \"▁seem ingly\",\n      \"▁d ag\",\n      \"▁da g\",\n      \"▁ dag\",\n      \"▁b ureau\",\n      \"▁bur eau\",\n      \"▁Gro ß\",\n      \"▁accord ance\",\n      \". ]\",\n      \"ou x\",\n      \"o ux\",\n      \"▁col onial\",\n      \"▁colon ial\",\n      \"▁compass ion\",\n      \"th umb\",\n      \"▁s wo\",\n      \"▁sw o\",\n      \"on line\",\n      \"▁J i\",\n      \"▁work shop\",\n      \"▁works hop\",\n      \"▁l ub\",\n      \"▁lu b\",\n      \"év rier\",\n      \"ш і\",\n      \">\\\" ;\",\n      \"> \\\";\",\n      \"▁gener ous\",\n      \"▁gene rous\",\n      \"ro us\",\n      \"rou s\",\n      \"r ous\",\n      \"av id\",\n      \"avi d\",\n      \"a vid\",\n      \"igen ous\",\n      \"▁R aw\",\n      \"▁Ra w\",\n      \"▁ Raw\",\n      \"▁sw ap\",\n      \"▁ swap\",\n      \"h c\",\n      \"java script\",\n      \"jav ascript\",\n      \"Fact or\",\n      \"Fac tor\",\n      \"F actor\",\n      \"▁gar bage\",\n      \"▁M icro\",\n      \"▁Mic ro\",\n      \"▁Mi cro\",\n      \"co u\",\n      \"c ou\",\n      \"ü ber\",\n      \"▁f atal\",\n      \"▁fa tal\",\n      \"▁fat al\",\n      \"▁trans parent\",\n      \"▁b earing\",\n      \"▁be aring\",\n      \"▁bear ing\",\n      \"▁celebr ated\",\n      \"▁celebrate d\",\n      \"VI S\",\n      \"V IS\",\n      \"▁B M\",\n      \"▁ BM\",\n      \"▁pr ince\",\n      \"▁prin ce\",\n      \"to l\",\n      \"t ol\",\n      \"▁' </\",\n      \"▁'< /\",\n      \"ве д\",\n      \"In to\",\n      \"Int o\",\n      \"▁conven ience\",\n      \"▁matt ress\",\n      \"▁in visible\",\n      \"▁inv isible\",\n      \"▁claim ing\",\n      \"▁Un cle\",\n      \"P ipeline\",\n      \"▁Rob inson\",\n      \"▁Robin son\",\n      \"▁not amment\",\n      \"Q t\",\n      \"▁P HP\",\n      \"▁PH P\",\n      \"▁ PHP\",\n      \"▁in k\",\n      \"▁ ink\",\n      \"te xture\",\n      \"text ure\",\n      \"▁su rf\",\n      \"▁sur f\",\n      \"▁? ></\",\n      \"▁?> </\",\n      \"▁acknow ledge\",\n      \"▁acknowled ge\",\n      \"▁l awn\",\n      \"▁la wn\",\n      \"▁law n\",\n      \"▁b ases\",\n      \"▁bas es\",\n      \"▁base s\",\n      \"▁ba ses\",\n      \"▁except ional\",\n      \"▁exception al\",\n      \"▁О с\",\n      \"Wr ap\",\n      \"W rap\",\n      \"ab ei\",\n      \"abe i\",\n      \"▁App end\",\n      \"▁Ap pend\",\n      \"▁Appe nd\",\n      \"▁ Append\",\n      \"▁qu ien\",\n      \"▁qui en\",\n      \"ov é\",\n      \"o vé\",\n      \"ma re\",\n      \"mar e\",\n      \"m are\",\n      \"▁bull shit\",\n      \"▁A long\",\n      \"▁Al ong\",\n      \"▁drag ged\",\n      \"ab et\",\n      \"abe t\",\n      \"a bet\",\n      \"▁Enter tainment\",\n      \"▁B ert\",\n      \"▁Be rt\",\n      \"▁Ber t\",\n      \"▁J O\",\n      \"▁ JO\",\n      \"▁А лександ\",\n      \"▁c yl\",\n      \"▁cy l\",\n      \"uz ione\",\n      \"u zione\",\n      \"▁K aren\",\n      \"▁Kar en\",\n      \"▁Ka ren\",\n      \"sem bled\",\n      \"semb led\",\n      \"semble d\",\n      \"sembl ed\",\n      \"▁d ose\",\n      \"▁do se\",\n      \"▁dos e\",\n      \"▁suggest ing\",\n      \"▁- -(\",\n      \"▁-- (\",\n      \"▁C lar\",\n      \"▁Cl ar\",\n      \"im ir\",\n      \"imi r\",\n      \"i mir\",\n      \"▁pl ac\",\n      \"▁ plac\",\n      \"token s\",\n      \"tok ens\",\n      \"▁arrang ements\",\n      \"▁arrangement s\",\n      \"▁arrange ments\",\n      \"All ow\",\n      \"Al low\",\n      \"Ill uminate\",\n      \"NO N\",\n      \"N ON\",\n      \"we ar\",\n      \"w ear\",\n      \"ci do\",\n      \"cid o\",\n      \"c ido\",\n      \"my sql\",\n      \"mys ql\",\n      \"al ion\",\n      \"ali on\",\n      \"▁' ')\",\n      \"▁'' )\",\n      \"▁a th\",\n      \"▁at h\",\n      \"▁ ath\",\n      \"▁b g\",\n      \"▁ bg\",\n      \"id le\",\n      \"яв и\",\n      \"я ви\",\n      \"▁d l\",\n      \"▁ dl\",\n      \"ci n\",\n      \"c in\",\n      \"▁I E\",\n      \"▁ IE\",\n      \"▁т ем\",\n      \"▁те м\",\n      \"▁ тем\",\n      \"li sten\",\n      \"list en\",\n      \"l isten\",\n      \"▁H ud\",\n      \"▁Hu d\",\n      \"▁en ts\",\n      \"▁ent s\",\n      \"▁ ents\",\n      \"▁v é\",\n      \"▁ vé\",\n      \"ell schaft\",\n      \"ells chaft\",\n      \"▁f ucked\",\n      \"▁fuck ed\",\n      \"ol ine\",\n      \"oli ne\",\n      \"olin e\",\n      \"o line\",\n      \"▁repeated ly\",\n      \"▁repeat edly\",\n      \"▁C ry\",\n      \"▁Cr y\",\n      \"LE MENT\",\n      \"▁he ating\",\n      \"▁heat ing\",\n      \"▁St even\",\n      \"▁Ste ven\",\n      \"▁Steve n\",\n      \"▁N A\",\n      \"▁ NA\",\n      \"ENO MEM\",\n      \"▁B U\",\n      \"▁ BU\",\n      \"▁Mary land\",\n      \"т но\",\n      \"▁\\\" )\",\n      \"▁ \\\")\",\n      \"то к\",\n      \"ho le\",\n      \"hol e\",\n      \"h ole\",\n      \"COL OR\",\n      \"du p\",\n      \"d up\",\n      \"▁N y\",\n      \"sp ot\",\n      \"s pot\",\n      \"Stack Trace\",\n      \"▁D ow\",\n      \"▁Do w\",\n      \"pu s\",\n      \"p us\",\n      \"▁m odo\",\n      \"▁mod o\",\n      \"▁mo do\",\n      \"▁t anks\",\n      \"▁tank s\",\n      \"▁tan ks\",\n      \"Ex ample\",\n      \"▁Int el\",\n      \"▁Th row\",\n      \"▁ Throw\",\n      \"▁el ite\",\n      \"▁target ed\",\n      \"▁l ou\",\n      \"▁lo u\",\n      \"▁New ton\",\n      \"▁IMP LIED\",\n      \"▁d ried\",\n      \"▁dr ied\",\n      \"▁dri ed\",\n      \"▁fi xture\",\n      \"▁prof its\",\n      \"▁profit s\",\n      \"F ac\",\n      \"▁dis par\",\n      \"▁disp ar\",\n      \"▁inter vention\",\n      \"▁function ality\",\n      \"▁functional ity\",\n      \"▁Act ually\",\n      \"ter e\",\n      \"te re\",\n      \"t ere\",\n      \"▁пе рио\",\n      \"bo rg\",\n      \"bor g\",\n      \"b org\",\n      \"▁w rist\",\n      \"▁wr ist\",\n      \"▁s ta\",\n      \"▁st a\",\n      \"▁ sta\",\n      \"get Attribute\",\n      \"sa n\",\n      \"s an\",\n      \"ac ions\",\n      \"aci ons\",\n      \"acion s\",\n      \"acio ns\",\n      \"▁\\\" :\",\n      \"▁ \\\":\",\n      \"Ad v\",\n      \"A dv\",\n      \"▁gu erre\",\n      \"▁nov els\",\n      \"▁novel s\",\n      \"▁nove ls\",\n      \"ди я\",\n      \"▁sn apshot\",\n      \"▁snap shot\",\n      \"▁ snapshot\",\n      \"▁го судар\",\n      \"▁tri umph\",\n      \"ch iat\",\n      \"chi at\",\n      \"▁R ES\",\n      \"▁RE S\",\n      \"▁ RES\",\n      \"IN PUT\",\n      \"▁sc oring\",\n      \"▁ab sent\",\n      \"▁abs ent\",\n      \"▁Z one\",\n      \"▁ Zone\",\n      \"▁repl acing\",\n      \"EN C\",\n      \"E NC\",\n      \"▁S id\",\n      \"▁Si d\",\n      \"ne ath\",\n      \"nea th\",\n      \"mult ip\",\n      \"multi p\",\n      \"mul tip\",\n      \"▁em brace\",\n      \"▁embr ace\",\n      \"▁o verse\",\n      \"▁over se\",\n      \"▁overs e\",\n      \"▁car rier\",\n      \"ar ono\",\n      \"aron o\",\n      \"aro no\",\n      \"ce ry\",\n      \"cer y\",\n      \"c ery\",\n      \"il or\",\n      \"ilo r\",\n      \"i lor\",\n      \"▁p oco\",\n      \"▁po co\",\n      \"▁poc o\",\n      \"▁D in\",\n      \"▁Di n\",\n      \"▁che aper\",\n      \"▁cheap er\",\n      \"▁soph istic\",\n      \"ter a\",\n      \"te ra\",\n      \"t era\",\n      \"▁Pol ish\",\n      \"▁Po lish\",\n      \"▁n ah\",\n      \"▁na h\",\n      \"▁ nah\",\n      \"▁var ied\",\n      \"▁vari ed\",\n      \"▁va ried\",\n      \"ro tt\",\n      \"rot t\",\n      \"r ott\",\n      \"dest ination\",\n      \"▁f reak\",\n      \"▁fre ak\",\n      \"LE S\",\n      \"L ES\",\n      \"AL E\",\n      \"A LE\",\n      \"▁e urope\",\n      \"▁europ e\",\n      \"▁b ust\",\n      \"▁bu st\",\n      \"▁bus t\",\n      \"▁Al abama\",\n      \"nt en\",\n      \"nte n\",\n      \"n ten\",\n      \"um en\",\n      \"ume n\",\n      \"u men\",\n      \"▁ne uro\",\n      \"▁neu ro\",\n      \"▁neur o\",\n      \"▁def initions\",\n      \"▁definit ions\",\n      \"▁definition s\",\n      \"▁defin itions\",\n      \"▁Bo ys\",\n      \"▁Boy s\",\n      \"▁for ming\",\n      \"▁form ing\",\n      \"▁ forming\",\n      \"io let\",\n      \"▁Neder land\",\n      \"▁Mus ik\",\n      \"Pay load\",\n      \"bid den\",\n      \"b idden\",\n      \"▁cl asse\",\n      \"▁class e\",\n      \"▁clas se\",\n      \"Hash Map\",\n      \"▁bott les\",\n      \"▁bottle s\",\n      \"he ld\",\n      \"hel d\",\n      \"h eld\",\n      \"▁C ell\",\n      \"▁Ce ll\",\n      \"▁Cel l\",\n      \"▁ Cell\",\n      \"▁Ed ition\",\n      \"▁Edit ion\",\n      \"den ly\",\n      \"): \\r\",\n      \") :\\r\",\n      \"go s\",\n      \"g os\",\n      \"▁tit re\",\n      \"▁ti tre\",\n      \"▁straight forward\",\n      \"li v\",\n      \"l iv\",\n      \"as ets\",\n      \"ase ts\",\n      \"aset s\",\n      \"a sets\",\n      \"▁op ponent\",\n      \"▁oppon ent\",\n      \"▁gener ating\",\n      \"▁gene rating\",\n      \"ul u\",\n      \"u lu\",\n      \"▁pat ron\",\n      \"▁Ro dr\",\n      \"▁Rod r\",\n      \"pro be\",\n      \"pr obe\",\n      \"prob e\",\n      \"p robe\",\n      \"▁Even ts\",\n      \"▁Ev ents\",\n      \"▁Event s\",\n      \"▁ Events\",\n      \"id entity\",\n      \"ident ity\",\n      \"▁z o\",\n      \"▁ zo\",\n      \"▁F at\",\n      \"▁Fa t\",\n      \"▁ Fat\",\n      \"▁Hen ri\",\n      \"▁S L\",\n      \"▁ SL\",\n      \"▁By te\",\n      \"▁ Byte\",\n      \"▁citt à\",\n      \"an notations\",\n      \"annot ations\",\n      \"annotation s\",\n      \"▁In dependent\",\n      \"▁Indep endent\",\n      \"▁Independ ent\",\n      \"uck er\",\n      \"uc ker\",\n      \"u cker\",\n      \"EE E\",\n      \"E EE\",\n      \"▁g rows\",\n      \"▁gr ows\",\n      \"▁grow s\",\n      \"▁gro ws\",\n      \"ac re\",\n      \"a cre\",\n      \"▁a cted\",\n      \"▁act ed\",\n      \"▁ac ted\",\n      \"б ро\",\n      \"ni ej\",\n      \"nie j\",\n      \"n iej\",\n      \"▁pl anes\",\n      \"▁plan es\",\n      \"▁plane s\",\n      \"▁ch ronic\",\n      \"▁chron ic\",\n      \"▁chr onic\",\n      \"apol is\",\n      \"ind ices\",\n      \"indi ces\",\n      \"▁w ashing\",\n      \"▁was hing\",\n      \"▁wash ing\",\n      \"on ing\",\n      \"oni ng\",\n      \"o ning\",\n      \"▁B arry\",\n      \"▁Bar ry\",\n      \"▁Barr y\",\n      \"▁spirit s\",\n      \"▁spir its\",\n      \"▁Cons ult\",\n      \"▁rec ruit\",\n      \"▁recru it\",\n      \"▁m uj\",\n      \"▁mu j\",\n      \"▁R ah\",\n      \"▁Ra h\",\n      \"▁Cr uz\",\n      \"▁Cru z\",\n      \"▁expl aining\",\n      \"▁explain ing\",\n      \"▁g ouver\",\n      \"▁ao ût\",\n      \"▁Vin cent\",\n      \"ga s\",\n      \"g as\",\n      \"GP L\",\n      \"G PL\",\n      \"ни н\",\n      \"н ин\",\n      \"▁pun ishment\",\n      \"ne ls\",\n      \"nel s\",\n      \"n els\",\n      \"N R\",\n      \"si x\",\n      \"s ix\",\n      \"][ <\",\n      \"] [<\",\n      \"kt r\",\n      \"k tr\",\n      \"up t\",\n      \"u pt\",\n      \"lock ed\",\n      \"loc ked\",\n      \"l ocked\",\n      \"par ents\",\n      \"parent s\",\n      \"paren ts\",\n      \"▁W right\",\n      \"▁Wr ight\",\n      \"In f\",\n      \"I nf\",\n      \"▁/* *\\r\",\n      \"▁/** \\r\",\n      \"▁ /**\\r\",\n      \"▁ve ctors\",\n      \"▁vector s\",\n      \"▁b anned\",\n      \"▁ban ned\",\n      \"▁touch ing\",\n      \"▁tou ching\",\n      \"Serial izer\",\n      \"Serialize r\",\n      \"▁e se\",\n      \"▁es e\",\n      \"▁ ese\",\n      \"po lit\",\n      \"pol it\",\n      \"hat tan\",\n      \"h attan\",\n      \"at ă\",\n      \"▁b arr\",\n      \"▁bar r\",\n      \"▁ba rr\",\n      \"▁div ine\",\n      \"▁a est\",\n      \"ki ll\",\n      \"kil l\",\n      \"k ill\",\n      \")_ {\",\n      \") _{\",\n      \"▁S oul\",\n      \"▁So ul\",\n      \"▁Sou l\",\n      \"er ves\",\n      \"erv es\",\n      \"erve s\",\n      \"CT OR\",\n      \"Part ition\",\n      \"▁I ter\",\n      \"▁It er\",\n      \"▁ Iter\",\n      \"▁M ack\",\n      \"▁Mac k\",\n      \"▁Ma ck\",\n      \"▁Gree ce\",\n      \"▁cir cular\",\n      \"▁circ ular\",\n      \"▁circul ar\",\n      \"in den\",\n      \"ind en\",\n      \"inde n\",\n      \"al ling\",\n      \"all ing\",\n      \"▁mas cul\",\n      \"r z\",\n      \"▁design ated\",\n      \"▁breath e\",\n      \"▁breat he\",\n      \"oa rd\",\n      \"o ard\",\n      \"▁invol vement\",\n      \"▁involve ment\",\n      \"U t\",\n      \"▁publish ing\",\n      \"зе р\",\n      \"з ер\",\n      \"▁Econom ic\",\n      \"▁rub ber\",\n      \"▁p int\",\n      \"▁pi nt\",\n      \"▁pin t\",\n      \"Down load\",\n      \"▁Mississ ippi\",\n      \"è ce\",\n      \"ev t\",\n      \"e vt\",\n      \"▁progress ive\",\n      \"▁Elect ric\",\n      \"▁Add itional\",\n      \"bo urg\",\n      \"bour g\",\n      \"▁а ль\",\n      \"▁ал ь\",\n      \"▁ аль\",\n      \"W O\",\n      \"T oggle\",\n      \"▁Ent ity\",\n      \"▁ Entity\",\n      \"▁Comp uter\",\n      \"▁Comput er\",\n      \"▁z usammen\",\n      \"▁Se an\",\n      \"▁Sea n\",\n      \"▁battle s\",\n      \"▁batt les\",\n      \"pi res\",\n      \"p ires\",\n      \"St mt\",\n      \"▁nú mero\",\n      \"▁mass age\",\n      \")) {\",\n      \") ){\",\n      \"bec ause\",\n      \"b ecause\",\n      \"not ification\",\n      \"et c\",\n      \"e tc\",\n      \"ma nd\",\n      \"man d\",\n      \"m and\",\n      \"▁T ob\",\n      \"▁To b\",\n      \"▁adj acent\",\n      \"im ore\",\n      \"imo re\",\n      \"i more\",\n      \"▁Esp aña\",\n      \"ци ю\",\n      \"▁c hi\",\n      \"▁ch i\",\n      \"▁ chi\",\n      \"pr ison\",\n      \"▁A aron\",\n      \"lu a\",\n      \"l ua\",\n      \"ме й\",\n      \"м ей\",\n      \"▁integr ity\",\n      \"ja s\",\n      \"j as\",\n      \"L ondon\",\n      \"k free\",\n      \"▁b ras\",\n      \"▁br as\",\n      \"▁bra s\",\n      \"▁ bras\",\n      \"M a\",\n      \"ст ы\",\n      \"с ты\",\n      \"▁ch ains\",\n      \"▁chain s\",\n      \"▁cha ins\",\n      \"▁st unning\",\n      \"ool s\",\n      \"oo ls\",\n      \"o ols\",\n      \"id ges\",\n      \"idge s\",\n      \"▁p oder\",\n      \"▁po der\",\n      \"▁pod er\",\n      \"▁pode r\",\n      \"▁cl usters\",\n      \"▁cluster s\",\n      \"yout ube\",\n      \"▁Mad ison\",\n      \"▁for cing\",\n      \"Copy right\",\n      \"C opyright\",\n      \"SI GN\",\n      \"SIG N\",\n      \"S IGN\",\n      \"▁B obby\",\n      \"▁Bob by\",\n      \"▁p oured\",\n      \"▁po ured\",\n      \"▁pour ed\",\n      \"▁pou red\",\n      \"stell ung\",\n      \"Do es\",\n      \"D oes\",\n      \"▁M aría\",\n      \"▁Mar ía\",\n      \"▁Ma ría\",\n      \"▁m int\",\n      \"▁min t\",\n      \"▁mi nt\",\n      \"▁ф утбо\",\n      \"▁N athan\",\n      \"▁Na than\",\n      \"▁Nat han\",\n      \"te m\",\n      \"t em\",\n      \"▁T hor\",\n      \"▁Th or\",\n      \"▁where ver\",\n      \"▁Create s\",\n      \"▁Creat es\",\n      \"▁Cre ates\",\n      \"▁st air\",\n      \"▁sta ir\",\n      \"Ev en\",\n      \"E ven\",\n      \"▁bl end\",\n      \"▁ble nd\",\n      \"render er\",\n      \"in ks\",\n      \"ink s\",\n      \"ra v\",\n      \"r av\",\n      \"▁fe eding\",\n      \"▁feed ing\",\n      \"▁fee ding\",\n      \"▁Nether lands\",\n      \"net ic\",\n      \"n etic\",\n      \"LE FT\",\n      \"met ic\",\n      \"m etic\",\n      \"З а\",\n      \"▁L is\",\n      \"▁Li s\",\n      \"▁k ur\",\n      \"▁protect ing\",\n      \"▁N ova\",\n      \"▁No va\",\n      \"▁Nov a\",\n      \"▁vol umes\",\n      \"▁volume s\",\n      \"W H\",\n      \"la ge\",\n      \"lag e\",\n      \"l age\",\n      \"▁E specially\",\n      \"▁gal axy\",\n      \"▁galax y\",\n      \"em ás\",\n      \"… .\",\n      \"▁L ad\",\n      \"▁La d\",\n      \"▁s aison\",\n      \"▁sa ison\",\n      \"h ba\",\n      \"▁elim inate\",\n      \"ре мен\",\n      \"▁С ер\",\n      \"▁Се р\",\n      \"Be l\",\n      \"B el\",\n      \"ми р\",\n      \"uc c\",\n      \"u cc\",\n      \"▁V lad\",\n      \"en y\",\n      \"e ny\",\n      \"fe l\",\n      \"f el\",\n      \"▁sufficient ly\",\n      \"▁trem end\",\n      \"▁K os\",\n      \"▁Ko s\",\n      \"▁crit ics\",\n      \"▁critic s\",\n      \"▁с ту\",\n      \"▁ст у\",\n      \"▁ сту\",\n      \"▁represent atives\",\n      \"▁representative s\",\n      \")- -\",\n      \") --\",\n      \"▁h avia\",\n      \"▁ha via\",\n      \"▁hav ia\",\n      \"▁M ens\",\n      \"▁Me ns\",\n      \"▁Men s\",\n      \"ubern etes\",\n      \"▁M ario\",\n      \"▁Mar io\",\n      \"▁Ma rio\",\n      \"bi a\",\n      \"b ia\",\n      \"▁a ims\",\n      \"▁aim s\",\n      \"▁ai ms\",\n      \"hp p\",\n      \"h pp\",\n      \"]) );\",\n      \"])) ;\",\n      \"] ));\",\n      \"urch ase\",\n      \"new command\",\n      \"▁g rief\",\n      \"▁gr ief\",\n      \"▁gri ef\",\n      \"▁ви ко\",\n      \"Can vas\",\n      \"ER O\",\n      \"E RO\",\n      \"▁R andom\",\n      \"▁Rand om\",\n      \"▁Ran dom\",\n      \"▁ Random\",\n      \"da l\",\n      \"d al\",\n      \"▁c ategor\",\n      \"▁categ or\",\n      \"ри н\",\n      \"р ин\",\n      \"▁educ ated\",\n      \"▁м ного\",\n      \"▁мно го\",\n      \"▁u nh\",\n      \"▁un h\",\n      \"Or iginal\",\n      \"Origin al\",\n      \"▁eleg ant\",\n      \"ł u\",\n      \"Py x\",\n      \"▁E ste\",\n      \"▁Est e\",\n      \"▁Es te\",\n      \"stand ard\",\n      \"ol lar\",\n      \"oll ar\",\n      \"is ti\",\n      \"ist i\",\n      \"in formation\",\n      \"Method s\",\n      \"▁д ей\",\n      \"▁де й\",\n      \"▁ дей\",\n      \"FR AME\",\n      \"FRA ME\",\n      \"▁ab ril\",\n      \"▁account ing\",\n      \"▁predict ions\",\n      \"▁pred ictions\",\n      \"▁prediction s\",\n      \"ie nen\",\n      \"ien en\",\n      \"iene n\",\n      \"i enen\",\n      \"▁ch arity\",\n      \"▁char ity\",\n      \"ar roll\",\n      \"arr oll\",\n      \"▁th rust\",\n      \"▁thr ust\",\n      \"AN Y\",\n      \"A NY\",\n      \"▁t ender\",\n      \"▁te nder\",\n      \"▁ten der\",\n      \"▁tend er\",\n      \"em b\",\n      \"e mb\",\n      \"▁en dl\",\n      \"▁end l\",\n      \"▁ endl\",\n      \"▁S aud\",\n      \"▁Sa ud\",\n      \"▁Sau d\",\n      \"uj ą\",\n      \"u ją\",\n      \"іс ля\",\n      \"in tr\",\n      \"int r\",\n      \"▁Kön ig\",\n      \"pc m\",\n      \"p cm\",\n      \"▁Miss ouri\",\n      \"▁Qu ality\",\n      \"▁Qual ity\",\n      \"▁infl ation\",\n      \"▁inf lation\",\n      \"▁\\\" \\\")\",\n      \"▁\\\"\\\" )\",\n      \"sc hed\",\n      \"sch ed\",\n      \"sche d\",\n      \"s ched\",\n      \"▁Jo an\",\n      \"▁w aved\",\n      \"▁wa ved\",\n      \"▁wave d\",\n      \"Test ing\",\n      \"▁E ls\",\n      \"▁El s\",\n      \"▁v u\",\n      \"gr ow\",\n      \"gro w\",\n      \"g row\",\n      \"▁depart ure\",\n      \"Bit map\",\n      \"ниш тво\",\n      \"S printf\",\n      \"▁prom ises\",\n      \"▁promise s\",\n      \"▁hope fully\",\n      \"re ib\",\n      \"rei b\",\n      \"Com mit\",\n      \"Comm it\",\n      \"Un mar\",\n      \"▁fol ded\",\n      \"▁fold ed\",\n      \"▁pl acing\",\n      \"▁plac ing\",\n      \"▁discuss ing\",\n      \"Graph ics\",\n      \"ho ver\",\n      \"h over\",\n      \"▁occasion al\",\n      \"▁occas ional\",\n      \"▁Pal ace\",\n      \"▁Pa lace\",\n      \"▁aut re\",\n      \"▁au tre\",\n      \"▁ autre\",\n      \"▁C V\",\n      \"▁ CV\",\n      \"▁passion ate\",\n      \"▁во ен\",\n      \"▁cit izen\",\n      \"▁citiz en\",\n      \"▁swe pt\",\n      \"▁и гра\",\n      \"▁иг ра\",\n      \"▁Sc ient\",\n      \"▁Sci ent\",\n      \"▁popular ity\",\n      \"▁popul arity\",\n      \"▁ac res\",\n      \"▁T aking\",\n      \"▁Ta king\",\n      \"▁Tak ing\",\n      \"No thing\",\n      \"Not hing\",\n      \"N othing\",\n      \"ve z\",\n      \"v ez\",\n      \"▁S old\",\n      \"▁So ld\",\n      \"▁Sol d\",\n      \"\\\"] ;\",\n      \"\\\" ];\",\n      \"▁Author ity\",\n      \"▁cert ified\",\n      \"▁G un\",\n      \"▁Gu n\",\n      \"▁рай он\",\n      \"▁райо н\",\n      \"▁ch ron\",\n      \"▁chr on\",\n      \"▁ chron\",\n      \"▁aut hentication\",\n      \"▁authentic ation\",\n      \"▁t é\",\n      \"▁ té\",\n      \"Da o\",\n      \"D ao\",\n      \"ma ns\",\n      \"man s\",\n      \"m ans\",\n      \"Pro c\",\n      \"Pr oc\",\n      \"P roc\",\n      \"▁n elle\",\n      \"▁ne lle\",\n      \"▁nel le\",\n      \"▁nell e\",\n      \"ie den\",\n      \"ied en\",\n      \"i eden\",\n      \"ma rt\",\n      \"mar t\",\n      \"m art\",\n      \"▁Sw itch\",\n      \"▁ Switch\",\n      \"Output Stream\",\n      \"an qu\",\n      \"▁S SL\",\n      \"▁SS L\",\n      \"▁ SSL\",\n      \"po on\",\n      \"p oon\",\n      \"▁May or\",\n      \"mem bers\",\n      \"member s\",\n      \"▁util iz\",\n      \"▁ме сто\",\n      \"▁мест о\",\n      \"set Attribute\",\n      \"▁Al most\",\n      \"▁dist inction\",\n      \"▁distinct ion\",\n      \"че ских\",\n      \"чески х\",\n      \"▁over head\",\n      \"▁Dur ante\",\n      \"▁Ste wart\",\n      \"Ma l\",\n      \"M al\",\n      \"PA CK\",\n      \"P ACK\",\n      \"sec ure\",\n      \"hi re\",\n      \"hir e\",\n      \"h ire\",\n      \"code gen\",\n      \"cod egen\",\n      \"▁p ont\",\n      \"▁po nt\",\n      \"▁pon t\",\n      \"IT S\",\n      \"I TS\",\n      \"▁trans mit\",\n      \"▁transm it\",\n      \"▁in direct\",\n      \"▁ind irect\",\n      \"▁b ek\",\n      \"▁be k\",\n      \"▁ bek\",\n      \"▁} ,\\r\",\n      \"▁}, \\r\",\n      \"▁ },\\r\",\n      \"▁nur sing\",\n      \"▁nurs ing\",\n      \"▁* \\\"\",\n      \"▁ *\\\"\",\n      \"▁pal ace\",\n      \"▁pa lace\",\n      \"▁gam bling\",\n      \"gr es\",\n      \"gre s\",\n      \"g res\",\n      \"▁O ri\",\n      \"▁Or i\",\n      \"bi o\",\n      \"b io\",\n      \"form er\",\n      \"for mer\",\n      \"Di stance\",\n      \"Dist ance\",\n      \"D istance\",\n      \"▁door way\",\n      \"ll e\",\n      \"l le\",\n      \"▁t ren\",\n      \"▁tr en\",\n      \"▁tre n\",\n      \"▁d ere\",\n      \"▁de re\",\n      \"▁der e\",\n      \"▁a nte\",\n      \"▁an te\",\n      \"▁ant e\",\n      \"▁ ante\",\n      \"▁p raise\",\n      \"▁pr aise\",\n      \"▁pra ise\",\n      \"Trans fer\",\n      \"▁Em peror\",\n      \"▁cry stal\",\n      \"▁cryst al\",\n      \"▁Y outh\",\n      \"▁You th\",\n      \"▁ham mer\",\n      \"▁EX PORT\",\n      \"▁( **\",\n      \"▁(* *\",\n      \"▁ins ights\",\n      \"▁insight s\",\n      \"ap is\",\n      \"api s\",\n      \"a pis\",\n      \"ску ю\",\n      \"▁I owa\",\n      \"▁Io wa\",\n      \"C riteria\",\n      \"▁де я\",\n      \"at y\",\n      \"a ty\",\n      \"▁H ier\",\n      \"▁Hi er\",\n      \"▁b rig\",\n      \"▁br ig\",\n      \"▁wealth y\",\n      \"то го\",\n      \"т ого\",\n      \"▁In side\",\n      \"▁Ins ide\",\n      \"▁p izza\",\n      \"▁pi zza\",\n      \"ar ently\",\n      \"arent ly\",\n      \"re ra\",\n      \"rer a\",\n      \"r era\",\n      \"Un ique\",\n      \"▁C RC\",\n      \"▁CR C\",\n      \"ey ed\",\n      \"▁re start\",\n      \"▁rest art\",\n      \"ID ENT\",\n      \"IDE NT\",\n      \")' ,\",\n      \") ',\",\n      \"Se ries\",\n      \"Ser ies\",\n      \"S eries\",\n      \"▁jew el\",\n      \"os er\",\n      \"ose r\",\n      \"o ser\",\n      \"▁six ty\",\n      \"▁sixt y\",\n      \"is sen\",\n      \"iss en\",\n      \"isse n\",\n      \"ki r\",\n      \"k ir\",\n      \"▁world s\",\n      \"▁h aul\",\n      \"▁ha ul\",\n      \"▁celebr ation\",\n      \"▁pop ula\",\n      \"▁popul a\",\n      \"▁tw ist\",\n      \"ri le\",\n      \"ril e\",\n      \"r ile\",\n      \"▁t ies\",\n      \"▁tie s\",\n      \"▁ti es\",\n      \"▁ ties\",\n      \"QU E\",\n      \"Q UE\",\n      \"if ica\",\n      \"ific a\",\n      \"ifi ca\",\n      \"i fica\",\n      \"▁t rag\",\n      \"▁tr ag\",\n      \"▁tra g\",\n      \"▁ trag\",\n      \"▁A RE\",\n      \"▁AR E\",\n      \"▁ ARE\",\n      \"▁st ark\",\n      \"▁star k\",\n      \"▁A part\",\n      \"▁Ap art\",\n      \"li gt\",\n      \"lig t\",\n      \"l igt\",\n      \"▁gl ory\",\n      \"▁glo ry\",\n      \"▁phenomen on\",\n      \"▁ag enda\",\n      \"▁qu otes\",\n      \"▁quote s\",\n      \"▁quot es\",\n      \"▁Camp bell\",\n      \"▁Man uel\",\n      \"p riority\",\n      \"Spec ial\",\n      \"Spe cial\",\n      \"▁ch urches\",\n      \"▁church es\",\n      \"▁analy ze\",\n      \"Al ias\",\n      \"Ali as\",\n      \"▁expand ing\",\n      \"▁тако ж\",\n      \"▁С ССР\",\n      \"▁ste al\",\n      \"eg u\",\n      \"e gu\",\n      \"▁на ходи\",\n      \"fi f\",\n      \"f if\",\n      \"▁Def ense\",\n      \"▁B oot\",\n      \"▁Bo ot\",\n      \"▁ Boot\",\n      \"▁ком па\",\n      \"▁комп а\",\n      \"▁affect s\",\n      \"OP EN\",\n      \"▁d istributions\",\n      \"▁distribut ions\",\n      \"▁distribution s\",\n      \"▁tr unk\",\n      \"▁e ran\",\n      \"▁er an\",\n      \"▁era n\",\n      \"dr ag\",\n      \"d rag\",\n      \"St age\",\n      \"ul p\",\n      \"u lp\",\n      \"om on\",\n      \"omo n\",\n      \"o mon\",\n      \", (\",\n      \"enc oder\",\n      \"encode r\",\n      \"po ly\",\n      \"pol y\",\n      \"p oly\",\n      \"▁voc als\",\n      \"▁vocal s\",\n      \"▁( «\",\n      \"▁p resc\",\n      \"▁pre sc\",\n      \"▁pr esc\",\n      \"▁pres c\",\n      \"ic us\",\n      \"▁att rs\",\n      \"▁attr s\",\n      \"▁ attrs\",\n      \"geb iet\",\n      \"with out\",\n      \"▁prop riet\",\n      \"▁propri et\",\n      \"am pa\",\n      \"amp a\",\n      \"** ************\",\n      \"******** ******\",\n      \"****** ********\",\n      \"************ **\",\n      \"▁sk illed\",\n      \"▁skill ed\",\n      \"▁qual ities\",\n      \"M Y\",\n      \"Fr ont\",\n      \"le ans\",\n      \"lean s\",\n      \"ap est\",\n      \"ape st\",\n      \"apes t\",\n      \"▁О р\",\n      \"▁D re\",\n      \"▁Dr e\",\n      \"▁S erie\",\n      \"▁Se rie\",\n      \"▁Ser ie\",\n      \"Execution Context\",\n      \"S i\",\n      \"▁S v\",\n      \"▁ Sv\",\n      \"▁Be low\",\n      \"▁Bel ow\",\n      \"pr agma\",\n      \"▁caus a\",\n      \"▁ca usa\",\n      \"▁pros per\",\n      \"▁S R\",\n      \"▁ SR\",\n      \"local host\",\n      \"▁Cl aire\",\n      \"burg h\",\n      \"bur gh\",\n      \"▁l iteral\",\n      \"▁liter al\",\n      \"▁lit eral\",\n      \"▁ literal\",\n      \"▁V ik\",\n      \"▁Vi k\",\n      \"get Text\",\n      \"▁c oup\",\n      \"▁co up\",\n      \"▁cou p\",\n      \"osex ual\",\n      \"▁ST AT\",\n      \"▁ STAT\",\n      \"▁Event ually\",\n      \"▁volunte ers\",\n      \"▁volunteer s\",\n      \"▁H ero\",\n      \"▁He ro\",\n      \"▁Her o\",\n      \"▁C ertain\",\n      \"▁Cert ain\",\n      \"▁Cer tain\",\n      \"це н\",\n      \"ц ен\",\n      \"ad esh\",\n      \"ade sh\",\n      \"ades h\",\n      \"▁г ене\",\n      \"▁ге не\",\n      \"la rg\",\n      \"lar g\",\n      \"l arg\",\n      \"▁{ $\",\n      \"▁ {$\",\n      \"▁Liver pool\",\n      \"inter est\",\n      \"inte rest\",\n      \"▁aug ment\",\n      \"in go\",\n      \"ing o\",\n      \"size d\",\n      \"si zed\",\n      \"s ized\",\n      \"▁T ib\",\n      \"▁Ti b\",\n      \"▁d ys\",\n      \"▁dy s\",\n      \"▁f led\",\n      \"▁fl ed\",\n      \"▁fle d\",\n      \"▁s train\",\n      \"▁str ain\",\n      \"▁stra in\",\n      \"▁P ok\",\n      \"▁Po k\",\n      \"▁P rior\",\n      \"▁Pr ior\",\n      \"▁Pri or\",\n      \"ni tt\",\n      \"nit t\",\n      \"n itt\",\n      \"▁process or\",\n      \"▁proces sor\",\n      \"▁ processor\",\n      \"Ver ify\",\n      \"▁par liament\",\n      \"▁not ify\",\n      \"▁ notify\",\n      \"ich ten\",\n      \"icht en\",\n      \"ichte n\",\n      \"i chten\",\n      \"ul ative\",\n      \"Sec onds\",\n      \"Second s\",\n      \"▁t ym\",\n      \"▁ty m\",\n      \"sub string\",\n      \"substr ing\",\n      \"▁invest ments\",\n      \"▁investment s\",\n      \"GI N\",\n      \"G IN\",\n      \"ie lle\",\n      \"iel le\",\n      \"i elle\",\n      \"▁exerc ises\",\n      \"▁exercise s\",\n      \"▁med ication\",\n      \"▁medic ation\",\n      \"▁Hol mes\",\n      \"▁Cir c\",\n      \"▁Ci rc\",\n      \"▁pos terior\",\n      \"▁poster ior\",\n      \",, ,,\",\n      \"ру п\",\n      \"▁six th\",\n      \"▁sixt h\",\n      \"ev alu\",\n      \"eva lu\",\n      \"eval u\",\n      \"work ing\",\n      \"wor king\",\n      \"▁tr apped\",\n      \"▁tra pped\",\n      \"▁trap ped\",\n      \"▁manus cript\",\n      \"is mus\",\n      \"ism us\",\n      \"▁Aff airs\",\n      \"▁spe akers\",\n      \"▁speak ers\",\n      \"▁speaker s\",\n      \"▁clim bing\",\n      \"▁climb ing\",\n      \"▁V it\",\n      \"▁Vi t\",\n      \"▁a wake\",\n      \"▁aw ake\",\n      \"▁R at\",\n      \"▁Ra t\",\n      \"▁vol ta\",\n      \"▁volt a\",\n      \"▁hab itat\",\n      \"▁habit at\",\n      \"▁st ata\",\n      \"▁stat a\",\n      \"▁sta ta\",\n      \"▁m old\",\n      \"▁mo ld\",\n      \"▁mol d\",\n      \"▁LIMIT ED\",\n      \"ab ad\",\n      \"aba d\",\n      \"a bad\",\n      \"▁emb argo\",\n      \"▁embar go\",\n      \"▁hel per\",\n      \"▁help er\",\n      \"▁ helper\",\n      \"▁w ährend\",\n      \"ar ound\",\n      \"aro und\",\n      \"a round\",\n      \"▁en code\",\n      \"▁enc ode\",\n      \"▁ encode\",\n      \"▁N ash\",\n      \"▁Na sh\",\n      \"▁Nas h\",\n      \"Tag Helper\",\n      \"▁exhaust ed\",\n      \"sb ur\",\n      \"s bur\",\n      \"▁grand es\",\n      \"▁gran des\",\n      \"▁grande s\",\n      \"▁Tom my\",\n      \"w c\",\n      \"[] ;\",\n      \"[ ];\",\n      \"▁Ста нов\",\n      \"Str ucture\",\n      \"Struct ure\",\n      \"ge m\",\n      \"g em\",\n      \"PA SS\",\n      \"P ASS\",\n      \"▁Fe atures\",\n      \"▁Feature s\",\n      \"▁ Features\",\n      \"met rics\",\n      \"metric s\",\n      \"▁pres sing\",\n      \"▁press ing\",\n      \"▁o cup\",\n      \"▁oc up\",\n      \"ian ces\",\n      \"iance s\",\n      \"i ances\",\n      \"▁f évrier\",\n      \"▁v enue\",\n      \"▁ven ue\",\n      \"▁ venue\",\n      \"add EventListener\",\n      \"▁В ер\",\n      \"▁Ве р\",\n      \"ан а\",\n      \"а на\",\n      \"Gr ad\",\n      \"G rad\",\n      \"ко но\",\n      \"кон о\",\n      \"▁s lope\",\n      \"▁sl ope\",\n      \"sche dule\",\n      \"sched ule\",\n      \"œ uv\",\n      \"▁M oz\",\n      \"▁Mo z\",\n      \"ad ora\",\n      \"ado ra\",\n      \"ador a\",\n      \"▁Date Time\",\n      \"▁ DateTime\",\n      \"▁g ol\",\n      \"▁go l\",\n      \"▁con figure\",\n      \"▁config ure\",\n      \"▁ configure\",\n      \"no v\",\n      \"n ov\",\n      \"▁U pon\",\n      \"▁Up on\",\n      \"▁cons isting\",\n      \"▁consist ing\",\n      \"ER E\",\n      \"E RE\",\n      \"▁E isen\",\n      \"▁art istic\",\n      \"▁artist ic\",\n      \"in ta\",\n      \"int a\",\n      \"▁mag ical\",\n      \"▁magic al\",\n      \"Mo st\",\n      \"M ost\",\n      \"▁Inst itut\",\n      \"▁imm une\",\n      \"an on\",\n      \"ano n\",\n      \"a non\",\n      \"▁default s\",\n      \"▁ defaults\",\n      \"▁a ws\",\n      \"▁aw s\",\n      \"▁ aws\",\n      \"wi re\",\n      \"w ire\",\n      \"▁ex ceptions\",\n      \"▁except ions\",\n      \"▁exception s\",\n      \"▁far ther\",\n      \"at ivo\",\n      \"ati vo\",\n      \"ativ o\",\n      \"OR DER\",\n      \"ORD ER\",\n      \"ńsk i\",\n      \"ń ski\",\n      \"б ри\",\n      \"te enth\",\n      \"teen th\",\n      \"t eenth\",\n      \"sur face\",\n      \"ви зи\",\n      \"▁T oy\",\n      \"▁To y\",\n      \"▁s tor\",\n      \"▁st or\",\n      \"▁sto r\",\n      \"n á\",\n      \"is son\",\n      \"iss on\",\n      \"i sson\",\n      \"▁cel ui\",\n      \"el i\",\n      \"e li\",\n      \"▁S ql\",\n      \"▁ Sql\",\n      \"no ści\",\n      \"▁v enne\",\n      \"▁ven ne\",\n      \"▁Co pa\",\n      \"▁Cop a\",\n      \"▁legit imate\",\n      \"▁u nem\",\n      \"▁un em\",\n      \"▁une m\",\n      \"▁Ex cept\",\n      \"ни ком\",\n      \"▁sp otted\",\n      \"▁spot ted\",\n      \"▁ре зульта\",\n      \"}} (\\\\\",\n      \"}}( \\\\\",\n      \"} }(\\\\\",\n      \"un used\",\n      \"▁d isco\",\n      \"▁dis co\",\n      \"▁disc o\",\n      \"▁Mig uel\",\n      \"▁ш и\",\n      \"▁ ши\",\n      \"Dis t\",\n      \"Di st\",\n      \"D ist\",\n      \"▁All iance\",\n      \"Fe ed\",\n      \"F eed\",\n      \"▁per ception\",\n      \"Mo unt\",\n      \"M ount\",\n      \"▁Am sterdam\",\n      \"in ale\",\n      \"ina le\",\n      \"inal e\",\n      \"▁stre ams\",\n      \"▁stream s\",\n      \"▁hol idays\",\n      \"▁holiday s\",\n      \"/ (\",\n      \"▁Q t\",\n      \"▁ Qt\",\n      \"▁ex amination\",\n      \"▁exam ination\",\n      \"▁Mit glied\",\n      \"▁w hist\",\n      \"▁wh ist\",\n      \"▁whis t\",\n      \"▁J udge\",\n      \"▁Jud ge\",\n      \"▁s ends\",\n      \"▁send s\",\n      \"▁sen ds\",\n      \"Un ion\",\n      \"на д\",\n      \"▁V II\",\n      \"▁VI I\",\n      \"▁p ulse\",\n      \"▁pul se\",\n      \"▁puls e\",\n      \"ta ke\",\n      \"t ake\",\n      \"ben ch\",\n      \"▁su lla\",\n      \"▁sul la\",\n      \"▁sull a\",\n      \"▁un iqu\",\n      \"▁display s\",\n      \"▁displ ays\",\n      \"▁announce ment\",\n      \"▁L ex\",\n      \"▁Le x\",\n      \"[] {\",\n      \"[ ]{\",\n      \"ot on\",\n      \"oto n\",\n      \"o ton\",\n      \"exp and\",\n      \"▁sc attered\",\n      \"▁scatter ed\",\n      \"ak y\",\n      \"a ky\",\n      \"▁L ag\",\n      \"▁La g\",\n      \"▁experi encing\",\n      \"ta n\",\n      \"t an\",\n      \"▁t uple\",\n      \"▁tu ple\",\n      \"▁ tuple\",\n      \"ch rome\",\n      \"chr ome\",\n      \"lev eland\",\n      \"level and\",\n      \"ke rs\",\n      \"ker s\",\n      \"k ers\",\n      \"▁F ILE\",\n      \"▁FI LE\",\n      \"▁ FILE\",\n      \"CRE ATE\",\n      \"▁he eft\",\n      \"▁cha os\",\n      \"сту пи\",\n      \"ступ и\",\n      \"▁á ll\",\n      \"▁ál l\",\n      \"▁ áll\",\n      \"▁b ail\",\n      \"▁ba il\",\n      \"▁a ston\",\n      \"▁as ton\",\n      \"▁ast on\",\n      \"▁Any one\",\n      \"▁Over all\",\n      \"▁franch ise\",\n      \"▁D ance\",\n      \"▁Dan ce\",\n      \"NO WN\",\n      \"h ö\",\n      \"▁Pl atform\",\n      \"▁ Platform\",\n      \"f m\",\n      \"▁ad vised\",\n      \"▁adv ised\",\n      \"▁advis ed\",\n      \"▁advise d\",\n      \"\\\") :\",\n      \"\\\" ):\",\n      \"í v\",\n      \"▁s tain\",\n      \"▁st ain\",\n      \"▁sta in\",\n      \"FAIL URE\",\n      \"▁P E\",\n      \"▁ PE\",\n      \"▁W E\",\n      \"▁ WE\",\n      \"▁X XX\",\n      \"▁XX X\",\n      \"▁sh aped\",\n      \"▁shape d\",\n      \"▁sha ped\",\n      \"▁ shaped\",\n      \"▁is lands\",\n      \"▁island s\",\n      \"▁sym metric\",\n      \"▁symmet ric\",\n      \"▁T E\",\n      \"▁ TE\",\n      \"ser vers\",\n      \"serv ers\",\n      \"server s\",\n      \"serve rs\",\n      \"U UID\",\n      \"at eral\",\n      \"ate ral\",\n      \"ater al\",\n      \"ta ient\",\n      \"t aient\",\n      \"▁f oss\",\n      \"▁fo ss\",\n      \"▁fos s\",\n      \"▁bere its\",\n      \"ní m\",\n      \"n ím\",\n      \"am ic\",\n      \"ami c\",\n      \"a mic\",\n      \"▁c ri\",\n      \"▁cr i\",\n      \"▁ cri\",\n      \"▁N BA\",\n      \"de cor\",\n      \"dec or\",\n      \"▁l igne\",\n      \"▁lig ne\",\n      \"app ings\",\n      \"apping s\",\n      \"▁D OM\",\n      \"▁DO M\",\n      \"▁ DOM\",\n      \"Serial ization\",\n      \"▁\\\" ../../\",\n      \"▁\\\"../ ../\",\n      \"ле на\",\n      \"лен а\",\n      \"▁M IN\",\n      \"▁MI N\",\n      \"▁ MIN\",\n      \"▁Mal ays\",\n      \"ун к\",\n      \"OS T\",\n      \"O ST\",\n      \"A H\",\n      \"де ль\",\n      \"l v\",\n      \"è te\",\n      \". (\",\n      \"▁o xygen\",\n      \"▁under ground\",\n      \"PRE SS\",\n      \"P RESS\",\n      \"▁Product s\",\n      \"▁w age\",\n      \"▁wa ge\",\n      \"▁deleg ate\",\n      \"▁ delegate\",\n      \"et on\",\n      \"eto n\",\n      \"e ton\",\n      \"▁m ét\",\n      \"▁mé t\",\n      \"▁c rypto\",\n      \"▁cry pto\",\n      \"▁crypt o\",\n      \"▁ crypto\",\n      \"tt es\",\n      \"t tes\",\n      \"▁osc ill\",\n      \"▁Mar co\",\n      \"▁Marc o\",\n      \"▁t p\",\n      \"▁ tp\",\n      \"▁m ales\",\n      \"▁ma les\",\n      \"▁mal es\",\n      \"▁male s\",\n      \"▁Mit chell\",\n      \"▁P resent\",\n      \"▁Pres ent\",\n      \"▁Pre sent\",\n      \"▁ Present\",\n      \"т тя\",\n      \"oen ix\",\n      \"P riority\",\n      \"n ą\",\n      \"▁rit ual\",\n      \"▁sa cred\",\n      \"▁sac red\",\n      \"project s\",\n      \"▁vess el\",\n      \"▁из вест\",\n      \"не е\",\n      \"ä ft\",\n      \"PO INT\",\n      \"ang led\",\n      \"angle d\",\n      \"sp ector\",\n      \"spec tor\",\n      \"spect or\",\n      \"spe ctor\",\n      \"▁cons ervation\",\n      \"▁conserv ation\",\n      \"▁[ ...\",\n      \"▁ré alis\",\n      \"▁réal is\",\n      \"▁ens ures\",\n      \"▁ensure s\",\n      \"ilib rium\",\n      \"(' ./\",\n      \"('. /\",\n      \"▁те ле\",\n      \"▁B log\",\n      \"▁Bl og\",\n      \"▁Blo g\",\n      \"▁Com pan\",\n      \"▁Comp an\",\n      \"▁Me dal\",\n      \"▁Med al\",\n      \"▁f printf\",\n      \"▁ fprintf\",\n      \"tt i\",\n      \"t ti\",\n      \"ch s\",\n      \"c hs\",\n      \"▁ann iversary\",\n      \"ig gers\",\n      \"igger s\",\n      \"igg ers\",\n      \"ф о\",\n      \"\\\\\\\" >\",\n      \"\\\\ \\\">\",\n      \"▁du rant\",\n      \"▁dur ant\",\n      \"▁vent ure\",\n      \"▁F itz\",\n      \"▁Fi tz\",\n      \"▁C BD\",\n      \"▁CB D\",\n      \"▁b acking\",\n      \"▁back ing\",\n      \"▁w are\",\n      \"▁war e\",\n      \"▁wa re\",\n      \"▁ ware\",\n      \"ev e\",\n      \"e ve\",\n      \"O G\",\n      \"ed ish\",\n      \"edi sh\",\n      \"▁Giov anni\",\n      \"▁Sh are\",\n      \"▁Shar e\",\n      \"▁Sha re\",\n      \"▁ Share\",\n      \"▁rec ipes\",\n      \"▁recipe s\",\n      \"▁recip es\",\n      \"big g\",\n      \"bi gg\",\n      \"b igg\",\n      \"▁minor ity\",\n      \"▁n ar\",\n      \"▁na r\",\n      \"▁ nar\",\n      \"oll ary\",\n      \"ollar y\",\n      \"▁F E\",\n      \"▁ FE\",\n      \"sh irt\",\n      \"▁redu ces\",\n      \"▁reduce s\",\n      \"Ch e\",\n      \"C he\",\n      \"▁NOT E\",\n      \"▁NO TE\",\n      \"j query\",\n      \"▁F low\",\n      \"▁Fl ow\",\n      \"▁Flo w\",\n      \"▁ Flow\",\n      \"task s\",\n      \"pr event\",\n      \"pre vent\",\n      \"prev ent\",\n      \"▁со вет\",\n      \"▁сов ет\",\n      \"it as\",\n      \"ita s\",\n      \"▁exam ined\",\n      \"▁examine d\",\n      \"ho n\",\n      \"h on\",\n      \"▁M ine\",\n      \"▁Min e\",\n      \"▁Mi ne\",\n      \"▁grad ient\",\n      \"▁V ien\",\n      \"▁Vi en\",\n      \"▁b eds\",\n      \"▁be ds\",\n      \"▁bed s\",\n      \"ET H\",\n      \"E TH\",\n      \"fl at\",\n      \"f lat\",\n      \"an son\",\n      \"ans on\",\n      \"▁in tu\",\n      \"▁int u\",\n      \"▁fl ows\",\n      \"▁flo ws\",\n      \"▁flow s\",\n      \"но к\",\n      \"▁E ine\",\n      \"▁Ein e\",\n      \"ро ди\",\n      \"род и\",\n      \"▁ко р\",\n      \"▁к ор\",\n      \"▁ кор\",\n      \"▁aff ection\",\n      \"▁af fection\",\n      \"▁affect ion\",\n      \"▁p orts\",\n      \"▁por ts\",\n      \"▁port s\",\n      \"▁ ports\",\n      \"__ .\",\n      \"_ _.\",\n      \"re po\",\n      \"rep o\",\n      \"ail and\",\n      \"ai land\",\n      \"▁по да\",\n      \"▁под а\",\n      \"int age\",\n      \"inta ge\",\n      \"▁Prote ction\",\n      \"î t\",\n      \"▁[ {\",\n      \"▁l amp\",\n      \"▁la mp\",\n      \"▁benef icial\",\n      \"ка де\",\n      \"▁Станов ништво\",\n      \"▁l ined\",\n      \"▁li ned\",\n      \"▁line d\",\n      \"▁lin ed\",\n      \"▁ lined\",\n      \"▁Ex change\",\n      \"▁f itted\",\n      \"▁fit ted\",\n      \"▁v erk\",\n      \"▁ver k\",\n      \"▁focus es\",\n      \"vo d\",\n      \"v od\",\n      \"▁Car lo\",\n      \"▁Carl o\",\n      \"▁ра спо\",\n      \"▁рас по\",\n      \"ain ted\",\n      \"aint ed\",\n      \"ainte d\",\n      \"a inted\",\n      \"▁r ape\",\n      \"▁rap e\",\n      \"▁ra pe\",\n      \"▁t ogg\",\n      \"▁to gg\",\n      \"ac ker\",\n      \"ack er\",\n      \"a cker\",\n      \"T w\",\n      \"ra h\",\n      \"r ah\",\n      \"trans l\",\n      \"▁je alous\",\n      \"▁re pository\",\n      \"▁rep ository\",\n      \"▁ repository\",\n      \"re marks\",\n      \"rem arks\",\n      \"remark s\",\n      \"▁i e\",\n      \"▁ ie\",\n      \"í d\",\n      \"▁sk ull\",\n      \"ra c\",\n      \"r ac\",\n      \"() ]\",\n      \"( )]\",\n      \"ri en\",\n      \"rie n\",\n      \"r ien\",\n      \"? (\",\n      \"▁K ids\",\n      \"▁Ki ds\",\n      \"▁Kid s\",\n      \"▁sw itched\",\n      \"▁switch ed\",\n      \"▁G ew\",\n      \"▁Ge w\",\n      \"▁be ef\",\n      \"▁appear ances\",\n      \"▁appearance s\",\n      \"▁Coll ins\",\n      \"▁V illa\",\n      \"▁Vill a\",\n      \"▁Vi lla\",\n      \"▁Vil la\",\n      \"▁z ona\",\n      \"▁zo na\",\n      \"▁n eu\",\n      \"▁ne u\",\n      \"те льно\",\n      \"тель но\",\n      \"▁х удо\",\n      \"▁oper ational\",\n      \"▁operation al\",\n      \"ON LY\",\n      \"▁h ockey\",\n      \"▁ś wi\",\n      \"ö k\",\n      \"Sl ice\",\n      \"Ref resh\",\n      \"▁n uts\",\n      \"▁nu ts\",\n      \"▁nut s\",\n      \"sa y\",\n      \"s ay\",\n      \"▁ста нови\",\n      \"▁станов и\",\n      \"х е\",\n      \"▁le aning\",\n      \"▁lean ing\",\n      \"▁H aus\",\n      \"▁Ha us\",\n      \"▁o ral\",\n      \"▁or al\",\n      \"▁ oral\",\n      \"▁ Ž\",\n      \"▁Sup pose\",\n      \"▁Supp ose\",\n      \"▁ess ence\",\n      \"EN TER\",\n      \"ENT ER\",\n      \"B ucket\",\n      \"▁C ant\",\n      \"▁Can t\",\n      \"▁Ca nt\",\n      \"▁N azi\",\n      \"▁Na zi\",\n      \"▁Naz i\",\n      \"ш ти\",\n      \"▁Vol ume\",\n      \"▁ Volume\",\n      \"▁wor thy\",\n      \"▁worth y\",\n      \"▁ worthy\",\n      \"B u\",\n      \"Ent ries\",\n      \"on ie\",\n      \"oni e\",\n      \"o nie\",\n      \"▁h ood\",\n      \"▁ho od\",\n      \"▁ hood\",\n      \"▁emp ire\",\n      \"▁dé velop\",\n      \"▁p robe\",\n      \"▁pro be\",\n      \"▁pr obe\",\n      \"▁prob e\",\n      \"▁ probe\",\n      \"▁K night\",\n      \"▁Kn ight\",\n      \"▁peace ful\",\n      \"hu b\",\n      \"h ub\",\n      \"▁ál bum\",\n      \"su it\",\n      \"s uit\",\n      \"▁sil k\",\n      \"+ =\",\n      \"▁p ione\",\n      \"▁pi one\",\n      \"' \\\"\",\n      \"ка ми\",\n      \"▁N ull\",\n      \"▁Nu ll\",\n      \"▁ Null\",\n      \"Label s\",\n      \"au tres\",\n      \"aut res\",\n      \"autre s\",\n      \"to LowerCase\",\n      \"▁b uzz\",\n      \"▁bu zz\",\n      \"▁w ashed\",\n      \"▁was hed\",\n      \"▁wash ed\",\n      \"' *\",\n      \"itzer land\",\n      \"▁r amp\",\n      \"▁ra mp\",\n      \"▁ram p\",\n      \"▁к ни\",\n      \"▁k un\",\n      \"col ors\",\n      \"color s\",\n      \"colo rs\",\n      \"▁vacc ine\",\n      \"an imation\",\n      \"anim ation\",\n      \"▁Just in\",\n      \"mem set\",\n      \"▁c ensus\",\n      \"▁cens us\",\n      \"in fl\",\n      \"inf l\",\n      \"▁statist ical\",\n      \"▁trop ical\",\n      \"Dis abled\",\n      \"Disable d\",\n      \"\\r \\r\",\n      \"▁Cra ig\",\n      \"Page s\",\n      \"Pag es\",\n      \"P ages\",\n      \"▁mag az\",\n      \"▁comput ing\",\n      \"▁flo ors\",\n      \"▁floor s\",\n      \"oin e\",\n      \"oi ne\",\n      \"o ine\",\n      \"▁tit olo\",\n      \"▁an ci\",\n      \"▁anc i\",\n      \"▁Indust ry\",\n      \"▁г лав\",\n      \"▁гла в\",\n      \"Bo ot\",\n      \"B oot\",\n      \"Cl ip\",\n      \"▁d v\",\n      \"▁ dv\",\n      \"▁met all\",\n      \"▁metal l\",\n      \"▁meta ll\",\n      \"▁Is abel\",\n      \"▁Isa bel\",\n      \"▁look up\",\n      \"▁ lookup\",\n      \"▁ц ер\",\n      \"▁це р\",\n      \"▁ цер\",\n      \"▁car ries\",\n      \"f u\",\n      \"tp l\",\n      \"t pl\",\n      \"pe rp\",\n      \"per p\",\n      \"▁St orm\",\n      \"▁Sto rm\",\n      \"eh icle\",\n      \"▁S even\",\n      \"▁Se ven\",\n      \"▁Sev en\",\n      \"љ а\",\n      \"▁l ut\",\n      \"▁lu t\",\n      \"th reshold\",\n      \"▁d ull\",\n      \"▁du ll\",\n      \"▁E ND\",\n      \"▁EN D\",\n      \"▁ END\",\n      \"▁O tto\",\n      \"▁Ot to\",\n      \"▁Ott o\",\n      \"▁there by\",\n      \"TE MP\",\n      \"T EMP\",\n      \"▁S cal\",\n      \"▁Sc al\",\n      \"▁ Scal\",\n      \"Com put\",\n      \"Comp ut\",\n      \"ip v\",\n      \"i pv\",\n      \"▁ins ane\",\n      \"▁myster ious\",\n      \"▁M is\",\n      \"▁Mi s\",\n      \"uch ar\",\n      \"uc har\",\n      \"u char\",\n      \"as ma\",\n      \"asm a\",\n      \"au ch\",\n      \"auc h\",\n      \"a uch\",\n      \"ne tt\",\n      \"net t\",\n      \"n ett\",\n      \"El em\",\n      \"E lem\",\n      \"de rive\",\n      \"der ive\",\n      \"▁murder ed\",\n      \"ak ten\",\n      \"akt en\",\n      \"akte n\",\n      \"ро ван\",\n      \"ров ан\",\n      \"рова н\",\n      \"▁a nos\",\n      \"▁an os\",\n      \"▁ano s\",\n      \"▁ anos\",\n      \"}} ^\",\n      \"} }^\",\n      \"▁F uß\",\n      \"▁Fu ß\",\n      \"▁S ister\",\n      \"▁Si ster\",\n      \"▁volunte er\",\n      \":: _\",\n      \": :_\",\n      \"er ta\",\n      \"ert a\",\n      \"▁бо лее\",\n      \"og rá\",\n      \"▁Im Gui\",\n      \"sa me\",\n      \"sam e\",\n      \"s ame\",\n      \"Sh adow\",\n      \"▁re actions\",\n      \"▁reaction s\",\n      \"▁react ions\",\n      \"▁purch asing\",\n      \"PRE FIX\",\n      \"▁emb od\",\n      \"со м\",\n      \"▁alt ogether\",\n      \"▁prom oting\",\n      \"▁promot ing\",\n      \"U V\",\n      \"▁ind uced\",\n      \"▁indu ced\",\n      \"▁eer ste\",\n      \"▁eerst e\",\n      \"Li fe\",\n      \"Lif e\",\n      \"L ife\",\n      \"hd d\",\n      \"h dd\",\n      \"ní ch\",\n      \"▁c hill\",\n      \"▁ch ill\",\n      \"▁chi ll\",\n      \"RG B\",\n      \"R GB\",\n      \"red uce\",\n      \"redu ce\",\n      \"FR OM\",\n      \"F ROM\",\n      \"dir name\",\n      \"▁t une\",\n      \"▁tu ne\",\n      \"▁tun e\",\n      \"▁r ay\",\n      \"▁ra y\",\n      \"▁ ray\",\n      \"T D\",\n      \"▁к ъ\",\n      \"▁Febru ar\",\n      \"▁suspend ed\",\n      \"▁susp ended\",\n      \"▁u pp\",\n      \"▁up p\",\n      \"▁ upp\",\n      \"er i\",\n      \"e ri\",\n      \"pr eter\",\n      \"pre ter\",\n      \"pret er\",\n      \"▁E R\",\n      \"▁ ER\",\n      \"то н\",\n      \"т он\",\n      \"▁c atal\",\n      \"▁cat al\",\n      \"▁ca tal\",\n      \"▁h iring\",\n      \"▁hi ring\",\n      \"▁п ів\",\n      \"▁пі в\",\n      \"▁Olymp ics\",\n      \"▁Olympic s\",\n      \"da le\",\n      \"dal e\",\n      \"d ale\",\n      \":: {\",\n      \": :{\",\n      \"▁expl oring\",\n      \"▁explo ring\",\n      \"▁с тал\",\n      \"▁ста л\",\n      \"▁ст ал\",\n      \"▁univers ities\",\n      \"Class es\",\n      \"▁ча с\",\n      \"▁C ool\",\n      \"▁Co ol\",\n      \"▁S ony\",\n      \"▁So ny\",\n      \"▁Son y\",\n      \"th al\",\n      \"tha l\",\n      \"t hal\",\n      \"▁es crit\",\n      \"▁esc rit\",\n      \"▁cor ruption\",\n      \"▁corrupt ion\",\n      \"az ar\",\n      \"aza r\",\n      \"▁N eb\",\n      \"▁Ne b\",\n      \"▁Py thon\",\n      \"▁c him\",\n      \"▁ch im\",\n      \"▁chi m\",\n      \"▁cap ability\",\n      \"cy cl\",\n      \"c ycl\",\n      \"▁re try\",\n      \"▁r etry\",\n      \"▁ret ry\",\n      \"▁retr y\",\n      \"▁ retry\",\n      \"++ ]\",\n      \"▁t oy\",\n      \"▁to y\",\n      \"▁T erry\",\n      \"▁Ter ry\",\n      \"▁Terr y\",\n      \"View ById\",\n      \"▁v ine\",\n      \"▁vi ne\",\n      \"▁vin e\",\n      \"▁Kit chen\",\n      \"▁B iden\",\n      \"▁Bi den\",\n      \"Back end\",\n      \"gl ich\",\n      \"g lich\",\n      \"re lation\",\n      \"rel ation\",\n      \"▁rat ings\",\n      \"▁ra tings\",\n      \"▁rating s\",\n      \"Execut or\",\n      \"ibr ation\",\n      \">( )\",\n      \"> ()\",\n      \"▁he al\",\n      \"if iable\",\n      \"ifi able\",\n      \"par k\",\n      \"p ark\",\n      \"▁P ete\",\n      \"▁Pe te\",\n      \"▁Pet e\",\n      \"▁tr aged\",\n      \"▁tra ged\",\n      \"▁trag ed\",\n      \"▁ch uck\",\n      \"▁wire less\",\n      \"▁wir eless\",\n      \"Re place\",\n      \"Rep lace\",\n      \"IR Q\",\n      \"▁се зо\",\n      \"i ß\",\n      \"▁j unto\",\n      \"▁jun to\",\n      \"Lo w\",\n      \"L ow\",\n      \"▁s id\",\n      \"▁si d\",\n      \"▁ sid\",\n      \"Tag Helpers\",\n      \"TagHelper s\",\n      \"▁comp aring\",\n      \"▁compar ing\",\n      \"▁c elle\",\n      \"▁cell e\",\n      \"▁ce lle\",\n      \"▁cel le\",\n      \"▁obt aining\",\n      \"▁obtain ing\",\n      \"▁qu ar\",\n      \"▁q uar\",\n      \"Br o\",\n      \"B ro\",\n      \"▁E C\",\n      \"▁ EC\",\n      \"in ea\",\n      \"ine a\",\n      \"i nea\",\n      \"▁F ue\",\n      \"▁Fu e\",\n      \"▁Prince ss\",\n      \"▁Prin cess\",\n      \"ij o\",\n      \"i jo\",\n      \"ge ns\",\n      \"gen s\",\n      \"g ens\",\n      \"PO L\",\n      \"P OL\",\n      \"è tres\",\n      \"▁h ind\",\n      \"▁hi nd\",\n      \"▁ hind\",\n      \"Var iant\",\n      \"Vari ant\",\n      \"▁rece ives\",\n      \"▁receive s\",\n      \"go d\",\n      \"g od\",\n      \"ik en\",\n      \"ike n\",\n      \"i ken\",\n      \"na il\",\n      \"n ail\",\n      \"▁amer ican\",\n      \"▁ american\",\n      \"br as\",\n      \"bra s\",\n      \"b ras\",\n      \"(' \\\\\",\n      \"( '\\\\\",\n      \"ie ce\",\n      \"if ference\",\n      \"iffer ence\",\n      \"iffe rence\",\n      \"▁b ubble\",\n      \"▁bub ble\",\n      \"▁B ear\",\n      \"▁Be ar\",\n      \"un ivers\",\n      \"uni vers\",\n      \"▁demand ing\",\n      \"sa ved\",\n      \"save d\",\n      \"s aved\",\n      \"▁cred entials\",\n      \"MS M\",\n      \"M SM\",\n      \"▁struct ural\",\n      \"Con s\",\n      \"Co ns\",\n      \"C ons\",\n      \"▁Way ne\",\n      \"▁blank et\",\n      \"▁re pet\",\n      \"▁rep et\",\n      \"▁repe t\",\n      \"Ne g\",\n      \"N eg\",\n      \"▁exclusive ly\",\n      \"▁exclus ively\",\n      \"IF I\",\n      \"I FI\",\n      \"бур г\",\n      \"▁arg uing\",\n      \"▁Re pub\",\n      \"▁Rep ub\",\n      \"▁f rowned\",\n      \"▁fr owned\",\n      \"Met ric\",\n      \"M etric\",\n      \"sk im\",\n      \"ski m\",\n      \"s kim\",\n      \"▁П ет\",\n      \"▁Пе т\",\n      \"▁rele ases\",\n      \"▁release s\",\n      \"▁t ast\",\n      \"▁ta st\",\n      \"▁p reference\",\n      \"▁pre ference\",\n      \"▁prefer ence\",\n      \"▁S üd\",\n      \"▁Sü d\",\n      \"oc c\",\n      \"o cc\",\n      \"▁r x\",\n      \"▁ rx\",\n      \"activ ate\",\n      \"cl am\",\n      \"c lam\",\n      \"▁фи ль\",\n      \"▁Sud denly\",\n      \"▁cr ushing\",\n      \"▁crush ing\",\n      \"▁L ower\",\n      \"▁Lo wer\",\n      \"▁Low er\",\n      \"▁ Lower\",\n      \"ei ng\",\n      \"e ing\",\n      \"wa lt\",\n      \"wal t\",\n      \"w alt\",\n      \"▁Г ер\",\n      \"▁Ге р\",\n      \"▁m ö\",\n      \"ри сто\",\n      \"la gen\",\n      \"lag en\",\n      \"lage n\",\n      \"l agen\",\n      \"▁co aching\",\n      \"▁coach ing\",\n      \"ight ers\",\n      \"igh ters\",\n      \"ighter s\",\n      \"▁bas ement\",\n      \"▁base ment\",\n      \"▁F IX\",\n      \"▁FI X\",\n      \"▁ FIX\",\n      \"Te le\",\n      \"T ele\",\n      \"With out\",\n      \"▁Com mons\",\n      \"▁Comm ons\",\n      \"▁Common s\",\n      \"ul ly\",\n      \"ull y\",\n      \"h box\",\n      \"fl ash\",\n      \"▁por tal\",\n      \"▁port al\",\n      \"▁ portal\",\n      \"ot ype\",\n      \"o type\",\n      \"▁S or\",\n      \"▁So r\",\n      \"▁trou bles\",\n      \"▁trouble s\",\n      \"ar si\",\n      \"ars i\",\n      \"▁с тан\",\n      \"▁ста н\",\n      \"▁ст ан\",\n      \"▁ стан\",\n      \"CA M\",\n      \"C AM\",\n      \"▁de notes\",\n      \"▁den otes\",\n      \"▁denote s\",\n      \"LA NG\",\n      \"LAN G\",\n      \"L ANG\",\n      \"▁Be yond\",\n      \"▁Bey ond\",\n      \"▁Bo wl\",\n      \"▁Bow l\",\n      \"▁import antly\",\n      \"▁important ly\",\n      \"▁W R\",\n      \"▁ WR\",\n      \"▁rel ating\",\n      \"▁a nder\",\n      \"▁and er\",\n      \"▁an der\",\n      \"▁ ander\",\n      \"▁gr inned\",\n      \"▁grin ned\",\n      \"▁D ak\",\n      \"▁Da k\",\n      \"▁Brook lyn\",\n      \"▁d p\",\n      \"▁ dp\",\n      \"▁P oly\",\n      \"▁Pol y\",\n      \"▁Po ly\",\n      \"▁ Poly\",\n      \"▁Sch ul\",\n      \"▁B uffer\",\n      \"▁Buff er\",\n      \"▁ Buffer\",\n      \"▁h older\",\n      \"▁hold er\",\n      \"▁hol der\",\n      \"▁ holder\",\n      \"IC AL\",\n      \"I CAL\",\n      \"▁tra iler\",\n      \"▁trail er\",\n      \"er ek\",\n      \"ere k\",\n      \"e rek\",\n      \"▁n ě\",\n      \"▁ ně\",\n      \"sh aped\",\n      \"shape d\",\n      \"sha ped\",\n      \": `\",\n      \"▁de code\",\n      \"▁dec ode\",\n      \"▁ decode\",\n      \"▁co unted\",\n      \"▁coun ted\",\n      \"▁count ed\",\n      \"▁v amp\",\n      \"▁va mp\",\n      \"▁re late\",\n      \"▁rel ate\",\n      \"▁M ason\",\n      \"▁Ma son\",\n      \"▁Mas on\",\n      \"▁t itled\",\n      \"▁title d\",\n      \"▁tit led\",\n      \"▁Kent ucky\",\n      \"▁particip ated\",\n      \"▁participate d\",\n      \"▁Jenn ifer\",\n      \"▁mat rices\",\n      \"Cal endar\",\n      \"st s\",\n      \"s ts\",\n      \"Ass oci\",\n      \"▁f orum\",\n      \"▁for um\",\n      \"▁fo rum\",\n      \"▁s phere\",\n      \"▁sp here\",\n      \"▁spher e\",\n      \"▁S EO\",\n      \"▁SE O\",\n      \"pop up\",\n      \"▁Current ly\",\n      \"CL E\",\n      \"C LE\",\n      \"▁vol unt\",\n      \"▁stell ar\",\n      \"for all\",\n      \"Is s\",\n      \"I ss\",\n      \"im et\",\n      \"ime t\",\n      \"i met\",\n      \"q p\",\n      \"la test\",\n      \"lat est\",\n      \"late st\",\n      \"▁config ured\",\n      \"▁configure d\",\n      \"ab ol\",\n      \"a bol\",\n      \"ig ent\",\n      \"igen t\",\n      \"ige nt\",\n      \"i gent\",\n      \"▁delay ed\",\n      \"ff ic\",\n      \"f fic\",\n      \"▁g ing\",\n      \"▁gi ng\",\n      \"▁ ging\",\n      \"▁s cent\",\n      \"▁sc ent\",\n      \"▁scen t\",\n      \"▁disg ust\",\n      \"▁disgu st\",\n      \"he sis\",\n      \"hes is\",\n      \"h esis\",\n      \"im en\",\n      \"ime n\",\n      \"i men\",\n      \"▁re ign\",\n      \"▁П и\",\n      \"ul as\",\n      \"ula s\",\n      \"u las\",\n      \"um ing\",\n      \"umin g\",\n      \"umi ng\",\n      \"u ming\",\n      \"in nings\",\n      \"inn ings\",\n      \"Re nd\",\n      \"R end\",\n      \"id ity\",\n      \"idi ty\",\n      \"▁do zens\",\n      \"▁dozen s\",\n      \"wa rf\",\n      \"war f\",\n      \"▁Del hi\",\n      \"▁bi ological\",\n      \"▁corrid or\",\n      \"Vis ual\",\n      \"▁I z\",\n      \"▁s uits\",\n      \"▁su its\",\n      \"▁suit s\",\n      \"Py Object\",\n      \"ia go\",\n      \"i ago\",\n      \"▁div ide\",\n      \"▁divid e\",\n      \"pe nt\",\n      \"pen t\",\n      \"p ent\",\n      \"hel lo\",\n      \"hell o\",\n      \"h ello\",\n      \"▁b eta\",\n      \"▁be ta\",\n      \"▁bet a\",\n      \"▁ beta\",\n      \"▁ex terior\",\n      \"▁fin est\",\n      \"▁fine st\",\n      \"▁B ir\",\n      \"▁Bi r\",\n      \"▁f reed\",\n      \"▁fr eed\",\n      \"▁free d\",\n      \"▁fre ed\",\n      \"▁K el\",\n      \"▁Ke l\",\n      \"Se m\",\n      \"S em\",\n      \"▁fr uits\",\n      \"▁fruit s\",\n      \"▁fru its\",\n      \"▁serv ants\",\n      \"▁servant s\",\n      \"▁pub lisher\",\n      \"▁publish er\",\n      \"▁cop per\",\n      \"ol ation\",\n      \"o lation\",\n      \"se p\",\n      \"s ep\",\n      \"▁chair man\",\n      \"ti k\",\n      \"t ik\",\n      \"▁m others\",\n      \"▁mother s\",\n      \"▁mo thers\",\n      \"A ug\",\n      \"▁je ans\",\n      \"[] )\",\n      \"[ ])\",\n      \"▁D ATA\",\n      \"▁DA TA\",\n      \"▁ DATA\",\n      \"▁reve als\",\n      \"▁reveal s\",\n      \"▁un conscious\",\n      \"▁h acer\",\n      \"▁ha cer\",\n      \"▁hace r\",\n      \"ric ulum\",\n      \"▁T ogether\",\n      \"▁ш та\",\n      \"▁ шта\",\n      \"or sz\",\n      \"ors z\",\n      \"▁c anal\",\n      \"▁can al\",\n      \"▁ca nal\",\n      \"ös t\",\n      \"ö st\",\n      \"▁equ als\",\n      \"▁equal s\",\n      \"▁eq uals\",\n      \"▁ equals\",\n      \"▁по мо\",\n      \"▁al location\",\n      \"▁all ocation\",\n      \"▁alloc ation\",\n      \"st änd\",\n      \"▁ч ер\",\n      \"▁че р\",\n      \"ac king\",\n      \"ack ing\",\n      \"▁motiv ation\",\n      \"со н\",\n      \"с он\",\n      \"▁R ole\",\n      \"▁Ro le\",\n      \"▁Rol e\",\n      \"▁ Role\",\n      \"App ly\",\n      \"Ap ply\",\n      \"ig es\",\n      \"ige s\",\n      \"i ges\",\n      \"* {\",\n      \"▁f ires\",\n      \"▁fire s\",\n      \"▁fi res\",\n      \"▁fir es\",\n      \"Us ed\",\n      \"Use d\",\n      \"U sed\",\n      \"▁he ute\",\n      \"sk iej\",\n      \"ski ej\",\n      \"▁Or leans\",\n      \"yl an\",\n      \"y lan\",\n      \"▁warm th\",\n      \"▁w elfare\",\n      \"▁wel fare\",\n      \"je m\",\n      \"j em\",\n      \"▁си сте\",\n      \"be z\",\n      \"b ez\",\n      \"ř e\",\n      \"ke e\",\n      \"k ee\",\n      \"▁segu ito\",\n      \"un ge\",\n      \"ung e\",\n      \"▁y oga\",\n      \"▁yo ga\",\n      \"▁d ug\",\n      \"▁du g\",\n      \"▁rest ored\",\n      \"▁restore d\",\n      \"Dr oid\",\n      \"D roid\",\n      \"▁P ent\",\n      \"▁Pe nt\",\n      \"▁Pen t\",\n      \"▁ran king\",\n      \"▁rank ing\",\n      \"mo r\",\n      \"m or\",\n      \".~ (\\\\\",\n      \"ograph ical\",\n      \"ographic al\",\n      \"▁p ian\",\n      \"▁pi an\",\n      \"▁g ates\",\n      \"▁gate s\",\n      \"▁ga tes\",\n      \"▁с ти\",\n      \"▁ст и\",\n      \"▁ сти\",\n      \"s quare\",\n      \"▁im plicit\",\n      \"▁impl icit\",\n      \"▁G ram\",\n      \"▁Gr am\",\n      \"▁Gra m\",\n      \"▁Apr ès\",\n      \"▁Ap rès\",\n      \"▁Ass istant\",\n      \"▁p ac\",\n      \"▁pa c\",\n      \"▁P ope\",\n      \"▁Po pe\",\n      \"▁Pop e\",\n      \"г ре\",\n      \"▁sc attering\",\n      \"▁scatter ing\",\n      \"стра тив\",\n      \"▁all ocate\",\n      \"▁alloc ate\",\n      \"▁Man hattan\",\n      \"▁а нг\",\n      \"▁ан г\",\n      \"▁ анг\",\n      \"▁inter rupted\",\n      \"▁interrupt ed\",\n      \"ér ieur\",\n      \"éri eur\",\n      \"érie ur\",\n      \"数 据\",\n      \"Sign al\",\n      \"Sig nal\",\n      \"▁Con tract\",\n      \"▁Cont ract\",\n      \"▁ Contract\",\n      \"ór ia\",\n      \"ó ria\",\n      \"WI TH\",\n      \"W ITH\",\n      \"хо дя\",\n      \"ход я\",\n      \"Ag greg\",\n      \"A ggreg\",\n      \"cul es\",\n      \"cu les\",\n      \"cule s\",\n      \"c ules\",\n      \"J an\",\n      \"▁s to\",\n      \"▁st o\",\n      \"▁ sto\",\n      \"▁G PIO\",\n      \"▁GP IO\",\n      \"▁ GPIO\",\n      \"▁ident ifying\",\n      \"▁identify ing\",\n      \"▁p id\",\n      \"▁pi d\",\n      \"▁ pid\",\n      \"ę p\",\n      \"▁di git\",\n      \"▁dig it\",\n      \"el ia\",\n      \"eli a\",\n      \"e lia\",\n      \"inv oke\",\n      \"▁Fl oren\",\n      \"▁Flor en\",\n      \"▁Flo ren\",\n      \"▁sh allow\",\n      \"▁shall ow\",\n      \"get Class\",\n      \"getC lass\",\n      \"▁advert is\",\n      \"ем ы\",\n      \"е мы\",\n      \"▁H R\",\n      \"▁ HR\",\n      \"ym an\",\n      \"y man\",\n      \"▁C E\",\n      \"▁ CE\",\n      \"▁sec ured\",\n      \"▁secure d\",\n      \"▁secur ed\",\n      \"▁rel atives\",\n      \"▁relative s\",\n      \"▁relativ es\",\n      \"▁s ob\",\n      \"▁so b\",\n      \"▁s tab\",\n      \"▁st ab\",\n      \"▁sta b\",\n      \"Trans ition\",\n      \"▁w en\",\n      \"▁we n\",\n      \"▁ wen\",\n      \"sh ops\",\n      \"shop s\",\n      \"▁k ont\",\n      \"▁kon t\",\n      \"▁ko nt\",\n      \"▁h acia\",\n      \"▁ha cia\",\n      \"H y\",\n      \"в ри\",\n      \"sh ell\",\n      \"she ll\",\n      \"s hell\",\n      \"▁ant ib\",\n      \"▁anti b\",\n      \"env ironment\",\n      \"environ ment\",\n      \"um bs\",\n      \"umb s\",\n      \"Tr acker\",\n      \"Track er\",\n      \"Tra cker\",\n      \"en tr\",\n      \"ent r\",\n      \"▁Polit ical\",\n      \"ex tract\",\n      \"ext ract\",\n      \"extra ct\",\n      \"extr act\",\n      \"=\\\" {{\",\n      \"▁m erc\",\n      \"▁me rc\",\n      \"▁mer c\",\n      \"▁p oc\",\n      \"▁po c\",\n      \"▁Re set\",\n      \"▁Res et\",\n      \"▁ Reset\",\n      \"▁pur ely\",\n      \"▁pure ly\",\n      \"▁M ul\",\n      \"▁Mu l\",\n      \"▁gorge ous\",\n      \"▁Î n\",\n      \"ri ven\",\n      \"riv en\",\n      \"rive n\",\n      \"r iven\",\n      \"▁rom ance\",\n      \"▁roman ce\",\n      \"▁d av\",\n      \"▁da v\",\n      \"че ского\",\n      \"ér ica\",\n      \"éri ca\",\n      \"éric a\",\n      \"▁tra ject\",\n      \"▁a rise\",\n      \"▁ar ise\",\n      \"▁sw ung\",\n      \"▁p ockets\",\n      \"▁pocket s\",\n      \"▁trad itions\",\n      \"▁tradition s\",\n      \"▁re ver\",\n      \"▁r ever\",\n      \"▁rev er\",\n      \"▁reve r\",\n      \">> >\",\n      \"> >>\",\n      \"▁n d\",\n      \"▁ nd\",\n      \"▁di vis\",\n      \"▁div is\",\n      \"▁bel oved\",\n      \"▁quant ities\",\n      \"▁é d\",\n      \"▁ éd\",\n      \"ien do\",\n      \"i endo\",\n      \"▁tal ented\",\n      \"▁talent ed\",\n      \"▁C ad\",\n      \"▁Ca d\",\n      \"▁В ла\",\n      \"▁imm igration\",\n      \"▁immigr ation\",\n      \"▁ju ris\",\n      \"▁jur is\",\n      \"▁a er\",\n      \"▁e aten\",\n      \"▁eat en\",\n      \"▁m iejsc\",\n      \"▁sum mon\",\n      \"pe ople\",\n      \"▁g ains\",\n      \"▁gain s\",\n      \"▁ga ins\",\n      \"▁пра во\",\n      \"▁restr iction\",\n      \"▁restrict ion\",\n      \"st ub\",\n      \"▁b out\",\n      \"▁bo ut\",\n      \"▁bou t\",\n      \"▁slave ry\",\n      \"▁sla very\",\n      \"▁comput ation\",\n      \"▁ar mor\",\n      \"▁arm or\",\n      \"▁e k\",\n      \"▁ ek\",\n      \"▁Muslim s\",\n      \"▁co operation\",\n      \"▁cooper ation\",\n      \"▁enh anced\",\n      \"▁enhance d\",\n      \"os lav\",\n      \"▁ab rupt\",\n      \"▁pod cast\",\n      \"▁hospital s\",\n      \"▁hosp itals\",\n      \"нь о\",\n      \"▁hot els\",\n      \"▁hotel s\",\n      \"▁Wik ipedia\",\n      \"▁ж ен\",\n      \"▁же н\",\n      \"▁ жен\",\n      \"G LOBAL\",\n      \"▁Commun ist\",\n      \"an gles\",\n      \"ang les\",\n      \"angle s\",\n      \"▁t high\",\n      \"▁th igh\",\n      \"▁K irk\",\n      \"▁Kir k\",\n      \"▁t ends\",\n      \"▁ten ds\",\n      \"▁tend s\",\n      \"▁M ode\",\n      \"▁Mod e\",\n      \"▁Mo de\",\n      \"▁ Mode\",\n      \"▁N atur\",\n      \"▁Nat ur\",\n      \"▁de let\",\n      \"▁del et\",\n      \"▁po pul\",\n      \"▁pop ul\",\n      \"▁Ch amber\",\n      \"▁Cha mber\",\n      \"▁Conserv ative\",\n      \"kr ieg\",\n      \"k rieg\",\n      \"▁Class ic\",\n      \"▁die sem\",\n      \"▁dies em\",\n      \"▁diese m\",\n      \"▁em power\",\n      \"▁emp ower\",\n      \"▁M es\",\n      \"▁Me s\",\n      \"▁de alt\",\n      \"▁deal t\",\n      \"▁e stad\",\n      \"▁est ad\",\n      \"▁esta d\",\n      \"▁Se it\",\n      \"▁cred its\",\n      \"▁credit s\",\n      \"sub subsection\",\n      \"Inv oke\",\n      \"▁phys ician\",\n      \"це в\",\n      \"ц ев\",\n      \"ás a\",\n      \"á sa\",\n      \"▁g ob\",\n      \"▁go b\",\n      \"▁R ug\",\n      \"▁Ru g\",\n      \"▁м іс\",\n      \"▁мі с\",\n      \"sh aller\",\n      \"shal ler\",\n      \"shall er\",\n      \"▁k ol\",\n      \"▁ko l\",\n      \"▁ kol\",\n      \"▁c ared\",\n      \"▁car ed\",\n      \"▁care d\",\n      \"▁ca red\",\n      \"▁of icial\",\n      \"no s\",\n      \"n os\",\n      \"▁j el\",\n      \"▁je l\",\n      \"▁ jel\",\n      \"null able\",\n      \"GU I\",\n      \"G UI\",\n      \"▁r app\",\n      \"▁rap p\",\n      \"▁ra pp\",\n      \"▁An nie\",\n      \"▁Ann ie\",\n      \"▁st ocks\",\n      \"▁stock s\",\n      \"▁sto cks\",\n      \"▁develop er\",\n      \"▁pl acement\",\n      \"▁place ment\",\n      \"▁plac ement\",\n      \"▁ placement\",\n      \"(\\\" <\",\n      \"▁l avor\",\n      \"▁la vor\",\n      \"▁lav or\",\n      \"▁acc us\",\n      \"Mar t\",\n      \"Ma rt\",\n      \"M art\",\n      \"amer ikan\",\n      \"▁sk etch\",\n      \"▁sent iment\",\n      \"▁а мерикан\",\n      \"An chor\",\n      \"Mer ge\",\n      \"Pe ople\",\n      \"▁rend ered\",\n      \"▁render ed\",\n      \"▁la und\",\n      \"▁n ons\",\n      \"▁no ns\",\n      \"▁non s\",\n      \"▁bl ew\",\n      \"▁ble w\",\n      \"k b\",\n      \"ate gor\",\n      \"ateg or\",\n      \"▁franç aise\",\n      \"▁français e\",\n      \"KE N\",\n      \"K EN\",\n      \"method s\",\n      \"▁Part icip\",\n      \"nost i\",\n      \"nos ti\",\n      \"n osti\",\n      \"▁com merce\",\n      \"▁commer ce\",\n      \"▁ commerce\",\n      \"▁до ма\",\n      \"▁d re\",\n      \"▁dr e\",\n      \"▁t win\",\n      \"▁tw in\",\n      \"▁ded ic\",\n      \"▁U TC\",\n      \"▁ UTC\",\n      \"We ek\",\n      \"▁differ ential\",\n      \"▁different ial\",\n      \"л ё\",\n      \"▁Ch oose\",\n      \"▁Cho ose\",\n      \"▁\\\" (\",\n      \"▁то м\",\n      \"▁ том\",\n      \"▁про фе\",\n      \"em ark\",\n      \"e mark\",\n      \"▁fe ared\",\n      \"▁fear ed\",\n      \"sk o\",\n      \"s ko\",\n      \"Br anch\",\n      \"▁in vention\",\n      \"▁inv ention\",\n      \"▁invent ion\",\n      \"er mine\",\n      \"erm ine\",\n      \"▁car act\",\n      \"▁ca ract\",\n      \"ро го\",\n      \"р ого\",\n      \"lo yd\",\n      \"▁ку ль\",\n      \"▁ куль\",\n      \"▁del icate\",\n      \"Or gan\",\n      \"▁Im pro\",\n      \"▁Imp ro\",\n      \"▁r ip\",\n      \"▁ri p\",\n      \"▁ rip\",\n      \"Up dated\",\n      \"Update d\",\n      \"ul ent\",\n      \"ule nt\",\n      \"▁o bra\",\n      \"▁ob ra\",\n      \"s uspend\",\n      \"Line s\",\n      \"Lin es\",\n      \"Li nes\",\n      \"L ines\",\n      \"▁b anda\",\n      \"▁band a\",\n      \"▁ban da\",\n      \"ot ta\",\n      \"ott a\",\n      \"o tta\",\n      \"▁k ole\",\n      \"▁ko le\",\n      \"▁kol e\",\n      \"il io\",\n      \"ili o\",\n      \"i lio\",\n      \"▁output s\",\n      \"▁ outputs\",\n      \"est ro\",\n      \"estr o\",\n      \"AAAA AAAA\",\n      \"R UN\",\n      \"ne nt\",\n      \"nen t\",\n      \"n ent\",\n      \"▁d ated\",\n      \"▁da ted\",\n      \"▁dat ed\",\n      \"▁date d\",\n      \"▁ dated\",\n      \"▁s py\",\n      \"▁sp y\",\n      \"▁c rap\",\n      \"▁cr ap\",\n      \"▁in coming\",\n      \"▁inc oming\",\n      \"▁ф ев\",\n      \"▁фе в\",\n      \"PH Y\",\n      \"P HY\",\n      \"▁O range\",\n      \"▁Or ange\",\n      \"▁ob server\",\n      \"▁observ er\",\n      \"▁observe r\",\n      \"▁up stairs\",\n      \"ion ed\",\n      \"io ned\",\n      \"ione d\",\n      \"i oned\",\n      \"▁a tr\",\n      \"▁at r\",\n      \"▁ atr\",\n      \"igh bor\",\n      \"▁expect ation\",\n      \"Hi s\",\n      \"H is\",\n      \"im edia\",\n      \"i media\",\n      \"com put\",\n      \"comp ut\",\n      \"▁arg v\",\n      \"▁ argv\",\n      \"▁ear liest\",\n      \"та ли\",\n      \"тал и\",\n      \"т али\",\n      \"мо н\",\n      \"м он\",\n      \"ol len\",\n      \"oll en\",\n      \"ra ke\",\n      \"r ake\",\n      \"▁pat ience\",\n      \"ходи т\",\n      \"ход ит\",\n      \"▁де ка\",\n      \"▁bu yers\",\n      \"▁buy ers\",\n      \"▁buyer s\",\n      \"▁Conne ct\",\n      \"▁ Connect\",\n      \"▁Univers al\",\n      \"▁adjust ed\",\n      \"▁adj usted\",\n      \"im eq\",\n      \"ime q\",\n      \"el lers\",\n      \"ell ers\",\n      \"elle rs\",\n      \"eller s\",\n      \"▁ru in\",\n      \"▁Cr usher\",\n      \"▁Freder ick\",\n      \"ott age\",\n      \"otta ge\",\n      \"▁com prom\",\n      \"▁comp rom\",\n      \"▁compr om\",\n      \"ia sm\",\n      \"ias m\",\n      \"i asm\",\n      \"wa ve\",\n      \"w ave\",\n      \"▁encour aging\",\n      \"▁be ans\",\n      \"▁bean s\",\n      \"▁ beans\",\n      \"▁per ceived\",\n      \"… ]\",\n      \"▁gl obe\",\n      \"▁glob e\",\n      \"▁glo be\",\n      \"▁S F\",\n      \"▁ SF\",\n      \"he rent\",\n      \"her ent\",\n      \"here nt\",\n      \"▁a like\",\n      \"▁al ike\",\n      \"▁ali ke\",\n      \"▁hur ried\",\n      \"qu el\",\n      \"que l\",\n      \"q uel\",\n      \"▁mus icians\",\n      \"▁music ians\",\n      \"▁musician s\",\n      \"ar z\",\n      \"a rz\",\n      \"по в\",\n      \"п ов\",\n      \"drop down\",\n      \"ac l\",\n      \"a cl\",\n      \"pre view\",\n      \"prev iew\",\n      \"p review\",\n      \"▁under neath\",\n      \"ze ś\",\n      \"▁fem ales\",\n      \"▁female s\",\n      \"list ener\",\n      \"listen er\",\n      \"▁C AN\",\n      \"▁CA N\",\n      \"▁ CAN\",\n      \"▁T ow\",\n      \"▁To w\",\n      \"▁pe ers\",\n      \"▁peer s\",\n      \"tl s\",\n      \"t ls\",\n      \"at ra\",\n      \"atr a\",\n      \"a tra\",\n      \"se nder\",\n      \"send er\",\n      \"sen der\",\n      \"s ender\",\n      \"TIME OUT\",\n      \"fu rt\",\n      \"fur t\",\n      \"f urt\",\n      \"▁Gu erra\",\n      \"{} )\",\n      \"{ })\",\n      \"▁D urch\",\n      \"▁Dur ch\",\n      \"▁s ki\",\n      \"▁sk i\",\n      \"▁ ski\",\n      \"il las\",\n      \"ill as\",\n      \"illa s\",\n      \"▁S of\",\n      \"▁So f\",\n      \"▁Organ ization\",\n      \"▁C leveland\",\n      \"▁b utt\",\n      \"▁but t\",\n      \"▁bu tt\",\n      \"▁sim ilarly\",\n      \"▁similar ly\",\n      \"▁assert True\",\n      \"▁ assertTrue\",\n      \"▁inev itable\",\n      \"ne ll\",\n      \"nel l\",\n      \"n ell\",\n      \"▁R af\",\n      \"▁Ra f\",\n      \"DIS ABLE\",\n      \"am ine\",\n      \"ami ne\",\n      \"amin e\",\n      \"a mine\",\n      \"▁Com plete\",\n      \"▁Comp lete\",\n      \"▁ Complete\",\n      \"▁be iden\",\n      \"▁bei den\",\n      \"▁Chall enge\",\n      \"Rad io\",\n      \"R adio\",\n      \"▁Not ice\",\n      \"He x\",\n      \"H ex\",\n      \"▁C uba\",\n      \"▁Cub a\",\n      \"▁Cu ba\",\n      \"▁aug ust\",\n      \"▁Philipp ines\",\n      \"Mar gin\",\n      \"M argin\",\n      \"ja l\",\n      \"j al\",\n      \"gener ator\",\n      \"▁t atto\",\n      \"▁ta tto\",\n      \"▁H em\",\n      \"▁He m\",\n      \"▁S alt\",\n      \"▁Sal t\",\n      \"▁Sa lt\",\n      \"un ately\",\n      \"unate ly\",\n      \"▁terr ain\",\n      \"▁terra in\",\n      \",\\\\ ,\",\n      \", \\\\,\",\n      \"гра д\",\n      \"▁c rop\",\n      \"▁cr op\",\n      \"▁cro p\",\n      \"Name d\",\n      \"Na med\",\n      \"N amed\",\n      \"▁W onder\",\n      \"▁Wo nder\",\n      \"▁Won der\",\n      \"es sen\",\n      \"ess en\",\n      \"esse n\",\n      \"▁f ist\",\n      \"▁fi st\",\n      \"▁fis t\",\n      \"▁z oom\",\n      \"▁zo om\",\n      \"▁ zoom\",\n      \"пе н\",\n      \"п ен\",\n      \"▁ru ling\",\n      \"▁rul ing\",\n      \"un likely\",\n      \"as sy\",\n      \"ass y\",\n      \"or ent\",\n      \"ore nt\",\n      \"oren t\",\n      \"o rent\",\n      \"▁g ibt\",\n      \"▁gi bt\",\n      \"▁A w\",\n      \"sim eq\",\n      \"s imeq\",\n      \"▁r aid\",\n      \"▁ra id\",\n      \"▁ raid\",\n      \"▁Com par\",\n      \"▁Comp ar\",\n      \"▁ Compar\",\n      \"▁free ly\",\n      \"▁fre ely\",\n      \"▁esp añ\",\n      \"▁espa ñ\",\n      \"▁py thon\",\n      \"▁ python\",\n      \"▁diagn osis\",\n      \"▁ch ips\",\n      \"▁chip s\",\n      \"▁chi ps\",\n      \"R azor\",\n      \"▁V ert\",\n      \"▁Ver t\",\n      \"▁Ve rt\",\n      \"▁ Vert\",\n      \"For ward\",\n      \"▁P é\",\n      \"▁compar able\",\n      \"▁anal ys\",\n      \"▁analy s\",\n      \"St d\",\n      \"S td\",\n      \"▁Franç ois\",\n      \"▁c ó\",\n      \"jo s\",\n      \"j os\",\n      \"▁p eg\",\n      \"▁pe g\",\n      \"▁ peg\",\n      \"CON ST\",\n      \"cl usive\",\n      \"▁voy age\",\n      \"▁Sch l\",\n      \"▁Sc hl\",\n      \"Group Layout\",\n      \"oi se\",\n      \"ois e\",\n      \"o ise\",\n      \"сс е\",\n      \"с се\",\n      \"▁cr ush\",\n      \"▁cru sh\",\n      \"▁Die se\",\n      \"▁Di ese\",\n      \"▁Dies e\",\n      \"▁be kan\",\n      \"▁bek an\",\n      \"ci t\",\n      \"c it\",\n      \"▁Ein wohner\",\n      \"▁L an\",\n      \"▁La n\",\n      \"▁dress ing\",\n      \"▁s olved\",\n      \"▁sol ved\",\n      \"▁solve d\",\n      \"М а\",\n      \"▁C hel\",\n      \"▁Ch el\",\n      \"▁Che l\",\n      \"par ed\",\n      \"pa red\",\n      \"pare d\",\n      \"p ared\",\n      \"▁se aled\",\n      \"▁sea led\",\n      \"▁seal ed\",\n      \"}) )\",\n      \"} ))\",\n      \"anc ouver\",\n      \"se h\",\n      \"s eh\",\n      \"ta bles\",\n      \"table s\",\n      \"tab les\",\n      \"t ables\",\n      \"▁red dit\",\n      \"▁redd it\",\n      \"▁ reddit\",\n      \"▁m our\",\n      \"▁mo ur\",\n      \"▁mou r\",\n      \"▁clean up\",\n      \"▁ cleanup\",\n      \"ov ić\",\n      \"ovi ć\",\n      \"▁Ur ban\",\n      \"oc t\",\n      \"o ct\",\n      \"то ра\",\n      \"тор а\",\n      \"▁Le gal\",\n      \"▁Leg al\",\n      \"▁J ur\",\n      \"▁Ju r\",\n      \"▁N as\",\n      \"▁Na s\",\n      \"C ity\",\n      \"▁un fortunately\",\n      \"▁unfortunate ly\",\n      \"▁P ER\",\n      \"▁PE R\",\n      \"▁ PER\",\n      \"ma kers\",\n      \"make rs\",\n      \"maker s\",\n      \"m akers\",\n      \"▁sig lo\",\n      \"▁k in\",\n      \"▁ki n\",\n      \"▁ kin\",\n      \"co des\",\n      \"code s\",\n      \"cod es\",\n      \"c odes\",\n      \"ля р\",\n      \"NI NG\",\n      \"N ING\",\n      \"▁C ec\",\n      \"▁Ce c\",\n      \"▁C T\",\n      \"▁ CT\",\n      \"▁R acing\",\n      \"▁Ra cing\",\n      \"da n\",\n      \"d an\",\n      \"▁He rz\",\n      \"▁Her z\",\n      \"▁gen ius\",\n      \"▁e urop\",\n      \"▁eu rop\",\n      \"serv let\",\n      \"ow ego\",\n      \"owe go\",\n      \"▁Im agine\",\n      \"▁Imp erial\",\n      \"▁Imper ial\",\n      \"Re gex\",\n      \"Reg ex\",\n      \"c é\",\n      \"HE D\",\n      \"H ED\",\n      \"det ect\",\n      \"з ни\",\n      \"io c\",\n      \"i oc\",\n      \"Anal ysis\",\n      \"Analy sis\",\n      \"▁* =\",\n      \"▁f ever\",\n      \"▁fe ver\",\n      \"▁Ob viously\",\n      \"F oot\",\n      \"Line ar\",\n      \"Lin ear\",\n      \"▁p ró\",\n      \"▁pr ó\",\n      \"▁satell ite\",\n      \"▁B eng\",\n      \"▁Be ng\",\n      \"▁Ben g\",\n      \"bound s\",\n      \"b ounds\",\n      \"▁J azz\",\n      \"▁Ja zz\",\n      \"▁C urt\",\n      \"▁Cur t\",\n      \"▁Cu rt\",\n      \"▁поли ти\",\n      \"▁b ild\",\n      \"▁bi ld\",\n      \"▁bil d\",\n      \"▁ bild\",\n      \"▁\\\" \\\");\",\n      \"▁\\\"\\\" );\",\n      \"▁\\\"\\\") ;\",\n      \"▁document ary\",\n      \"▁gr asp\",\n      \"▁gra sp\",\n      \"▁gras p\",\n      \"▁d la\",\n      \"▁dl a\",\n      \"TR A\",\n      \"T RA\",\n      \"▁read ily\",\n      \"To r\",\n      \"T or\",\n      \"C ACHE\",\n      \"▁Const ruction\",\n      \"▁Construct ion\",\n      \"▁d ía\",\n      \"да т\",\n      \"д ат\",\n      \"▁G rey\",\n      \"▁Gr ey\",\n      \"▁Gre y\",\n      \"run ner\",\n      \"le ading\",\n      \"▁co oked\",\n      \"▁cook ed\",\n      \"ro log\",\n      \"rol og\",\n      \"r olog\",\n      \"▁annoy ing\",\n      \"DE LETE\",\n      \"amer ican\",\n      \"▁Niger ia\",\n      \"▁d ai\",\n      \"▁da i\",\n      \"▁ dai\",\n      \"▁sac rific\",\n      \"▁serv ant\",\n      \"▁s kb\",\n      \"▁sk b\",\n      \"▁ skb\",\n      \"▁b arg\",\n      \"▁bar g\",\n      \"▁ba rg\",\n      \"pix el\",\n      \"p ixel\",\n      \"In ject\",\n      \"ca ched\",\n      \"cache d\",\n      \"c ached\",\n      \"▁cou pled\",\n      \"▁couple d\",\n      \"▁coup led\",\n      \"un gle\",\n      \"ung le\",\n      \"pro b\",\n      \"pr ob\",\n      \"p rob\",\n      \">{ @\",\n      \"ла го\",\n      \"default s\",\n      \"▁por trait\",\n      \"▁port rait\",\n      \"▁d ental\",\n      \"▁den tal\",\n      \"▁dent al\",\n      \"▁d estro\",\n      \"▁dest ro\",\n      \"▁r ue\",\n      \"▁ru e\",\n      \"▁hy brid\",\n      \"▁ й\",\n      \"▁CO MP\",\n      \"▁COM P\",\n      \"▁ COMP\",\n      \"▁B ent\",\n      \"▁Be nt\",\n      \"▁Ben t\",\n      \"Com pare\",\n      \"Comp are\",\n      \"Compar e\",\n      \"bo th\",\n      \"bot h\",\n      \"b oth\",\n      \"kl ahoma\",\n      \"ais er\",\n      \"ai ser\",\n      \"aise r\",\n      \"a iser\",\n      \"Su re\",\n      \"Sur e\",\n      \"S ure\",\n      \"▁s olving\",\n      \"▁sol ving\",\n      \"▁l ista\",\n      \"▁li sta\",\n      \"▁list a\",\n      \"▁ lista\",\n      \"▁у чи\",\n      \"▁Ev ans\",\n      \"▁Eva ns\",\n      \"▁f usion\",\n      \"▁fus ion\",\n      \"▁compl aint\",\n      \"▁complain t\",\n      \"H P\",\n      \"He ap\",\n      \"al ways\",\n      \"M gr\",\n      \"▁appro x\",\n      \"▁ approx\",\n      \"display style\",\n      \"lo rd\",\n      \"lor d\",\n      \"l ord\",\n      \"in sn\",\n      \"ins n\",\n      \"▁Fe ature\",\n      \"▁ Feature\",\n      \"RP C\",\n      \"R PC\",\n      \"▁v et\",\n      \"▁ve t\",\n      \"▁ vet\",\n      \"К а\",\n      \"▁kil omet\",\n      \"▁kilom et\",\n      \"▁deliver ing\",\n      \"▁const itution\",\n      \"sh ine\",\n      \"ле к\",\n      \"▁го род\",\n      \"▁горо д\",\n      \"▁prob able\",\n      \"▁run ner\",\n      \"▁ runner\",\n      \"hr en\",\n      \"hre n\",\n      \"h ren\",\n      \"▁N ep\",\n      \"▁Ne p\",\n      \"▁over night\",\n      \"pr ead\",\n      \"pre ad\",\n      \"p read\",\n      \"л та\",\n      \"фор ма\",\n      \"CL O\",\n      \"C LO\",\n      \"ie sa\",\n      \"ies a\",\n      \"i esa\",\n      \"▁object ives\",\n      \"▁objective s\",\n      \"con tract\",\n      \"cont ract\",\n      \"contr act\",\n      \"EX P\",\n      \"▁col ours\",\n      \"▁colour s\",\n      \"xi co\",\n      \"xic o\",\n      \"x ico\",\n      \"C lean\",\n      \"▁light ly\",\n      \"▁scen arios\",\n      \"▁scenario s\",\n      \"▁qu arters\",\n      \"▁quarter s\",\n      \"▁quart ers\",\n      \"▁quar ters\",\n      \"▁ quarters\",\n      \"▁D ear\",\n      \"▁De ar\",\n      \"▁l uc\",\n      \"▁lu c\",\n      \"▁app et\",\n      \"▁ap pet\",\n      \"▁appe t\",\n      \"▁de port\",\n      \"▁dep ort\",\n      \"Sa fe\",\n      \"▁me nos\",\n      \"▁men os\",\n      \"▁Paul o\",\n      \"▁Pa ulo\",\n      \"CI AL\",\n      \"C IAL\",\n      \"ці в\",\n      \"ц ів\",\n      \"▁R oc\",\n      \"▁Ro c\",\n      \"▁c aring\",\n      \"▁car ing\",\n      \"▁ca ring\",\n      \"▁elect ro\",\n      \"▁de cember\",\n      \"▁dec ember\",\n      \"▁dece mber\",\n      \"▁Phil osoph\",\n      \"▁col ored\",\n      \"▁color ed\",\n      \"▁ colored\",\n      \"it sch\",\n      \"its ch\",\n      \"ropol itan\",\n      \"os ti\",\n      \"ost i\",\n      \"▁N ut\",\n      \"▁Nu t\",\n      \"▁consecut ive\",\n      \"Pe er\",\n      \"ar ness\",\n      \"arn ess\",\n      \"▁ż e\",\n      \"▁ że\",\n      \"▁A round\",\n      \"▁Ar ound\",\n      \"af ka\",\n      \"▁d io\",\n      \"▁di o\",\n      \"ci p\",\n      \"c ip\",\n      \"▁to ys\",\n      \"▁toy s\",\n      \"cr o\",\n      \"c ro\",\n      \"▁m iser\",\n      \"▁mis er\",\n      \"▁mi ser\",\n      \"▁mise r\",\n      \"check box\",\n      \"▁F isher\",\n      \"▁Fish er\",\n      \"▁gover ned\",\n      \"▁govern ed\",\n      \"▁h á\",\n      \"▁En able\",\n      \"▁ Enable\",\n      \"▁t rivial\",\n      \"▁occup ation\",\n      \"ro rs\",\n      \"ror s\",\n      \"r ors\",\n      \"▁l av\",\n      \"▁la v\",\n      \"▁ lav\",\n      \"▁m ou\",\n      \"▁mo u\",\n      \"▁b ord\",\n      \"▁bo rd\",\n      \"▁bor d\",\n      \"ли ч\",\n      \"Ro om\",\n      \"R oom\",\n      \"') \\r\",\n      \"' )\\r\",\n      \"▁art ic\",\n      \"▁m ientras\",\n      \"ch air\",\n      \"cha ir\",\n      \"uation s\",\n      \"u ations\",\n      \"▁comm ented\",\n      \"▁comment ed\",\n      \"▁trigger ed\",\n      \"Can not\",\n      \"C annot\",\n      \"▁Marc us\",\n      \"▁p unct\",\n      \"▁pun ct\",\n      \"▁achie vement\",\n      \"▁achieve ment\",\n      \"е ди\",\n      \"ext ensions\",\n      \"extension s\",\n      \"ad ers\",\n      \"ade rs\",\n      \"ader s\",\n      \"a ders\",\n      \"jo urs\",\n      \"jour s\",\n      \"j ours\",\n      \"ir lines\",\n      \"irl ines\",\n      \"▁со стоя\",\n      \"V IEW\",\n      \"▁Nap ole\",\n      \"Conf irm\",\n      \"▁por que\",\n      \"........ ........\",\n      \"▁LI ABILITY\",\n      \"Wall et\",\n      \"W allet\",\n      \"Sub ject\",\n      \"al gorithm\",\n      \"▁tr iple\",\n      \"▁tri ple\",\n      \"▁trip le\",\n      \"ru b\",\n      \"r ub\",\n      \"▁se cur\",\n      \"▁sec ur\",\n      \"▁hand some\",\n      \"▁hands ome\",\n      \"▁d od\",\n      \"▁do d\",\n      \"r ès\",\n      \"ac ja\",\n      \"ch od\",\n      \"cho d\",\n      \"н ва\",\n      \"es ar\",\n      \"esa r\",\n      \"an chor\",\n      \"anc hor\",\n      \"anch or\",\n      \"▁Soph ie\",\n      \"▁Украї ни\",\n      \"Up per\",\n      \"am ous\",\n      \"amo us\",\n      \"Fe atures\",\n      \"Feature s\",\n      \"▁б ли\",\n      \"▁ бли\",\n      \"Supp ress\",\n      \"Sup press\",\n      \"▁kil om\",\n      \"▁Z u\",\n      \"▁belong ed\",\n      \"▁Red dit\",\n      \"▁pro ces\",\n      \"▁proc es\",\n      \"▁с тар\",\n      \"▁ста р\",\n      \"▁ст ар\",\n      \"▁F est\",\n      \"▁Fe st\",\n      \"/ %\",\n      \"▁P am\",\n      \"▁Pa m\",\n      \"st orm\",\n      \"sto rm\",\n      \"W W\",\n      \"P aul\",\n      \"▁t ales\",\n      \"▁tal es\",\n      \"▁ta les\",\n      \"▁tale s\",\n      \"▁рай она\",\n      \"▁райо на\",\n      \"▁район а\",\n      \"▁spread ing\",\n      \"▁s ched\",\n      \"▁sc hed\",\n      \"▁sch ed\",\n      \"▁sche d\",\n      \"▁ sched\",\n      \"le ased\",\n      \"lease d\",\n      \"Non Null\",\n      \"▁High way\",\n      \"▁Re serve\",\n      \"▁Res erve\",\n      \"▁c ater\",\n      \"▁cat er\",\n      \"▁ca ter\",\n      \"▁t ire\",\n      \"▁ti re\",\n      \"▁tir e\",\n      \"▁por ch\",\n      \"qu ier\",\n      \"US A\",\n      \"U SA\",\n      \"▁Sw iss\",\n      \"▁ È\",\n      \"▁br ave\",\n      \"▁bra ve\",\n      \"▁explos ion\",\n      \"l r\",\n      \"▁class ified\",\n      \"Ab out\",\n      \"▁P ict\",\n      \"▁Pic t\",\n      \"▁Pi ct\",\n      \"▁Dub lin\",\n      \"▁separ ately\",\n      \"▁separate ly\",\n      \"▁bank ing\",\n      \"▁ban king\",\n      \"▁Christian ity\",\n      \"mi gr\",\n      \"m igr\",\n      \"Ro b\",\n      \"R ob\",\n      \"се р\",\n      \"с ер\",\n      \"▁el f\",\n      \"▁ elf\",\n      \"▁employ ers\",\n      \"▁employer s\",\n      \"▁S low\",\n      \"▁Sl ow\",\n      \"▁j uli\",\n      \"▁ju li\",\n      \"▁jul i\",\n      \"west ern\",\n      \"w estern\",\n      \"▁anal yst\",\n      \"▁analy st\",\n      \"▁analys t\",\n      \"ob serv\",\n      \"obs erv\",\n      \"▁N ice\",\n      \"▁Nic e\",\n      \"▁Ni ce\",\n      \"▁G C\",\n      \"▁ GC\",\n      \"▁Let ter\",\n      \"▁ha rass\",\n      \"▁har ass\",\n      \"User name\",\n      \"▁A unt\",\n      \"▁Au nt\",\n      \"▁с ент\",\n      \"Su p\",\n      \"S up\",\n      \"IC ES\",\n      \"ICE S\",\n      \"RE NT\",\n      \"R ENT\",\n      \"rat io\",\n      \"r atio\",\n      \"▁Мо ск\",\n      \"▁an gles\",\n      \"▁ang les\",\n      \"▁angle s\",\n      \"▁angl es\",\n      \"▁ angles\",\n      \"▁l lev\",\n      \"▁ll ev\",\n      \"_ *\",\n      \"▁n it\",\n      \"▁ni t\",\n      \"▁ nit\",\n      \"▁w reck\",\n      \"▁pat rol\",\n      \"▁loyal ty\",\n      \"▁n ationale\",\n      \"▁nat ionale\",\n      \"▁national e\",\n      \"▁nation ale\",\n      \"go m\",\n      \"g om\",\n      \"}$ -\",\n      \"} $-\",\n      \"▁dis pute\",\n      \"▁disput e\",\n      \"▁disp ute\",\n      \"▁r us\",\n      \"▁ru s\",\n      \"▁ rus\",\n      \"▁П рез\",\n      \"▁Пре з\",\n      \"▁Indust rial\",\n      \"▁dem ocratic\",\n      \"▁democr atic\",\n      \"b w\",\n      \"li mp\",\n      \"lim p\",\n      \"l imp\",\n      \"ur bed\",\n      \"urb ed\",\n      \"▁mie jsce\",\n      \"▁miejsc e\",\n      \"ру д\",\n      \"▁t ex\",\n      \"▁te x\",\n      \"▁ tex\",\n      \"▁develop ments\",\n      \"▁development s\",\n      \"▁B right\",\n      \"▁Br ight\",\n      \"▁Brig ht\",\n      \"▁var ying\",\n      \"▁va rying\",\n      \"▁vary ing\",\n      \"fa ct\",\n      \"fac t\",\n      \"f act\",\n      \"▁Port al\",\n      \"▁Por tal\",\n      \"as is\",\n      \"asi s\",\n      \"a sis\",\n      \"▁горо да\",\n      \"▁город а\",\n      \"▁cre ativity\",\n      \"▁creat ivity\",\n      \")) ))\",\n      \"))) )\",\n      \") )))\",\n      \".\\\" ;\",\n      \". \\\";\",\n      \"ie ux\",\n      \"ieu x\",\n      \"▁prov isions\",\n      \"▁provision s\",\n      \"uv e\",\n      \"u ve\",\n      \"La ng\",\n      \"L ang\",\n      \"miss ing\",\n      \"ра т\",\n      \"р ат\",\n      \"ph ony\",\n      \"▁out line\",\n      \"pa s\",\n      \"p as\",\n      \"el m\",\n      \"e lm\",\n      \"mon itor\",\n      \"TC P\",\n      \"T CP\",\n      \"ka t\",\n      \"k at\",\n      \"uc ed\",\n      \"uce d\",\n      \"u ced\",\n      \"\\\\\\\" ,\",\n      \"\\\\ \\\",\",\n      \"yn a\",\n      \"y na\",\n      \"ра бо\",\n      \"раб о\",\n      \"oc ate\",\n      \"oca te\",\n      \"▁c ares\",\n      \"▁car es\",\n      \"▁care s\",\n      \"▁ca res\",\n      \"▁f ins\",\n      \"▁fin s\",\n      \"▁fi ns\",\n      \"▁he ap\",\n      \"▁ heap\",\n      \"▁small est\",\n      \"äch st\",\n      \"▁I X\",\n      \"▁ IX\",\n      \"re cv\",\n      \"rec v\",\n      \"key word\",\n      \"▁at tra\",\n      \"▁att ra\",\n      \"▁attr a\",\n      \"▁sel bst\",\n      \"Un expected\",\n      \"Une xpected\",\n      \"Sm all\",\n      \"▁насе ље\",\n      \"▁H us\",\n      \"▁Hu s\",\n      \"Enc oder\",\n      \"Encode r\",\n      \"▁un set\",\n      \"▁uns et\",\n      \"▁home less\",\n      \"▁hom eless\",\n      \"▁Johann es\",\n      \"▁U RI\",\n      \"▁ URI\",\n      \"ant age\",\n      \"anta ge\",\n      \"▁in hib\",\n      \"▁appreci ated\",\n      \"▁appreciate d\",\n      \"ie lte\",\n      \"iel te\",\n      \"ielt e\",\n      \"i elte\",\n      \"▁st ays\",\n      \"▁stay s\",\n      \"▁sta ys\",\n      \"▁alle ged\",\n      \"▁alleg ed\",\n      \"▁c oding\",\n      \"▁co ding\",\n      \"▁cod ing\",\n      \"▁tv å\",\n      \"pipe line\",\n      \"p ipeline\",\n      \"▁W or\",\n      \"▁Wo r\",\n      \"File Path\",\n      \"▁accept ing\",\n      \"▁Ex cell\",\n      \"▁L uther\",\n      \"▁Lu ther\",\n      \"▁Friend s\",\n      \"▁c urt\",\n      \"▁cur t\",\n      \"▁cu rt\",\n      \"▁' $\",\n      \"▁ '$\",\n      \"▁tight ly\",\n      \"▁cz ę\",\n      \"▁un necessary\",\n      \"▁F ed\",\n      \"▁Fe d\",\n      \"▁А нд\",\n      \"▁Ан д\",\n      \"▁H P\",\n      \"▁ HP\",\n      \"▁String Builder\",\n      \"en burg\",\n      \"' (\",\n      \"vm a\",\n      \"v ma\",\n      \"▁Ab raham\",\n      \"W L\",\n      \"▁Re ference\",\n      \"▁Refer ence\",\n      \"▁ Reference\",\n      \"J o\",\n      \"Bl ob\",\n      \"Blo b\",\n      \"▁H ugh\",\n      \"▁Hug h\",\n      \"▁Hu gh\",\n      \"▁Bul gar\",\n      \"MESS AGE\",\n      \"з во\",\n      \"▁avoid ed\",\n      \"▁po ems\",\n      \"▁poem s\",\n      \"▁с ы\",\n      \"▁ сы\",\n      \"▁O pp\",\n      \"▁Op p\",\n      \"av irus\",\n      \"avi rus\",\n      \"Pre view\",\n      \"Prev iew\",\n      \"P review\",\n      \"▁k er\",\n      \"▁ke r\",\n      \"▁ ker\",\n      \"ue va\",\n      \"u eva\",\n      \"fl ix\",\n      \"▁char ging\",\n      \"▁charg ing\",\n      \"▁motiv ated\",\n      \"▁O rd\",\n      \"▁Or d\",\n      \"▁ Ord\",\n      \"▁av eva\",\n      \"▁ave va\",\n      \"x l\",\n      \"▁flex ibility\",\n      \"ag na\",\n      \"agn a\",\n      \"▁rac ism\",\n      \"d h\",\n      \"▁b aking\",\n      \"▁ba king\",\n      \"F riend\",\n      \"ble r\",\n      \"bl er\",\n      \"b ler\",\n      \"▁Log ger\",\n      \"▁ Logger\",\n      \"Te n\",\n      \"T en\",\n      \"nav igation\",\n      \"▁att achment\",\n      \"▁attach ment\",\n      \"▁ attachment\",\n      \"▁b ajo\",\n      \"▁ba jo\",\n      \"▁pr icing\",\n      \"▁pri cing\",\n      \"▁T ip\",\n      \"▁Ti p\",\n      \"▁ Tip\",\n      \"da r\",\n      \"d ar\",\n      \"G G\",\n      \"To ols\",\n      \"Tool s\",\n      \"Too ls\",\n      \"T ools\",\n      \"vol ution\",\n      \"v olution\",\n      \"am as\",\n      \"ama s\",\n      \"a mas\",\n      \"▁b ibli\",\n      \"▁adapt ed\",\n      \"ox y\",\n      \"o xy\",\n      \"▁F reedom\",\n      \"▁Free dom\",\n      \"ri co\",\n      \"ric o\",\n      \"r ico\",\n      \"▁coll apsed\",\n      \"▁collapse d\",\n      \"z m\",\n      \"pl o\",\n      \"p lo\",\n      \"▁c ô\",\n      \"▁r t\",\n      \"▁ rt\",\n      \"än ger\",\n      \"äng er\",\n      \"änge r\",\n      \"▁D R\",\n      \"▁ DR\",\n      \"▁Bit coin\",\n      \"go w\",\n      \"g ow\",\n      \"▁ch ez\",\n      \"▁che z\",\n      \"▁ chez\",\n      \"▁ot ro\",\n      \"▁te il\",\n      \"▁ teil\",\n      \"ла га\",\n      \"▁St ars\",\n      \"▁Star s\",\n      \"▁Sta rs\",\n      \"▁invest ing\",\n      \"▁a board\",\n      \"▁ab oard\",\n      \"▁f lights\",\n      \"▁fl ights\",\n      \"▁flight s\",\n      \"▁genu inely\",\n      \"▁genuine ly\",\n      \"▁prom ising\",\n      \"Rot ation\",\n      \"O cc\",\n      \"▁su oi\",\n      \"▁suo i\",\n      \"string ify\",\n      \"ac ies\",\n      \"aci es\",\n      \"a cies\",\n      \"▁G round\",\n      \"▁Gr ound\",\n      \"▁Gro und\",\n      \"▁sequ ences\",\n      \"▁sequence s\",\n      \"▁c ure\",\n      \"▁cur e\",\n      \"▁cu re\",\n      \"out ine\",\n      \"▁! !\",\n      \"▁ !!\",\n      \"▁G ay\",\n      \"▁Ga y\",\n      \"▁garden s\",\n      \"▁gard ens\",\n      \"▁G las\",\n      \"▁Gl as\",\n      \"▁Tai wan\",\n      \"reg istry\",\n      \"▁# {\",\n      \"▁ #{\",\n      \"▁ins pection\",\n      \"▁insp ection\",\n      \"▁inspect ion\",\n      \"Te ll\",\n      \"T ell\",\n      \"▁` ${\",\n      \"p matrix\",\n      \"▁reg ulation\",\n      \"▁regul ation\",\n      \"fin ish\",\n      \"▁Ed ge\",\n      \"▁ Edge\",\n      \"Sp rite\",\n      \"S prite\",\n      \"▁Conf eder\",\n      \"▁immigr ants\",\n      \"▁elder ly\",\n      \"um ed\",\n      \"ume d\",\n      \"u med\",\n      \"▁Quest ion\",\n      \"▁ Question\",\n      \"Gate way\",\n      \"fo ny\",\n      \"fon y\",\n      \"f ony\",\n      \"ît re\",\n      \"î tre\",\n      \"▁co sm\",\n      \"▁cos m\",\n      \"Ro und\",\n      \"R ound\",\n      \"▁ign oring\",\n      \"▁ignor ing\",\n      \"▁K i\",\n      \"▁sens itivity\",\n      \"âte au\",\n      \"ât eau\",\n      \"▁engine ers\",\n      \"▁engineer s\",\n      \"▁cor rel\",\n      \"▁corre l\",\n      \"ir teen\",\n      \"irt een\",\n      \"▁Sw itzerland\",\n      \"▁inher it\",\n      \"▁ inherit\",\n      \"wo r\",\n      \"w or\",\n      \"▁mid night\",\n      \"▁P un\",\n      \"▁Pu n\",\n      \"ak te\",\n      \"akt e\",\n      \"a kte\",\n      \"Dis able\",\n      \"▁es per\",\n      \"▁esp er\",\n      \"▁not ation\",\n      \"▁ notation\",\n      \"▁Univers idad\",\n      \"so l\",\n      \"s ol\",\n      \"de rn\",\n      \"der n\",\n      \"d ern\",\n      \"in ge\",\n      \"ing e\",\n      \"▁inv itation\",\n      \")} }\",\n      \") }}\",\n      \"▁ â\",\n      \"▁ess ays\",\n      \"▁essay s\",\n      \"ar med\",\n      \"arm ed\",\n      \"ch sel\",\n      \"chs el\",\n      \"▁не го\",\n      \"▁ него\",\n      \"▁confirm ation\",\n      \"un ity\",\n      \"unit y\",\n      \"uni ty\",\n      \"▁Br other\",\n      \"▁Bro ther\",\n      \"▁ Є\",\n      \"ni ce\",\n      \"nic e\",\n      \"n ice\",\n      \"▁S ue\",\n      \"▁Su e\",\n      \"▁t ray\",\n      \"▁tr ay\",\n      \"▁tra y\",\n      \"ро и\",\n      \"C ookie\",\n      \"▁Feder ation\",\n      \"IC T\",\n      \"I CT\",\n      \"▁p éri\",\n      \"stud ent\",\n      \"▁V ent\",\n      \"▁Ven t\",\n      \"▁Ve nt\",\n      \"K K\",\n      \"ST EM\",\n      \"aw k\",\n      \"▁re un\",\n      \"▁pe oples\",\n      \"▁people s\",\n      \"io res\",\n      \"ior es\",\n      \"iore s\",\n      \"i ores\",\n      \"ou bt\",\n      \"▁St age\",\n      \"▁Sta ge\",\n      \"▁ Stage\",\n      \"▁c harm\",\n      \"▁ch arm\",\n      \"▁char m\",\n      \"▁cha rm\",\n      \"ie ur\",\n      \"ieu r\",\n      \"i eur\",\n      \"▁util ize\",\n      \"▁utiliz e\",\n      \"▁d istribute\",\n      \"▁dist ribute\",\n      \"▁distribut e\",\n      \"▁g otta\",\n      \"▁go tta\",\n      \"▁got ta\",\n      \"▁block ing\",\n      \"H ot\",\n      \"br ew\",\n      \"bre w\",\n      \"b rew\",\n      \"▁b onds\",\n      \"▁bon ds\",\n      \"▁bond s\",\n      \"le af\",\n      \"Pro te\",\n      \"Pr ote\",\n      \"P rote\",\n      \"▁d ice\",\n      \"▁di ce\",\n      \"▁dic e\",\n      \"▁Nor man\",\n      \"▁Norm an\",\n      \"▁о кт\",\n      \"▁ок т\",\n      \"▁in spir\",\n      \"▁insp ir\",\n      \"Pr iv\",\n      \"P riv\",\n      \"▁P uerto\",\n      \"▁то ва\",\n      \"RS T\",\n      \"R ST\",\n      \"▁s f\",\n      \"▁ sf\",\n      \"▁qu ale\",\n      \"▁qual e\",\n      \"ni ck\",\n      \"nic k\",\n      \"n ick\",\n      \"▁sup press\",\n      \"▁supp ress\",\n      \"ча т\",\n      \"ч ат\",\n      \"▁H ello\",\n      \"▁Hel lo\",\n      \"▁Hell o\",\n      \"▁ Hello\",\n      \"▁crow ded\",\n      \"▁crowd ed\",\n      \"hba r\",\n      \"h bar\",\n      \"▁lo ads\",\n      \"▁load s\",\n      \"▁ loads\",\n      \"▁cor rection\",\n      \"▁correct ion\",\n      \"▁corre ction\",\n      \"ad just\",\n      \"adj ust\",\n      \"▁E state\",\n      \"▁Est ate\",\n      \"▁Esta te\",\n      \"text sc\",\n      \"▁cool ing\",\n      \"iv eau\",\n      \"ive au\",\n      \"▁bet ting\",\n      \"==== ========\",\n      \"======== ====\",\n      \"re mark\",\n      \"rem ark\",\n      \"r emark\",\n      \"▁im plications\",\n      \"▁impl ications\",\n      \"▁p oz\",\n      \"▁po z\",\n      \"ün g\",\n      \"ü ng\",\n      \"▁reg ards\",\n      \"▁regard s\",\n      \"▁a mid\",\n      \"▁am id\",\n      \"▁habit antes\",\n      \"G I\",\n      \"▁F ou\",\n      \"▁Fo u\",\n      \"▁j ar\",\n      \"▁ja r\",\n      \"▁ jar\",\n      \"▁requ iring\",\n      \"▁D rupal\",\n      \"▁Dru pal\",\n      \"▁li ability\",\n      \"cz as\",\n      \"c zas\",\n      \"▁l yrics\",\n      \"▁ly rics\",\n      \"▁N ort\",\n      \"▁No rt\",\n      \"▁Nor t\",\n      \"si l\",\n      \"s il\",\n      \"▁M ey\",\n      \"▁Me y\",\n      \"UN IT\",\n      \"ва ния\",\n      \"f uture\",\n      \"hi r\",\n      \"h ir\",\n      \"CA L\",\n      \"C AL\",\n      \"LAB EL\",\n      \"▁S weet\",\n      \"▁stat ue\",\n      \"bor ne\",\n      \"born e\",\n      \"b orne\",\n      \"Not ify\",\n      \"▁her itage\",\n      \"▁d orm\",\n      \"▁do rm\",\n      \"▁l ever\",\n      \"▁le ver\",\n      \"▁lev er\",\n      \"▁mut tered\",\n      \"} &\",\n      \"▁inter mediate\",\n      \"▁Wat son\",\n      \"▁view ing\",\n      \"▁vie wing\",\n      \"kt or\",\n      \"k tor\",\n      \"enti eth\",\n      \"xx x\",\n      \"x xx\",\n      \"at u\",\n      \"a tu\",\n      \"▁Inst all\",\n      \"▁ Install\",\n      \"Cont in\",\n      \"▁t oute\",\n      \"▁to ute\",\n      \"▁tou te\",\n      \"▁tout e\",\n      \"▁P T\",\n      \"▁ PT\",\n      \"▁u ri\",\n      \"▁ur i\",\n      \"▁ uri\",\n      \"Call ed\",\n      \"Cal led\",\n      \"C alled\",\n      \"▁O FF\",\n      \"▁OF F\",\n      \"▁ OFF\",\n      \"ig lia\",\n      \"ic hi\",\n      \"ich i\",\n      \"i chi\",\n      \"с ни\",\n      \"V o\",\n      \"▁exhib it\",\n      \"▁asym pt\",\n      \"▁G ulf\",\n      \"л ли\",\n      \"do min\",\n      \"dom in\",\n      \"d omin\",\n      \"▁départ ement\",\n      \"mi l\",\n      \"m il\",\n      \"▁B ez\",\n      \"▁Be z\",\n      \"▁l ately\",\n      \"▁late ly\",\n      \"▁lat ely\",\n      \"▁def ining\",\n      \"▁defin ing\",\n      \"▁E L\",\n      \"▁ EL\",\n      \"omorph ic\",\n      \"▁f ebru\",\n      \"▁fe bru\",\n      \"▁febr u\",\n      \"IS TER\",\n      \"IST ER\",\n      \"I STER\",\n      \"res olved\",\n      \"resolve d\",\n      \"те й\",\n      \"т ей\",\n      \"▁S pect\",\n      \"▁Sp ect\",\n      \"▁Spec t\",\n      \"▁Spe ct\",\n      \"▁sem pre\",\n      \"▁Se pt\",\n      \"▁Sep t\",\n      \"▁cl earing\",\n      \"▁cle aring\",\n      \"▁clear ing\",\n      \"▁diam eter\",\n      \"in do\",\n      \"ind o\",\n      \"▁soc cer\",\n      \"▁D CHECK\",\n      \"▁DC HECK\",\n      \"vo te\",\n      \"v ote\",\n      \"▁n omin\",\n      \"▁no min\",\n      \"▁nom in\",\n      \"Type d\",\n      \"Ty ped\",\n      \"Typ ed\",\n      \"Miss ing\",\n      \"W as\",\n      \"▁Cent ury\",\n      \"▁direct ors\",\n      \"▁dire ctors\",\n      \"▁director s\",\n      \"▁mode rate\",\n      \"▁moder ate\",\n      \"▁Ill uminate\",\n      \"▁ Illuminate\",\n      \"▁челове к\",\n      \"▁B apt\",\n      \"▁Ba pt\",\n      \"▁Qu ant\",\n      \"▁ Quant\",\n      \"▁tre ating\",\n      \"▁treat ing\",\n      \"ag i\",\n      \"a gi\",\n      \"Si l\",\n      \"S il\",\n      \"ring e\",\n      \"rin ge\",\n      \"r inge\",\n      \"ł ą\",\n      \"el lan\",\n      \"ell an\",\n      \"ella n\",\n      \"▁f ino\",\n      \"▁fin o\",\n      \"▁fi no\",\n      \"Capt ure\",\n      \"C apture\",\n      \"▁S ic\",\n      \"▁Si c\",\n      \"▁st amp\",\n      \"▁sta mp\",\n      \"▁stam p\",\n      \"▁B uen\",\n      \"▁Bu en\",\n      \"▁seg undo\",\n      \"▁in verse\",\n      \"▁d up\",\n      \"▁du p\",\n      \"▁ dup\",\n      \"▁br oker\",\n      \"▁bro ker\",\n      \"▁broke r\",\n      \"▁search ed\",\n      \"▁sear ched\",\n      \"be ans\",\n      \"bean s\",\n      \"▁A BC\",\n      \"▁AB C\",\n      \"is ha\",\n      \"ish a\",\n      \"i sha\",\n      \"▁Lin ked\",\n      \"▁Link ed\",\n      \"▁ Linked\",\n      \"▁Nich olas\",\n      \"▁Sw edish\",\n      \"he mal\",\n      \"hem al\",\n      \"▁E M\",\n      \"▁ EM\",\n      \"▁j ego\",\n      \"▁je go\",\n      \"че ский\",\n      \"чески й\",\n      \"lo t\",\n      \"l ot\",\n      \"▁dis cret\",\n      \"▁disc ret\",\n      \"▁discre t\",\n      \"▁E g\",\n      \"pi ck\",\n      \"pic k\",\n      \"p ick\",\n      \"am on\",\n      \"amo n\",\n      \"a mon\",\n      \"▁Rail way\",\n      \"ка р\",\n      \"к ар\",\n      \"▁nav igate\",\n      \"▁navig ate\",\n      \"▁Comm ander\",\n      \"▁Command er\",\n      \"▁disappe ar\",\n      \"▁con gress\",\n      \"▁congr ess\",\n      \"▁graph ic\",\n      \"sp r\",\n      \"s pr\",\n      \"FLO AT\",\n      \"▁S erial\",\n      \"▁Se rial\",\n      \"▁Ser ial\",\n      \"▁ Serial\",\n      \"▁я нва\",\n      \"so cial\",\n      \"soc ial\",\n      \"s ocial\",\n      \"bu ch\",\n      \"b uch\",\n      \"▁se al\",\n      \"▁sea l\",\n      \"▁c ement\",\n      \"▁ce ment\",\n      \"▁Y e\",\n      \"ot ti\",\n      \"ott i\",\n      \"o tti\",\n      \"▁The od\",\n      \"remove Class\",\n      \"▁Jul ie\",\n      \"▁Ju lie\",\n      \"▁Juli e\",\n      \"▁gr öß\",\n      \"ST REAM\",\n      \"▁G B\",\n      \"▁ GB\",\n      \"▁Ben ef\",\n      \"▁Mat rix\",\n      \"▁ Matrix\",\n      \"▁ke ine\",\n      \"▁cont inent\",\n      \"▁contin ent\",\n      \"▁ja ar\",\n      \"DA I\",\n      \"D AI\",\n      \"▁S equ\",\n      \"▁Se qu\",\n      \"▁ Sequ\",\n      \"kre is\",\n      \"▁c rown\",\n      \"▁cr own\",\n      \"▁crow n\",\n      \"▁cro wn\",\n      \"Init ialize\",\n      \"Initial ize\",\n      \"ax y\",\n      \"a xy\",\n      \"▁C IA\",\n      \"▁int end\",\n      \"▁inte nd\",\n      \"▁b ub\",\n      \"▁bu b\",\n      \"▁mask s\",\n      \"▁mas ks\",\n      \"▁sit uated\",\n      \"▁situ ated\",\n      \"▁E du\",\n      \"▁Ed u\",\n      \"▁particip ating\",\n      \"ше й\",\n      \"ш ей\",\n      \"_{ -\",\n      \"_ {-\",\n      \"▁Tele vision\",\n      \"▁pre ferences\",\n      \"▁prefer ences\",\n      \"▁preference s\",\n      \"▁D rop\",\n      \"▁Dr op\",\n      \"▁ Drop\",\n      \"re view\",\n      \"rev iew\",\n      \"▁vi olation\",\n      \"▁viol ation\",\n      \"▁ch rist\",\n      \"▁chr ist\",\n      \"q q\",\n      \"▁M yst\",\n      \"▁My st\",\n      \"comm ands\",\n      \"command s\",\n      \"▁prim itive\",\n      \"ill ance\",\n      \"▁r anging\",\n      \"▁ran ging\",\n      \"▁rang ing\",\n      \"▁Adv anced\",\n      \") &\",\n      \"▁О б\",\n      \"▁sub str\",\n      \"▁subst r\",\n      \"▁subs tr\",\n      \"▁ substr\",\n      \"▁clos ure\",\n      \"▁clo sure\",\n      \"▁ closure\",\n      \"tw itter\",\n      \"ne z\",\n      \"n ez\",\n      \"▁pr zed\",\n      \"▁prz ed\",\n      \"▁prze d\",\n      \"▁mer ged\",\n      \"▁merge d\",\n      \"ur os\",\n      \"uro s\",\n      \"u ros\",\n      \"▁j er\",\n      \"▁je r\",\n      \"▁ jer\",\n      \"▁_ (\",\n      \"▁ _(\",\n      \"ar an\",\n      \"ara n\",\n      \"a ran\",\n      \"▁P atri\",\n      \"▁Pat ri\",\n      \"▁Pa tri\",\n      \"▁T un\",\n      \"▁Tu n\",\n      \"U K\",\n      \"il iation\",\n      \"ili ation\",\n      \"▁Ke ith\",\n      \"Own Property\",\n      \"op sis\",\n      \"ops is\",\n      \"Ma d\",\n      \"M ad\",\n      \"▁def ence\",\n      \"A ir\",\n      \"=$ {\",\n      \"= ${\",\n      \"cript ors\",\n      \"criptor s\",\n      \"So m\",\n      \"S om\",\n      \"▁ ±\",\n      \"▁HA VE\",\n      \"~~~~ ~~~~\",\n      \"▁be aten\",\n      \"▁beat en\",\n      \"▁int imate\",\n      \"▁intim ate\",\n      \"op ic\",\n      \"o pic\",\n      \"▁p řed\",\n      \"▁př ed\",\n      \"Sh op\",\n      \"S hop\",\n      \"Table s\",\n      \"Tab les\",\n      \"T ables\",\n      \"▁S I\",\n      \"▁ SI\",\n      \"re name\",\n      \"ren ame\",\n      \"rena me\",\n      \"r ename\",\n      \"▁product ive\",\n      \"rib ly\",\n      \"r ibly\",\n      \"▁L uck\",\n      \"▁Lu ck\",\n      \"▁Luc k\",\n      \"▁kl ub\",\n      \"}} ^{\",\n      \"}}^ {\",\n      \"} }^{\",\n      \"▁F ish\",\n      \"▁Fi sh\",\n      \"PR I\",\n      \"P RI\",\n      \"en ario\",\n      \"ena rio\",\n      \"▁pse ud\",\n      \"Or d\",\n      \"O rd\",\n      \"▁quel ques\",\n      \"▁D od\",\n      \"▁Do d\",\n      \"▁p unto\",\n      \"▁pun to\",\n      \"▁punt o\",\n      \"se nal\",\n      \"sen al\",\n      \"▁Br others\",\n      \"▁Bro thers\",\n      \"▁Brother s\",\n      \"▁diab etes\",\n      \"P aint\",\n      \"▁person as\",\n      \"▁persona s\",\n      \"в ър\",\n      \"▁n ep\",\n      \"▁ne p\",\n      \"▁El len\",\n      \"▁Ell en\",\n      \"▁Elle n\",\n      \"▁h ä\",\n      \"cr tc\",\n      \"c rtc\",\n      \"▁frustr ation\",\n      \". ^{[\",\n      \"▁s printf\",\n      \"▁sprint f\",\n      \"▁ sprintf\",\n      \"+ -\",\n      \"En code\",\n      \"Enc ode\",\n      \"▁насе лення\",\n      \"Draw able\",\n      \"▁b ore\",\n      \"▁bo re\",\n      \"▁bor e\",\n      \"▁E ld\",\n      \"▁El d\",\n      \"те т\",\n      \"т ет\",\n      \"T ick\",\n      \"ar ator\",\n      \"ara tor\",\n      \"▁Fin ance\",\n      \"▁agric ultural\",\n      \")^ {-\",\n      \")^{ -\",\n      \") ^{-\",\n      \"may be\",\n      \"Sche dule\",\n      \"▁[ …]\",\n      \"et ection\",\n      \"ete ction\",\n      \"ль ного\",\n      \"льно го\",\n      \"▁he els\",\n      \"▁En joy\",\n      \"Sy s\",\n      \"S ys\",\n      \"orsz ág\",\n      \"CONT ROL\",\n      \"cc cc\",\n      \"▁D ictionary\",\n      \"▁ Dictionary\",\n      \"Ne ed\",\n      \"N eed\",\n      \"▁He aven\",\n      \"▁vess els\",\n      \"▁vessel s\",\n      \"ec ycle\",\n      \"e cycle\",\n      \"ti es\",\n      \"t ies\",\n      \"▁e nde\",\n      \"▁en de\",\n      \"▁end e\",\n      \"▁ ende\",\n      \"SI NG\",\n      \"S ING\",\n      \"De scribe\",\n      \"Desc ribe\",\n      \"▁Pub lished\",\n      \"▁Publish ed\",\n      \"▁win ds\",\n      \"▁wind s\",\n      \"neh men\",\n      \"▁D ES\",\n      \"▁DE S\",\n      \"Hor izontal\",\n      \"▁L ost\",\n      \"▁Los t\",\n      \"▁Lo st\",\n      \"-- -----------\",\n      \"---- ---------\",\n      \"-------- -----\",\n      \"--- ----------\",\n      \"------------ -\",\n      \"----- --------\",\n      \"---------- ---\",\n      \"------ -------\",\n      \"--------- ----\",\n      \"------- ------\",\n      \"----------- --\",\n      \"- ------------\",\n      \"▁p x\",\n      \"▁ px\",\n      \"}( {\\\\\",\n      \"} ({\\\\\",\n      \"▁Hein rich\",\n      \"oms nitt\",\n      \"ho s\",\n      \"h os\",\n      \"Ro ll\",\n      \"R oll\",\n      \"tor ch\",\n      \"▁equ ity\",\n      \"▁eq uity\",\n      \"▁collect ing\",\n      \"▁l ifting\",\n      \"▁lif ting\",\n      \"▁lift ing\",\n      \"sub figure\",\n      \"Ne ver\",\n      \"N ever\",\n      \"▁L ength\",\n      \"▁Le ngth\",\n      \"▁ Length\",\n      \"▁w inners\",\n      \"▁win ners\",\n      \"▁winner s\",\n      \"▁U SD\",\n      \"▁US D\",\n      \"▁st esso\",\n      \"▁а бо\",\n      \"▁al tri\",\n      \"▁alt ri\",\n      \"▁produ cers\",\n      \"▁produce rs\",\n      \"▁producer s\",\n      \"mon s\",\n      \"mo ns\",\n      \"m ons\",\n      \"▁Pop ular\",\n      \"Com b\",\n      \"Co mb\",\n      \"C omb\",\n      \"ab lo\",\n      \"abl o\",\n      \"a blo\",\n      \"RE SET\",\n      \"RES ET\",\n      \"т ва\",\n      \"Over lay\",\n      \"▁id iot\",\n      \"▁idi ot\",\n      \"ex ist\",\n      \"Be havior\",\n      \"UB LE\",\n      \"ier re\",\n      \"i erre\",\n      \"mine craft\",\n      \"▁f os\",\n      \"▁fo s\",\n      \"▁encuent ra\",\n      \"▁scream ed\",\n      \"▁polynom ial\",\n      \"▁c one\",\n      \"▁con e\",\n      \"▁co ne\",\n      \"▁c ited\",\n      \"▁cit ed\",\n      \"▁ci ted\",\n      \"▁president e\",\n      \"▁presid ente\",\n      \"▁re sign\",\n      \"▁res ign\",\n      \"▁y elled\",\n      \"▁i k\",\n      \"▁ ik\",\n      \"Pl us\",\n      \"▁Ми ха\",\n      \"▁The me\",\n      \"▁Th eme\",\n      \"▁ Theme\",\n      \"▁re li\",\n      \"▁r eli\",\n      \"▁rel i\",\n      \"ne m\",\n      \"n em\",\n      \"▁a men\",\n      \"▁am en\",\n      \"▁ amen\",\n      \"▁ Ј\",\n      \"Th anks\",\n      \"Thank s\",\n      \"Than ks\",\n      \"▁al umin\",\n      \"▁sh elf\",\n      \"▁shel f\",\n      \"!\\\" );\",\n      \"! \\\");\",\n      \"append Child\",\n      \"▁l ogs\",\n      \"▁lo gs\",\n      \"▁log s\",\n      \"▁ logs\",\n      \"▁re gex\",\n      \"▁reg ex\",\n      \"▁ regex\",\n      \"▁p unk\",\n      \"▁pun k\",\n      \"CO RE\",\n      \"▁b orders\",\n      \"▁border s\",\n      \"▁bord ers\",\n      \"▁bor ders\",\n      \"▁Requ ired\",\n      \"▁ Required\",\n      \"▁f law\",\n      \"▁fl aw\",\n      \"▁cin ema\",\n      \"▁v í\",\n      \"▁ ví\",\n      \"▁ab ortion\",\n      \"▁abort ion\",\n      \"jour nal\",\n      \"j ournal\",\n      \"in itions\",\n      \"init ions\",\n      \"inition s\",\n      \"state ment\",\n      \"stat ement\",\n      \"▁o urs\",\n      \"▁our s\",\n      \"▁ou rs\",\n      \"▁ ours\",\n      \"ó t\",\n      \"▁Tur ner\",\n      \"▁Turn er\",\n      \"in us\",\n      \"ev es\",\n      \"eve s\",\n      \"e ves\",\n      \"▁magazine s\",\n      \"▁magaz ines\",\n      \"… …\",\n      \"la ce\",\n      \"l ace\",\n      \"sl ider\",\n      \"slide r\",\n      \"▁l ocate\",\n      \"▁loc ate\",\n      \"▁des arroll\",\n      \"P an\",\n      \"To m\",\n      \"T om\",\n      \"▁Land es\",\n      \"▁Lan des\",\n      \"ol ia\",\n      \"oli a\",\n      \"o lia\",\n      \"▁u nm\",\n      \"▁un m\",\n      \"▁Sen ator\",\n      \"▁ad minister\",\n      \"▁admin ister\",\n      \"▁ко ји\",\n      \"▁' {\",\n      \"▁) {\",\n      \"▁ ){\",\n      \"▁G olf\",\n      \"▁Gol f\",\n      \"▁g ele\",\n      \"▁ge le\",\n      \"▁gel e\",\n      \"▁d rank\",\n      \"▁dr ank\",\n      \"pos ing\",\n      \"po sing\",\n      \"p osing\",\n      \"▁en semble\",\n      \"he ap\",\n      \"sign ature\",\n      \"то й\",\n      \"ци й\",\n      \"scri ber\",\n      \"scr iber\",\n      \"scribe r\",\n      \"scrib er\",\n      \"▁ch amp\",\n      \"▁cha mp\",\n      \"ni o\",\n      \"n io\",\n      \"la yers\",\n      \"lay ers\",\n      \"layer s\",\n      \"▁tr ump\",\n      \"▁mod al\",\n      \"▁mo dal\",\n      \"▁ modal\",\n      \"on ces\",\n      \"once s\",\n      \"че ння\",\n      \"чен ня\",\n      \"▁C ort\",\n      \"▁Co rt\",\n      \"▁Cor t\",\n      \"▁sun light\",\n      \"▁M use\",\n      \"▁Mus e\",\n      \"▁Mu se\",\n      \"ém ent\",\n      \"é ment\",\n      \"▁curios ity\",\n      \"▁v r\",\n      \"▁ vr\",\n      \"O ct\",\n      \"yl on\",\n      \"y lon\",\n      \"▁rel ativ\",\n      \"st y\",\n      \"s ty\",\n      \"] /\",\n      \"az u\",\n      \"a zu\",\n      \"▁U SS\",\n      \"▁US S\",\n      \"▁person a\",\n      \"▁pers ona\",\n      \"Me n\",\n      \"M en\",\n      \"▁w ides\",\n      \"▁wide s\",\n      \"▁wid es\",\n      \"▁K as\",\n      \"▁Ka s\",\n      \"ic ies\",\n      \"ici es\",\n      \"i cies\",\n      \"▁C off\",\n      \"▁Co ff\",\n      \"▁con solid\",\n      \"▁cons olid\",\n      \"▁inter active\",\n      \"▁interact ive\",\n      \"op ing\",\n      \"o ping\",\n      \"La nd\",\n      \"L and\",\n      \"▁energ ies\",\n      \"▁independ ently\",\n      \"▁independent ly\",\n      \"inner HTML\",\n      \"Requ ire\",\n      \"Re quire\",\n      \"▁abs urd\",\n      \"▁IN FO\",\n      \"▁ INFO\",\n      \"▁b und\",\n      \"▁bu nd\",\n      \"▁ bund\",\n      \"anz ös\",\n      \"▁G ent\",\n      \"▁Ge nt\",\n      \"▁Gen t\",\n      \"▁scholar s\",\n      \"▁schol ars\",\n      \"▁C reated\",\n      \"▁Create d\",\n      \"▁Creat ed\",\n      \"▁Cre ated\",\n      \"▁ Created\",\n      \"▁mar ine\",\n      \"▁mari ne\",\n      \".. .'\",\n      \"... '\",\n      \"EN V\",\n      \"E NV\",\n      \"ach te\",\n      \"acht e\",\n      \"a chte\",\n      \"am ents\",\n      \"ament s\",\n      \"amen ts\",\n      \"a ments\",\n      \"▁tr ucks\",\n      \"▁truck s\",\n      \"▁re wards\",\n      \"▁reward s\",\n      \"og s\",\n      \"o gs\",\n      \"Gr een\",\n      \"Gre en\",\n      \"G reen\",\n      \"▁n ä\",\n      \"▁inher ited\",\n      \"▁inherit ed\",\n      \"im ated\",\n      \"imate d\",\n      \"ima ted\",\n      \"imat ed\",\n      \"▁F REE\",\n      \"▁FR EE\",\n      \"▁ FREE\",\n      \"▁ext ens\",\n      \"da g\",\n      \"d ag\",\n      \"▁g low\",\n      \"▁gl ow\",\n      \"▁glo w\",\n      \"ar di\",\n      \"ard i\",\n      \"N F\",\n      \"▁evalu ated\",\n      \"▁evaluate d\",\n      \"▁eval uated\",\n      \"▁o ps\",\n      \"▁op s\",\n      \"▁ ops\",\n      \"▁cle aned\",\n      \"▁clean ed\",\n      \"▁Prov ince\",\n      \"▁Provinc e\",\n      \"ha bil\",\n      \"hab il\",\n      \"h abil\",\n      \"гра фі\",\n      \"▁T CP\",\n      \"▁ TCP\",\n      \"▁я кі\",\n      \"▁як і\",\n      \"▁de ce\",\n      \"▁dec e\",\n      \"▁cont empl\",\n      \"▁acquis ition\",\n      \"}) $.\",\n      \"})$ .\",\n      \"} )$.\",\n      \"=\\\" -\",\n      \"▁se ctors\",\n      \"▁sector s\",\n      \"▁sect ors\",\n      \":: <\",\n      \"u ß\",\n      \"▁trab aj\",\n      \"th an\",\n      \"tha n\",\n      \"t han\",\n      \"▁S ta\",\n      \"▁St a\",\n      \"Mem bers\",\n      \"Member s\",\n      \"▁r v\",\n      \"▁ rv\",\n      \")^ {\\\\\",\n      \")^{ \\\\\",\n      \") ^{\\\\\",\n      \"mit t\",\n      \"mi tt\",\n      \"m itt\",\n      \"▁W ang\",\n      \"▁Wa ng\",\n      \"▁W end\",\n      \"▁We nd\",\n      \"▁G lass\",\n      \"▁Gl ass\",\n      \"▁Glas s\",\n      \"▁t xt\",\n      \"▁tx t\",\n      \"▁ txt\",\n      \"▁Cam eron\",\n      \"ie ls\",\n      \"iel s\",\n      \"i els\",\n      \"▁im mer\",\n      \"▁imm er\",\n      \"▁ immer\",\n      \"▁насе ления\",\n      \".. .</\",\n      \"... </\",\n      \"au tom\",\n      \"aut om\",\n      \"auto m\",\n      \"ro e\",\n      \"r oe\",\n      \"▁distingu ish\",\n      \"▁явля ется\",\n      \"▁privile ge\",\n      \"▁delight ed\",\n      \"▁de ployment\",\n      \"▁deploy ment\",\n      \"▁contribut or\",\n      \"▁threat ening\",\n      \"▁Reg iment\",\n      \"▁dec lined\",\n      \"▁decl ined\",\n      \"▁decline d\",\n      \"Ob serv\",\n      \")} {\\\\\",\n      \")}{ \\\\\",\n      \") }{\\\\\",\n      \"W C\",\n      \"▁F ix\",\n      \"▁Fi x\",\n      \"▁ Fix\",\n      \"r ía\",\n      \"xt ures\",\n      \"xture s\",\n      \"сле дова\",\n      \"▁Hist oria\",\n      \"▁Histor ia\",\n      \"▁I SO\",\n      \"▁IS O\",\n      \"▁ ISO\",\n      \"▁д ву\",\n      \"л ко\",\n      \"▁with d\",\n      \"bo rough\",\n      \"bor ough\",\n      \"b orough\",\n      \"▁toss ed\",\n      \"▁jump ing\",\n      \"▁! (\",\n      \"▁ !(\",\n      \"▁man ually\",\n      \"▁manual ly\",\n      \"▁s ap\",\n      \"▁sa p\",\n      \"▁ sap\",\n      \"qu esta\",\n      \"que sta\",\n      \"ques ta\",\n      \"quest a\",\n      \"▁Nor way\",\n      \"▁Att orney\",\n      \"ug g\",\n      \"u gg\",\n      \"pu ll\",\n      \"pul l\",\n      \"p ull\",\n      \"ли на\",\n      \"лин а\",\n      \"par allel\",\n      \"▁fasc inating\",\n      \"▁by la\",\n      \"▁byl a\",\n      \"▁inv oke\",\n      \"▁ invoke\",\n      \"Fun ctions\",\n      \"Function s\",\n      \"$) .\",\n      \"$ ).\",\n      \"▁consist ency\",\n      \"▁і з\",\n      \"dy n\",\n      \"d yn\",\n      \"pre dict\",\n      \"pred ict\",\n      \"▁P u\",\n      \"el come\",\n      \"pl icated\",\n      \"plic ated\",\n      \"plicate d\",\n      \"plica ted\",\n      \"ра в\",\n      \"es pec\",\n      \"esp ec\",\n      \"e spec\",\n      \"▁expl oration\",\n      \"▁for am\",\n      \"▁fo ram\",\n      \"▁compl iment\",\n      \"▁s enses\",\n      \"▁sense s\",\n      \"▁sens es\",\n      \"▁sen ses\",\n      \"▁c las\",\n      \"▁cl as\",\n      \"▁Author s\",\n      \"▁Auth ors\",\n      \"▁high lights\",\n      \"▁highlight s\",\n      \"M obile\",\n      \"▁Int elligence\",\n      \"▁d essen\",\n      \"▁des sen\",\n      \"▁dess en\",\n      \"▁sk ulle\",\n      \"▁skull e\",\n      \"▁over view\",\n      \"at ó\",\n      \"a tó\",\n      \"▁b last\",\n      \"▁bl ast\",\n      \"at rice\",\n      \"atr ice\",\n      \"atri ce\",\n      \"í cí\",\n      \"▁enthus iasm\",\n      \"▁enthusi asm\",\n      \"▁character ized\",\n      \"et ary\",\n      \"eta ry\",\n      \"▁spec tra\",\n      \"▁spect ra\",\n      \"▁A na\",\n      \"▁An a\",\n      \"▁hon our\",\n      \"▁ph ases\",\n      \"▁phase s\",\n      \"▁J ap\",\n      \"▁Ja p\",\n      \"▁surprising ly\",\n      \"▁d ick\",\n      \"▁di ck\",\n      \"▁dic k\",\n      \"Dec oder\",\n      \"Decode r\",\n      \"▁se xy\",\n      \"▁sex y\",\n      \"ce des\",\n      \"ced es\",\n      \"c edes\",\n      \"▁б і\",\n      \"▁ бі\",\n      \"▁iter ation\",\n      \"cal c\",\n      \"ca lc\",\n      \")\\\\ ,\",\n      \") \\\\,\",\n      \"▁inf ant\",\n      \"▁so fa\",\n      \"▁L ol\",\n      \"▁Lo l\",\n      \"▁La uren\",\n      \"▁Lau ren\",\n      \"res pons\",\n      \"respon s\",\n      \"resp ons\",\n      \"▁L iv\",\n      \"▁Li v\",\n      \"▁n är\",\n      \"▁nä r\",\n      \"Consum er\",\n      \"Cons umer\",\n      \"een th\",\n      \"e enth\",\n      \"▁dev ient\",\n      \"▁B T\",\n      \"▁ BT\",\n      \"ding s\",\n      \"d ings\",\n      \"▁U P\",\n      \"▁ UP\",\n      \"▁Ukr ain\",\n      \"▁ф е\",\n      \"▁ фе\",\n      \"▁s pawn\",\n      \"▁sp awn\",\n      \"ye ct\",\n      \"y ect\",\n      \"ét ait\",\n      \"éta it\",\n      \"▁R oth\",\n      \"▁Ro th\",\n      \"▁Rot h\",\n      \"ло к\",\n      \"▁по бе\",\n      \"▁c attle\",\n      \"▁cat tle\",\n      \"▁style d\",\n      \"▁sty led\",\n      \"▁} ;\\r\",\n      \"▁}; \\r\",\n      \"▁ };\\r\",\n      \"l j\",\n      \"▁L anc\",\n      \"▁La nc\",\n      \"▁Lan c\",\n      \"▁Church ill\",\n      \"K S\",\n      \"▁r oi\",\n      \"▁ro i\",\n      \"▁б ри\",\n      \"▁ бри\",\n      \"▁про це\",\n      \"▁S car\",\n      \"▁Sc ar\",\n      \"IB UT\",\n      \"I BUT\",\n      \"ent in\",\n      \"enti n\",\n      \"▁N ou\",\n      \"▁No u\",\n      \"▁ur ge\",\n      \"▁urg e\",\n      \"▁B aron\",\n      \"▁Bar on\",\n      \"▁Ba ron\",\n      \"▁de vil\",\n      \"▁dev il\",\n      \"as sem\",\n      \"ass em\",\n      \"asse m\",\n      \"CL IENT\",\n      \"чи н\",\n      \"ч ин\",\n      \"▁g erm\",\n      \"▁ge rm\",\n      \"▁ger m\",\n      \"fun d\",\n      \"fu nd\",\n      \"f und\",\n      \"ki m\",\n      \"k im\",\n      \"▁App ly\",\n      \"▁Ap ply\",\n      \"▁ Apply\",\n      \"▁Б ер\",\n      \"▁Бе р\",\n      \"▁janu ari\",\n      \"х ра\",\n      \"ch em\",\n      \"che m\",\n      \"c hem\",\n      \"▁t hy\",\n      \"▁th y\",\n      \"▁ thy\",\n      \"S orry\",\n      \"▁S ri\",\n      \"▁Sr i\",\n      \"▁S hip\",\n      \"▁Sh ip\",\n      \"▁ Ship\",\n      \"▁half way\",\n      \"▁R um\",\n      \"▁Ru m\",\n      \"Sch eme\",\n      \"Sche me\",\n      \"▁C z\",\n      \"▁D MA\",\n      \"▁DM A\",\n      \"▁ DMA\",\n      \"▁enc oded\",\n      \"▁encode d\",\n      \"▁ encoded\",\n      \"it ize\",\n      \"iti ze\",\n      \"▁s ore\",\n      \"▁so re\",\n      \"▁sor e\",\n      \"By Name\",\n      \"FI N\",\n      \"F IN\",\n      \"▁or den\",\n      \"▁ord en\",\n      \"▁ orden\",\n      \"▁all ies\",\n      \"▁ Ł\",\n      \"▁Res erved\",\n      \"▁Reserve d\",\n      \"▁comp eting\",\n      \"▁compet ing\",\n      \"▁Co ord\",\n      \"▁ Coord\",\n      \"▁D rag\",\n      \"▁Dr ag\",\n      \"▁ Drag\",\n      \"Code c\",\n      \"Co dec\",\n      \"T ARGET\",\n      \"ctic ut\",\n      \"gr aded\",\n      \"grad ed\",\n      \"grade d\",\n      \"gra ded\",\n      \"▁an gel\",\n      \"▁ang el\",\n      \"▁ange l\",\n      \"▁ angel\",\n      \"▁screen ing\",\n      \"ri jk\",\n      \"rij k\",\n      \"r ijk\",\n      \"▁ade quate\",\n      \"ST ER\",\n      \"S TER\",\n      \"▁v ag\",\n      \"▁va g\",\n      \"▁w yst\",\n      \"▁wy st\",\n      \"▁kw args\",\n      \"▁ kwargs\",\n      \"▁comp iler\",\n      \"▁compile r\",\n      \"▁ compiler\",\n      \"▁main stream\",\n      \"▁d rm\",\n      \"▁dr m\",\n      \"Fi x\",\n      \"F ix\",\n      \"ill ion\",\n      \"▁erh ielt\",\n      \"▁v ain\",\n      \"▁va in\",\n      \"att ering\",\n      \"atter ing\",\n      \"atte ring\",\n      \"anal ysis\",\n      \"analy sis\",\n      \"te chn\",\n      \"tech n\",\n      \"▁M ovie\",\n      \"▁Mov ie\",\n      \"▁me jor\",\n      \"▁st reak\",\n      \"▁stre ak\",\n      \"> /\",\n      \"▁ро ди\",\n      \"▁ роди\",\n      \"▁sophistic ated\",\n      \"▁R he\",\n      \"▁Rh e\",\n      \"us sy\",\n      \"uss y\",\n      \"▁Sy ria\",\n      \"▁Car oline\",\n      \"▁Carol ine\",\n      \"riter ion\",\n      \"ér c\",\n      \"é rc\",\n      \"Lo ve\",\n      \"L ove\",\n      \"▁cy cles\",\n      \"▁cycle s\",\n      \"▁cycl es\",\n      \"▁Ter ms\",\n      \"▁Term s\",\n      \"▁med ieval\",\n      \"▁medi eval\",\n      \"ь я\",\n      \"▁m issions\",\n      \"▁miss ions\",\n      \"▁mission s\",\n      \"Har d\",\n      \"Ha rd\",\n      \"H ard\",\n      \"▁rég ion\",\n      \"▁Ph oenix\",\n      \"De ep\",\n      \"▁sam pling\",\n      \"▁dismiss ed\",\n      \"prop ri\",\n      \"p ropri\",\n      \"▁jud ges\",\n      \"▁judge s\",\n      \"▁judg es\",\n      \"ał a\",\n      \"a ła\",\n      \"ul os\",\n      \"ulo s\",\n      \"u los\",\n      \"▁L ion\",\n      \"▁Li on\",\n      \"▁loc als\",\n      \"▁local s\",\n      \"neg ative\",\n      \"ogen eous\",\n      \"ogene ous\",\n      \"▁A pi\",\n      \"▁Ap i\",\n      \"▁ Api\",\n      \"▁d ici\",\n      \"▁di ci\",\n      \"▁dic i\",\n      \"▁а пре\",\n      \"▁author ized\",\n      \"▁ authorized\",\n      \"ze rw\",\n      \"zer w\",\n      \"▁p g\",\n      \"▁ pg\",\n      \"▁A WS\",\n      \"▁key word\",\n      \"▁ keyword\",\n      \"▁entrepre neur\",\n      \"▁п рое\",\n      \"▁про е\",\n      \"▁V ancouver\",\n      \"it ating\",\n      \"ita ting\",\n      \"itat ing\",\n      \"F ast\",\n      \"▁acknowled ged\",\n      \"▁acknowledge d\",\n      \"▁tour ist\",\n      \"▁tou rist\",\n      \"▁G rid\",\n      \"▁Gr id\",\n      \"▁ Grid\",\n      \"▁En try\",\n      \"▁Ent ry\",\n      \"▁ Entry\",\n      \"▁g ebru\",\n      \"▁ge bru\",\n      \"▁geb ru\",\n      \"sa t\",\n      \"s at\",\n      \"ber ger\",\n      \"berg er\",\n      \"▁T F\",\n      \"▁ TF\",\n      \"▁m t\",\n      \"▁ mt\",\n      \"▁Mar cel\",\n      \"▁Marc el\",\n      \"▁Tw enty\",\n      \"▁ ”\",\n      \"{} {\",\n      \"{ }{\",\n      \"hi nt\",\n      \"hin t\",\n      \"h int\",\n      \"▁an onymous\",\n      \"Cam p\",\n      \"C amp\",\n      \"▁** _\",\n      \"By Comparator\",\n      \"U C\",\n      \"▁t ö\",\n      \"Event Handler\",\n      \"▁t ours\",\n      \"▁to urs\",\n      \"▁tour s\",\n      \"▁tou rs\",\n      \"▁lon ely\",\n      \"▁Sum mary\",\n      \"▁ Summary\",\n      \"st ick\",\n      \"s tick\",\n      \"All owed\",\n      \"Allow ed\",\n      \"лі в\",\n      \"л ів\",\n      \"▁B rew\",\n      \"▁Br ew\",\n      \"▁Bre w\",\n      \"AME TER\",\n      \"▁review ed\",\n      \"ir at\",\n      \"ira t\",\n      \"i rat\",\n      \"▁n erve\",\n      \"▁nerv e\",\n      \"▁ner ve\",\n      \"▁L inda\",\n      \"▁Lin da\",\n      \"▁Lind a\",\n      \"▁dec is\",\n      \"▁sp okes\",\n      \"▁spoke s\",\n      \"▁spo kes\",\n      \"▁qu ed\",\n      \"▁que d\",\n      \"▁q ued\",\n      \"▁F T\",\n      \"▁ FT\",\n      \"▁в ін\",\n      \"▁ві н\",\n      \"ou sing\",\n      \"ous ing\",\n      \"o using\",\n      \"▁L arge\",\n      \"▁Lar ge\",\n      \"▁ Large\",\n      \"▁op ponents\",\n      \"▁oppon ents\",\n      \"▁opponent s\",\n      \"▁D isc\",\n      \"▁Dis c\",\n      \"▁Di sc\",\n      \"Found ation\",\n      \"EQ UAL\",\n      \"og g\",\n      \"o gg\",\n      \"Re try\",\n      \"Ret ry\",\n      \"R etry\",\n      \"CHAN NEL\",\n      \"▁Е вро\",\n      \"▁% .\",\n      \"▁ %.\",\n      \"▁i i\",\n      \"▁ ii\",\n      \"de ad\",\n      \"d ead\",\n      \"▁M ale\",\n      \"▁Mal e\",\n      \"▁Ma le\",\n      \"Com pleted\",\n      \"Comp leted\",\n      \"Complete d\",\n      \"ty p\",\n      \"t yp\",\n      \"▁Ty ler\",\n      \"Dis k\",\n      \"Di sk\",\n      \"D isk\",\n      \"Hi de\",\n      \"H ide\",\n      \"iju ana\",\n      \"▁public ations\",\n      \"▁publication s\",\n      \"fo x\",\n      \"f ox\",\n      \"vis ed\",\n      \"vi sed\",\n      \"v ised\",\n      \"Fore ign\",\n      \"Write Line\",\n      \"де ра\",\n      \"дер а\",\n      \"▁remain der\",\n      \"Pi cker\",\n      \"P icker\",\n      \"we alth\",\n      \"▁G or\",\n      \"▁Go r\",\n      \"sequ ently\",\n      \"▁coll ision\",\n      \"▁Harr ison\",\n      \"▁Harris on\",\n      \"▁work place\",\n      \"▁N ormal\",\n      \"▁Nor mal\",\n      \"▁Norm al\",\n      \"▁ Normal\",\n      \"▁B irth\",\n      \"▁Bir th\",\n      \"▁cons ume\",\n      \"▁consum e\",\n      \"Sh ift\",\n      \"▁avoid ing\",\n      \"▁C ha\",\n      \"▁Ch a\",\n      \"▁An ti\",\n      \"▁Ant i\",\n      \"▁ch arts\",\n      \"▁char ts\",\n      \"▁chart s\",\n      \"▁P av\",\n      \"▁Pa v\",\n      \"ст вом\",\n      \"ство м\",\n      \"ual mente\",\n      \"an ed\",\n      \"ane d\",\n      \"a ned\",\n      \"▁A uch\",\n      \"▁Au ch\",\n      \"rd ev\",\n      \"r dev\",\n      \"▁she er\",\n      \"▁an gl\",\n      \"▁ang l\",\n      \"sub str\",\n      \"Gener ate\",\n      \"> =\",\n      \"▁B ev\",\n      \"▁Be v\",\n      \"▁ч ем\",\n      \"▁че м\",\n      \"▁camp o\",\n      \"▁cam po\",\n      \"▁lect ure\",\n      \"hy per\",\n      \"▁Balt imore\",\n      \"mi x\",\n      \"m ix\",\n      \"ke iten\",\n      \"keit en\",\n      \"▁ра ди\",\n      \"▁l asted\",\n      \"▁la sted\",\n      \"▁last ed\",\n      \"▁las ted\",\n      \"▁discrim ination\",\n      \"ig te\",\n      \"igt e\",\n      \"ok al\",\n      \"oka l\",\n      \"o kal\",\n      \"Ph ase\",\n      \"▁T itel\",\n      \"▁Tit el\",\n      \"▁Fif th\",\n      \"▁di agnostic\",\n      \"su ng\",\n      \"sun g\",\n      \"s ung\",\n      \"▁giorn ata\",\n      \"os ta\",\n      \"ost a\",\n      \"o sta\",\n      \"is co\",\n      \"isc o\",\n      \"▁S ara\",\n      \"▁Sa ra\",\n      \"▁Sar a\",\n      \"m v\",\n      \"▁el ő\",\n      \"▁R osen\",\n      \"▁Ro sen\",\n      \"▁Ros en\",\n      \"▁Rose n\",\n      \"▁E SP\",\n      \"▁ES P\",\n      \"ph er\",\n      \"p her\",\n      \"▁a j\",\n      \"▁ aj\",\n      \"Path s\",\n      \"Pat hs\",\n      \"▁R alph\",\n      \"▁ž e\",\n      \"▁ že\",\n      \"ре в\",\n      \"р ев\",\n      \"▁о коло\",\n      \"▁ок оло\",\n      \"▁Ag reement\",\n      \"▁Word Press\",\n      \"an try\",\n      \"ant ry\",\n      \"▁p icks\",\n      \"▁pick s\",\n      \"▁pi cks\",\n      \"▁pic ks\",\n      \"▁N ur\",\n      \"▁Nu r\",\n      \"chedul ed\",\n      \"ki e\",\n      \"k ie\",\n      \"▁represent ations\",\n      \"▁representation s\",\n      \"++ ){\",\n      \"++) {\",\n      \"ess ment\",\n      \"▁count less\",\n      \"Block s\",\n      \"Bl ocks\",\n      \"Blo cks\",\n      \"ym e\",\n      \"y me\",\n      \"▁c lo\",\n      \"▁cl o\",\n      \"▁B ened\",\n      \"▁Be ned\",\n      \"▁Ben ed\",\n      \"ch ars\",\n      \"char s\",\n      \"cha rs\",\n      \"▁A gent\",\n      \"▁Ag ent\",\n      \"▁Age nt\",\n      \"▁ Agent\",\n      \"▁hist oria\",\n      \"▁histor ia\",\n      \"▁F loor\",\n      \"▁Fl oor\",\n      \"▁Flo or\",\n      \"▁ten ía\",\n      \"▁long est\",\n      \"▁lon gest\",\n      \"fr ica\",\n      \"▁b ef\",\n      \"▁be f\",\n      \"▁mechan isms\",\n      \"▁mechanism s\",\n      \"ла зи\",\n      \"▁h eter\",\n      \"▁he ter\",\n      \"▁het er\",\n      \"▁athlet es\",\n      \"▁period ic\",\n      \"▁V otes\",\n      \"▁Vo tes\",\n      \"ри сти\",\n      \"▁n á\",\n      \"▁ ná\",\n      \"▁m aid\",\n      \"▁ma id\",\n      \"▁mai d\",\n      \"▁s wear\",\n      \"▁sw ear\",\n      \"▁swe ar\",\n      \"▁wip ed\",\n      \"▁graph s\",\n      \"▁grap hs\",\n      \"▁t hesis\",\n      \"▁the sis\",\n      \"▁th esis\",\n      \"▁sens ation\",\n      \"pers istence\",\n      \"▁V il\",\n      \"▁Vi l\",\n      \"ac s\",\n      \"a cs\",\n      \"▁de el\",\n      \"sc rib\",\n      \"scri b\",\n      \"scr ib\",\n      \"ie ro\",\n      \"ier o\",\n      \"i ero\",\n      \"▁dis cre\",\n      \"▁disc re\",\n      \"air y\",\n      \"ai ry\",\n      \"Data Source\",\n      \"q t\",\n      \"ic iones\",\n      \"ici ones\",\n      \"icio nes\",\n      \"icion es\",\n      \"▁res pected\",\n      \"▁respect ed\",\n      \"▁f ram\",\n      \"▁fr am\",\n      \"▁fra m\",\n      \"▁spec ialized\",\n      \"▁special ized\",\n      \"▁prés ent\",\n      \"▁pré sent\",\n      \"Tur n\",\n      \"T urn\",\n      \"▁compl aints\",\n      \"▁complain ts\",\n      \"▁complaint s\",\n      \"(\\\" ,\",\n      \"( \\\",\",\n      \"▁Rel ated\",\n      \"▁Set ting\",\n      \"▁ Setting\",\n      \"р ю\",\n      \"▁s ą\",\n      \"▁P le\",\n      \"▁Pl e\",\n      \"▁d isse\",\n      \"▁dis se\",\n      \"▁diss e\",\n      \"ca ps\",\n      \"cap s\",\n      \"c aps\",\n      \"▁C ash\",\n      \"▁Cas h\",\n      \"▁Ca sh\",\n      \"▁cons umed\",\n      \"▁consum ed\",\n      \"▁consume d\",\n      \"▁l b\",\n      \"▁ lb\",\n      \"Ad just\",\n      \"Ser ialize\",\n      \"Serial ize\",\n      \"S erialize\",\n      \"is y\",\n      \"i sy\",\n      \"▁pat ent\",\n      \"▁vis ibility\",\n      \"▁S ach\",\n      \"▁Sa ch\",\n      \"▁Sac h\",\n      \"ün st\",\n      \"▁cy ber\",\n      \"▁Bl ake\",\n      \"▁Bl oom\",\n      \"▁Blo om\",\n      \"▁Sh ah\",\n      \"▁Sha h\",\n      \"PO WER\",\n      \"▁in clusion\",\n      \"▁incl usion\",\n      \"se rie\",\n      \"ser ie\",\n      \"s erie\",\n      \"▁man era\",\n      \"sec onds\",\n      \"second s\",\n      \"is ches\",\n      \"isch es\",\n      \"ische s\",\n      \"isc hes\",\n      \"▁C andidate\",\n      \"W D\",\n      \"op ath\",\n      \"o path\",\n      \"▁про гра\",\n      \"▁efficient ly\",\n      \"ap ps\",\n      \"app s\",\n      \"tool bar\",\n      \"we nd\",\n      \"wen d\",\n      \"w end\",\n      \"▁Ne il\",\n      \"▁form ats\",\n      \"▁format s\",\n      \"▁forma ts\",\n      \"▁T emplate\",\n      \"▁Temp late\",\n      \"▁ Template\",\n      \"▁min istry\",\n      \"▁minist ry\",\n      \"▁Char acter\",\n      \"▁ Character\",\n      \"Un iform\",\n      \"▁fon ction\",\n      \"не м\",\n      \"н ем\",\n      \"Wh ile\",\n      \"к ва\",\n      \"рі я\",\n      \"▁D L\",\n      \"▁ DL\",\n      \"▁L ayout\",\n      \"▁La yout\",\n      \"▁Lay out\",\n      \"▁ Layout\",\n      \"не ние\",\n      \"▁c aval\",\n      \"▁ca val\",\n      \"▁cav al\",\n      \"▁H ob\",\n      \"▁Ho b\",\n      \"SP I\",\n      \"S PI\",\n      \"▁h ely\",\n      \"▁he ly\",\n      \"▁hel y\",\n      \"Dest ination\",\n      \"), \\r\",\n      \") ,\\r\",\n      \"▁i OS\",\n      \"▁ad mission\",\n      \"▁adm ission\",\n      \"▁c ss\",\n      \"▁cs s\",\n      \"▁ css\",\n      \"user Id\",\n      \"um bling\",\n      \"umb ling\",\n      \"▁bo oking\",\n      \"▁book ing\",\n      \"▁COPY RIGHT\",\n      \"▁b land\",\n      \"▁bl and\",\n      \"output s\",\n      \"▁sub mission\",\n      \"▁subm ission\",\n      \"ti t\",\n      \"t it\",\n      \"fe ctions\",\n      \"fect ions\",\n      \"fection s\",\n      \"fr agment\",\n      \"frag ment\",\n      \"▁fa ç\",\n      \"▁Through out\",\n      \"▁distingu ished\",\n      \"▁distinguish ed\",\n      \"▁ar range\",\n      \"▁arr ange\",\n      \"▁arrang e\",\n      \"ume ric\",\n      \"umer ic\",\n      \"xf e\",\n      \"x fe\",\n      \"ip age\",\n      \"ipa ge\",\n      \"i page\",\n      \"ер жа\",\n      \"▁C ars\",\n      \"▁Car s\",\n      \"▁Ca rs\",\n      \"▁P AGE\",\n      \"▁PA GE\",\n      \"▁ PAGE\",\n      \"▁a unque\",\n      \"▁insert ed\",\n      \"smith y\",\n      \"AL LOC\",\n      \"ALL OC\",\n      \"RE C\",\n      \"R EC\",\n      \"▁B ak\",\n      \"▁Ba k\",\n      \"▁Str ong\",\n      \"ac hen\",\n      \"ach en\",\n      \"ache n\",\n      \"a chen\",\n      \"▁Spec ific\",\n      \"w q\",\n      \"▁Д у\",\n      \"MO VE\",\n      \"▁mús ica\",\n      \"▁C ris\",\n      \"▁Cr is\",\n      \"ea u\",\n      \"e au\",\n      \"▁F orum\",\n      \"▁For um\",\n      \"▁Fo rum\",\n      \"li sted\",\n      \"list ed\",\n      \"l isted\",\n      \")\\\\ \\\\\",\n      \") \\\\\\\\\",\n      \"▁X VI\",\n      \"▁XV I\",\n      \"▁м оло\",\n      \"▁мо ло\",\n      \"/ $\",\n      \"Be r\",\n      \"B er\",\n      \"▁tact ics\",\n      \"Form atter\",\n      \"Format ter\",\n      \"op ens\",\n      \"ope ns\",\n      \"open s\",\n      \"▁r h\",\n      \"▁ rh\",\n      \"▁t ram\",\n      \"▁tr am\",\n      \"▁tra m\",\n      \"V L\",\n      \"▁Pro file\",\n      \"▁Prof ile\",\n      \"▁ Profile\",\n      \"▁par ish\",\n      \"▁Ray mond\",\n      \"▁cont empor\",\n      \"▁Pl anning\",\n      \"▁Plan ning\",\n      \"▁Ч е\",\n      \"▁A RM\",\n      \"▁AR M\",\n      \"▁ ARM\",\n      \"▁des ires\",\n      \"▁desire s\",\n      \"k v\",\n      \"O s\",\n      \"▁m iner\",\n      \"▁min er\",\n      \"▁mi ner\",\n      \"▁mine r\",\n      \"▁qual ify\",\n      \"ik u\",\n      \"i ku\",\n      \"▁der ni\",\n      \"ol óg\",\n      \"▁K id\",\n      \"▁Ki d\",\n      \"ane an\",\n      \"▁Hol land\",\n      \"▁Holl and\",\n      \"Aut om\",\n      \"Auto m\",\n      \"▁Hamilton ian\",\n      \"St ation\",\n      \"Stat ion\",\n      \"js p\",\n      \"j sp\",\n      \"▁YO UR\",\n      \"▁YOU R\",\n      \"▁Th ailand\",\n      \"effect ive\",\n      \"п ло\",\n      \"▁relie ved\",\n      \"▁O klahoma\",\n      \"▁Jul ian\",\n      \"▁Juli an\",\n      \"▁Julia n\",\n      \"▁ind ent\",\n      \"▁inde nt\",\n      \"▁ indent\",\n      \"if r\",\n      \"i fr\",\n      \"пре де\",\n      \"▁fl ame\",\n      \"on io\",\n      \"oni o\",\n      \"o nio\",\n      \"As sign\",\n      \"Ass ign\",\n      \"▁sh ifts\",\n      \"▁shift s\",\n      \"▁car acter\",\n      \"▁caract er\",\n      \"if icates\",\n      \"ific ates\",\n      \"ificate s\",\n      \"ifica tes\",\n      \"X R\",\n      \"▁G FP\",\n      \"▁GF P\",\n      \"FE ATURE\",\n      \"▁M aine\",\n      \"▁Ma ine\",\n      \"▁Main e\",\n      \"▁Mai ne\",\n      \"▁f rank\",\n      \"▁fr ank\",\n      \"▁al igned\",\n      \"▁align ed\",\n      \"▁ aligned\",\n      \"▁p ří\",\n      \"▁př í\",\n      \"Code Attribute\",\n      \"▁M AC\",\n      \"▁MA C\",\n      \"▁ MAC\",\n      \"▁R oot\",\n      \"▁Ro ot\",\n      \"▁ Root\",\n      \"▁F M\",\n      \"▁ FM\",\n      \"erv ation\",\n      \"с лі\",\n      \"▁s hy\",\n      \"▁sh y\",\n      \"▁partic ul\",\n      \"▁parti cul\",\n      \"pl atz\",\n      \"▁hypothes is\",\n      \"at hol\",\n      \"ath ol\",\n      \"s With\",\n      \"J s\",\n      \"$ ^{-\",\n      \"▁#! /\",\n      \"▁l emon\",\n      \"▁le mon\",\n      \"▁a bol\",\n      \"▁ab ol\",\n      \"▁ abol\",\n      \"▁Mil an\",\n      \"▁Mi lan\",\n      \"an ten\",\n      \"ant en\",\n      \"ante n\",\n      \"a nten\",\n      \"▁s ia\",\n      \"▁si a\",\n      \"ri as\",\n      \"ria s\",\n      \"r ias\",\n      \"▁con sid\",\n      \"▁cons id\",\n      \"as so\",\n      \"ass o\",\n      \"ain ers\",\n      \"ai ners\",\n      \"ainer s\",\n      \"aine rs\",\n      \"▁cir ca\",\n      \"▁circ a\",\n      \"re try\",\n      \"ret ry\",\n      \"r etry\",\n      \"▁nue vo\",\n      \"const ants\",\n      \"constant s\",\n      \"▁Med iterr\",\n      \"▁Turk ish\",\n      \"ion en\",\n      \"io nen\",\n      \"ione n\",\n      \"i onen\",\n      \"c rypto\",\n      \"▁ev olved\",\n      \"▁\\\" </\",\n      \"▁\\\"< /\",\n      \"▁Us ually\",\n      \"▁h anno\",\n      \"▁han no\",\n      \"▁M T\",\n      \"▁ MT\",\n      \"Dim ension\",\n      \"on ial\",\n      \"oni al\",\n      \"onia l\",\n      \"▁close t\",\n      \"▁clos et\",\n      \"▁clo set\",\n      \"▁st ride\",\n      \"▁str ide\",\n      \"▁stri de\",\n      \"▁ stride\",\n      \"▁e pid\",\n      \"▁ep id\",\n      \"▁Histor ical\",\n      \"▁Historic al\",\n      \"▁Creat ive\",\n      \"▁Cre ative\",\n      \"▁att acking\",\n      \"▁attack ing\",\n      \"▁Int roduction\",\n      \"▁ Introduction\",\n      \"▁v ita\",\n      \"▁vi ta\",\n      \"▁vit a\",\n      \"▁st ating\",\n      \"▁stat ing\",\n      \"▁sta ting\",\n      \"▁en velope\",\n      \"▁vol atile\",\n      \"-- ------------\",\n      \"---- ----------\",\n      \"-------- ------\",\n      \"--- -----------\",\n      \"------------ --\",\n      \"----- ---------\",\n      \"---------- ----\",\n      \"------ --------\",\n      \"------------- -\",\n      \"--------- -----\",\n      \"------- -------\",\n      \"----------- ---\",\n      \"- -------------\",\n      \"ga in\",\n      \"g ain\",\n      \"▁t oggle\",\n      \"▁togg le\",\n      \"▁ toggle\",\n      \"In tegr\",\n      \"Int egr\",\n      \"BU T\",\n      \"B UT\",\n      \"▁def ending\",\n      \"▁defend ing\",\n      \"aa l\",\n      \"a al\",\n      \"▁M ong\",\n      \"▁Mon g\",\n      \"▁Mo ng\",\n      \"▁refr iger\",\n      \"clean up\",\n      \"▁par ked\",\n      \"▁park ed\",\n      \"n f\",\n      \"▁l ighter\",\n      \"▁light er\",\n      \"▁reg istry\",\n      \"▁registr y\",\n      \"▁ registry\",\n      \"▁Ann ual\",\n      \"▁testim ony\",\n      \"▁Har per\",\n      \"Debug ger\",\n      \"olog ically\",\n      \"ological ly\",\n      \"▁comp iled\",\n      \"▁compile d\",\n      \"Ha r\",\n      \"H ar\",\n      \"▁G raf\",\n      \"▁Gr af\",\n      \"▁Gra f\",\n      \"▁hall way\",\n      \"▁n orte\",\n      \"▁nor te\",\n      \"▁nort e\",\n      \"▁Rest aur\",\n      \"▁L oren\",\n      \"▁Lo ren\",\n      \"▁Lor en\",\n      \"j j\",\n      \"▁p hr\",\n      \"▁ph r\",\n      \"in ters\",\n      \"int ers\",\n      \"inter s\",\n      \"inte rs\",\n      \"▁conver gence\",\n      \"ue se\",\n      \"ues e\",\n      \"u ese\",\n      \"control s\",\n      \"contr ols\",\n      \"st ride\",\n      \"str ide\",\n      \"stri de\",\n      \"▁val or\",\n      \"▁va lor\",\n      \"є ю\",\n      \"es en\",\n      \"ese n\",\n      \"e sen\",\n      \"END OR\",\n      \"gl ob\",\n      \"▁s ha\",\n      \"▁sh a\",\n      \"▁ sha\",\n      \"▁Ut ah\",\n      \"wall et\",\n      \"wal let\",\n      \"w allet\",\n      \"\\\\ /\",\n      \"▁N atal\",\n      \"▁Na tal\",\n      \"▁Nat al\",\n      \"▁mod est\",\n      \"▁mo dest\",\n      \"▁mode st\",\n      \"▁modes t\",\n      \"ad r\",\n      \"a dr\",\n      \"▁pro xim\",\n      \"sbur gh\",\n      \"sburg h\",\n      \"s burgh\",\n      \"▁ed ific\",\n      \"▁qu eries\",\n      \"▁que ries\",\n      \"▁quer ies\",\n      \"arch ive\",\n      \"▁p ine\",\n      \"▁pi ne\",\n      \"▁pin e\",\n      \"▁ í\",\n      \"HE ADER\",\n      \"HEAD ER\",\n      \"▁t c\",\n      \"▁ tc\",\n      \"ps y\",\n      \"p sy\",\n      \"▁b east\",\n      \"▁be ast\",\n      \"▁determ ining\",\n      \"▁determin ing\",\n      \"▁j unk\",\n      \"▁jun k\",\n      \"▁cre ep\",\n      \"co ls\",\n      \"col s\",\n      \"c ols\",\n      \"▁n an\",\n      \"▁na n\",\n      \"▁ nan\",\n      \"▁port ions\",\n      \"▁portion s\",\n      \"im os\",\n      \"imo s\",\n      \"i mos\",\n      \"gr u\",\n      \"g ru\",\n      \"▁Z ero\",\n      \"▁Ze ro\",\n      \"▁ Zero\",\n      \"be ck\",\n      \"bec k\",\n      \"▁Ste vens\",\n      \"▁Steve ns\",\n      \"▁Steven s\",\n      \"numer ic\",\n      \"n umeric\",\n      \"▁gu ided\",\n      \"▁guide d\",\n      \"▁guid ed\",\n      \"▁P ool\",\n      \"▁Po ol\",\n      \"▁ Pool\",\n      \"он е\",\n      \"о не\",\n      \"▁G el\",\n      \"▁Ge l\",\n      \"▁a ce\",\n      \"▁ac e\",\n      \"▁ ace\",\n      \"▁а н\",\n      \"▁ ан\",\n      \"▁S au\",\n      \"▁Sa u\",\n      \"ch ten\",\n      \"cht en\",\n      \"chte n\",\n      \"Oper ations\",\n      \"Operation s\",\n      \"S F\",\n      \"▁im prison\",\n      \"▁un ity\",\n      \"▁unit y\",\n      \"▁ unity\",\n      \"▁' ''\",\n      \"▁'' '\",\n      \"▁ '''\",\n      \"▁may o\",\n      \"▁ma yo\",\n      \"ek en\",\n      \"e ken\",\n      \"▁f aded\",\n      \"▁fa ded\",\n      \"▁fade d\",\n      \"▁Con vention\",\n      \"en tre\",\n      \"ent re\",\n      \"entr e\",\n      \"compat ible\",\n      \"ní ho\",\n      \"Th an\",\n      \"T han\",\n      \"▁för st\",\n      \"▁wides pread\",\n      \"dir ty\",\n      \"d irty\",\n      \"▁Ne gro\",\n      \"▁Neg ro\",\n      \"ki l\",\n      \"k il\",\n      \"do es\",\n      \"d oes\",\n      \"land o\",\n      \"lan do\",\n      \"l ando\",\n      \"▁catch ing\",\n      \"▁cat ching\",\n      \"▁c ere\",\n      \"▁ce re\",\n      \"▁cer e\",\n      \"▁Illegal Argument\",\n      \"▁Port land\",\n      \"▁St uart\",\n      \"ERN AL\",\n      \"▁pe nis\",\n      \"▁pen is\",\n      \"▁brut al\",\n      \"▁bru tal\",\n      \"▁h ed\",\n      \"▁he d\",\n      \"▁ hed\",\n      \"form ing\",\n      \"for ming\",\n      \"Array s\",\n      \"Arr ays\",\n      \"▁T ABLE\",\n      \"▁ TABLE\",\n      \"▁le ase\",\n      \"▁ lease\",\n      \"▁equip o\",\n      \"on do\",\n      \"ond o\",\n      \"face book\",\n      \"fac ebook\",\n      \"EO F\",\n      \"E OF\",\n      \"g z\",\n      \"▁i rq\",\n      \"▁ir q\",\n      \"▁ irq\",\n      \"▁sent ences\",\n      \"▁sentence s\",\n      \"▁diffé rent\",\n      \"av g\",\n      \"dep endent\",\n      \"depend ent\",\n      \"▁R ender\",\n      \"▁Re nder\",\n      \"▁Ren der\",\n      \"▁ Render\",\n      \"▁ha ar\",\n      \"over ride\",\n      \"▁house holds\",\n      \"▁household s\",\n      \"dr o\",\n      \"d ro\",\n      \"De code\",\n      \"Dec ode\",\n      \"PC M\",\n      \"P CM\",\n      \"▁un ders\",\n      \"▁und ers\",\n      \"▁under s\",\n      \"▁L ap\",\n      \"▁La p\",\n      \"▁accompan ying\",\n      \"▁accompany ing\",\n      \"/ _\",\n      \"DE C\",\n      \"D EC\",\n      \"▁B is\",\n      \"▁Bi s\",\n      \"▁e pic\",\n      \"▁ep ic\",\n      \"an gs\",\n      \"ang s\",\n      \"par ency\",\n      \"pa rency\",\n      \"paren cy\",\n      \"▁L loyd\",\n      \"g mail\",\n      \"up iter\",\n      \"al ties\",\n      \"alt ies\",\n      \"] \\\",\",\n      \"▁cop ied\",\n      \"▁Pro perties\",\n      \"▁ Properties\",\n      \"DA T\",\n      \"D AT\",\n      \"NU MBER\",\n      \"NUM BER\",\n      \"▁с ов\",\n      \"▁со в\",\n      \"▁ сов\",\n      \"ok i\",\n      \"o ki\",\n      \"▁Be hind\",\n      \"▁H av\",\n      \"▁Ha v\",\n      \"▁C hat\",\n      \"▁Ch at\",\n      \"▁Cha t\",\n      \"▁ Chat\",\n      \"▁psych ology\",\n      \"▁F ellow\",\n      \"▁Fel low\",\n      \"▁e poch\",\n      \"▁ep och\",\n      \"▁ epoch\",\n      \"▁a unt\",\n      \"▁au nt\",\n      \"▁K inder\",\n      \"▁Kind er\",\n      \"▁Ki nder\",\n      \"▁Kin der\",\n      \"BA D\",\n      \"B AD\",\n      \"ENABLE D\",\n      \"▁complet ing\",\n      \"▁compl eting\",\n      \"▁pre sid\",\n      \"▁pres id\",\n      \"но ве\",\n      \"нов е\",\n      \"▁H at\",\n      \"▁Ha t\",\n      \"▁n ested\",\n      \"▁ne sted\",\n      \"▁nest ed\",\n      \"▁ nested\",\n      \"▁arch ive\",\n      \"▁ archive\",\n      \"CO ND\",\n      \"CON D\",\n      \"j à\",\n      \"ми ра\",\n      \"мир а\",\n      \"▁effect iveness\",\n      \"▁effective ness\",\n      \"▁incorpor ated\",\n      \"▁incorporate d\",\n      \"▁tou jours\",\n      \"inter rupt\",\n      \"Run ning\",\n      \"R unning\",\n      \"▁al ler\",\n      \"▁all er\",\n      \"▁alle r\",\n      \"▁ aller\",\n      \"▁so uls\",\n      \"▁sou ls\",\n      \"▁soul s\",\n      \"Re ply\",\n      \"Rep ly\",\n      \"ne ut\",\n      \"▁inter ven\",\n      \"WA IT\",\n      \"H i\",\n      \"ek s\",\n      \"e ks\",\n      \"olog ía\",\n      \"▁sche mes\",\n      \"▁scheme s\",\n      \"dz ie\",\n      \"d zie\",\n      \"ol ph\",\n      \"be y\",\n      \"b ey\",\n      \"▁w itch\",\n      \"ch oice\",\n      \"cho ice\",\n      \"▁mer chant\",\n      \"▁merch ant\",\n      \"▁In fan\",\n      \"▁Inf an\",\n      \"/$ {\",\n      \"/ ${\",\n      \"▁Con struct\",\n      \"▁Const ruct\",\n      \"▁ Construct\",\n      \"▁s pher\",\n      \"▁sp her\",\n      \"▁ad diction\",\n      \"▁add iction\",\n      \"▁sc iences\",\n      \"▁science s\",\n      \"é ben\",\n      \"▁register s\",\n      \"ac hi\",\n      \"ach i\",\n      \"a chi\",\n      \"▁pen etr\",\n      \"au ses\",\n      \"ause s\",\n      \"aus es\",\n      \"a uses\",\n      \"▁pre scription\",\n      \"▁pres cription\",\n      \"print StackTrace\",\n      \"▁tr unc\",\n      \"f printf\",\n      \"H H\",\n      \"Op code\",\n      \"▁user Id\",\n      \"▁ userId\",\n      \"▁Agr icult\",\n      \"▁рай оне\",\n      \"▁райо не\",\n      \"▁район е\",\n      \"па н\",\n      \"п ан\",\n      \"ic ió\",\n      \"ici ó\",\n      \"i ció\",\n      \"▁recip ient\",\n      \"Wh e\",\n      \"W he\",\n      \"ui ts\",\n      \"uit s\",\n      \"u its\",\n      \"▁но в\",\n      \"▁н ов\",\n      \"▁ нов\",\n      \"▁Y ang\",\n      \"▁Yan g\",\n      \"▁Ya ng\",\n      \"gl ass\",\n      \"glas s\",\n      \"g lass\",\n      \"▁gr inding\",\n      \"▁grin ding\",\n      \"▁Ar men\",\n      \"▁Arm en\",\n      \"▁V iv\",\n      \"▁Vi v\",\n      \"▁n aval\",\n      \"▁na val\",\n      \"▁nav al\",\n      \"▁se lon\",\n      \"▁sel on\",\n      \"B and\",\n      \"▁représ ent\",\n      \"]{ \\\\\",\n      \"] {\\\\\",\n      \"▁l ä\",\n      \"▁ lä\",\n      \"om as\",\n      \"oma s\",\n      \"o mas\",\n      \"▁district s\",\n      \"ш ки\",\n      \"▁Me et\",\n      \"ic ates\",\n      \"ica tes\",\n      \"icate s\",\n      \"▁sh outing\",\n      \"▁shout ing\",\n      \"ag ner\",\n      \"agn er\",\n      \"agne r\",\n      \"▁s ect\",\n      \"▁se ct\",\n      \"▁sec t\",\n      \"▁ sect\",\n      \"▁d ello\",\n      \"▁del lo\",\n      \"▁dell o\",\n      \"▁f ighter\",\n      \"▁fight er\",\n      \"tool tip\",\n      \"▁Int ent\",\n      \"▁ Intent\",\n      \"▁div isions\",\n      \"▁division s\",\n      \"▁divis ions\",\n      \"▁ex ponent\",\n      \"▁В і\",\n      \"SY NC\",\n      \"▁j okes\",\n      \"▁jo kes\",\n      \"▁joke s\",\n      \"UE S\",\n      \"U ES\",\n      \"Ar row\",\n      \"Arr ow\",\n      \"▁subst itute\",\n      \"ере д\",\n      \"е ред\",\n      \"▁на род\",\n      \"▁ народ\",\n      \"▁se am\",\n      \"▁sea m\",\n      \"▁M undial\",\n      \"(' <\",\n      \"mi le\",\n      \"mil e\",\n      \"m ile\",\n      \"▁м ор\",\n      \"▁мо р\",\n      \"▁ мор\",\n      \"▁O B\",\n      \"▁ OB\",\n      \"▁z am\",\n      \"▁za m\",\n      \"uff icient\",\n      \"Ph il\",\n      \"Phi l\",\n      \"dir e\",\n      \"di re\",\n      \"d ire\",\n      \"Op ts\",\n      \"Opt s\",\n      \"O pts\",\n      \"▁fright ened\",\n      \"if ace\",\n      \"ifa ce\",\n      \"i face\",\n      \"▁o tras\",\n      \"▁ot ras\",\n      \"▁otra s\",\n      \"uf fy\",\n      \"uff y\",\n      \"ei ght\",\n      \"e ight\",\n      \"An n\",\n      \"A nn\",\n      \"▁Adm iral\",\n      \"US H\",\n      \"U SH\",\n      \"}, {\",\n      \"▁t ijd\",\n      \"▁ti jd\",\n      \"ew ard\",\n      \"e ward\",\n      \"▁Egypt ian\",\n      \"▁E ra\",\n      \"▁Er a\",\n      \"▁a ur\",\n      \"▁au r\",\n      \"▁ aur\",\n      \"▁ре жи\",\n      \"щ у\",\n      \"at an\",\n      \"ata n\",\n      \"a tan\",\n      \"▁c zas\",\n      \"▁cz as\",\n      \"▁ czas\",\n      \"▁tack le\",\n      \"▁pe cul\",\n      \"R o\",\n      \"▁pres erved\",\n      \"▁preserv ed\",\n      \"▁preserve d\",\n      \"> ?\",\n      \"▁p úblic\",\n      \"▁comp rend\",\n      \"▁compre nd\",\n      \"▁compr end\",\n      \"al lo\",\n      \"all o\",\n      \"zo om\",\n      \"z oom\",\n      \"▁dat etime\",\n      \"▁date time\",\n      \"▁ datetime\",\n      \"▁mond iale\",\n      \"ма т\",\n      \"м ат\",\n      \"▁M ask\",\n      \"▁Ma sk\",\n      \"▁Mas k\",\n      \"▁ Mask\",\n      \"▁p row\",\n      \"▁pro w\",\n      \"▁pr ow\",\n      \"▁belong ing\",\n      \"+ '\",\n      \"OUT PUT\",\n      \"▁G rab\",\n      \"▁Gr ab\",\n      \"▁Gra b\",\n      \"M ir\",\n      \"▁accommod ate\",\n      \"▁$ ('#\",\n      \"▁ $('#\",\n      \"▁Lou ise\",\n      \"▁Louis e\",\n      \"▁da mit\",\n      \"▁dam it\",\n      \"}' ,\",\n      \"} ',\",\n      \"scri pts\",\n      \"script s\",\n      \"sn apshot\",\n      \"snap shot\",\n      \"▁sh itty\",\n      \"▁shit ty\",\n      \"▁y o\",\n      \"▁ yo\",\n      \"▁belie ving\",\n      \"▁inhabit ants\",\n      \"W P\",\n      \"▁Colomb ia\",\n      \"li sts\",\n      \"list s\",\n      \"l ists\",\n      \"▁Mur phy\",\n      \"Data set\",\n      \"Dat aset\",\n      \"▁(! $\",\n      \"▁tremend ous\",\n      \"▁se ñ\",\n      \"▁S ed\",\n      \"▁Se d\",\n      \"▁sw allowed\",\n      \"▁swallow ed\",\n      \"om p\",\n      \"o mp\",\n      \"▁L ate\",\n      \"▁La te\",\n      \"▁Lat e\",\n      \"▁an ys\",\n      \"▁any s\",\n      \"▁dead ly\",\n      \"fol low\",\n      \"f ollow\",\n      \"▁A nc\",\n      \"▁An c\",\n      \"▁h w\",\n      \"▁ hw\",\n      \"wik ipedia\",\n      \"ic ts\",\n      \"ict s\",\n      \"▁Al aska\",\n      \"▁sc ary\",\n      \"▁scar y\",\n      \"▁second o\",\n      \"▁sec ondo\",\n      \"▁her oes\",\n      \"▁hero es\",\n      \"▁veter an\",\n      \"▁behav iors\",\n      \"▁behavior s\",\n      \"▁behavi ors\",\n      \"- %\",\n      \"▁E z\",\n      \"▁с і\",\n      \"▁ сі\",\n      \"tik z\",\n      \"▁spect acular\",\n      \"▁Ch ron\",\n      \"▁( @\",\n      \"▁ (@\",\n      \"▁de mo\",\n      \"▁dem o\",\n      \"▁ demo\",\n      \"▁ser ialized\",\n      \"▁serial ized\",\n      \"▁In depend\",\n      \"▁Indep end\",\n      \"BU ILD\",\n      \"fail ure\",\n      \"▁P ORT\",\n      \"▁PO RT\",\n      \"▁ PORT\",\n      \"ю чи\",\n      \"▁med itation\",\n      \"sample s\",\n      \"sam ples\",\n      \"s amples\",\n      \"i ão\",\n      \"▁Ни кола\",\n      \"▁я зы\",\n      \"▁Tr uth\",\n      \"▁Tru th\",\n      \"▁co efficient\",\n      \"▁coeff icient\",\n      \"sl ug\",\n      \"▁XV III\",\n      \"▁XVI II\",\n      \"▁XVII I\",\n      \"ia o\",\n      \"i ao\",\n      \"de ck\",\n      \"dec k\",\n      \"▁раз ви\",\n      \"▁ad oles\",\n      \"ar ius\",\n      \"ari us\",\n      \"▁H az\",\n      \"▁Ha z\",\n      \"▁Pro test\",\n      \"▁Prote st\",\n      \"ra de\",\n      \"rad e\",\n      \"r ade\",\n      \"не ния\",\n      \"▁cl ause\",\n      \"conne ctor\",\n      \"connect or\",\n      \"conn ector\",\n      \"RA TE\",\n      \"R ATE\",\n      \"ц ю\",\n      \"▁Conne cticut\",\n      \"V S\",\n      \"abul ary\",\n      \"HO W\",\n      \"▁d elen\",\n      \"▁de len\",\n      \"▁del en\",\n      \"▁su ited\",\n      \"▁suit ed\",\n      \"▁suite d\",\n      \"▁Sur vey\",\n      \"ze c\",\n      \"z ec\",\n      \"ți i\",\n      \"ț ii\",\n      \"▁b acks\",\n      \"▁back s\",\n      \"▁ba cks\",\n      \"▁ backs\",\n      \"com merce\",\n      \"▁And rea\",\n      \"▁Andre a\",\n      \"▁Andr ea\",\n      \"▁propag anda\",\n      \"iz ioni\",\n      \"izi oni\",\n      \"izio ni\",\n      \"▁B il\",\n      \"▁Bi l\",\n      \"▁In nov\",\n      \"▁Inn ov\",\n      \"▁forg ive\",\n      \"▁oper ates\",\n      \"▁operate s\",\n      \"▁opera tes\",\n      \"ч ний\",\n      \"▁l ingu\",\n      \"▁lin gu\",\n      \"▁ling u\",\n      \"▁c ollar\",\n      \"▁col lar\",\n      \"▁coll ar\",\n      \"до л\",\n      \"сі й\",\n      \"zt en\",\n      \"zte n\",\n      \"z ten\",\n      \"im at\",\n      \"ima t\",\n      \"i mat\",\n      \"▁sh oe\",\n      \"ge nder\",\n      \"gen der\",\n      \"g ender\",\n      \"▁leg ally\",\n      \"▁legal ly\",\n      \"RO P\",\n      \"R OP\",\n      \"▁S leep\",\n      \"deleg ate\",\n      \"ID s\",\n      \"▁build s\",\n      \"▁qu er\",\n      \"▁que r\",\n      \"▁q uer\",\n      \"▁ quer\",\n      \"uls ion\",\n      \". “\",\n      \"к ло\",\n      \"ri se\",\n      \"ris e\",\n      \"r ise\",\n      \"th ink\",\n      \"К о\",\n      \"▁bacter ia\",\n      \"▁magn ific\",\n      \"▁prison er\",\n      \"Cl ock\",\n      \"C lock\",\n      \"R B\",\n      \"ú t\",\n      \"▁L iz\",\n      \"▁Li z\",\n      \"gr a\",\n      \"g ra\",\n      \"▁And ré\",\n      \"▁Andr é\",\n      \"▁D ennis\",\n      \"▁Den nis\",\n      \"▁sur ge\",\n      \"▁surg e\",\n      \"ex isting\",\n      \"exist ing\",\n      \"▁W ald\",\n      \"▁Wal d\",\n      \"▁Wa ld\",\n      \"▁S chema\",\n      \"▁Sch ema\",\n      \"▁Sche ma\",\n      \"▁ Schema\",\n      \"▁war nings\",\n      \"▁warn ings\",\n      \"▁warning s\",\n      \"▁qu adr\",\n      \"▁quad r\",\n      \"at te\",\n      \"att e\",\n      \"▁E ins\",\n      \"▁Ein s\",\n      \"▁ad option\",\n      \"▁adopt ion\",\n      \"▁w anna\",\n      \"▁de rive\",\n      \"▁der ive\",\n      \"▁deriv e\",\n      \"▁ derive\",\n      \"▁a rena\",\n      \"▁are na\",\n      \"▁ar ena\",\n      \"▁aren a\",\n      \"▁Den ver\",\n      \"▁F i\",\n      \"▁ Fi\",\n      \"▁Jess ica\",\n      \"acy j\",\n      \"R atio\",\n      \"▁которы е\",\n      \"▁Act ivity\",\n      \"▁Activ ity\",\n      \"▁ Activity\",\n      \"em u\",\n      \"e mu\",\n      \"▁St alin\",\n      \"▁Sta lin\",\n      \"ag gi\",\n      \"agg i\",\n      \"a ggi\",\n      \"▁f ün\",\n      \"▁f ils\",\n      \"▁fil s\",\n      \"▁fi ls\",\n      \"aj u\",\n      \"a ju\",\n      \"card s\",\n      \"car ds\",\n      \"c ards\",\n      \"▁att raction\",\n      \"▁attract ion\",\n      \"▁attr action\",\n      \"▁attra ction\",\n      \"od ot\",\n      \"odo t\",\n      \"o dot\",\n      \"F at\",\n      \"▁H aven\",\n      \"▁Ha ven\",\n      \"▁Have n\",\n      \"▁Hav en\",\n      \"▁nine teenth\",\n      \"▁ninete enth\",\n      \"▁* *\\\"\",\n      \"▁** \\\"\",\n      \"▁m aggio\",\n      \"▁mag gio\",\n      \"ma ny\",\n      \"man y\",\n      \"m any\",\n      \"win ning\",\n      \"▁G A\",\n      \"▁ GA\",\n      \"▁d ummy\",\n      \"▁ dummy\",\n      \"Un able\",\n      \"en ci\",\n      \"enc i\",\n      \"ère nt\",\n      \"è rent\",\n      \"Im g\",\n      \"I mg\",\n      \"▁t ob\",\n      \"▁to b\",\n      \"DI P\",\n      \"D IP\",\n      \"S ince\",\n      \"▁Sa fe\",\n      \"▁Saf e\",\n      \"▁ Safe\",\n      \"Gu ard\",\n      \"is ure\",\n      \"i sure\",\n      \"port e\",\n      \"por te\",\n      \"p orte\",\n      \"▁stad ium\",\n      \"in di\",\n      \"ind i\",\n      \"▁App arently\",\n      \"ug no\",\n      \"▁w olf\",\n      \"▁ne ces\",\n      \"▁overse as\",\n      \"of s\",\n      \"o fs\",\n      \"ar el\",\n      \"are l\",\n      \"a rel\",\n      \"▁F ine\",\n      \"▁Fin e\",\n      \"▁Fi ne\",\n      \"▁cor rupt\",\n      \"▁n ovember\",\n      \"▁nov ember\",\n      \"▁nove mber\",\n      \"▁interpret ed\",\n      \"ib ile\",\n      \"ibil e\",\n      \"▁w ages\",\n      \"▁wa ges\",\n      \"▁wage s\",\n      \"▁Pre tty\",\n      \"▁Her bert\",\n      \"▁reg istr\",\n      \"вы м\",\n      \"an swer\",\n      \"ans wer\",\n      \"▁m orte\",\n      \"▁mor te\",\n      \"▁mort e\",\n      \"▁com posite\",\n      \"▁compos ite\",\n      \"Tool bar\",\n      \"▁iter ator\",\n      \"▁ iterator\",\n      \"ant ine\",\n      \"anti ne\",\n      \"▁init ialized\",\n      \"▁initial ized\",\n      \"▁initialize d\",\n      \"▁ initialized\",\n      \"▁poor ly\",\n      \"Access or\",\n      \"▁Han nah\",\n      \"▁Hann ah\",\n      \"▁то лько\",\n      \"ol an\",\n      \"ola n\",\n      \"o lan\",\n      \"▁o tto\",\n      \"▁ot to\",\n      \"▁ott o\",\n      \"▁ otto\",\n      \"▁str ikes\",\n      \"▁stri kes\",\n      \"▁strike s\",\n      \"▁conflict s\",\n      \"▁conflic ts\",\n      \"▁s urg\",\n      \"▁su rg\",\n      \"▁sur g\",\n      \"▁histor ian\",\n      \"▁historia n\",\n      \"wo man\",\n      \"w oman\",\n      \"▁l ibraries\",\n      \"be w\",\n      \"b ew\",\n      \")- -(\",\n      \")-- (\",\n      \"ga ther\",\n      \"g ather\",\n      \"▁L ip\",\n      \"▁Li p\",\n      \"▁f ict\",\n      \"▁fi ct\",\n      \"FIL TER\",\n      \"@ {\",\n      \"▁bl essed\",\n      \"▁bless ed\",\n      \"et ics\",\n      \"etic s\",\n      \"eti cs\",\n      \"▁f ork\",\n      \"▁for k\",\n      \"▁Me tal\",\n      \"▁Met al\",\n      \"▁Meta l\",\n      \"po lation\",\n      \"pol ation\",\n      \"p olation\",\n      \"▁negoti ations\",\n      \"▁gen us\",\n      \"▁genu s\",\n      \"▁cont rolling\",\n      \"▁control ling\",\n      \"VER T\",\n      \"VE RT\",\n      \"V ERT\",\n      \"▁P erry\",\n      \"▁Per ry\",\n      \"▁S PD\",\n      \"▁SP D\",\n      \"CA SE\",\n      \"C ASE\",\n      \"т вер\",\n      \"▁C rown\",\n      \"▁Cr own\",\n      \"▁Cro wn\",\n      \"▁Crow n\",\n      \"▁ind ul\",\n      \"▁indu l\",\n      \"▁e hemal\",\n      \"▁ampl itude\",\n      \"▁amplit ude\",\n      \"▁B ach\",\n      \"▁Ba ch\",\n      \"▁phot ographer\",\n      \"▁photograph er\",\n      \"n ý\",\n      \"▁inv ested\",\n      \"▁invest ed\",\n      \"▁P arte\",\n      \"▁Par te\",\n      \"▁Part e\",\n      \"▁pro long\",\n      \"C U\",\n      \"icht et\",\n      \"ichte t\",\n      \"res ume\",\n      \"▁c arb\",\n      \"▁car b\",\n      \"▁ca rb\",\n      \"ur st\",\n      \"urs t\",\n      \"▁N ixon\",\n      \"▁n eur\",\n      \"▁ne ur\",\n      \"▁neu r\",\n      \"▁ neur\",\n      \"▁corpor ations\",\n      \"▁corporation s\",\n      \"Op s\",\n      \"O ps\",\n      \"u u\",\n      \"l m\",\n      \"ap ple\",\n      \"app le\",\n      \"ch te\",\n      \"cht e\",\n      \"▁deliber ately\",\n      \"ber e\",\n      \"be re\",\n      \"b ere\",\n      \"▁fe br\",\n      \"▁provinc ia\",\n      \"▁provin cia\",\n      \"Over flow\",\n      \"▁E ight\",\n      \"▁ind ication\",\n      \"▁indic ation\",\n      \"▁pist ol\",\n      \"▁к ре\",\n      \"▁ кре\",\n      \"oc ial\",\n      \"oci al\",\n      \"o cial\",\n      \"▁r und\",\n      \"▁run d\",\n      \"▁ru nd\",\n      \"▁ rund\",\n      \"▁se hr\",\n      \"ok at\",\n      \"oka t\",\n      \"o kat\",\n      \"ül et\",\n      \"ü let\",\n      \"▁He at\",\n      \"Н а\",\n      \"▁о дин\",\n      \"▁од ин\",\n      \"IC S\",\n      \"I CS\",\n      \"ay e\",\n      \"a ye\",\n      \"▁eight een\",\n      \"▁t ug\",\n      \"▁tu g\",\n      \"LO T\",\n      \"L OT\",\n      \"▁L ar\",\n      \"▁La r\",\n      \"ning s\",\n      \"n ings\",\n      \"▁T odd\",\n      \"▁To dd\",\n      \"▁Tod d\",\n      \"▁organis ations\",\n      \"▁organisation s\",\n      \"▁g enes\",\n      \"▁gen es\",\n      \"▁ge nes\",\n      \"▁gene s\",\n      \"B ag\",\n      \"Ke ep\",\n      \"^{ +\",\n      \"Base d\",\n      \"Bas ed\",\n      \"B ased\",\n      \"sk in\",\n      \"ski n\",\n      \"s kin\",\n      \"▁to das\",\n      \"▁tod as\",\n      \"▁toda s\",\n      \"▁illustr ated\",\n      \"▁c f\",\n      \"▁ cf\",\n      \"▁ar riving\",\n      \"▁arriv ing\",\n      \"▁arr iving\",\n      \"▁excess ive\",\n      \"▁tra its\",\n      \"▁trait s\",\n      \"▁s ank\",\n      \"▁san k\",\n      \"▁Att ribute\",\n      \"▁ Attribute\",\n      \"▁G D\",\n      \"▁ GD\",\n      \"com par\",\n      \"comp ar\",\n      \"▁dent ro\",\n      \"br is\",\n      \"b ris\",\n      \"▁at oms\",\n      \"▁atom s\",\n      \"fr ed\",\n      \"fre d\",\n      \"f red\",\n      \"▁E val\",\n      \"▁Ev al\",\n      \"▁Eva l\",\n      \"▁ Eval\",\n      \"▁di stances\",\n      \"▁dist ances\",\n      \"▁distance s\",\n      \"st aw\",\n      \"sta w\",\n      \"краї н\",\n      \"vari ables\",\n      \"variable s\",\n      \"l c\",\n      \"на ли\",\n      \"нал и\",\n      \"н али\",\n      \"▁чемпи она\",\n      \"wi j\",\n      \"w ij\",\n      \"▁Sim ilar\",\n      \"je k\",\n      \"j ek\",\n      \"Pe t\",\n      \"P et\",\n      \"=\\\" $\",\n      \"ко то\",\n      \"▁R ang\",\n      \"▁Ra ng\",\n      \"▁Ran g\",\n      \"ion ato\",\n      \"iona to\",\n      \"▁bek annt\",\n      \"▁bekan nt\",\n      \"! *\",\n      \"Li m\",\n      \"L im\",\n      \"▁concl usions\",\n      \"▁conclusion s\",\n      \"ain te\",\n      \"ai nte\",\n      \"aint e\",\n      \"a inte\",\n      \"- ,\",\n      \"▁g ł\",\n      \"▁pass ive\",\n      \"▁Ga ussian\",\n      \"▁stag ione\",\n      \"ME DI\",\n      \"MED I\",\n      \"it ol\",\n      \"ito l\",\n      \"i tol\",\n      \"▁Jer emy\",\n      \"View s\",\n      \"class List\",\n      \"▁desper ately\",\n      \"▁desperate ly\",\n      \"▁ver l\",\n      \"▁ve rl\",\n      \"br ace\",\n      \"bra ce\",\n      \"N P\",\n      \"▁c ob\",\n      \"▁co b\",\n      \"▁A rist\",\n      \"▁Ar ist\",\n      \"▁Ari st\",\n      \"da p\",\n      \"d ap\",\n      \"Fil ters\",\n      \"Filter s\",\n      \"'=> '\",\n      \"ul tan\",\n      \"ult an\",\n      \"▁F actory\",\n      \"▁ Factory\",\n      \"è le\",\n      \"▁l asting\",\n      \"▁last ing\",\n      \"▁las ting\",\n      \"▁element ary\",\n      \"▁C M\",\n      \"▁ CM\",\n      \"▁Louis iana\",\n      \"▁p ov\",\n      \"▁po v\",\n      \"PC I\",\n      \"P CI\",\n      \"è de\",\n      \"▁P ink\",\n      \"▁Pin k\",\n      \"▁Br uno\",\n      \"▁Bru no\",\n      \"▁Brun o\",\n      \"▁Y ellow\",\n      \"▁ev angel\",\n      \"▁lik elihood\",\n      \"WID TH\",\n      \"▁$ -\",\n      \"▁ $-\",\n      \"ni co\",\n      \"nic o\",\n      \"n ico\",\n      \"hu i\",\n      \"h ui\",\n      \"ak ter\",\n      \"akt er\",\n      \"akte r\",\n      \"ne urs\",\n      \"neur s\",\n      \"n eurs\",\n      \"▁bre eze\",\n      \"▁bree ze\",\n      \"▁со ста\",\n      \"▁He ader\",\n      \"▁Head er\",\n      \"▁ Header\",\n      \"om rå\",\n      \"▁D ylan\",\n      \"▁Dy lan\",\n      \"▁Bi ographie\",\n      \"▁Univers ität\",\n      \"on so\",\n      \"ons o\",\n      \"HAND LE\",\n      \"J ournal\",\n      \"ea st\",\n      \"e ast\",\n      \"▁sup pliers\",\n      \"▁supplier s\",\n      \"▁table t\",\n      \"▁tab let\",\n      \"LI C\",\n      \"L IC\",\n      \"PER TY\",\n      \"ї в\",\n      \"▁z aw\",\n      \"▁za w\",\n      \"▁su bm\",\n      \"▁sub m\",\n      \"▁Fern ando\",\n      \"▁nou velle\",\n      \"▁nouve lle\",\n      \"▁Point s\",\n      \"▁ Points\",\n      \"▁str angers\",\n      \"▁strange rs\",\n      \"▁stranger s\",\n      \"▁strang ers\",\n      \"Component Model\",\n      \"ist ro\",\n      \"istr o\",\n      \"au rus\",\n      \"aur us\",\n      \"▁san ct\",\n      \"▁о дна\",\n      \"▁од на\",\n      \"▁В ы\",\n      \"▁о на\",\n      \"▁он а\",\n      \"▁ она\",\n      \"vert ical\",\n      \"Sp ring\",\n      \"▁Har old\",\n      \"▁Back ground\",\n      \"▁ Background\",\n      \"Bal ance\",\n      \"Key word\",\n      \"~$ \\\\\",\n      \"~ $\\\\\",\n      \"mal loc\",\n      \"m alloc\",\n      \"ORM AL\",\n      \"Sk ip\",\n      \"▁Mu ham\",\n      \"▁back wards\",\n      \"▁backward s\",\n      \"c ów\",\n      \"по зи\",\n      \"▁back end\",\n      \"▁ backend\",\n      \"▁de emed\",\n      \"▁accur ately\",\n      \"▁accurate ly\",\n      \"▁trans c\",\n      \"▁Broad way\",\n      \"▁g rud\",\n      \"▁gr ud\",\n      \"▁gru d\",\n      \"▁N amen\",\n      \"▁Name n\",\n      \"▁Na men\",\n      \"▁Nam en\",\n      \"▁sh ifting\",\n      \"▁shift ing\",\n      \"▁ment ally\",\n      \"▁mental ly\",\n      \"▁cal ories\",\n      \"▁cons ensus\",\n      \"Perm issions\",\n      \"Permission s\",\n      \"▁ob jet\",\n      \"▁obj et\",\n      \"▁elabor ate\",\n      \"at ts\",\n      \"att s\",\n      \"▁sn ake\",\n      \"▁ref res\",\n      \"▁refr es\",\n      \"ar u\",\n      \"a ru\",\n      \"▁reflect s\",\n      \"oun ge\",\n      \"o unge\",\n      \"R ank\",\n      \"▁K urt\",\n      \"▁Kur t\",\n      \"▁Ku rt\",\n      \"▁p ied\",\n      \"▁pie d\",\n      \"▁pi ed\",\n      \"▁exped ition\",\n      \"V el\",\n      \"▁O wen\",\n      \"Le ad\",\n      \"L ead\",\n      \"▁utter ly\",\n      \"▁Ar be\",\n      \"▁bre asts\",\n      \"▁breast s\",\n      \"IP S\",\n      \"I PS\",\n      \"▁hung er\",\n      \"▁hun ger\",\n      \"at em\",\n      \"ate m\",\n      \"a tem\",\n      \"▁vers chied\",\n      \"▁versch ied\",\n      \"▁Cam era\",\n      \"▁ Camera\",\n      \"▁Mün chen\",\n      \"iv als\",\n      \"ival s\",\n      \"iva ls\",\n      \"i vals\",\n      \"▁sp raw\",\n      \"▁spr aw\",\n      \"▁S ü\",\n      \"▁Was ser\",\n      \"▁mechan ics\",\n      \"Load ed\",\n      \"Lo aded\",\n      \"db c\",\n      \"d bc\",\n      \"▁re marks\",\n      \"▁rem arks\",\n      \"▁remark s\",\n      \"▁ remarks\",\n      \"▁} ).\",\n      \"▁}) .\",\n      \"▁ }).\",\n      \"▁pain ter\",\n      \"▁pa inter\",\n      \"▁paint er\",\n      \"▁h aut\",\n      \"▁ha ut\",\n      \"Mar shal\",\n      \"IS D\",\n      \"I SD\",\n      \"▁ve loc\",\n      \"▁vel oc\",\n      \"▁In cre\",\n      \"▁Inc re\",\n      \"W ar\",\n      \"▁ру с\",\n      \"▁com pte\",\n      \"▁comp te\",\n      \"▁compt e\",\n      \"ü g\",\n      \"▁Def inition\",\n      \"▁ Definition\",\n      \"▁G am\",\n      \"▁Ga m\",\n      \"▁H ir\",\n      \"▁Hi r\",\n      \"▁witness ed\",\n      \"▁g ren\",\n      \"▁gr en\",\n      \"▁gre n\",\n      \"▁ gren\",\n      \"▁hur ry\",\n      \"ch et\",\n      \"che t\",\n      \"c het\",\n      \"re verse\",\n      \"G F\",\n      \"▁Qu arter\",\n      \"п ла\",\n      \"▁s ar\",\n      \"▁sa r\",\n      \"sb urg\",\n      \"sbur g\",\n      \"s burg\",\n      \"▁D it\",\n      \"▁Di t\",\n      \"▁ Dit\",\n      \"▁Arn old\",\n      \"j k\",\n      \"▁l ambda\",\n      \"▁ lambda\",\n      \"è ge\",\n      \"▁o z\",\n      \"▁ oz\",\n      \"▁h ans\",\n      \"▁ha ns\",\n      \"▁han s\",\n      \"▁answ ering\",\n      \"▁answer ing\",\n      \"▁o live\",\n      \"▁ol ive\",\n      \"▁sp ont\",\n      \"▁spo nt\",\n      \"▁inter vals\",\n      \"▁interval s\",\n      \"> @\",\n      \"▁т ран\",\n      \"▁тра н\",\n      \"▁F ocus\",\n      \"▁ Focus\",\n      \"ч них\",\n      \"▁д ви\",\n      \"▁tri angle\",\n      \"▁r ally\",\n      \"▁P unk\",\n      \"▁Pun k\",\n      \"▁G and\",\n      \"▁Ga nd\",\n      \"se ctions\",\n      \"section s\",\n      \"sect ions\",\n      \"сси й\",\n      \"AC CESS\",\n      \"A CCESS\",\n      \"ha rm\",\n      \"har m\",\n      \"h arm\",\n      \"▁Sk ip\",\n      \"▁ Skip\",\n      \"▁D river\",\n      \"▁Dr iver\",\n      \"▁Drive r\",\n      \"▁ Driver\",\n      \"▁Sant iago\",\n      \"it ung\",\n      \"itu ng\",\n      \"▁B arr\",\n      \"▁Bar r\",\n      \"▁Ba rr\",\n      \"process or\",\n      \"▁real ised\",\n      \"▁realise d\",\n      \"ą z\",\n      \"le ave\",\n      \"▁C omo\",\n      \"▁Com o\",\n      \"▁Co mo\",\n      \"▁Re views\",\n      \"▁Review s\",\n      \"▁и зда\",\n      \"▁из да\",\n      \"▁earn ings\",\n      \"▁ear nings\",\n      \"▁earning s\",\n      \"▁S creen\",\n      \"▁Sc reen\",\n      \"▁Scre en\",\n      \"▁ Screen\",\n      \"gr and\",\n      \"gra nd\",\n      \"g rand\",\n      \"▁ap ril\",\n      \"▁apr il\",\n      \"▁sil ently\",\n      \"▁silent ly\",\n      \"ed o\",\n      \"e do\",\n      \"ue st\",\n      \"ues t\",\n      \"u est\",\n      \"oo oo\",\n      \"▁Исто рия\",\n      \"ра з\",\n      \"MAGE S\",\n      \"MAG ES\",\n      \"▁Sing h\",\n      \"▁Sin gh\",\n      \"▁Per fect\",\n      \"▁revolution ary\",\n      \"▁н і\",\n      \"▁ ні\",\n      \"▁Sch ools\",\n      \"▁School s\",\n      \"R ich\",\n      \"▁ch rom\",\n      \"▁chr om\",\n      \"▁an terior\",\n      \"▁ante rior\",\n      \"▁Indones ia\",\n      \"Con straints\",\n      \"Constraint s\",\n      \"▁\\\" __\",\n      \"▁\\\"_ _\",\n      \"▁six teen\",\n      \"▁sixt een\",\n      \"ér e\",\n      \"é re\",\n      \"мен та\",\n      \"мент а\",\n      \"N il\",\n      \"je l\",\n      \"j el\",\n      \"че ские\",\n      \"чески е\",\n      \"▁thr one\",\n      \"▁thro ne\",\n      \"▁aud iences\",\n      \"▁audience s\",\n      \"▁i hren\",\n      \"▁ih ren\",\n      \"▁ihr en\",\n      \"▁ihre n\",\n      \"ра б\",\n      \"Qu ick\",\n      \"in burgh\",\n      \"fi co\",\n      \"fic o\",\n      \"f ico\",\n      \"▁kid n\",\n      \"▁ki dn\",\n      \"irm ingham\",\n      \"is le\",\n      \"isl e\",\n      \"iz ación\",\n      \"iza ción\",\n      \"▁Ch ampions\",\n      \"▁Champion s\",\n      \"▁вы со\",\n      \"ol er\",\n      \"ole r\",\n      \"o ler\",\n      \"▁z ak\",\n      \"▁za k\",\n      \"▁p lat\",\n      \"▁pl at\",\n      \"▁V III\",\n      \"▁VI II\",\n      \"▁VII I\",\n      \"at ique\",\n      \"ati que\",\n      \"li ter\",\n      \"lit er\",\n      \"l iter\",\n      \"▁P rest\",\n      \"▁Pr est\",\n      \"▁Pres t\",\n      \"▁Pre st\",\n      \"in is\",\n      \"ini s\",\n      \"i nis\",\n      \"▁scient ist\",\n      \"▁m ån\",\n      \"▁må n\",\n      \"ke ley\",\n      \"kel ey\",\n      \"▁h yd\",\n      \"▁hy d\",\n      \"grad uate\",\n      \"of t\",\n      \"o ft\",\n      \"▁N GC\",\n      \"on gs\",\n      \"ong s\",\n      \"▁t ier\",\n      \"▁tie r\",\n      \"▁ti er\",\n      \"▁Sh aw\",\n      \"▁Sha w\",\n      \"un ächst\",\n      \"▁establish ing\",\n      \"▁ind icator\",\n      \"▁indic ator\",\n      \"▁Par ad\",\n      \"▁Pa rad\",\n      \"▁Para d\",\n      \"▁Tr ail\",\n      \"▁Tra il\",\n      \"UM N\",\n      \"▁sp ine\",\n      \"▁spin e\",\n      \"▁Vis ual\",\n      \"▁ Visual\",\n      \":: $\",\n      \"▁t eles\",\n      \"▁te les\",\n      \"▁tele s\",\n      \"▁tel es\",\n      \"OP ER\",\n      \"O PER\",\n      \"▁pack aging\",\n      \"to ire\",\n      \"t oire\",\n      \"▁не ско\",\n      \"▁product ivity\",\n      \"A f\",\n      \"ні ї\",\n      \"▁de gener\",\n      \"▁deg ener\",\n      \"br it\",\n      \"b rit\",\n      \"U i\",\n      \"▁Y am\",\n      \"▁Ya m\",\n      \"▁d ough\",\n      \"▁do ugh\",\n      \"▁dou gh\",\n      \"os ph\",\n      \"osp h\",\n      \"▁cl ue\",\n      \"▁ре ги\",\n      \"▁me ille\",\n      \"▁tend ency\",\n      \"▁re lay\",\n      \"▁rel ay\",\n      \"▁design ers\",\n      \"▁designer s\",\n      \"▁Т у\",\n      \"Sh are\",\n      \"▁b icy\",\n      \"▁bi cy\",\n      \"▁M asters\",\n      \"▁Ma sters\",\n      \"▁Mas ters\",\n      \"▁Master s\",\n      \"▁м но\",\n      \"▁altern atives\",\n      \"▁alternative s\",\n      \"ет о\",\n      \"е то\",\n      \"▁coun tr\",\n      \"▁count r\",\n      \"▁W ow\",\n      \"▁Wo w\",\n      \"LO CAL\",\n      \"LOC AL\",\n      \"en ue\",\n      \"enu e\",\n      \"▁s lim\",\n      \"▁sl im\",\n      \"к ви\",\n      \"▁t ir\",\n      \"▁ti r\",\n      \"▁do it\",\n      \"lic a\",\n      \"li ca\",\n      \"l ica\",\n      \"ci pe\",\n      \"cip e\",\n      \"c ipe\",\n      \"iz ia\",\n      \"izi a\",\n      \"▁A ires\",\n      \"▁Air es\",\n      \"▁F alls\",\n      \"▁Fall s\",\n      \"▁Fal ls\",\n      \"▁concent rate\",\n      \"▁concentr ate\",\n      \"▁ne gl\",\n      \"▁neg l\",\n      \"▁Re in\",\n      \"? ,\",\n      \"▁G ott\",\n      \"▁Go tt\",\n      \"▁Got t\",\n      \"▁Ver ify\",\n      \"▁ Verify\",\n      \"▁Stud ios\",\n      \"▁Studio s\",\n      \"$ ('#\",\n      \"ow ym\",\n      \"owy m\",\n      \"я в\",\n      \"Prim itive\",\n      \"▁tax i\",\n      \"▁ta xi\",\n      \"▁Com mercial\",\n      \"▁Ч ер\",\n      \"▁Че р\",\n      \"place holder\",\n      \"se au\",\n      \"sea u\",\n      \"s eau\",\n      \"cor rect\",\n      \"he imer\",\n      \"heim er\",\n      \"▁H of\",\n      \"▁Ho f\",\n      \"▁d ia\",\n      \"▁di a\",\n      \"▁i rr\",\n      \"▁ir r\",\n      \"▁ur ged\",\n      \"▁urg ed\",\n      \"▁urge d\",\n      \"▁a nom\",\n      \"▁an om\",\n      \"▁ano m\",\n      \"▁t arde\",\n      \"▁tar de\",\n      \"▁tard e\",\n      \"ur m\",\n      \"u rm\",\n      \"▁se ized\",\n      \"▁sei zed\",\n      \"▁seiz ed\",\n      \"DO T\",\n      \"D OT\",\n      \"op acity\",\n      \"St rings\",\n      \"String s\",\n      \"Str ings\",\n      \"▁dec iding\",\n      \"▁decid ing\",\n      \"▁listen ers\",\n      \"▁listener s\",\n      \"ár a\",\n      \"á ra\",\n      \"▁pl anted\",\n      \"▁plan ted\",\n      \"▁plant ed\",\n      \"▁é taient\",\n      \"▁ét aient\",\n      \"Z oom\",\n      \"st ví\",\n      \"ng th\",\n      \"ä ude\",\n      \"▁C av\",\n      \"▁Ca v\",\n      \"▁v endor\",\n      \"▁vend or\",\n      \"▁ vendor\",\n      \"▁ ż\",\n      \"▁meas uring\",\n      \"▁necess ity\",\n      \"▁r ivers\",\n      \"▁ri vers\",\n      \"▁river s\",\n      \"▁riv ers\",\n      \"▁labor atory\",\n      \"▁E ff\",\n      \"▁reprodu ce\",\n      \"▁S ak\",\n      \"▁Sa k\",\n      \"▁not ebook\",\n      \"▁note book\",\n      \"▁reason ably\",\n      \"isecond s\",\n      \"i seconds\",\n      \"▁Part ial\",\n      \"▁ Partial\",\n      \"GUI D\",\n      \"GU ID\",\n      \"G UID\",\n      \"▁Per iod\",\n      \"▁ Period\",\n      \"▁reve aling\",\n      \"▁reveal ing\",\n      \"▁conv iction\",\n      \"▁ н\",\n      \"▁бу ли\",\n      \"▁altern ate\",\n      \"▁alter nate\",\n      \"cc iones\",\n      \"▁N AT\",\n      \"▁NA T\",\n      \"▁can onical\",\n      \"▁canon ical\",\n      \"mo z\",\n      \"m oz\",\n      \"▁Mé xico\",\n      \"M o\",\n      \"▁ш а\",\n      \"▁ ша\",\n      \"lim inary\",\n      \"f é\",\n      \"чно й\",\n      \"ч ной\",\n      \"▁Ham burg\",\n      \"▁Hamb urg\",\n      \"▁influ ential\",\n      \"▁b olt\",\n      \"▁bo lt\",\n      \"▁bol t\",\n      \"az zo\",\n      \"azz o\",\n      \"PH P\",\n      \"P HP\",\n      \"▁Sa udi\",\n      \"▁Saud i\",\n      \"▁Sau di\",\n      \"▁r m\",\n      \"▁ rm\",\n      \"▁cer ca\",\n      \"▁decor ated\",\n      \"▁st aat\",\n      \"▁sta at\",\n      \"Lo u\",\n      \"L ou\",\n      \"▁compet itors\",\n      \"во ї\",\n      \"▁diam ond\",\n      \"▁dia mond\",\n      \"▁m obil\",\n      \"▁mo bil\",\n      \"▁mob il\",\n      \"Click Listener\",\n      \"set State\",\n      \"▁s üd\",\n      \"; \\\"\",\n      \"œ ur\",\n      \"▁Lud wig\",\n      \"▁clin ic\",\n      \"▁e go\",\n      \"▁eg o\",\n      \"▁ ego\",\n      \"Thread ing\",\n      \"▁f ract\",\n      \"▁fr act\",\n      \"▁fra ct\",\n      \"Ref lection\",\n      \"oss ip\",\n      \"\\\"] [\\\"\",\n      \"▁L ov\",\n      \"▁Lo v\",\n      \"Ex press\",\n      \"Exp ress\",\n      \"Expr ess\",\n      \"д ри\",\n      \"if acts\",\n      \"ifact s\",\n      \"▁O ften\",\n      \"▁Of ten\",\n      \"▁ лу\",\n      \"▁p ets\",\n      \"▁pe ts\",\n      \"▁pet s\",\n      \"▁address ing\",\n      \"▁m ens\",\n      \"▁me ns\",\n      \"▁men s\",\n      \"▁ED IT\",\n      \"▁ EDIT\",\n      \"ud der\",\n      \"udd er\",\n      \"Vert ical\",\n      \"ка та\",\n      \"Cap t\",\n      \"C apt\",\n      \"verb ose\",\n      \"▁вой ны\",\n      \"UNK NOWN\",\n      \"un its\",\n      \"unit s\",\n      \"uni ts\",\n      \"per mission\",\n      \"perm ission\",\n      \"[ _\",\n      \"▁er sch\",\n      \"▁ers ch\",\n      \"▁comm unes\",\n      \"▁commun es\",\n      \"▁commune s\",\n      \"Un ityEngine\",\n      \"▁com mut\",\n      \"▁comm ut\",\n      \"kl ass\",\n      \"k lass\",\n      \"▁volt age\",\n      \"▁volta ge\",\n      \"re zent\",\n      \"rez ent\",\n      \"pe rf\",\n      \"per f\",\n      \"DR V\",\n      \"D RV\",\n      \"▁f ame\",\n      \"▁fam e\",\n      \"▁fa me\",\n      \"▁S pot\",\n      \"▁Sp ot\",\n      \"▁Л ю\",\n      \"▁c asting\",\n      \"▁cas ting\",\n      \"▁cast ing\",\n      \"hi m\",\n      \"h im\",\n      \"▁en gl\",\n      \"▁eng l\",\n      \"▁int ro\",\n      \"▁intr o\",\n      \"▁Г у\",\n      \"Comp any\",\n      \"some thing\",\n      \"som ething\",\n      \"▁cl icking\",\n      \"▁click ing\",\n      \"жи ва\",\n      \"▁fl ames\",\n      \"▁flame s\",\n      \"▁random ly\",\n      \"ex tr\",\n      \"ext r\",\n      \"Equal To\",\n      \"an ners\",\n      \"ann ers\",\n      \"anner s\",\n      \"anne rs\",\n      \"▁p arks\",\n      \"▁par ks\",\n      \"▁park s\",\n      \"▁murm ured\",\n      \"ми я\",\n      \"▁reason ing\",\n      \"сле д\",\n      \"▁n er\",\n      \"▁ne r\",\n      \"▁ ner\",\n      \"▁é c\",\n      \"▁ éc\",\n      \"ow ners\",\n      \"own ers\",\n      \"owner s\",\n      \"▁Д же\",\n      \"▁Дж е\",\n      \"▁me er\",\n      \"▁typ ing\",\n      \"▁ty ping\",\n      \"▁happ ily\",\n      \".. ...\",\n      \"... ..\",\n      \".... .\",\n      \". ....\",\n      \"▁Ч а\",\n      \"be cca\",\n      \"bec ca\",\n      \"▁P apers\",\n      \"▁Pa pers\",\n      \"▁Pap ers\",\n      \"▁Paper s\",\n      \"▁Or acle\",\n      \"▁equ ilibrium\",\n      \"man agement\",\n      \"Li te\",\n      \"L ite\",\n      \"▁des ktop\",\n      \"▁desk top\",\n      \"ă r\",\n      \"▁G ill\",\n      \"▁Gi ll\",\n      \"▁Gil l\",\n      \"do rf\",\n      \"d orf\",\n      \"ig g\",\n      \"i gg\",\n      \"▁qu esta\",\n      \"▁que sta\",\n      \"▁quest a\",\n      \"▁ questa\",\n      \"Warning s\",\n      \"Warn ings\",\n      \"War nings\",\n      \"over flow\",\n      \"▁V T\",\n      \"▁ VT\",\n      \"▁cons isted\",\n      \"▁consist ed\",\n      \"▁A bu\",\n      \"▁Ab u\",\n      \"v scale\",\n      \"J O\",\n      \"ah o\",\n      \"a ho\",\n      \"▁T ensor\",\n      \"▁Ten sor\",\n      \"▁ Tensor\",\n      \"▁hes itated\",\n      \"▁w enn\",\n      \"▁we nn\",\n      \"▁wen n\",\n      \"map sto\",\n      \"maps to\",\n      \"▁controvers ial\",\n      \"M F\",\n      \"▁l ac\",\n      \"▁la c\",\n      \"▁an ch\",\n      \"▁anc h\",\n      \"▁ anch\",\n      \"▁A A\",\n      \"▁ AA\",\n      \"it ta\",\n      \"itt a\",\n      \"i tta\",\n      \"ul in\",\n      \"uli n\",\n      \"u lin\",\n      \"▁c ler\",\n      \"▁cl er\",\n      \"▁cle r\",\n      \"▁D iana\",\n      \"▁Di ana\",\n      \"▁Fre ud\",\n      \"▁challeng ed\",\n      \"▁challenge d\",\n      \"лё н\",\n      \"л ён\",\n      \"▁se ated\",\n      \"▁sea ted\",\n      \"▁seat ed\",\n      \"▁sm iles\",\n      \"▁smile s\",\n      \"▁cr acked\",\n      \"▁crack ed\",\n      \"▁а ктив\",\n      \"ско ј\",\n      \"dict ion\",\n      \"di ction\",\n      \"d iction\",\n      \"ex press\",\n      \"exp ress\",\n      \"expr ess\",\n      \"▁im posed\",\n      \"▁imp osed\",\n      \"▁pro tests\",\n      \"▁prote sts\",\n      \"▁protest s\",\n      \"▁prot ests\",\n      \"▁w ounds\",\n      \"▁wound s\",\n      \"C ulture\",\n      \"N Y\",\n      \"prevent Default\",\n      \"ad io\",\n      \"adi o\",\n      \"▁NE W\",\n      \"▁ NEW\",\n      \"B attle\",\n      \"▁se colo\",\n      \"▁sec olo\",\n      \"▁A x\",\n      \"▁found ing\",\n      \"(\\\" -\",\n      \"▁ret ro\",\n      \"▁retr o\",\n      \"▁pot atoes\",\n      \"import ant\",\n      \"ie me\",\n      \"iem e\",\n      \"i eme\",\n      \"ys ide\",\n      \"y side\",\n      \"d ummy\",\n      \"▁t ilt\",\n      \"▁til t\",\n      \"▁ti lt\",\n      \"▁R ules\",\n      \"▁Ru les\",\n      \"▁Rule s\",\n      \"▁ Rules\",\n      \"▁un ters\",\n      \"▁unt ers\",\n      \"▁unter s\",\n      \"A ud\",\n      \"V ENDOR\",\n      \"ud ge\",\n      \"un al\",\n      \"una l\",\n      \"u nal\",\n      \"▁Ad ult\",\n      \"▁im pat\",\n      \"▁imp at\",\n      \"▁rep airs\",\n      \"▁repair s\",\n      \"▁F erd\",\n      \"▁Fe rd\",\n      \"▁Fer d\",\n      \"▁Az ure\",\n      \"▁ Azure\",\n      \")) :\",\n      \") ):\",\n      \"▁pag ina\",\n      \"▁E pisode\",\n      \"File name\",\n      \"Fil ename\",\n      \"▁j á\",\n      \"▁oblig ation\",\n      \"ig hed\",\n      \"igh ed\",\n      \"▁pers istent\",\n      \"Mus ic\",\n      \"▁C ele\",\n      \"▁Ce le\",\n      \"▁Cel e\",\n      \"▁r y\",\n      \"▁ ry\",\n      \"▁cert ification\",\n      \"ul d\",\n      \"u ld\",\n      \"▁T L\",\n      \"▁ TL\",\n      \"▁sk irt\",\n      \"▁ski rt\",\n      \"▁M ini\",\n      \"▁Min i\",\n      \"▁Mi ni\",\n      \"▁B ring\",\n      \"▁Br ing\",\n      \">< ?\",\n      \"> <?\",\n      \"▁dis crete\",\n      \"▁discret e\",\n      \"▁discre te\",\n      \"▁te as\",\n      \"▁tea s\",\n      \"▁au dit\",\n      \"▁aud it\",\n      \"MI T\",\n      \"M IT\",\n      \"е вич\",\n      \"▁who ever\",\n      \"▁B ald\",\n      \"▁Ba ld\",\n      \"▁Bal d\",\n      \"▁Op era\",\n      \"▁Oper a\",\n      \"Vis itor\",\n      \"▁infer ior\",\n      \"▁le ak\",\n      \"pi x\",\n      \"p ix\",\n      \"▁M ans\",\n      \"▁Man s\",\n      \"▁Ma ns\",\n      \"> %\",\n      \"▁P and\",\n      \"▁Pan d\",\n      \"▁Pa nd\",\n      \"▁S UB\",\n      \"▁SU B\",\n      \"▁ SUB\",\n      \"▁compan ions\",\n      \"▁companion s\",\n      \"▁RE AD\",\n      \"▁ READ\",\n      \"▁S olutions\",\n      \"▁Solution s\",\n      \"▁acc essed\",\n      \"▁access ed\",\n      \"▁p osto\",\n      \"▁pos to\",\n      \"▁po sto\",\n      \"▁post o\",\n      \"▁pur suit\",\n      \"▁purs uit\",\n      \"ow i\",\n      \"o wi\",\n      \"▁gro cery\",\n      \"Sp e\",\n      \"S pe\",\n      \"haus en\",\n      \"▁normal ized\",\n      \"▁tra uma\",\n      \"gg i\",\n      \"g gi\",\n      \"ie nia\",\n      \"ien ia\",\n      \"▁aut umn\",\n      \"▁so vere\",\n      \"▁sov ere\",\n      \"▁Men schen\",\n      \"▁Mens chen\",\n      \"▁D AG\",\n      \"▁DA G\",\n      \"▁S ort\",\n      \"▁So rt\",\n      \"▁Sor t\",\n      \"▁ Sort\",\n      \"| ---\",\n      \"▁l iver\",\n      \"▁li ver\",\n      \"▁live r\",\n      \"▁liv er\",\n      \"▁ liver\",\n      \"env iron\",\n      \"DE CL\",\n      \"DEC L\",\n      \"▁ма й\",\n      \"▁N ak\",\n      \"▁Na k\",\n      \"bet ween\",\n      \"▁gentle man\",\n      \"in ging\",\n      \"ing ing\",\n      \"▁su bur\",\n      \"▁sub ur\",\n      \"ST O\",\n      \"S TO\",\n      \"ace ut\",\n      \"\\\\ !\",\n      \"▁Fuß ball\",\n      \"na r\",\n      \"n ar\",\n      \"▁b og\",\n      \"▁bo g\",\n      \"Token s\",\n      \"Tok ens\",\n      \"▁cer emon\",\n      \"▁cere mon\",\n      \"DA Y\",\n      \"D AY\",\n      \"▁out fit\",\n      \"▁agric ulture\",\n      \"ди и\",\n      \"▁N in\",\n      \"▁Ni n\",\n      \"▁Sp rings\",\n      \"▁Spring s\",\n      \"▁Spr ings\",\n      \"▁Co ach\",\n      \"▁d jango\",\n      \"▁ django\",\n      \"▁C rim\",\n      \"▁Cr im\",\n      \"▁te cn\",\n      \"Th ree\",\n      \"em os\",\n      \"e mos\",\n      \"▁be an\",\n      \"▁ bean\",\n      \"pi eler\",\n      \"pie ler\",\n      \"p ieler\",\n      \"ri tz\",\n      \"rit z\",\n      \"r itz\",\n      \"ta bs\",\n      \"tab s\",\n      \"t abs\",\n      \"▁Pro blem\",\n      \"in and\",\n      \"ina nd\",\n      \"oc on\",\n      \"oco n\",\n      \"o con\",\n      \"њ и\",\n      \"▁bu yer\",\n      \"▁buy er\",\n      \"us ement\",\n      \"use ment\",\n      \"▁b or\",\n      \"▁bo r\",\n      \"▁ bor\",\n      \"▁sett embre\",\n      \"pp e\",\n      \"p pe\",\n      \"▁D eg\",\n      \"▁De g\",\n      \"▁W a\",\n      \"▁w ives\",\n      \"▁fr anzös\",\n      \"▁mar ca\",\n      \"▁des cent\",\n      \"▁desc ent\",\n      \"▁S ha\",\n      \"▁Sh a\",\n      \"ver ts\",\n      \"vert s\",\n      \"v erts\",\n      \"▁Sh adow\",\n      \"▁ Shadow\",\n      \"▁Hug o\",\n      \"▁Hu go\",\n      \"▁A ppe\",\n      \"▁App e\",\n      \"▁Ap pe\",\n      \"▁ Appe\",\n      \"▁L ac\",\n      \"▁La c\",\n      \"al len\",\n      \"all en\",\n      \"alle n\",\n      \"os ity\",\n      \"osi ty\",\n      \"▁consult ation\",\n      \"▁T i\",\n      \"▁er ano\",\n      \"▁era no\",\n      \"▁eran o\",\n      \"▁lo vers\",\n      \"▁love rs\",\n      \"▁lov ers\",\n      \"▁lover s\",\n      \"▁уни версите\",\n      \"▁virt ue\",\n      \"▁view ers\",\n      \"M u\",\n      \"c ategories\",\n      \"▁о пера\",\n      \"▁over look\",\n      \"▁overl ook\",\n      \"▁тер рито\",\n      \"▁Oper ations\",\n      \"▁Operation s\",\n      \"▁ Operations\",\n      \"è ve\",\n      \"- (\",\n      \"▁ Ż\",\n      \"je v\",\n      \"j ev\",\n      \"▁c rist\",\n      \"▁cr ist\",\n      \"▁cris t\",\n      \"▁cri st\",\n      \"▁мар та\",\n      \"▁pro vin\",\n      \"▁prov in\",\n      \"product ion\",\n      \"produ ction\",\n      \"prod uction\",\n      \"p roduction\",\n      \"▁T all\",\n      \"▁Tal l\",\n      \"▁Ta ll\",\n      \"Requ ests\",\n      \"Request s\",\n      \"▁t iles\",\n      \"▁til es\",\n      \"▁tile s\",\n      \"▁ti les\",\n      \"ref lect\",\n      \"▁ar gc\",\n      \"▁arg c\",\n      \"▁ argc\",\n      \"▁t emplates\",\n      \"▁templ ates\",\n      \"▁template s\",\n      \"▁ templates\",\n      \"AR B\",\n      \"A RB\",\n      \"▁weiter e\",\n      \"▁weit ere\",\n      \")? ;\",\n      \") ?;\",\n      \"▁t oll\",\n      \"▁to ll\",\n      \"▁correspond ence\",\n      \"$ ;\",\n      \"L T\",\n      \"▁t am\",\n      \"▁ta m\",\n      \"de cess\",\n      \"dec ess\",\n      \"built in\",\n      \"da sh\",\n      \"das h\",\n      \"d ash\",\n      \"ze nie\",\n      \"zen ie\",\n      \"▁mole cular\",\n      \"▁chem icals\",\n      \"▁chemical s\",\n      \"▁rend ering\",\n      \"▁render ing\",\n      \"▁Sing les\",\n      \"▁Sin gles\",\n      \"▁Single s\",\n      \"Init ialized\",\n      \"Initial ized\",\n      \"Initialize d\",\n      \"▁Mar tha\",\n      \"▁Mart ha\",\n      \"ri ere\",\n      \"rie re\",\n      \"rier e\",\n      \"r iere\",\n      \"par agraph\",\n      \"para graph\",\n      \"as ters\",\n      \"ast ers\",\n      \"aster s\",\n      \"aste rs\",\n      \"a sters\",\n      \"▁dec ides\",\n      \"▁decide s\",\n      \"▁decid es\",\n      \"▁Flor ence\",\n      \"▁Flo rence\",\n      \"▁Floren ce\",\n      \"▁And ers\",\n      \"▁An ders\",\n      \"мо й\",\n      \"▁a pt\",\n      \"▁ap t\",\n      \"▁ apt\",\n      \"▁affili ate\",\n      \"ch el\",\n      \"che l\",\n      \"c hel\",\n      \"▁re vision\",\n      \"▁rev ision\",\n      \"Pat ch\",\n      \"P atch\",\n      \"▁fi scal\",\n      \"▁fis cal\",\n      \"wi ę\",\n      \"w ię\",\n      \"N ational\",\n      \"▁depend encies\",\n      \"TRAN S\",\n      \"TRA NS\",\n      \"▁r ack\",\n      \"▁rac k\",\n      \"▁ra ck\",\n      \"sel ling\",\n      \"s elling\",\n      \"na issance\",\n      \"c atalog\",\n      \"Sh ip\",\n      \"S hip\",\n      \"IM AGE\",\n      \"I MAGE\",\n      \"'] [\",\n      \"' ][\",\n      \"▁p rv\",\n      \"▁pr v\",\n      \"▁F en\",\n      \"▁Fe n\",\n      \"▁rad ar\",\n      \"▁ra dar\",\n      \"cond itions\",\n      \"condition s\",\n      \"▁Quest ions\",\n      \"▁Question s\",\n      \"▁v ivid\",\n      \"▁vi vid\",\n      \"▁viv id\",\n      \"op f\",\n      \"o pf\",\n      \"FA CE\",\n      \"F ACE\",\n      \"ry s\",\n      \"r ys\",\n      \"Ex tract\",\n      \"Ext ract\",\n      \"Extra ct\",\n      \"il ians\",\n      \"ili ans\",\n      \"ilia ns\",\n      \"pl ug\",\n      \"▁a té\",\n      \"▁at é\",\n      \"и л\",\n      \"▁like wise\",\n      \"▁L il\",\n      \"▁Li l\",\n      \"▁Cam peonato\",\n      \"AUT O\",\n      \"AU TO\",\n      \"▁M eta\",\n      \"▁Me ta\",\n      \"▁Met a\",\n      \"▁ Meta\",\n      \"re no\",\n      \"ren o\",\n      \"r eno\",\n      \"▁Trans fer\",\n      \"▁ Transfer\",\n      \"▁Mich elle\",\n      \"▁Michel le\",\n      \"▁Miche lle\",\n      \"bi s\",\n      \"b is\",\n      \"ń st\",\n      \"зо н\",\n      \"з он\",\n      \"▁C ultural\",\n      \"com pass\",\n      \"comp ass\",\n      \"▁my sql\",\n      \"▁ mysql\",\n      \"▁cancel led\",\n      \"▁cancell ed\",\n      \"▁ ’\",\n      \"to o\",\n      \"t oo\",\n      \"▁re bell\",\n      \"▁reb ell\",\n      \"▁rebel l\",\n      \"ég e\",\n      \"é ge\",\n      \"os z\",\n      \"o sz\",\n      \"▁com poser\",\n      \"▁comp oser\",\n      \"▁compos er\",\n      \"}\\\" )\",\n      \"} \\\")\",\n      \"▁des erves\",\n      \"▁deserve s\",\n      \"▁oh ne\",\n      \"▁J ed\",\n      \"▁Je d\",\n      \"K ernel\",\n      \"▁pract ition\",\n      \"▁in door\",\n      \"▁ind oor\",\n      \"▁config urations\",\n      \"▁configuration s\",\n      \"▁m eth\",\n      \"▁me th\",\n      \"▁met h\",\n      \"+ (\",\n      \"Quest ion\",\n      \"▁bl own\",\n      \"▁blo wn\",\n      \"▁blow n\",\n      \") '\",\n      \"▁Ar gs\",\n      \"▁Arg s\",\n      \"▁ Args\",\n      \"F ake\",\n      \"▁d even\",\n      \"▁de ven\",\n      \"▁dev en\",\n      \"istrz ost\",\n      \"na io\",\n      \"▁\\\" {\",\n      \"▁L it\",\n      \"▁Li t\",\n      \"com ed\",\n      \"co med\",\n      \"come d\",\n      \"c omed\",\n      \"▁st am\",\n      \"▁sta m\",\n      \"▁pl ugins\",\n      \"▁plugin s\",\n      \"▁plug ins\",\n      \"▁ plugins\",\n      \"▁travel ling\",\n      \"▁trav elling\",\n      \"na ire\",\n      \"n aire\",\n      \"▁aut onom\",\n      \"▁auto nom\",\n      \"STRU CT\",\n      \"n h\",\n      \"né es\",\n      \"née s\",\n      \"n ées\",\n      \"▁consider ably\",\n      \"ко р\",\n      \"к ор\",\n      \"B G\",\n      \"▁lad der\",\n      \"▁h ast\",\n      \"▁has t\",\n      \"▁ha st\",\n      \"iz ado\",\n      \"iza do\",\n      \"▁s ele\",\n      \"▁se le\",\n      \"▁sel e\",\n      \"▁W ere\",\n      \"▁We re\",\n      \"▁Wer e\",\n      \"ar don\",\n      \"ard on\",\n      \"ardo n\",\n      \"B ank\",\n      \"bund le\",\n      \"b undle\",\n      \"▁anticip ated\",\n      \"▁C ot\",\n      \"▁Co t\",\n      \"▁else if\",\n      \"▁ elseif\",\n      \"▁Bl ues\",\n      \"▁Blue s\",\n      \"▁fil tered\",\n      \"▁filter ed\",\n      \"▁a uction\",\n      \"▁au ction\",\n      \"ed uc\",\n      \"edu c\",\n      \"e duc\",\n      \"▁Ex pression\",\n      \"▁Express ion\",\n      \"▁Exp ression\",\n      \"▁ Expression\",\n      \"in x\",\n      \"i nx\",\n      \"▁s ucks\",\n      \"▁su cks\",\n      \"▁suc ks\",\n      \"▁suck s\",\n      \"▁ма я\",\n      \"EL L\",\n      \"E LL\",\n      \"ющи й\",\n      \"▁Hud son\",\n      \"it ä\",\n      \"на ми\",\n      \"▁fem me\",\n      \"in ho\",\n      \"▁e vt\",\n      \"▁ev t\",\n      \"▁ evt\",\n      \"istribut ions\",\n      \"istribution s\",\n      \"▁r uss\",\n      \"▁ru ss\",\n      \"▁rus s\",\n      \"▁pet ition\",\n      \"▁petit ion\",\n      \"▁г ла\",\n      \"▁ гла\",\n      \"Si g\",\n      \"S ig\",\n      \"▁T ut\",\n      \"▁Tu t\",\n      \"Part ial\",\n      \"Ent ities\",\n      \"▁b ears\",\n      \"▁be ars\",\n      \"▁bear s\",\n      \"▁h ollow\",\n      \"▁hol low\",\n      \"__ [\\\"\",\n      \"▁R is\",\n      \"ț ă\",\n      \"dim s\",\n      \"di ms\",\n      \"d ims\",\n      \"▁compl ained\",\n      \"▁complain ed\",\n      \"▁m apped\",\n      \"▁map ped\",\n      \"▁ma pped\",\n      \"▁авгу ста\",\n      \"▁initi atives\",\n      \"▁initiative s\",\n      \"▁own s\",\n      \"ch ez\",\n      \"che z\",\n      \"▁dis pon\",\n      \"▁disp on\",\n      \"▁m ush\",\n      \"▁mus h\",\n      \"▁mu sh\",\n      \"q s\",\n      \"▁er folg\",\n      \"▁Nor weg\",\n      \"▁c et\",\n      \"▁ce t\",\n      \"im ag\",\n      \"ima g\",\n      \"i mag\",\n      \"▁исто ри\",\n      \"▁ни х\",\n      \"▁ них\",\n      \"Un til\",\n      \"U ntil\",\n      \"▁s talk\",\n      \"▁st alk\",\n      \"▁П ра\",\n      \"uv o\",\n      \"u vo\",\n      \"ie rz\",\n      \"ier z\",\n      \"ri eben\",\n      \"rie ben\",\n      \"rieb en\",\n      \"X T\",\n      \"ic als\",\n      \"ical s\",\n      \"ica ls\",\n      \"std out\",\n      \"▁extra cted\",\n      \"▁extract ed\",\n      \"▁Im ages\",\n      \"▁Image s\",\n      \"▁ Images\",\n      \"un def\",\n      \"und ef\",\n      \"unde f\",\n      \"u ndef\",\n      \"▁L é\",\n      \"▁accommod ation\",\n      \"▁T ouch\",\n      \"▁To uch\",\n      \"▁ Touch\",\n      \"▁intent ions\",\n      \"▁intention s\",\n      \"▁concent rated\",\n      \"▁concentr ated\",\n      \"▁concentrate d\",\n      \"▁Насе ление\",\n      \"▁ut ilis\",\n      \"▁util is\",\n      \"▁сле д\",\n      \"▁ след\",\n      \"li f\",\n      \"l if\",\n      \"▁comp ris\",\n      \"▁compr is\",\n      \"▁с бор\",\n      \"med ium\",\n      \"medi um\",\n      \"St ates\",\n      \"State s\",\n      \"Stat es\",\n      \"▁Би ография\",\n      \"▁Fa ith\",\n      \"U A\",\n      \"ADD RESS\",\n      \"▁r ated\",\n      \"▁rate d\",\n      \"▁rat ed\",\n      \"▁ra ted\",\n      \"▁ rated\",\n      \"▁R ena\",\n      \"▁Re na\",\n      \"▁Ren a\",\n      \"▁C ache\",\n      \"▁Ca che\",\n      \"▁ Cache\",\n      \"▁pe que\",\n      \"▁un used\",\n      \"▁unus ed\",\n      \"▁ unused\",\n      \"ni m\",\n      \"n im\",\n      \"ol ding\",\n      \"old ing\",\n      \"▁N r\",\n      \"R ay\",\n      \"ur ls\",\n      \"url s\",\n      \"▁em issions\",\n      \"▁emission s\",\n      \"I r\",\n      \"▁m å\",\n      \"be ar\",\n      \"b ear\",\n      \"▁L ub\",\n      \"▁Lu b\",\n      \"▁Out side\",\n      \"min ded\",\n      \"mind ed\",\n      \"▁PRO VID\",\n      \"▁s ó\",\n      \"▁civil ian\",\n      \"Find er\",\n      \"Fin der\",\n      \"Fi nder\",\n      \"F inder\",\n      \"▁achie ving\",\n      \"mod ified\",\n      \"la ne\",\n      \"lan e\",\n      \"l ane\",\n      \"Se nder\",\n      \"Send er\",\n      \"S ender\",\n      \"▁Cr ime\",\n      \"▁Crim e\",\n      \"REQ UI\",\n      \"▁open ly\",\n      \"▁Belg ium\",\n      \"ic ity\",\n      \"ici ty\",\n      \"icit y\",\n      \"i city\",\n      \"▁M az\",\n      \"▁Ma z\",\n      \"▁st agger\",\n      \"▁stag ger\",\n      \"}} $,\",\n      \"}}$ ,\",\n      \"} }$,\",\n      \"na te\",\n      \"nat e\",\n      \"n ate\",\n      \"'' '\",\n      \"' ''\",\n      \"▁Ge off\",\n      \"ll i\",\n      \"l li\",\n      \"Su ite\",\n      \"▁D istribution\",\n      \"▁я кий\",\n      \"Com bo\",\n      \"Comb o\",\n      \"ho oks\",\n      \"hook s\",\n      \"▁F ight\",\n      \"▁Fig ht\",\n      \"▁Fi ght\",\n      \"Set s\",\n      \"Se ts\",\n      \"S ets\",\n      \"▁m k\",\n      \"▁ mk\",\n      \"▁gu ides\",\n      \"▁guide s\",\n      \"▁guid es\",\n      \"▁princip ale\",\n      \"▁principal e\",\n      \"Pre ferences\",\n      \"ti ny\",\n      \"t iny\",\n      \"ap pen\",\n      \"app en\",\n      \"appe n\",\n      \"a ppen\",\n      \"▁ru ined\",\n      \"▁ruin ed\",\n      \"▁sl iding\",\n      \"▁slid ing\",\n      \"▁Z en\",\n      \"▁Ze n\",\n      \"▁oct ubre\",\n      \"pos er\",\n      \"po ser\",\n      \"pose r\",\n      \"p oser\",\n      \"▁F lag\",\n      \"▁Fl ag\",\n      \"▁ Flag\",\n      \"▁b oom\",\n      \"▁bo om\",\n      \"▁Det ect\",\n      \"▁activ ation\",\n      \"▁обра зова\",\n      \"▁entertain ing\",\n      \"▁entert aining\",\n      \"▁protect ive\",\n      \"ál l\",\n      \"á ll\",\n      \"▁Fl ash\",\n      \"▁mid st\",\n      \"▁mi dst\",\n      \"ствен ной\",\n      \"▁Ph D\",\n      \"ij ing\",\n      \"iji ng\",\n      \"cl ub\",\n      \"get C\",\n      \"▁tro uve\",\n      \"▁trou ve\",\n      \"am bers\",\n      \"amb ers\",\n      \"amber s\",\n      \"▁g reed\",\n      \"▁gr eed\",\n      \"▁gre ed\",\n      \"am arin\",\n      \"ama rin\",\n      \"amar in\",\n      \"▁suspic ious\",\n      \"▁susp icious\",\n      \"▁dep uty\",\n      \"▁deput y\",\n      \"as per\",\n      \"asp er\",\n      \"▁fun ded\",\n      \"▁fund ed\",\n      \"al one\",\n      \"alo ne\",\n      \"▁t ract\",\n      \"▁tr act\",\n      \"▁tra ct\",\n      \"▁ tract\",\n      \"▁R ating\",\n      \"▁Ra ting\",\n      \"▁Rat ing\",\n      \"ad ays\",\n      \"ada ys\",\n      \"a days\",\n      \"▁st att\",\n      \"▁stat t\",\n      \"▁sta tt\",\n      \"▁Priv acy\",\n      \"▁_ _(\",\n      \"▁__ (\",\n      \"▁ __(\",\n      \"▁f ights\",\n      \"▁fight s\",\n      \"á j\",\n      \"\\\\ ]\",\n      \"ag h\",\n      \"a gh\",\n      \"or na\",\n      \"orn a\",\n      \"▁Diam ond\",\n      \"▁pro totype\",\n      \"▁proto type\",\n      \"▁prot otype\",\n      \"▁ prototype\",\n      \"▁Str ateg\",\n      \"ha do\",\n      \"had o\",\n      \"h ado\",\n      \"▁l ungs\",\n      \"▁lung s\",\n      \"▁lun gs\",\n      \"Pro totype\",\n      \"Proto type\",\n      \"ließ lich\",\n      \"▁d ive\",\n      \"▁di ve\",\n      \"▁div e\",\n      \"co v\",\n      \"c ov\",\n      \"▁M ist\",\n      \"▁Mi st\",\n      \"▁Mis t\",\n      \"▁T ypes\",\n      \"▁Type s\",\n      \"▁Ty pes\",\n      \"▁Typ es\",\n      \"▁ Types\",\n      \"▁di agonal\",\n      \"▁p review\",\n      \"▁pre view\",\n      \"▁prev iew\",\n      \"▁ preview\",\n      \"▁Cont ainer\",\n      \"▁ Container\",\n      \"DESC RIP\",\n      \"▁brit ann\",\n      \"▁C ord\",\n      \"▁Co rd\",\n      \"▁Cor d\",\n      \"ak ov\",\n      \"ako v\",\n      \"a kov\",\n      \"▁far ming\",\n      \"▁farm ing\",\n      \"▁p ère\",\n      \"▁k ills\",\n      \"▁kill s\",\n      \"▁kil ls\",\n      \"▁Car ib\",\n      \"▁Ca rib\",\n      \"ћ и\",\n      \"▁А л\",\n      \"? ;\",\n      \"▁пи са\",\n      \"▁ писа\",\n      \"▁En sure\",\n      \"par sed\",\n      \"parse d\",\n      \"pars ed\",\n      \"än ge\",\n      \"äng e\",\n      \"▁D elta\",\n      \"▁Del ta\",\n      \"▁ Delta\",\n      \"▁g aining\",\n      \"▁gain ing\",\n      \"▁ga ining\",\n      \"▁n oting\",\n      \"▁not ing\",\n      \"▁no ting\",\n      \"▁B arb\",\n      \"▁Bar b\",\n      \"▁Ba rb\",\n      \"▁фев ра\",\n      \"▁фе вра\",\n      \"Em p\",\n      \"E mp\",\n      \"▁{ })\",\n      \"▁{} )\",\n      \"▁ {})\",\n      \"▁sy ntax\",\n      \"▁syn tax\",\n      \"▁synt ax\",\n      \"W alk\",\n      \"▁P ere\",\n      \"▁Per e\",\n      \"▁Pe re\",\n      \"Is Null\",\n      \"▁U V\",\n      \"▁ UV\",\n      \"▁ret val\",\n      \"▁ retval\",\n      \"▁sim plicity\",\n      \"▁simpl icity\",\n      \"▁rein force\",\n      \"Lin q\",\n      \"▁diff usion\",\n      \"▁dis orders\",\n      \"▁disorder s\",\n      \"ât re\",\n      \"â tre\",\n      \"ui ty\",\n      \"uit y\",\n      \"u ity\",\n      \"▁hel pless\",\n      \"▁help less\",\n      \"Me asure\",\n      \"▁com pression\",\n      \"▁comp ression\",\n      \"▁compr ession\",\n      \"▁compress ion\",\n      \"▁Co al\",\n      \"olut ely\",\n      \"olute ly\",\n      \"og ue\",\n      \"o gue\",\n      \"▁up ward\",\n      \"▁Block ly\",\n      \"▁b ride\",\n      \"▁br ide\",\n      \"parse Int\",\n      \"▁is olation\",\n      \"▁isol ation\",\n      \"▁regul atory\",\n      \"ș ti\",\n      \"ric ane\",\n      \"м б\",\n      \"▁с ло\",\n      \"▁ сло\",\n      \"▁sa lad\",\n      \"▁sal ad\",\n      \"we i\",\n      \"w ei\",\n      \"▁B asket\",\n      \"▁Bas ket\",\n      \"▁M ON\",\n      \"▁MO N\",\n      \"▁ MON\",\n      \"\\\"> &\",\n      \"\\\" >&\",\n      \"do ors\",\n      \"door s\",\n      \"▁K ill\",\n      \"▁Kil l\",\n      \"▁Ki ll\",\n      \"▁conspir acy\",\n      \"▁M iles\",\n      \"▁Mil es\",\n      \"▁Mi les\",\n      \"wa nt\",\n      \"wan t\",\n      \"w ant\",\n      \"Mod ifier\",\n      \"▁batter ies\",\n      \"▁batt eries\",\n      \"iv as\",\n      \"iva s\",\n      \"i vas\",\n      \"▁att endance\",\n      \"▁attend ance\",\n      \"▁AUT H\",\n      \"▁AU TH\",\n      \"▁ AUTH\",\n      \"▁с ві\",\n      \".. .,\",\n      \"... ,\",\n      \"▁aggreg ate\",\n      \"▁de struct\",\n      \"▁dest ruct\",\n      \"▁four teen\",\n      \"▁м ет\",\n      \"▁ме т\",\n      \"▁ мет\",\n      \"▁both ered\",\n      \"▁bother ed\",\n      \"el te\",\n      \"elt e\",\n      \"e lte\",\n      \"▁m ism\",\n      \"▁mis m\",\n      \"▁mi sm\",\n      \"▁res ting\",\n      \"▁rest ing\",\n      \"▁P ars\",\n      \"▁Par s\",\n      \"▁Pa rs\",\n      \"▁ Pars\",\n      \"▁id le\",\n      \"▁ idle\",\n      \"▁d eren\",\n      \"▁de ren\",\n      \"▁der en\",\n      \"▁dere n\",\n      \"▁di ary\",\n      \"▁dia ry\",\n      \"▁v ague\",\n      \"▁va gue\",\n      \"▁vag ue\",\n      \"▁margin al\",\n      \"▁marg inal\",\n      \"Wr it\",\n      \"W rit\",\n      \"Bo t\",\n      \"B ot\",\n      \"▁Met ro\",\n      \"▁e arning\",\n      \"▁earn ing\",\n      \"▁ear ning\",\n      \"hist oire\",\n      \"his toire\",\n      \"▁end orse\",\n      \"▁be ard\",\n      \"▁bear d\",\n      \"▁Chair man\",\n      \"ie b\",\n      \"i eb\",\n      \"▁neut r\",\n      \"▁neu tr\",\n      \"▁am bit\",\n      \"▁amb it\",\n      \"▁Leon ard\",\n      \"ban ds\",\n      \"band s\",\n      \"b ands\",\n      \"▁D ale\",\n      \"▁Da le\",\n      \"▁Dal e\",\n      \"▁ver ified\",\n      \"Al gorithm\",\n      \"Enumer able\",\n      \"op code\",\n      \"cast le\",\n      \"cas tle\",\n      \"š e\",\n      \"▁Venez uela\",\n      \"▁de scriptions\",\n      \"▁des criptions\",\n      \"▁description s\",\n      \"▁value d\",\n      \"▁val ued\",\n      \"▁chapter s\",\n      \"▁chap ters\",\n      \"▁I ls\",\n      \"▁Il s\",\n      \"▁cl arity\",\n      \"▁clar ity\",\n      \"▁tour ists\",\n      \"▁tourist s\",\n      \"Da n\",\n      \"D an\",\n      \"▁t ribe\",\n      \"▁tr ibe\",\n      \"▁tri be\",\n      \"▁trib e\",\n      \"▁г и\",\n      \"▁ ги\",\n      \"fol k\",\n      \"f olk\",\n      \"ac cur\",\n      \"acc ur\",\n      \"▁St ack\",\n      \"▁Sta ck\",\n      \"▁ Stack\",\n      \"▁adv ocate\",\n      \"▁advoc ate\",\n      \"▁G ene\",\n      \"▁Ge ne\",\n      \"▁Gen e\",\n      \"Im ages\",\n      \"Image s\",\n      \"▁rig id\",\n      \"▁con greg\",\n      \"▁congr eg\",\n      \"▁start up\",\n      \"▁dead line\",\n      \"co uld\",\n      \"cou ld\",\n      \"c ould\",\n      \"▁beg ann\",\n      \"▁began n\",\n      \"▁cal ci\",\n      \"▁calc i\",\n      \"▁Cir cle\",\n      \"▁Circ le\",\n      \"▁in cons\",\n      \"▁inc ons\",\n      \"▁incon s\",\n      \"aaaa aaaa\",\n      \"▁rub bed\",\n      \"ape ut\",\n      \"ua rio\",\n      \"uar io\",\n      \"u ario\",\n      \"worth y\",\n      \"wor thy\",\n      \"wort hy\",\n      \"▁уча сти\",\n      \"▁участ и\",\n      \"▁fam ília\",\n      \"▁synchron ized\",\n      \"▁unf air\",\n      \"rs p\",\n      \"r sp\",\n      \"▁soc ieties\",\n      \"▁societ ies\",\n      \"bo at\",\n      \"gr o\",\n      \"g ro\",\n      \"▁k at\",\n      \"▁ka t\",\n      \"▁ kat\",\n      \"▁p oker\",\n      \"▁po ker\",\n      \"▁pok er\",\n      \"▁l ocks\",\n      \"▁loc ks\",\n      \"▁lo cks\",\n      \"▁lock s\",\n      \"▁G F\",\n      \"▁ GF\",\n      \"▁re conc\",\n      \"▁recon c\",\n      \"▁Maur ice\",\n      \"▁Mau rice\",\n      \"__( /*!\",\n      \"▁ble eding\",\n      \"äs ident\",\n      \"▁по след\",\n      \"▁после д\",\n      \"▁deriv ative\",\n      \"ша я\",\n      \"cc ió\",\n      \"c ció\",\n      \"▁cr ushed\",\n      \"▁crush ed\",\n      \"▁tempor arily\",\n      \"▁co aches\",\n      \"▁coach es\",\n      \"▁Mo vement\",\n      \"▁Move ment\",\n      \"▁Mov ement\",\n      \"}} $.\",\n      \"}}$ .\",\n      \"} }$.\",\n      \"▁K yle\",\n      \"▁Ky le\",\n      \"▁S ohn\",\n      \"▁So hn\",\n      \"▁cre ator\",\n      \"▁creat or\",\n      \"ind ust\",\n      \"▁E rik\",\n      \"▁Er ik\",\n      \"▁se iz\",\n      \"▁sei z\",\n      \"▁dim ensional\",\n      \"▁dimension al\",\n      \"▁ dimensional\",\n      \"▁I st\",\n      \"▁Is t\",\n      \"▁pre val\",\n      \"▁pr eval\",\n      \"▁prev al\",\n      \"he ads\",\n      \"head s\",\n      \"▁про ти\",\n      \"▁determ ines\",\n      \"▁determine s\",\n      \"▁determin es\",\n      \"eg y\",\n      \"e gy\",\n      \"▁U INT\",\n      \"▁UI NT\",\n      \"▁ UINT\",\n      \"▁V olk\",\n      \"▁Vol k\",\n      \"pa wn\",\n      \"p awn\",\n      \"Ph oto\",\n      \"▁C olin\",\n      \"▁Col in\",\n      \"▁Co lin\",\n      \"ap propri\",\n      \"app ropri\",\n      \"ort ion\",\n      \"st eller\",\n      \"stell er\",\n      \"É tat\",\n      \"▁im ply\",\n      \"▁imp ly\",\n      \"▁impl y\",\n      \"▁t outes\",\n      \"▁to utes\",\n      \"▁tou tes\",\n      \"▁tout es\",\n      \"▁toute s\",\n      \"VO L\",\n      \"V OL\",\n      \"an ing\",\n      \"ani ng\",\n      \"a ning\",\n      \"Tool tip\",\n      \"ig ious\",\n      \"igi ous\",\n      \"▁e ternal\",\n      \"▁etern al\",\n      \"▁P oz\",\n      \"▁Po z\",\n      \"▁bank rupt\",\n      \"▁fail ures\",\n      \"▁failure s\",\n      \"uer te\",\n      \"▁вре ме\",\n      \"zu ng\",\n      \"z ung\",\n      \"▁t cp\",\n      \"▁tc p\",\n      \"▁ tcp\",\n      \"▁cont ainers\",\n      \"▁contain ers\",\n      \"▁container s\",\n      \"ou sel\",\n      \"ous el\",\n      \"ouse l\",\n      \"▁H IV\",\n      \"▁con ced\",\n      \"▁conc ed\",\n      \"▁conce d\",\n      \"▁sept iembre\",\n      \"gi rl\",\n      \"g irl\",\n      \"▁C ho\",\n      \"▁Ch o\",\n      \"▁f az\",\n      \"▁fa z\",\n      \"▁Up per\",\n      \"▁ Upper\",\n      \"▁For ces\",\n      \"▁Force s\",\n      \"äh lt\",\n      \"in ject\",\n      \"Re ceived\",\n      \"MA T\",\n      \"M AT\",\n      \"ag lia\",\n      \"ów nie\",\n      \"ówn ie\",\n      \"/ '\",\n      \"▁p ip\",\n      \"▁pi p\",\n      \"▁G est\",\n      \"▁Ge st\",\n      \"▁Ges t\",\n      \"▁l ado\",\n      \"▁la do\",\n      \"▁lad o\",\n      \"▁compat ibility\",\n      \"▁m are\",\n      \"▁mar e\",\n      \"▁ma re\",\n      \"▁ mare\",\n      \"▁Cle arly\",\n      \"▁Clear ly\",\n      \"vers ation\",\n      \"Ver s\",\n      \"V ers\",\n      \"▁ch ick\",\n      \"▁chi ck\",\n      \"▁organ ize\",\n      \"▁organiz e\",\n      \"▁econom ics\",\n      \"▁economic s\",\n      \"▁ancest ors\",\n      \"ME D\",\n      \"M ED\",\n      \"▁sc rub\",\n      \"▁scr ub\",\n      \"▁label ed\",\n      \"▁lab eled\",\n      \"▁п р\",\n      \"▁S uz\",\n      \"▁Su z\",\n      \"▁A str\",\n      \"▁As tr\",\n      \"▁Ast r\",\n      \"allow een\",\n      \"allo ween\",\n      \"rh s\",\n      \"r hs\",\n      \"as ci\",\n      \"asc i\",\n      \"▁C ancer\",\n      \"▁Can cer\",\n      \"▁H unt\",\n      \"▁Hun t\",\n      \"▁Hu nt\",\n      \"▁switch ing\",\n      \"▁R idge\",\n      \"Se q\",\n      \"S eq\",\n      \"▁gi ugno\",\n      \"bus iness\",\n      \"▁char ming\",\n      \"▁charm ing\",\n      \"▁I o\",\n      \"▁ Io\",\n      \"▁prés ident\",\n      \"ek ing\",\n      \"e king\",\n      \"í l\",\n      \"en h\",\n      \"e nh\",\n      \"pr it\",\n      \"p rit\",\n      \"erc ise\",\n      \"án ak\",\n      \"á nak\",\n      \"▁х ра\",\n      \"▁ хра\",\n      \"▁b ugs\",\n      \"▁bu gs\",\n      \"▁bug s\",\n      \"▁жи во\",\n      \"▁light ning\",\n      \"▁never theless\",\n      \"▁length s\",\n      \"G U\",\n      \"H idden\",\n      \"Act or\",\n      \"Ac tor\",\n      \"A ctor\",\n      \"To pic\",\n      \"Top ic\",\n      \"T opic\",\n      \"▁H orse\",\n      \"▁Hor se\",\n      \"ћ е\",\n      \"el ines\",\n      \"eline s\",\n      \"eli nes\",\n      \"elin es\",\n      \"e lines\",\n      \"▁trag edy\",\n      \"▁traged y\",\n      \"int endo\",\n      \"▁abund ance\",\n      \"▁ev ac\",\n      \"it ably\",\n      \"+\\\\ _\\\\\",\n      \"▁rec ib\",\n      \"ua ted\",\n      \"uate d\",\n      \"u ated\",\n      \"рі ї\",\n      \"▁fool ish\",\n      \"▁foo lish\",\n      \"▁t m\",\n      \"▁ tm\",\n      \"▁des pair\",\n      \"▁desp air\",\n      \"TO KEN\",\n      \"▁comp romise\",\n      \"▁comprom ise\",\n      \"▁Person en\",\n      \"▁Pers onen\",\n      \"▁investig ated\",\n      \"▁investigate d\",\n      \"▁ex clude\",\n      \"▁excl ude\",\n      \"▁telev is\",\n      \"▁tele vis\",\n      \"▁pull s\",\n      \"▁pul ls\",\n      \"▁according ly\",\n      \"▁accord ingly\",\n      \"▁f ő\",\n      \"▁Le ave\",\n      \"▁ Leave\",\n      \"oper ations\",\n      \"operation s\",\n      \"cri m\",\n      \"cr im\",\n      \"c rim\",\n      \"▁r hs\",\n      \"▁rh s\",\n      \"▁ rhs\",\n      \"▁form ally\",\n      \"▁formal ly\",\n      \"▁L ily\",\n      \"▁Li ly\",\n      \"▁Lil y\",\n      \"▁Com ments\",\n      \"▁Comm ents\",\n      \"▁Comment s\",\n      \"▁se ptember\",\n      \"▁sept ember\",\n      \"ie fs\",\n      \"ief s\",\n      \"▁tre asure\",\n      \"Http Servlet\",\n      \"ді в\",\n      \"д ів\",\n      \"▁dis claimer\",\n      \"lu ss\",\n      \"l uss\",\n      \"▁ка о\",\n      \"ro gen\",\n      \"rog en\",\n      \"r ogen\",\n      \"▁Start ing\",\n      \"▁Star ting\",\n      \"▁d ém\",\n      \"▁dé m\",\n      \"▁select ing\",\n      \"▁ ↘\",\n      \"▁О н\",\n      \"▁Pract ice\",\n      \"▁p orte\",\n      \"▁por te\",\n      \"▁port e\",\n      \"▁ porte\",\n      \"▁as sure\",\n      \"▁ass ure\",\n      \"▁frustr ated\",\n      \"S ink\",\n      \"▁A ri\",\n      \"▁Ar i\",\n      \"▁esc ort\",\n      \"ais es\",\n      \"ai ses\",\n      \"aise s\",\n      \"a ises\",\n      \"▁b ush\",\n      \"▁bu sh\",\n      \"▁bus h\",\n      \"▁Se ine\",\n      \"▁F ill\",\n      \"▁Fil l\",\n      \"▁Fi ll\",\n      \"▁ Fill\",\n      \"▁S ull\",\n      \"▁Su ll\",\n      \"▁Sul l\",\n      \"Do t\",\n      \"D ot\",\n      \"vi l\",\n      \"v il\",\n      \"un ing\",\n      \"uni ng\",\n      \"u ning\",\n      \"Render ing\",\n      \"Rend ering\",\n      \"sh ake\",\n      \"sha ke\",\n      \"пи си\",\n      \"пис и\",\n      \"pt e\",\n      \"p te\",\n      \"▁b end\",\n      \"▁be nd\",\n      \"▁ben d\",\n      \"▁jewel ry\",\n      \"▁Stock holm\",\n      \"▁Hon estly\",\n      \"! [\",\n      \"▁array s\",\n      \"▁arr ays\",\n      \"▁War ner\",\n      \"▁sh aft\",\n      \"▁sha ft\",\n      \"▁C ann\",\n      \"▁Can n\",\n      \"▁Ca nn\",\n      \"▁Pitt sburgh\",\n      \"ir ical\",\n      \"iri cal\",\n      \"i rical\",\n      \"au tre\",\n      \"aut re\",\n      \"▁R ück\",\n      \"▁gen naio\",\n      \"▁Ш а\",\n      \"an nte\",\n      \"ann te\",\n      \"annt e\",\n      \"ps hire\",\n      \"p shire\",\n      \"но логи\",\n      \"н ологи\",\n      \"ét a\",\n      \"é ta\",\n      \"▁pr inter\",\n      \"▁print er\",\n      \"▁prin ter\",\n      \"▁dam ages\",\n      \"▁damage s\",\n      \"▁Isa ac\",\n      \"▁Famil ie\",\n      \"Code s\",\n      \"Co des\",\n      \"C odes\",\n      \"th rift\",\n      \"no b\",\n      \"n ob\",\n      \"▁c av\",\n      \"▁ca v\",\n      \"▁techn ically\",\n      \"▁technical ly\",\n      \"▁I mm\",\n      \"▁Im m\",\n      \"▁tr icks\",\n      \"▁tri cks\",\n      \"▁trick s\",\n      \"EA R\",\n      \"E AR\",\n      \"▁Sub ject\",\n      \"▁ Subject\",\n      \"▁ne eding\",\n      \"▁need ing\",\n      \"▁G ir\",\n      \"▁Gi r\",\n      \"Bo ard\",\n      \"B oard\",\n      \"▁re he\",\n      \"▁rem inder\",\n      \"▁remind er\",\n      \"▁sh iver\",\n      \"K it\",\n      \"▁strugg les\",\n      \"▁struggle s\",\n      \"▁gen om\",\n      \"▁ge nom\",\n      \"im il\",\n      \"imi l\",\n      \"i mil\",\n      \"Reg istration\",\n      \"▁gl oves\",\n      \"▁glo ves\",\n      \"▁Z ur\",\n      \"▁Zu r\",\n      \"▁B eg\",\n      \"▁Be g\",\n      \"▁in clusive\",\n      \"▁incl usive\",\n      \"/ ,\",\n      \"og an\",\n      \"oga n\",\n      \"o gan\",\n      \"po que\",\n      \"cont rib\",\n      \"contr ib\",\n      \"ши н\",\n      \"ш ин\",\n      \"▁M ama\",\n      \"▁Ma ma\",\n      \"▁Mam a\",\n      \"print s\",\n      \"▁re named\",\n      \"▁ren amed\",\n      \"ють ся\",\n      \"ю ться\",\n      \"net dev\",\n      \"▁comp ile\",\n      \"▁ compile\",\n      \"▁ §\",\n      \"M UL\",\n      \"▁dr aws\",\n      \"▁draw s\",\n      \"co ck\",\n      \"c ock\",\n      \"▁сво и\",\n      \"▁M um\",\n      \"▁Mu m\",\n      \"sp ieler\",\n      \"spi eler\",\n      \"s pieler\",\n      \"▁n ail\",\n      \"▁na il\",\n      \"▁ nail\",\n      \"▁trans it\",\n      \"▁S aw\",\n      \"▁Sa w\",\n      \"▁com press\",\n      \"▁comp ress\",\n      \"▁compre ss\",\n      \"▁compr ess\",\n      \"▁ compress\",\n      \"▁purch ases\",\n      \"▁purchase s\",\n      \"▁per forms\",\n      \"▁perform s\",\n      \"▁dem ol\",\n      \"▁demo l\",\n      \"▁comm ence\",\n      \"▁C B\",\n      \"▁ CB\",\n      \"▁A ber\",\n      \"▁Ab er\",\n      \"▁c ush\",\n      \"▁cu sh\",\n      \"▁ком п\",\n      \"▁ру ко\",\n      \"▁Muham mad\",\n      \"▁Net flix\",\n      \"▁Environment al\",\n      \"No rm\",\n      \"N orm\",\n      \"▁w ir\",\n      \"null ptr\",\n      \"▁refuge es\",\n      \"до н\",\n      \"д он\",\n      \"▁B irmingham\",\n      \"New s\",\n      \"Ne ws\",\n      \"▁В се\",\n      \"Or ient\",\n      \"O rient\",\n      \"As sembly\",\n      \"▁introdu cing\",\n      \"fin der\",\n      \"find er\",\n      \"fi nder\",\n      \"f inder\",\n      \"▁scholar ship\",\n      \"▁scholars hip\",\n      \"▁ос нова\",\n      \"▁основ а\",\n      \"if a\",\n      \"i fa\",\n      \"Si ng\",\n      \"S ing\",\n      \"ib lic\",\n      \"ibli c\",\n      \"i blic\",\n      \"istribut ed\",\n      \"istribute d\",\n      \"▁depart ments\",\n      \"▁department s\",\n      \"CR EF\",\n      \"CRE F\",\n      \"C REF\",\n      \"▁Malays ia\",\n      \"CO NF\",\n      \"CON F\",\n      \"▁Cl aud\",\n      \"▁Bu ilt\",\n      \"▁ Built\",\n      \"RAN GE\",\n      \"Re direct\",\n      \"Red irect\",\n      \"LE ASE\",\n      \"-- -------\",\n      \"---- -----\",\n      \"-------- -\",\n      \"--- ------\",\n      \"----- ----\",\n      \"------ ---\",\n      \"------- --\",\n      \"- --------\",\n      \"▁П у\",\n      \"▁n umpy\",\n      \"▁num py\",\n      \"▁project ed\",\n      \"▁remind s\",\n      \"▁- *-\",\n      \"ib ling\",\n      \"ibli ng\",\n      \"i bling\",\n      \"▁s lower\",\n      \"▁sl ower\",\n      \"▁slow er\",\n      \"op p\",\n      \"o pp\",\n      \"ro pic\",\n      \"rop ic\",\n      \"r opic\",\n      \"▁Mont real\",\n      \"▁detect ive\",\n      \"TH READ\",\n      \"▁qu é\",\n      \"▁R osa\",\n      \"▁Ro sa\",\n      \"▁Ros a\",\n      \"▁seven th\",\n      \"▁sevent h\",\n      \"Col ors\",\n      \"Color s\",\n      \"de mo\",\n      \"dem o\",\n      \"▁E sta\",\n      \"▁Est a\",\n      \"▁Es ta\",\n      \"ff f\",\n      \"f ff\",\n      \"ick ets\",\n      \"icket s\",\n      \"Gr e\",\n      \"G re\",\n      \"á b\",\n      \"bo ost\",\n      \"▁Go ing\",\n      \"▁Su ite\",\n      \"▁ Suite\",\n      \"▁adapt ation\",\n      \"▁j ours\",\n      \"▁jour s\",\n      \"▁jo urs\",\n      \"▁jou rs\",\n      \"▁ jours\",\n      \"▁Or th\",\n      \"▁Ort h\",\n      \"х і\",\n      \"Fig ure\",\n      \"▁su pers\",\n      \"▁sup ers\",\n      \"▁super s\",\n      \"▁access ories\",\n      \"we ak\",\n      \"▁dist ress\",\n      \"fr ied\",\n      \"f ried\",\n      \"▁go og\",\n      \"ка з\",\n      \"▁far mer\",\n      \"▁farm er\",\n      \"it ational\",\n      \"itation al\",\n      \"itat ional\",\n      \"Go ld\",\n      \"G old\",\n      \"▁ass hole\",\n      \"▁assh ole\",\n      \"▁Cont roller\",\n      \"▁Control ler\",\n      \"▁ Controller\",\n      \"▁ар хи\",\n      \"To o\",\n      \"T oo\",\n      \"▁mol to\",\n      \"▁p ropri\",\n      \"▁prop ri\",\n      \"▁ propri\",\n      \"▁al go\",\n      \"▁alg o\",\n      \"Af f\",\n      \"A ff\",\n      \"re sc\",\n      \"res c\",\n      \"r esc\",\n      \"▁D y\",\n      \"▁con gr\",\n      \"▁T es\",\n      \"▁Te s\",\n      \"▁W IN\",\n      \"▁ WIN\",\n      \"de serialize\",\n      \"des erialize\",\n      \"sy n\",\n      \"s yn\",\n      \"▁chem istry\",\n      \"m iddle\",\n      \"▁an imated\",\n      \"▁anim ated\",\n      \"▁K um\",\n      \"▁Ku m\",\n      \"file Name\",\n      \"Amer ica\",\n      \"▁dr ums\",\n      \"▁dru ms\",\n      \"▁drum s\",\n      \"▁program a\",\n      \"▁n ej\",\n      \"▁ne j\",\n      \"▁ nej\",\n      \"Read Only\",\n      \"▁Б ра\",\n      \"-- -----\",\n      \"---- ---\",\n      \"--- ----\",\n      \"----- --\",\n      \"------ -\",\n      \"- ------\",\n      \"Mut ex\",\n      \"Mu tex\",\n      \"un ned\",\n      \"unn ed\",\n      \"ynam ics\",\n      \"ynamic s\",\n      \"co system\",\n      \"cos ystem\",\n      \"▁R ect\",\n      \"▁Re ct\",\n      \"▁Rec t\",\n      \"▁ Rect\",\n      \"▁an ime\",\n      \"▁anim e\",\n      \"▁I BM\",\n      \"▁need le\",\n      \"es ser\",\n      \"ess er\",\n      \"esse r\",\n      \"▁incl u\",\n      \"▁inc lu\",\n      \"Le an\",\n      \"tr aining\",\n      \"tra ining\",\n      \"train ing\",\n      \"▁b our\",\n      \"▁bo ur\",\n      \"▁bou r\",\n      \"▁ bour\",\n      \"ab ases\",\n      \"abase s\",\n      \"aba ses\",\n      \"▁tak że\",\n      \"wa rz\",\n      \"war z\",\n      \"w arz\",\n      \"▁ste pping\",\n      \"▁step ping\",\n      \"▁T IME\",\n      \"▁ TIME\",\n      \"▁Ein stein\",\n      \"▁Log in\",\n      \"▁Lo gin\",\n      \"▁ Login\",\n      \"pon ential\",\n      \"ponent ial\",\n      \"De ad\",\n      \"D ead\",\n      \"in str\",\n      \"ins tr\",\n      \"inst r\",\n      \"▁ne ural\",\n      \"▁neu ral\",\n      \"▁neur al\",\n      \"▁ub ic\",\n      \"▁Init ialized\",\n      \"▁Initialize d\",\n      \"▁Initial ized\",\n      \"▁ Initialized\",\n      \"▁facil itate\",\n      \"G D\",\n      \"}{ (\",\n      \"} {(\",\n      \"D ark\",\n      \"▁n ag\",\n      \"▁na g\",\n      \"min ipage\",\n      \"Size s\",\n      \"Si zes\",\n      \"S izes\",\n      \"▁w orm\",\n      \"▁wor m\",\n      \"▁wo rm\",\n      \"bi as\",\n      \"bia s\",\n      \"b ias\",\n      \"Su ch\",\n      \"S uch\",\n      \"wick lung\",\n      \"▁sp ouse\",\n      \"▁spo use\",\n      \"▁surviv ors\",\n      \"er st\",\n      \"ers t\",\n      \"at ype\",\n      \"aty pe\",\n      \"a type\",\n      \"}) $,\",\n      \"})$ ,\",\n      \"} )$,\",\n      \"▁n l\",\n      \"▁ nl\",\n      \"▁cogn itive\",\n      \"▁o nde\",\n      \"▁on de\",\n      \"▁ onde\",\n      \"▁en abling\",\n      \"▁soc iet\",\n      \"▁soci et\",\n      \"▁c lan\",\n      \"▁cl an\",\n      \"▁ex cluded\",\n      \"▁excl uded\",\n      \"▁exclude d\",\n      \"▁th under\",\n      \"▁ent ropy\",\n      \"▁entr opy\",\n      \"▁fast est\",\n      \"RE EN\",\n      \"REE N\",\n      \"▁Vien na\",\n      \"▁fl owing\",\n      \"▁flo wing\",\n      \"▁flow ing\",\n      \"▁aff irm\",\n      \"al om\",\n      \"alo m\",\n      \"▁h ips\",\n      \"▁hi ps\",\n      \"▁hip s\",\n      \"▁can nab\",\n      \"▁st icks\",\n      \"▁stick s\",\n      \"▁cur riculum\",\n      \"▁ret ained\",\n      \"▁retain ed\",\n      \"▁ext ending\",\n      \"▁extend ing\",\n      \"ó z\",\n      \"he aded\",\n      \"head ed\",\n      \"ex c\",\n      \"e xc\",\n      \"▁je ho\",\n      \"▁for ests\",\n      \"▁fore sts\",\n      \"▁forest s\",\n      \"ma nia\",\n      \"man ia\",\n      \"m ania\",\n      \"▁C anal\",\n      \"▁Can al\",\n      \"▁Ca nal\",\n      \"▁S out\",\n      \"▁So ut\",\n      \"▁Sou t\",\n      \"▁B ahn\",\n      \"▁Ba hn\",\n      \"▁Bah n\",\n      \"▁T EXT\",\n      \"▁TE XT\",\n      \"▁ TEXT\",\n      \"▁др жа\",\n      \"▁User s\",\n      \"▁Us ers\",\n      \"▁Use rs\",\n      \"▁ Users\",\n      \"▁G EN\",\n      \"▁ GEN\",\n      \"sl ash\",\n      \"ben falls\",\n      \"Text Field\",\n      \"▁r av\",\n      \"▁ra v\",\n      \"▁ rav\",\n      \"▁continu ously\",\n      \"▁continuous ly\",\n      \"IT ER\",\n      \"ITE R\",\n      \"I TER\",\n      \"▁Jen ny\",\n      \"▁Jenn y\",\n      \"ch os\",\n      \"cho s\",\n      \"c hos\",\n      \"▁am big\",\n      \"▁amb ig\",\n      \"▁ж ур\",\n      \"Aut ow\",\n      \"Auto w\",\n      \"▁V eter\",\n      \"▁Ve ter\",\n      \"▁dest in\",\n      \"H om\",\n      \"au ge\",\n      \"aug e\",\n      \"a uge\",\n      \"▁com mod\",\n      \"▁comm od\",\n      \"▁gar lic\",\n      \"< =\",\n      \"▁dram atically\",\n      \"▁dramatic ally\",\n      \"CA N\",\n      \"C AN\",\n      \"an cers\",\n      \"ance rs\",\n      \"anc ers\",\n      \"ancer s\",\n      \"() }\",\n      \"( )}\",\n      \"gh ai\",\n      \"▁tw ee\",\n      \"▁twe e\",\n      \"▁сент ября\",\n      \"GP U\",\n      \"G PU\",\n      \"▁B omb\",\n      \"▁Bo mb\",\n      \"▁young est\",\n      \"▁c age\",\n      \"▁ca ge\",\n      \"ok s\",\n      \"o ks\",\n      \"ic hes\",\n      \"ich es\",\n      \"iche s\",\n      \"i ches\",\n      \"▁T ests\",\n      \"▁Te sts\",\n      \"▁Test s\",\n      \"▁Tes ts\",\n      \"▁ Tests\",\n      \"sk ý\",\n      \"cur y\",\n      \"cu ry\",\n      \"c ury\",\n      \"na ls\",\n      \"nal s\",\n      \"n als\",\n      \"ț a\",\n      \"▁V oice\",\n      \"▁Vo ice\",\n      \"Depend ency\",\n      \"v f\",\n      \"e ous\",\n      \"▁Z a\",\n      \"▁am ateur\",\n      \"▁G host\",\n      \"▁Gh ost\",\n      \"▁dis ability\",\n      \"▁Вла ди\",\n      \"▁rev enge\",\n      \"▁reven ge\",\n      \"Trans lation\",\n      \"▁cour tesy\",\n      \"ски я\",\n      \"▁bl ob\",\n      \"▁blo b\",\n      \"▁ blob\",\n      \"ä ß\",\n      \"ó j\",\n      \"▁print s\",\n      \"▁prin ts\",\n      \"▁ prints\",\n      \"▁pro ves\",\n      \"▁pr oves\",\n      \"▁prov es\",\n      \"▁prove s\",\n      \">? [<\",\n      \"▁ut ils\",\n      \"▁util s\",\n      \"▁ utils\",\n      \"ty pen\",\n      \"type n\",\n      \"typ en\",\n      \"▁t erra\",\n      \"▁ter ra\",\n      \"▁terr a\",\n      \"▁ terra\",\n      \"▁min eral\",\n      \"▁mine ral\",\n      \"▁miner al\",\n      \"▁war rior\",\n      \"▁ме ст\",\n      \"▁D S\",\n      \"▁ DS\",\n      \"Em b\",\n      \"E mb\",\n      \"get Data\",\n      \"ли чи\",\n      \"лич и\",\n      \"▁sa fer\",\n      \"▁saf er\",\n      \"▁safe r\",\n      \"▁com une\",\n      \"▁comun e\",\n      \"▁hier archy\",\n      \"Cred entials\",\n      \"res se\",\n      \"ress e\",\n      \"r esse\",\n      \"gr av\",\n      \"gra v\",\n      \"g rav\",\n      \"lo gs\",\n      \"log s\",\n      \"l ogs\",\n      \"br os\",\n      \"bro s\",\n      \"b ros\",\n      \"BUT TON\",\n      \"lit eral\",\n      \"liter al\",\n      \"l iteral\",\n      \"▁S r\",\n      \"an tal\",\n      \"ant al\",\n      \"anta l\",\n      \"▁mer cy\",\n      \"▁merc y\",\n      \"DA P\",\n      \"D AP\",\n      \"▁Mag gie\",\n      \"▁sust ained\",\n      \"▁sustain ed\",\n      \"N M\",\n      \"Re view\",\n      \"Rev iew\",\n      \"▁Buen os\",\n      \"▁de aler\",\n      \"▁deal er\",\n      \"en es\",\n      \"ene s\",\n      \"e nes\",\n      \"▁file Name\",\n      \"▁ fileName\",\n      \"bb ra\",\n      \"b bra\",\n      \"ро ма\",\n      \"ром а\",\n      \"Inst all\",\n      \"▁Mor ning\",\n      \"LE T\",\n      \"L ET\",\n      \"ip a\",\n      \"i pa\",\n      \"G a\",\n      \"го в\",\n      \"г ов\",\n      \"▁Sche dule\",\n      \"▁ Schedule\",\n      \"▁rep orters\",\n      \"▁report ers\",\n      \"▁reporter s\",\n      \"▁pecul iar\",\n      \"▁sup plier\",\n      \")$ -\",\n      \") $-\",\n      \"ë l\",\n      \"▁roll s\",\n      \"▁né cess\",\n      \"▁p reg\",\n      \"▁pre g\",\n      \"▁pr eg\",\n      \"▁Re yn\",\n      \"▁sur render\",\n      \"▁contribut ing\",\n      \")+ \\\\\",\n      \") +\\\\\",\n      \"PRO P\",\n      \"PR OP\",\n      \"P ROP\",\n      \"▁dec imal\",\n      \"▁Town ship\",\n      \"gr p\",\n      \"g rp\",\n      \"▁terror ist\",\n      \"pt o\",\n      \"p to\",\n      \"on en\",\n      \"one n\",\n      \"o nen\",\n      \"▁Polit ics\",\n      \"▁Pe arl\",\n      \"▁Pear l\",\n      \"▁pil low\",\n      \"▁pill ow\",\n      \"▁gr ades\",\n      \"▁grad es\",\n      \"▁grade s\",\n      \"▁gra des\",\n      \"▁ grades\",\n      \"TH E\",\n      \"T HE\",\n      \"▁num ero\",\n      \"▁numer o\",\n      \"▁nu mero\",\n      \"i NdEx\",\n      \"M igration\",\n      \"PE ND\",\n      \"P END\",\n      \"ph oto\",\n      \"▁cent ered\",\n      \"▁center ed\",\n      \"▁r het\",\n      \"▁rh et\",\n      \"egr ünd\",\n      \"▁laund ry\",\n      \"get Node\",\n      \"▁est imation\",\n      \"▁estim ation\",\n      \"▁I v\",\n      \"▁wh oles\",\n      \"▁who les\",\n      \"▁whole s\",\n      \"ше ния\",\n      \"▁const itutional\",\n      \"▁constitution al\",\n      \"am ination\",\n      \"amin ation\",\n      \"▁Municip al\",\n      \"ad t\",\n      \"a dt\",\n      \"th y\",\n      \"t hy\",\n      \"▁pub li\",\n      \"▁di cembre\",\n      \"▁dic embre\",\n      \"▁dice mbre\",\n      \"` )\",\n      \"▁Ch rome\",\n      \"ef e\",\n      \"e fe\",\n      \"con g\",\n      \"co ng\",\n      \"c ong\",\n      \"bre aking\",\n      \"break ing\",\n      \"at ched\",\n      \"atch ed\",\n      \"es tr\",\n      \"est r\",\n      \"e str\",\n      \"▁i di\",\n      \"▁id i\",\n      \"▁ idi\",\n      \"VER Y\",\n      \"V ERY\",\n      \"▁app el\",\n      \"▁ap pel\",\n      \"▁appe l\",\n      \"▁Techn ical\",\n      \"tc x\",\n      \"t cx\",\n      \"DO UBLE\",\n      \"se k\",\n      \"s ek\",\n      \"hu ng\",\n      \"h ung\",\n      \"▁A ur\",\n      \"▁Au r\",\n      \"coll apse\",\n      \"▁adv ise\",\n      \"▁advis e\",\n      \"▁Pr imary\",\n      \"▁Pri mary\",\n      \"▁Prim ary\",\n      \"▁ Primary\",\n      \"ia z\",\n      \"i az\",\n      \"▁a nten\",\n      \"▁an ten\",\n      \"▁ant en\",\n      \"▁ante n\",\n      \"▁ anten\",\n      \"▁bro ader\",\n      \"▁broad er\",\n      \"▁ju nio\",\n      \"▁jun io\",\n      \"▁juni o\",\n      \"▁w ool\",\n      \"▁wo ol\",\n      \"▁hat red\",\n      \"▁ex agger\",\n      \"Con v\",\n      \"Co nv\",\n      \"kt ur\",\n      \"▁em peror\",\n      \"▁Pack age\",\n      \"▁ Package\",\n      \"TD M\",\n      \"T DM\",\n      \"\\\\{ \\\\\",\n      \"\\\\ {\\\\\",\n      \"whe el\",\n      \"▁fe as\",\n      \"▁js ou\",\n      \"<? >\",\n      \"< ?>\",\n      \"INST ANCE\",\n      \"▁ch ant\",\n      \"▁cha nt\",\n      \"▁ chant\",\n      \"▁Re fer\",\n      \"▁Ref er\",\n      \"▁S hir\",\n      \"▁Sh ir\",\n      \"▁ве ка\",\n      \"▁Me eting\",\n      \"▁Meet ing\",\n      \"▁n v\",\n      \"▁ nv\",\n      \"▁associ ations\",\n      \"▁association s\",\n      \"it ations\",\n      \"itation s\",\n      \"itat ions\",\n      \"or um\",\n      \"o rum\",\n      \"▁t ires\",\n      \"▁ti res\",\n      \"▁tire s\",\n      \"▁tir es\",\n      \"▁d ash\",\n      \"▁da sh\",\n      \"▁das h\",\n      \"▁ dash\",\n      \"▁} ));\",\n      \"▁}) );\",\n      \"ar to\",\n      \"art o\",\n      \"▁Ed inburgh\",\n      \"W T\",\n      \"▁inv ented\",\n      \"▁invent ed\",\n      \"ve h\",\n      \"v eh\",\n      \"▁Hind u\",\n      \"▁Насе лення\",\n      \"▁ur gent\",\n      \"▁urg ent\",\n      \"▁urge nt\",\n      \"text color\",\n      \"we rp\",\n      \"wer p\",\n      \"▁det ector\",\n      \"▁detect or\",\n      \"▁al tered\",\n      \"▁alt ered\",\n      \"▁alter ed\",\n      \"▁t b\",\n      \"▁ tb\",\n      \"▁N aval\",\n      \"▁Na val\",\n      \"▁Nav al\",\n      \"▁mem br\",\n      \"style sheet\",\n      \"styles heet\",\n      \"un ts\",\n      \"unt s\",\n      \"▁nut rition\",\n      \"▁S ylv\",\n      \"▁Sy lv\",\n      \"▁e numer\",\n      \"▁en umer\",\n      \"▁enum er\",\n      \"▁m ines\",\n      \"▁min es\",\n      \"▁mi nes\",\n      \"▁mine s\",\n      \"▁l itter\",\n      \"▁lit ter\",\n      \"▁litt er\",\n      \"ž í\",\n      \"con current\",\n      \"▁sw allow\",\n      \"Si r\",\n      \"S ir\",\n      \"tal k\",\n      \"t alk\",\n      \"▁de utschen\",\n      \"▁deutsch en\",\n      \"re peat\",\n      \"▁dom ains\",\n      \"▁domain s\",\n      \"▁Mc Donald\",\n      \"▁cand le\",\n      \"▁pl ural\",\n      \"▁sharp ly\",\n      \"▁shar ply\",\n      \"orig ine\",\n      \"origin e\",\n      \"▁c andy\",\n      \"▁can dy\",\n      \"▁cand y\",\n      \"▁kilomet res\",\n      \"▁power ed\",\n      \"▁pow ered\",\n      \"▁ powered\",\n      \"▁s ep\",\n      \"▁se p\",\n      \"▁ sep\",\n      \"▁S oci\",\n      \"▁So ci\",\n      \"▁Soc i\",\n      \"▁Ber nie\",\n      \"▁Bern ie\",\n      \"GE NER\",\n      \"GEN ER\",\n      \"Ex per\",\n      \"Exp er\",\n      \"▁Al low\",\n      \"▁All ow\",\n      \"▁ Allow\",\n      \"▁Ern st\",\n      \"▁Re becca\",\n      \"▁Cont ribut\",\n      \"ro utes\",\n      \"rou tes\",\n      \"route s\",\n      \"r outes\",\n      \"▁s uffix\",\n      \"▁suff ix\",\n      \"▁ju lio\",\n      \"▁jul io\",\n      \"▁juli o\",\n      \"▁provinc ial\",\n      \"▁provincia l\",\n      \"▁provin cial\",\n      \"▁appreci ation\",\n      \"Us ing\",\n      \"U sing\",\n      \"abs olute\",\n      \"▁cr icket\",\n      \"W ould\",\n      \"▁Equip ment\",\n      \"▁tort ure\",\n      \"на х\",\n      \"ut ton\",\n      \"utt on\",\n      \"че ство\",\n      \"▁out break\",\n      \"▁prevent ing\",\n      \"▁mad re\",\n      \"▁ret ire\",\n      \"end region\",\n      \"▁f ais\",\n      \"▁fa is\",\n      \"▁remember ing\",\n      \"▁Al ban\",\n      \"▁Alb an\",\n      \"▁a rist\",\n      \"▁ar ist\",\n      \"▁work out\",\n      \"▁u z\",\n      \"▁ uz\",\n      \"as to\",\n      \"ast o\",\n      \"a sto\",\n      \"fort unate\",\n      \"fortun ate\",\n      \"▁p aste\",\n      \"▁past e\",\n      \"▁pas te\",\n      \"▁pa ste\",\n      \"▁M R\",\n      \"▁ MR\",\n      \"▁o tra\",\n      \"▁ot ra\",\n      \"S v\",\n      \"an gen\",\n      \"ang en\",\n      \"ange n\",\n      \"▁S ierra\",\n      \"▁Si erra\",\n      \"▁n au\",\n      \"▁na u\",\n      \"▁s era\",\n      \"▁se ra\",\n      \"▁ser a\",\n      \"$ ~\",\n      \"▁cos ì\",\n      \")( (\",\n      \") ((\",\n      \"▁propos als\",\n      \"▁proposal s\",\n      \"it te\",\n      \"itt e\",\n      \"▁P ero\",\n      \"▁Per o\",\n      \"▁Pe ro\",\n      \"▁te nant\",\n      \"▁ten ant\",\n      \"▁ tenant\",\n      \"Y P\",\n      \"▁Param eter\",\n      \"▁ Parameter\",\n      \"sp ell\",\n      \"spe ll\",\n      \"▁e merge\",\n      \"▁emer ge\",\n      \"▁g ek\",\n      \"▁ge k\",\n      \"ol ence\",\n      \"olen ce\",\n      \"ot os\",\n      \"oto s\",\n      \"o tos\",\n      \"▁witness es\",\n      \"▁watch es\",\n      \"▁wat ches\",\n      \"▁A ch\",\n      \"▁Ac h\",\n      \"Cr oss\",\n      \"C ross\",\n      \"▁янва ря\",\n      \"; }\",\n      \"▁O NE\",\n      \"▁ON E\",\n      \"▁ ONE\",\n      \"▁care ers\",\n      \"▁career s\",\n      \"▁faith ful\",\n      \"▁J our\",\n      \"▁Jo ur\",\n      \"▁Gener ate\",\n      \"▁Gene rate\",\n      \"▁ Generate\",\n      \"▁ию ля\",\n      \"▁recommend ation\",\n      \"w b\",\n      \"sk ich\",\n      \"ski ch\",\n      \"bold math\",\n      \"▁orig ins\",\n      \"▁origin s\",\n      \"▁spin ning\",\n      \"▁// \\r\",\n      \"▁bomb s\",\n      \"▁bom bs\",\n      \"min ister\",\n      \"I o\",\n      \"öl ker\",\n      \"Autow ired\",\n      \"um per\",\n      \"ump er\",\n      \"ich ael\",\n      \"▁contribut ors\",\n      \"▁contributor s\",\n      \"▁n asty\",\n      \"▁na sty\",\n      \"▁nas ty\",\n      \"▁nast y\",\n      \"▁d rap\",\n      \"▁dr ap\",\n      \"▁Bud apest\",\n      \"ur ious\",\n      \"uri ous\",\n      \"hi d\",\n      \"h id\",\n      \"▁wel comed\",\n      \"▁welcome d\",\n      \"▁w agon\",\n      \"▁wa gon\",\n      \"▁Ва си\",\n      \"▁embarrass ed\",\n      \"▁Har vey\",\n      \"Lo s\",\n      \"L os\",\n      \"▁S ter\",\n      \"▁St er\",\n      \"▁Ste r\",\n      \"▁enjoy able\",\n      \"ör t\",\n      \"ö rt\",\n      \"Mill is\",\n      \"-- )\",\n      \"- -)\",\n      \"▁d ashed\",\n      \"▁das hed\",\n      \"▁dash ed\",\n      \"\\\"> <?\",\n      \"\\\">< ?\",\n      \"\\\" ><?\",\n      \"da s\",\n      \"d as\",\n      \"=$ (\",\n      \"= $(\",\n      \"▁ex h\",\n      \"ah u\",\n      \"a hu\",\n      \"▁w sp\",\n      \"▁Sebast ian\",\n      \"He n\",\n      \"H en\",\n      \"SING LE\",\n      \"be k\",\n      \"b ek\",\n      \"Ver y\",\n      \"V ery\",\n      \"ach ers\",\n      \"ache rs\",\n      \"acher s\",\n      \"ya ml\",\n      \"y aml\",\n      \"▁B ür\",\n      \"▁bud dy\",\n      \"▁re ste\",\n      \"▁r este\",\n      \"▁res te\",\n      \"▁rest e\",\n      \"▁parse Int\",\n      \"▁ parseInt\",\n      \"PL Y\",\n      \"P LY\",\n      \"ic l\",\n      \"i cl\",\n      \"▁b ald\",\n      \"▁bal d\",\n      \"▁ba ld\",\n      \"▁ch ase\",\n      \"▁cha se\",\n      \"▁hom me\",\n      \"▁squeez ed\",\n      \"▁poss essed\",\n      \"▁possess ed\",\n      \"▁attribute d\",\n      \"▁attribut ed\",\n      \"▁P ul\",\n      \"▁Pu l\",\n      \"H a\",\n      \"L u\",\n      \"▁K in\",\n      \"▁Ki n\",\n      \"ter ra\",\n      \"t erra\",\n      \"rot ate\",\n      \"▁prospect s\",\n      \"▁Commun ications\",\n      \"▁Th ought\",\n      \"▁Though t\",\n      \"ad j\",\n      \"▁Le ader\",\n      \"▁Lead er\",\n      \"con c\",\n      \"co nc\",\n      \"▁surve illance\",\n      \"▁V A\",\n      \"▁ VA\",\n      \"▁cr yst\",\n      \"▁cry st\",\n      \"vers ions\",\n      \"version s\",\n      \"▁о ни\",\n      \"▁он и\",\n      \"ro be\",\n      \"rob e\",\n      \"r obe\",\n      \"▁J ama\",\n      \"▁Jam a\",\n      \"▁Ja ma\",\n      \"ó m\",\n      \"▁H ook\",\n      \"▁Ho ok\",\n      \"▁ Hook\",\n      \"source s\",\n      \"s ources\",\n      \"▁года х\",\n      \"▁intim id\",\n      \"er ei\",\n      \"ere i\",\n      \"e rei\",\n      \"▁re sent\",\n      \"▁res ent\",\n      \"▁ resent\",\n      \"espec ially\",\n      \"e specially\",\n      \">' ,\",\n      \"> ',\",\n      \"▁all iance\",\n      \"ic ism\",\n      \"ici sm\",\n      \"▁NAS A\",\n      \"▁NA SA\",\n      \"▁p ode\",\n      \"▁po de\",\n      \"▁pod e\",\n      \"č ní\",\n      \"▁respon ding\",\n      \"▁respond ing\",\n      \"▁bl owing\",\n      \"▁blo wing\",\n      \"▁blow ing\",\n      \"ic ké\",\n      \"ick é\",\n      \"ва но\",\n      \"ван о\",\n      \"▁H off\",\n      \"▁Ho ff\",\n      \"▁Hof f\",\n      \"MB ER\",\n      \"M BER\",\n      \"▁civil ization\",\n      \"ar ía\",\n      \"a ría\",\n      \"Un lock\",\n      \"ge ts\",\n      \"get s\",\n      \"g ets\",\n      \"no d\",\n      \"n od\",\n      \"▁S TE\",\n      \"▁ST E\",\n      \"▁con science\",\n      \"PE G\",\n      \"ch anging\",\n      \"chan ging\",\n      \"▁Rich mond\",\n      \"ling ton\",\n      \"l ington\",\n      \"ocr atic\",\n      \"▁trav és\",\n      \"▁ф ран\",\n      \"▁up dating\",\n      \"process ing\",\n      \"Al ex\",\n      \"A lex\",\n      \"▁mil itar\",\n      \"▁milit ar\",\n      \"▁pse udo\",\n      \"▁pseud o\",\n      \"str len\",\n      \"▁be have\",\n      \"▁beh ave\",\n      \"▁behav e\",\n      \"▁distinct ive\",\n      \"▁E c\",\n      \"▁c x\",\n      \"▁ cx\",\n      \"▁journal ists\",\n      \"▁journalist s\",\n      \"vo lt\",\n      \"vol t\",\n      \"v olt\",\n      \"▁sp un\",\n      \"▁d urable\",\n      \"▁dur able\",\n      \"▁pro position\",\n      \"▁propos ition\",\n      \"▁ proposition\",\n      \"thread s\",\n      \"▁tw entieth\",\n      \"▁ф і\",\n      \"▁ фі\",\n      \"en son\",\n      \"ens on\",\n      \"enso n\",\n      \"▁self ish\",\n      \"▁sel fish\",\n      \"ar ium\",\n      \"ari um\",\n      \"a rium\",\n      \"▁de cid\",\n      \"▁dec id\",\n      \"▁ха рак\",\n      \"▁psy chiat\",\n      \"▁psych iat\",\n      \"g d\",\n      \"Z Z\",\n      \"ug u\",\n      \"u gu\",\n      \"▁i ds\",\n      \"▁id s\",\n      \"▁ ids\",\n      \"Man aged\",\n      \"▁Leg isl\",\n      \"ancell ationToken\",\n      \"▁gr ants\",\n      \"▁gran ts\",\n      \"▁grant s\",\n      \"▁lie utenant\",\n      \"▁lieu tenant\",\n      \"▁Fle et\",\n      \"** /\",\n      \"* */\",\n      \"▁T ig\",\n      \"▁Ti g\",\n      \"▁accept s\",\n      \"▁system atic\",\n      \", {\\\\\",\n      \"▁У кра\",\n      \"▁aus ge\",\n      \"▁dial ect\",\n      \"▁dia lect\",\n      \"st ri\",\n      \"str i\",\n      \"s tri\",\n      \"er me\",\n      \"erm e\",\n      \"▁B esch\",\n      \"▁Be sch\",\n      \"▁Bes ch\",\n      \"lo ve\",\n      \"lov e\",\n      \"l ove\",\n      \"S ensor\",\n      \"▁B IT\",\n      \"▁ BIT\",\n      \"▁т ру\",\n      \"▁mist aken\",\n      \"▁mistake n\",\n      \"p v\",\n      \"▁u tf\",\n      \"▁ut f\",\n      \"▁ utf\",\n      \"▁[ \\\\\",\n      \"▁ [\\\\\",\n      \"▁Geb iet\",\n      \"▁Mann schaft\",\n      \"PAR AMETER\",\n      \"▁u rb\",\n      \"▁ur b\",\n      \"▁ urb\",\n      \"▁R eed\",\n      \"▁Re ed\",\n      \"▁c ough\",\n      \"▁co ugh\",\n      \"▁cou gh\",\n      \"wa ld\",\n      \"wal d\",\n      \"w ald\",\n      \"▁L amb\",\n      \"▁La mb\",\n      \"▁Lam b\",\n      \"▁surv iving\",\n      \"▁surviv ing\",\n      \"▁s way\",\n      \"▁sw ay\",\n      \"▁с ве\",\n      \"WI SE\",\n      \"ä ger\",\n      \"f y\",\n      \"sk e\",\n      \"s ke\",\n      \"▁s og\",\n      \"▁so g\",\n      \"▁Im plement\",\n      \"▁Imp lement\",\n      \"▁ Implement\",\n      \"获 取\",\n      \"▁T ools\",\n      \"▁To ols\",\n      \"▁Tool s\",\n      \"▁Too ls\",\n      \"▁ Tools\",\n      \"▁ne wer\",\n      \"▁new er\",\n      \"▁exempl e\",\n      \"▁exem ple\",\n      \"▁l itt\",\n      \"▁li tt\",\n      \"▁lit t\",\n      \"▁вы пу\",\n      \"▁у прав\",\n      \"Em itter\",\n      \"Emit ter\",\n      \"IS ING\",\n      \"I SING\",\n      \"▁органи за\",\n      \"▁М і\",\n      \"▁Ex amples\",\n      \"▁Example s\",\n      \"▁I con\",\n      \"▁ Icon\",\n      \"Get ter\",\n      \"▁L ay\",\n      \"▁La y\",\n      \"▁Col lect\",\n      \"▁Coll ect\",\n      \"▁ Collect\",\n      \"Sa int\",\n      \"S aint\",\n      \"or able\",\n      \"ora ble\",\n      \"▁f ick\",\n      \"▁fi ck\",\n      \"ik h\",\n      \"i kh\",\n      \"sl ave\",\n      \"▁c lay\",\n      \"▁cl ay\",\n      \"▁W A\",\n      \"▁ WA\",\n      \"Re po\",\n      \"Rep o\",\n      \"▁Java Script\",\n      \"it r\",\n      \"i tr\",\n      \"pa id\",\n      \"p aid\",\n      \"▁home work\",\n      \"M iddleware\",\n      \"▁r éal\",\n      \"▁ré al\",\n      \"▁при зна\",\n      \"ê m\",\n      \"ès e\",\n      \"è se\",\n      \"▁W ells\",\n      \"▁Well s\",\n      \"▁Wel ls\",\n      \"▁e nero\",\n      \"▁en ero\",\n      \"▁ener o\",\n      \"emperature n\",\n      \"▁N aj\",\n      \"▁Na j\",\n      \"▁Re agan\",\n      \"▁comp elling\",\n      \"▁tri bes\",\n      \"▁trib es\",\n      \"▁tribe s\",\n      \"▁to String\",\n      \"▁ toString\",\n      \"pace s\",\n      \"pa ces\",\n      \"p aces\",\n      \"▁harm ful\",\n      \"▁Con se\",\n      \"▁Cons e\",\n      \"od io\",\n      \"odi o\",\n      \"▁m im\",\n      \"▁mi m\",\n      \"get Item\",\n      \"▁script s\",\n      \"▁ scripts\",\n      \"ra is\",\n      \"rai s\",\n      \"r ais\",\n      \"▁Ph ase\",\n      \"▁ Phase\",\n      \"▁An swer\",\n      \"▁$ |\\\\\",\n      \"▁$| \\\\\",\n      \"▁as sembled\",\n      \"el in\",\n      \"eli n\",\n      \"e lin\",\n      \"ph abet\",\n      \"pha bet\",\n      \"▁to ast\",\n      \"▁tut ti\",\n      \"▁tu tti\",\n      \"▁be zeichnet\",\n      \"Gre at\",\n      \"G reat\",\n      \"et tes\",\n      \"ett es\",\n      \"ette s\",\n      \"e ttes\",\n      \"▁дека бря\",\n      \"F ULL\",\n      \"▁re gener\",\n      \"▁reg ener\",\n      \"▁któ re\",\n      \"го р\",\n      \"г ор\",\n      \"is ce\",\n      \"isc e\",\n      \"▁t oda\",\n      \"▁to da\",\n      \"▁tod a\",\n      \"▁eth ical\",\n      \"i q\",\n      \"P t\",\n      \"ar in\",\n      \"ari n\",\n      \"a rin\",\n      \"ig os\",\n      \"igo s\",\n      \"i gos\",\n      \"▁work shops\",\n      \"▁workshop s\",\n      \"▁R oche\",\n      \"▁Ro che\",\n      \"▁Roc he\",\n      \"Get String\",\n      \"мини стратив\",\n      \"m ême\",\n      \"▁D aw\",\n      \"▁Da w\",\n      \"ar ians\",\n      \"ari ans\",\n      \"aria ns\",\n      \"arian s\",\n      \"▁imp acts\",\n      \"▁impact s\",\n      \"▁por table\",\n      \"▁port able\",\n      \")- \\\\\",\n      \") -\\\\\",\n      \"sh ots\",\n      \"shot s\",\n      \"▁re lev\",\n      \"▁rel ev\",\n      \"▁rele v\",\n      \"PR IV\",\n      \"PRI V\",\n      \"▁бу ла\",\n      \"ard less\",\n      \"ul ously\",\n      \"ulous ly\",\n      \"-- >\",\n      \"- ->\",\n      \"ol ent\",\n      \"ole nt\",\n      \"olen t\",\n      \"▁э того\",\n      \"▁это го\",\n      \"▁Gener ic\",\n      \"▁Gene ric\",\n      \"▁ Generic\",\n      \"▁* /,\",\n      \"▁*/ ,\",\n      \"▁comb inations\",\n      \"▁combination s\",\n      \"▁re jo\",\n      \"с публи\",\n      \"cap acity\",\n      \"▁tr aces\",\n      \"▁tra ces\",\n      \"▁trace s\",\n      \"▁op acity\",\n      \"▁ opacity\",\n      \"▁Off icial\",\n      \"ic ion\",\n      \"ici on\",\n      \"icio n\",\n      \"▁emotional ly\",\n      \"▁emotion ally\",\n      \"▁Jo el\",\n      \"▁Joe l\",\n      \"сько му\",\n      \"▁legend ary\",\n      \"▁p am\",\n      \"▁pa m\",\n      \"▁Tamb ién\",\n      \". <\",\n      \"ib a\",\n      \"i ba\",\n      \"mi dt\",\n      \"mid t\",\n      \"бо м\",\n      \"▁en suite\",\n      \"Author ization\",\n      \"P ag\",\n      \"▁hel met\",\n      \"▁ter rito\",\n      \"▁terr ito\",\n      \"second ary\",\n      \"▁seg unda\",\n      \"▁W ire\",\n      \"▁Wi re\",\n      \"rec ated\",\n      \"▁inv oked\",\n      \"▁invoke d\",\n      \"▁Value Error\",\n      \"▁ф о\",\n      \"▁ фо\",\n      \"AL IGN\",\n      \"CUR RENT\",\n      \"\\\\ +\\\\_\\\\\",\n      \"▁comp ilation\",\n      \"æ r\",\n      \"▁Pal mar\",\n      \"▁Palm ar\",\n      \"▁influ ences\",\n      \"▁influence s\",\n      \"/ :\",\n      \"M ix\",\n      \"NO P\",\n      \"N OP\",\n      \"ec onom\",\n      \"e conom\",\n      \"▁t ucked\",\n      \"▁} );\\r\",\n      \"▁}); \\r\",\n      \"▁}) ;\\r\",\n      \"▁ });\\r\",\n      \"AN K\",\n      \"re ject\",\n      \"▁p ension\",\n      \"▁pens ion\",\n      \"▁gener ates\",\n      \"▁generate s\",\n      \"ч ё\",\n      \"▁in cap\",\n      \"▁inc ap\",\n      \"▁cl icked\",\n      \"▁click ed\",\n      \"▁f us\",\n      \"▁fu s\",\n      \"our ses\",\n      \"ours es\",\n      \"ourse s\",\n      \"▁E aster\",\n      \"▁East er\",\n      \"% ;\",\n      \"zi n\",\n      \"z in\",\n      \"▁oblig ations\",\n      \"▁obligation s\",\n      \"▁T ips\",\n      \"▁Tip s\",\n      \"▁Ti ps\",\n      \"}; \\r\",\n      \"} ;\\r\",\n      \".\\\" _\",\n      \"▁B SD\",\n      \"▁BS D\",\n      \"át ica\",\n      \"▁ex pose\",\n      \"▁exp ose\",\n      \"▁expos e\",\n      \"Par s\",\n      \"P ars\",\n      \"▁Am anda\",\n      \"ку п\",\n      \"▁gu essed\",\n      \"▁guess ed\",\n      \"ds i\",\n      \"d si\",\n      \"▁Le ip\",\n      \"Br oad\",\n      \"Bro ad\",\n      \"B road\",\n      \"▁Hug hes\",\n      \"▁Hugh es\",\n      \"i é\",\n      \"▁W ahl\",\n      \"▁Wa hl\",\n      \"▁former ly\",\n      \"Rel ative\",\n      \"▁Y u\",\n      \"▁Mount ains\",\n      \"▁Mountain s\",\n      \"▁E num\",\n      \"▁En um\",\n      \"▁ Enum\",\n      \"▁str ang\",\n      \"▁stra ng\",\n      \"_ -\",\n      \"re cht\",\n      \"rec ht\",\n      \"vi v\",\n      \"v iv\",\n      \"pa use\",\n      \"p ause\",\n      \"▁Lond res\",\n      \"▁el bow\",\n      \"▁Hawai i\",\n      \"▁Cas ino\",\n      \"Th reshold\",\n      \"Un its\",\n      \"Unit s\",\n      \"In clude\",\n      \"ит о\",\n      \"и то\",\n      \"as ury\",\n      \"▁ste ht\",\n      \"▁dam ned\",\n      \"▁damn ed\",\n      \"▁pack ets\",\n      \"▁packet s\",\n      \"▁W erk\",\n      \"▁Wer k\",\n      \"▁elev ator\",\n      \"ied ad\",\n      \"go vern\",\n      \"gov ern\",\n      \"g overn\",\n      \"▁CONTR ACT\",\n      \"ma ls\",\n      \"mal s\",\n      \"m als\",\n      \"▁re mem\",\n      \"▁rem em\",\n      \"▁ent onces\",\n      \"▁v as\",\n      \"▁va s\",\n      \"▁ vas\",\n      \"▁sym pathy\",\n      \"▁befind et\",\n      \"in cing\",\n      \"inc ing\",\n      \"Data Set\",\n      \"▁add itionally\",\n      \"▁addition ally\",\n      \"▁additional ly\",\n      \"▁mus ician\",\n      \"▁music ian\",\n      \"ше го\",\n      \"▁li stop\",\n      \"▁list op\",\n      \">\\\" )\",\n      \"> \\\")\",\n      \"Print f\",\n      \"▁Fel ix\",\n      \"▁car ved\",\n      \"▁nice ly\",\n      \"▁nic ely\",\n      \"го м\",\n      \"ch ap\",\n      \"cha p\",\n      \"▁N ieder\",\n      \"▁Ni eder\",\n      \"▁Nie der\",\n      \"▁L av\",\n      \"▁La v\",\n      \"▁mod ifications\",\n      \"▁modification s\",\n      \"mo ment\",\n      \"m oment\",\n      \"▁bal con\",\n      \"▁depend ency\",\n      \"CK ET\",\n      \"▁van ished\",\n      \"▁f ighters\",\n      \"▁fight ers\",\n      \"▁fighter s\",\n      \"▁z unächst\",\n      \"io ctl\",\n      \"ioc tl\",\n      \"▁def ens\",\n      \"▁defe ns\",\n      \"▁N em\",\n      \"▁Ne m\",\n      \"Util ity\",\n      \"Ut ility\",\n      \"▁cur v\",\n      \"▁cu rv\",\n      \"▁DA MAGES\",\n      \"▁Ro gers\",\n      \"▁Rog ers\",\n      \"▁Roger s\",\n      \"▁grat itude\",\n      \"▁Den mark\",\n      \"ра я\",\n      \"gr pc\",\n      \"grp c\",\n      \"g rpc\",\n      \"▁j uni\",\n      \"▁ju ni\",\n      \"▁jun i\",\n      \"▁окт ября\",\n      \"▁imm ense\",\n      \"▁prevent ed\",\n      \"▁prev ented\",\n      \"▁fo am\",\n      \"▁Ex tra\",\n      \"▁Ext ra\",\n      \"▁ Extra\",\n      \"ai med\",\n      \"aim ed\",\n      \"▁C riteria\",\n      \"▁Crit eria\",\n      \"▁ Criteria\",\n      \"▁Sim ply\",\n      \"box es\",\n      \"▁Leg end\",\n      \"▁P layers\",\n      \"▁Play ers\",\n      \"▁Player s\",\n      \"▁Mer cedes\",\n      \"▁Merc edes\",\n      \"▁Br anch\",\n      \"▁ Branch\",\n      \"TER N\",\n      \"T ERN\",\n      \"om ena\",\n      \"ome na\",\n      \"omen a\",\n      \"▁incorpor ate\",\n      \"con de\",\n      \"co nde\",\n      \"cond e\",\n      \"c onde\",\n      \"▁Est ado\",\n      \"▁Esta do\",\n      \"▁w asted\",\n      \"▁was ted\",\n      \"▁wa sted\",\n      \"▁waste d\",\n      \"▁compl aining\",\n      \"▁complain ing\",\n      \"▁war riors\",\n      \"▁warrior s\",\n      \"ot er\",\n      \"ote r\",\n      \"o ter\",\n      \"▁э том\",\n      \"▁это м\",\n      \"▁con ten\",\n      \"▁cont en\",\n      \"▁co nten\",\n      \"▁machine ry\",\n      \"▁mach inery\",\n      \"▁techn ological\",\n      \"▁T D\",\n      \"▁ TD\",\n      \"▁g ras\",\n      \"▁gr as\",\n      \"▁gra s\",\n      \"▁minim ize\",\n      \"▁D oor\",\n      \"▁Do or\",\n      \"▁b zw\",\n      \"▁p rac\",\n      \"▁pr ac\",\n      \"▁pra c\",\n      \"TR EE\",\n      \"T REE\",\n      \"▁W ing\",\n      \"▁Win g\",\n      \"▁Wi ng\",\n      \"▁Trans action\",\n      \"▁ Transaction\",\n      \"▁M VT\",\n      \"▁Kle in\",\n      \"com mons\",\n      \"comm ons\",\n      \"common s\",\n      \"▁} {\",\n      \"▁ }{\",\n      \"▁Her itage\",\n      \"▁f ade\",\n      \"▁fa de\",\n      \"ро к\",\n      \"set Value\",\n      \"▁Wal lace\",\n      \"▁Wall ace\",\n      \"M X\",\n      \"▁A CT\",\n      \"▁AC T\",\n      \"▁ ACT\",\n      \"▁foot age\",\n      \"▁ent stand\",\n      \"ar ga\",\n      \"arg a\",\n      \"▁n ails\",\n      \"▁na ils\",\n      \"▁nail s\",\n      \"▁capital ism\",\n      \"▁G arc\",\n      \"▁Gar c\",\n      \"▁Ga rc\",\n      \"▁susp ension\",\n      \"il is\",\n      \"ili s\",\n      \"▁M ov\",\n      \"▁Mo v\",\n      \"uff led\",\n      \"uffle d\",\n      \"Ar c\",\n      \"A rc\",\n      \"▁Beaut iful\",\n      \"WA Y\",\n      \"W AY\",\n      \"Par allel\",\n      \"XX XX\",\n      \"di ag\",\n      \"▁D T\",\n      \"▁ DT\",\n      \"m q\",\n      \"Text View\",\n      \"ML E\",\n      \"M LE\",\n      \"en nen\",\n      \"enn en\",\n      \"enne n\",\n      \"▁infect ed\",\n      \"▁therap ist\",\n      \"IN GS\",\n      \"ING S\",\n      \"▁c idade\",\n      \"ъ н\",\n      \"▁p df\",\n      \"▁pd f\",\n      \"▁ pdf\",\n      \"▁b ump\",\n      \"▁bu mp\",\n      \"CT X\",\n      \"C TX\",\n      \"▁IN CLUDING\",\n      \"▁ INCLUDING\",\n      \"▁G ef\",\n      \"▁Ge f\",\n      \"ENT IAL\",\n      \"▁h andy\",\n      \"▁hand y\",\n      \"▁han dy\",\n      \"▁tempor al\",\n      \"▁temp oral\",\n      \"▁tempo ral\",\n      \"At A\",\n      \"IS H\",\n      \"I SH\",\n      \"▁Pat tern\",\n      \"▁ Pattern\",\n      \"▁l an\",\n      \"▁la n\",\n      \"▁ lan\",\n      \"ep endant\",\n      \"▁sh ining\",\n      \"id y\",\n      \"i dy\",\n      \"▁N T\",\n      \"▁ NT\",\n      \"▁F ran\",\n      \"▁Fr an\",\n      \"▁Fra n\",\n      \"▁nur ses\",\n      \"▁nurs es\",\n      \"▁nurse s\",\n      \"▁bet ray\",\n      \"▁sens ible\",\n      \"▁апре ля\",\n      \"▁' [\",\n      \"▁th irteen\",\n      \")} _{\",\n      \") }_{\",\n      \"▁No ah\",\n      \"INS ERT\",\n      \"ist ically\",\n      \"istic ally\",\n      \"▁Append ix\",\n      \"▁re cher\",\n      \"▁rec her\",\n      \"Re ceiver\",\n      \"▁der nier\",\n      \"▁derni er\",\n      \"л ла\",\n      \"ли за\",\n      \"▁Part ido\",\n      \"▁max imal\",\n      \"▁maxim al\",\n      \"sn ap\",\n      \"▁ча сть\",\n      \"▁част ь\",\n      \"▁час ть\",\n      \"ST OP\",\n      \"STO P\",\n      \"S TOP\",\n      \"▁ult ra\",\n      \"▁ul tra\",\n      \"▁dévelop p\",\n      \"▁t egen\",\n      \"▁te gen\",\n      \"▁Ч и\",\n      \"LI B\",\n      \"L IB\",\n      \"▁bas eline\",\n      \"▁base line\",\n      \"re load\",\n      \"rel oad\",\n      \"▁Ar bitro\",\n      \"▁k all\",\n      \"▁ka ll\",\n      \"c apture\",\n      \"Ar m\",\n      \"A rm\",\n      \"qu in\",\n      \"im pse\",\n      \"imp se\",\n      \"za s\",\n      \"z as\",\n      \"▁C and\",\n      \"▁Can d\",\n      \"▁Ca nd\",\n      \"▁br ains\",\n      \"▁brain s\",\n      \"▁bra ins\",\n      \"▁host ile\",\n      \"▁mar ble\",\n      \"oo ns\",\n      \"oon s\",\n      \"o ons\",\n      \"▁L oss\",\n      \"▁Los s\",\n      \"▁Lo ss\",\n      \"Meta Data\",\n      \"▁Rep ública\",\n      \"▁and ra\",\n      \"▁ andra\",\n      \"od en\",\n      \"ode n\",\n      \"o den\",\n      \"▁document ed\",\n      \"▁M oses\",\n      \"▁Mo ses\",\n      \"▁Mos es\",\n      \"od d\",\n      \"o dd\",\n      \"▁w ax\",\n      \"▁wa x\",\n      \"us ch\",\n      \"usc h\",\n      \"u sch\",\n      \"▁diagn osed\",\n      \"in kle\",\n      \"ink le\",\n      \"▁X box\",\n      \"▁seven ty\",\n      \"▁sevent y\",\n      \"ci as\",\n      \"cia s\",\n      \"c ias\",\n      \"▁nov iembre\",\n      \"Com pute\",\n      \"Comp ute\",\n      \"Comput e\",\n      \"}) ;\\r\",\n      \"}); \\r\",\n      \"} );\\r\",\n      \"▁Philip pe\",\n      \"▁Philipp e\",\n      \"▁F ör\",\n      \"Le ave\",\n      \"▁s age\",\n      \"▁sa ge\",\n      \"▁sag e\",\n      \"▁un pre\",\n      \"▁Fort unately\",\n      \"▁a post\",\n      \"▁ap ost\",\n      \"ent ities\",\n      \"enti ties\",\n      \"▁el los\",\n      \"▁ell os\",\n      \"author ized\",\n      \"GB T\",\n      \"G BT\",\n      \"▁ins ist\",\n      \"▁insp ire\",\n      \"▁inspir e\",\n      \"Ma ss\",\n      \"M ass\",\n      \"▁r ôle\",\n      \"fe e\",\n      \"f ee\",\n      \"ip art\",\n      \"ipa rt\",\n      \"i part\",\n      \"це р\",\n      \"ц ер\",\n      \"un ate\",\n      \"una te\",\n      \"u nate\",\n      \"▁C NN\",\n      \": }\",\n      \"▁unh appy\",\n      \"▁import ed\",\n      \"▁imp orted\",\n      \"H IGH\",\n      \"ring s\",\n      \"rin gs\",\n      \"r ings\",\n      \"▁In stance\",\n      \"▁Inst ance\",\n      \"▁ Instance\",\n      \"B ay\",\n      \"ag les\",\n      \"agle s\",\n      \"a gles\",\n      \"me e\",\n      \"m ee\",\n      \"ber y\",\n      \"be ry\",\n      \"b ery\",\n      \"▁St ories\",\n      \"▁Sto ries\",\n      \"▁Ch ase\",\n      \"▁Cha se\",\n      \"▁car riage\",\n      \"▁mis under\",\n      \"▁imag in\",\n      \"p w\",\n      \"▁M eter\",\n      \"▁Me ter\",\n      \"▁Met er\",\n      \"▁crow ds\",\n      \"▁crowd s\",\n      \"▁F ame\",\n      \"▁Fa me\",\n      \"sk ill\",\n      \"ski ll\",\n      \"s kill\",\n      \"▁c omed\",\n      \"▁com ed\",\n      \"▁co med\",\n      \"▁come d\",\n      \"▁ comed\",\n      \"▁r anch\",\n      \"▁ran ch\",\n      \"▁l acking\",\n      \"▁lack ing\",\n      \"▁lac king\",\n      \"▁sub mar\",\n      \"▁subm ar\",\n      \"ia nte\",\n      \"ian te\",\n      \"iant e\",\n      \"i ante\",\n      \"▁l anz\",\n      \"▁lan z\",\n      \"▁слу ж\",\n      \"-- ---------\",\n      \"---- -------\",\n      \"-------- ---\",\n      \"--- --------\",\n      \"----- ------\",\n      \"---------- -\",\n      \"------ -----\",\n      \"--------- --\",\n      \"------- ----\",\n      \"- ----------\",\n      \"▁ob ten\",\n      \"▁obt en\",\n      \"▁down stairs\",\n      \"Y N\",\n      \"rot ation\",\n      \"▁J esse\",\n      \"▁Jes se\",\n      \"▁Jess e\",\n      \"$ (\\\"#\",\n      \"▁p uls\",\n      \"▁pu ls\",\n      \"▁pul s\",\n      \"ir ling\",\n      \"irl ing\",\n      \"▁Sch aus\",\n      \"▁Sc haus\",\n      \"▁de ployed\",\n      \"▁deploy ed\",\n      \"▁{ }\\\",\",\n      \"▁{} \\\",\",\n      \"▁Mar vel\",\n      \"EN UM\",\n      \"E NUM\",\n      \"▁Mat hemat\",\n      \"▁Math emat\",\n      \"▁n n\",\n      \"▁ nn\",\n      \"com pet\",\n      \"comp et\",\n      \"k ów\",\n      \"bi l\",\n      \"b il\",\n      \"Wh ich\",\n      \"is ine\",\n      \"isi ne\",\n      \"▁r ude\",\n      \"▁ru de\",\n      \"▁n iveau\",\n      \"▁á rea\",\n      \"▁p rès\",\n      \"▁pr ès\",\n      \"at is\",\n      \"ati s\",\n      \"▁[... ]\",\n      \"fu r\",\n      \"f ur\",\n      \"om m\",\n      \"o mm\",\n      \"pack ed\",\n      \"p acked\",\n      \"ме не\",\n      \"мен е\",\n      \"м ене\",\n      \"script style\",\n      \"▁A th\",\n      \"▁At h\",\n      \"▁d esp\",\n      \"▁de sp\",\n      \"▁des p\",\n      \"elt emperaturen\",\n      \"▁tal ents\",\n      \"▁talent s\",\n      \"oc y\",\n      \"o cy\",\n      \"▁r aises\",\n      \"▁rais es\",\n      \"▁raise s\",\n      \"▁ra ises\",\n      \"LI MIT\",\n      \"L IMIT\",\n      \"▁editor ial\",\n      \"▁edit orial\",\n      \"▁An imal\",\n      \"▁Anim al\",\n      \"dr ive\",\n      \"d rive\",\n      \"▁рабо та\",\n      \"bs s\",\n      \"b ss\",\n      \"▁S ev\",\n      \"▁Se v\",\n      \"ep och\",\n      \"e poch\",\n      \"▁R C\",\n      \"▁ RC\",\n      \"UN USED\",\n      \"▁mand atory\",\n      \"( ?:\",\n      \"▁B in\",\n      \"▁Bi n\",\n      \"▁ Bin\",\n      \"▁synt hetic\",\n      \"▁g own\",\n      \"▁go wn\",\n      \"▁D ob\",\n      \"▁Do b\",\n      \"ka p\",\n      \"k ap\",\n      \"▁har mon\",\n      \"▁harm on\",\n      \"▁liber ty\",\n      \"▁libert y\",\n      \"▁R ice\",\n      \"▁Ric e\",\n      \"▁pray ers\",\n      \"▁pra yers\",\n      \"▁prayer s\",\n      \"▁m ise\",\n      \"▁mis e\",\n      \"▁mi se\",\n      \"▁conf using\",\n      \"▁le ap\",\n      \"▁arriv es\",\n      \"▁arr ives\",\n      \"▁arrive s\",\n      \"ka mp\",\n      \"k amp\",\n      \"▁th ats\",\n      \"▁that s\",\n      \"AC C\",\n      \"A CC\",\n      \"▁Param eters\",\n      \"▁Parameter s\",\n      \"▁ Parameters\",\n      \"▁о дно\",\n      \"▁од но\",\n      \"▁B io\",\n      \"▁Bi o\",\n      \"d ensity\",\n      \"▁gl impse\",\n      \"FO RE\",\n      \"FOR E\",\n      \"▁L isten\",\n      \"▁List en\",\n      \"▁Li sten\",\n      \"▁Liste n\",\n      \"▁Lis ten\",\n      \"▁ Listen\",\n      \"Pr ev\",\n      \"Pre v\",\n      \"P rev\",\n      \"}\\\\ ,\\\\\",\n      \"}\\\\, \\\\\",\n      \"} \\\\,\\\\\",\n      \"ку ль\",\n      \"▁S EC\",\n      \"▁SE C\",\n      \"▁ SEC\",\n      \"▁expl ored\",\n      \"▁explore d\",\n      \"▁explo red\",\n      \"▁mean time\",\n      \"▁meant ime\",\n      \"AI L\",\n      \"A IL\",\n      \"▁W P\",\n      \"▁ WP\",\n      \"▁r aison\",\n      \"▁rais on\",\n      \"▁ra ison\",\n      \"▁ex iste\",\n      \"▁exist e\",\n      \"▁l esser\",\n      \"▁les ser\",\n      \"▁less er\",\n      \"▁Valid ate\",\n      \"▁ Validate\",\n      \"▁ca ution\",\n      \"▁caut ion\",\n      \"us ta\",\n      \"ust a\",\n      \"u sta\",\n      \"he ading\",\n      \"head ing\",\n      \"EF F\",\n      \"E FF\",\n      \".' \\\"\",\n      \". '\\\"\",\n      \"▁Gil bert\",\n      \"▁lim itation\",\n      \"▁limit ation\",\n      \"▁ret our\",\n      \"▁Common wealth\",\n      \"▁gew ann\",\n      \"▁miser able\",\n      \"▁net working\",\n      \"▁network ing\",\n      \"▁ott obre\",\n      \"▁otto bre\",\n      \"▁D ise\",\n      \"▁Dis e\",\n      \"▁Di se\",\n      \"ed ges\",\n      \"edge s\",\n      \"▁s ede\",\n      \"▁se de\",\n      \"▁sed e\",\n      \"ви ча\",\n      \"вич а\",\n      \"un iform\",\n      \"uni form\",\n      \"▁дея тель\",\n      \"ir os\",\n      \"iro s\",\n      \"i ros\",\n      \"▁d esen\",\n      \"▁de sen\",\n      \"▁des en\",\n      \"▁p arc\",\n      \"▁par c\",\n      \"▁pa rc\",\n      \"▁R ico\",\n      \"▁Ric o\",\n      \"N s\",\n      \"gu id\",\n      \"gui d\",\n      \"g uid\",\n      \"or io\",\n      \"ori o\",\n      \"o rio\",\n      \"ave length\",\n      \"avel ength\",\n      \"▁G le\",\n      \"▁Gl e\",\n      \"ince ton\",\n      \"inc eton\",\n      \"Am az\",\n      \"A maz\",\n      \"Con struct\",\n      \"Const ruct\",\n      \"▁m x\",\n      \"▁ mx\",\n      \"▁V ern\",\n      \"▁Ver n\",\n      \"▁Ve rn\",\n      \"▁Gener ation\",\n      \"▁ Generation\",\n      \"J ack\",\n      \"ro mag\",\n      \"rom ag\",\n      \"▁vi agra\",\n      \"▁via gra\",\n      \"▁P eg\",\n      \"▁Pe g\",\n      \"▁Up dated\",\n      \"▁Update d\",\n      \"▁ Updated\",\n      \"▁over lap\",\n      \"▁overl ap\",\n      \"Event Args\",\n      \"к ро\",\n      \"▁* «\",\n      \"▁quest ioned\",\n      \"▁question ed\",\n      \"So uth\",\n      \"S outh\",\n      \"not ice\",\n      \"▁perman ently\",\n      \"▁permanent ly\",\n      \"ls t\",\n      \"l st\",\n      \"fi cie\",\n      \"fic ie\",\n      \"▁qu ella\",\n      \"▁que lla\",\n      \"▁quel la\",\n      \"▁college s\",\n      \"▁colle ges\",\n      \"▁colleg es\",\n      \"▁disappoint ment\",\n      \"▁Lu ft\",\n      \"img ur\",\n      \"▁trans itions\",\n      \"▁transition s\",\n      \"▁transit ions\",\n      \"▁s eller\",\n      \"▁sell er\",\n      \"▁sel ler\",\n      \"▁ию ня\",\n      \"▁O g\",\n      \"▁A DD\",\n      \"▁AD D\",\n      \"▁ ADD\",\n      \"▁P ays\",\n      \"▁Pa ys\",\n      \"▁Pay s\",\n      \"COMM AND\",\n      \"gr ades\",\n      \"grad es\",\n      \"grade s\",\n      \"gra des\",\n      \"▁fe bbra\",\n      \"▁C yr\",\n      \"▁Cy r\",\n      \"▁febbra io\",\n      \"et i\",\n      \"e ti\",\n      \"▁a rom\",\n      \"▁ar om\",\n      \"▁Cl aude\",\n      \"▁Claud e\",\n      \"▁UE FA\",\n      \"▁жи ве\",\n      \"▁Victor ian\",\n      \"▁Victoria n\",\n      \"ke eping\",\n      \"keep ing\",\n      \"kee ping\",\n      \"ê n\",\n      \"▁FIX ME\",\n      \"it ime\",\n      \"iti me\",\n      \"i time\",\n      \"ch estr\",\n      \"che str\",\n      \"ches tr\",\n      \"▁Sam sung\",\n      \"▁do ctrine\",\n      \"▁p ear\",\n      \"▁pe ar\",\n      \"▁Mediterr anean\",\n      \"▁Y a\",\n      \"▁v ault\",\n      \"▁va ult\",\n      \"▁Hist oric\",\n      \"▁Histor ic\",\n      \"▁se dan\",\n      \"▁sed an\",\n      \"▁he ated\",\n      \"▁heat ed\",\n      \"▁polít ica\",\n      \"Pro of\",\n      \": {\",\n      \"fe m\",\n      \"f em\",\n      \"▁Frank furt\",\n      \"pect ives\",\n      \"pective s\",\n      \"M G\",\n      \"▁E ye\",\n      \"da i\",\n      \"d ai\",\n      \"▁res erves\",\n      \"▁reserv es\",\n      \"▁reserve s\",\n      \"NE R\",\n      \"N ER\",\n      \"▁tob acco\",\n      \"▁frag ments\",\n      \"▁fragment s\",\n      \"ic c\",\n      \"i cc\",\n      \"▁b ooth\",\n      \"▁bo oth\",\n      \"▁boot h\",\n      \"▁cru ise\",\n      \"▁Test ament\",\n      \"co la\",\n      \"col a\",\n      \"c ola\",\n      \"▁Le op\",\n      \"▁Leo p\",\n      \"▁n oon\",\n      \"▁no on\",\n      \"▁ noon\",\n      \"▁terr ified\",\n      \"v b\",\n      \"int el\",\n      \"inte l\",\n      \"al ie\",\n      \"ali e\",\n      \"a lie\",\n      \"▁ver ification\",\n      \"yst er\",\n      \"ys ter\",\n      \"y ster\",\n      \"AD ER\",\n      \"A DER\",\n      \"ch ied\",\n      \"chie d\",\n      \"chi ed\",\n      \"▁data sets\",\n      \"▁dat asets\",\n      \"▁dataset s\",\n      \"▁з і\",\n      \"▁ зі\",\n      \"▁m iem\",\n      \"▁mi em\",\n      \"▁mie m\",\n      \"ul ates\",\n      \"ula tes\",\n      \"ulate s\",\n      \"▁u uid\",\n      \"▁ uuid\",\n      \"▁Pict ures\",\n      \"▁Picture s\",\n      \"▁B rend\",\n      \"▁Br end\",\n      \"▁Bre nd\",\n      \"▁Bren d\",\n      \"Bill board\",\n      \"▁s tern\",\n      \"▁st ern\",\n      \"▁ste rn\",\n      \"▁ster n\",\n      \"▁de nom\",\n      \"▁den om\",\n      \"▁acc idents\",\n      \"▁accident s\",\n      \"с ня\",\n      \"▁p acking\",\n      \"▁pack ing\",\n      \"▁pac king\",\n      \"ци ја\",\n      \"ibli cal\",\n      \"iblic al\",\n      \"▁Та к\",\n      \"▁wh isk\",\n      \"▁whis k\",\n      \"▁l uego\",\n      \"▁lu ego\",\n      \"▁rect angle\",\n      \"▁ho oks\",\n      \"▁hook s\",\n      \"▁ hooks\",\n      \"▁neg lect\",\n      \"▁negl ect\",\n      \"▁s ober\",\n      \"▁so ber\",\n      \"▁sob er\",\n      \"pro position\",\n      \"Mult iple\",\n      \"Multi ple\",\n      \":\\\" ,\",\n      \": \\\",\",\n      \"▁b apt\",\n      \"▁ba pt\",\n      \"Par ts\",\n      \"Part s\",\n      \"P arts\",\n      \"▁S election\",\n      \"▁Se lection\",\n      \"▁Sel ection\",\n      \"▁Select ion\",\n      \"▁ Selection\",\n      \"▁Al pha\",\n      \"▁ Alpha\",\n      \"we ights\",\n      \"weight s\",\n      \"ha ll\",\n      \"hal l\",\n      \"h all\",\n      \"со б\",\n      \"с об\",\n      \"▁l ur\",\n      \"▁lu r\",\n      \"▁ép oca\",\n      \"▁re sted\",\n      \"▁r ested\",\n      \"▁res ted\",\n      \"▁rest ed\",\n      \"▁reste d\",\n      \"amb igu\",\n      \"▁taste s\",\n      \"▁tast es\",\n      \"amazon aws\",\n      \"▁conf ess\",\n      \"▁dic iembre\",\n      \"▁dici embre\",\n      \"im plement\",\n      \"impl ement\",\n      \"imp lement\",\n      \"▁absor ption\",\n      \"Ha l\",\n      \"H al\",\n      \"LE AN\",\n      \"▁Z ach\",\n      \"▁Za ch\",\n      \"▁free ze\",\n      \"▁fre eze\",\n      \"L BL\",\n      \"ST M\",\n      \"S TM\",\n      \"▁cal c\",\n      \"▁ca lc\",\n      \"▁ calc\",\n      \"={ ()\",\n      \"= */\",\n      \"▁b t\",\n      \"▁ bt\",\n      \"Re b\",\n      \"R eb\",\n      \"▁W ien\",\n      \"▁Wi en\",\n      \"an ska\",\n      \"ans ka\",\n      \"ansk a\",\n      \"▁s urn\",\n      \"▁su rn\",\n      \"▁sur n\",\n      \"iat ive\",\n      \"i ative\",\n      \"▁inv ån\",\n      \"C Y\",\n      \"▁l à\",\n      \"am ba\",\n      \"amb a\",\n      \"le en\",\n      \"lee n\",\n      \"l een\",\n      \"wa hl\",\n      \"w ahl\",\n      \"▁function ing\",\n      \"ți a\",\n      \"ț ia\",\n      \"get Context\",\n      \"ga rt\",\n      \"gar t\",\n      \"g art\",\n      \"▁о бе\",\n      \"▁об е\",\n      \"Pe n\",\n      \"P en\",\n      \"vi k\",\n      \"v ik\",\n      \"Sl ider\",\n      \"▁Ac cept\",\n      \"▁ Accept\",\n      \"Ga p\",\n      \"G ap\",\n      \"▁J orge\",\n      \"SI G\",\n      \"S IG\",\n      \"▁во с\",\n      \"▁го ло\",\n      \"▁г оло\",\n      \"▁period o\",\n      \"ш та\",\n      \"▁pat ches\",\n      \"▁patch es\",\n      \"ко ї\",\n      \"är e\",\n      \"ä re\",\n      \"eng ono\",\n      \"li sta\",\n      \"list a\",\n      \"l ista\",\n      \"hor n\",\n      \"ho rn\",\n      \"h orn\",\n      \"▁Com plex\",\n      \"▁Comp lex\",\n      \"▁ Complex\",\n      \"Se nt\",\n      \"S ent\",\n      \"tr fs\",\n      \"▁conv ex\",\n      \"▁conve x\",\n      \"Gener ation\",\n      \"▁міс це\",\n      \"com press\",\n      \"comp ress\",\n      \"▁S ax\",\n      \"▁Sa x\",\n      \"▁u id\",\n      \"▁ui d\",\n      \"▁ uid\",\n      \"▁Leb ens\",\n      \"▁Leben s\",\n      \"Com pletion\",\n      \"\\\\| _{\",\n      \"\\\\ |_{\",\n      \"in sky\",\n      \"ins ky\",\n      \"▁sc hon\",\n      \"▁sch on\",\n      \"▁m asters\",\n      \"▁ma sters\",\n      \"▁master s\",\n      \"▁mas ters\",\n      \"▁mast ers\",\n      \"in depend\",\n      \"inde pend\",\n      \"ne ys\",\n      \"ney s\",\n      \"▁l ied\",\n      \"▁li ed\",\n      \"▁lie d\",\n      \"▁a spir\",\n      \"▁asp ir\",\n      \"ч ні\",\n      \"▁break down\",\n      \"▁H arm\",\n      \"▁Har m\",\n      \"▁Ha rm\",\n      \"▁design ing\",\n      \"h f\",\n      \"▁Ang ela\",\n      \"▁Angel a\",\n      \"▁con fer\",\n      \"▁conf er\",\n      \"▁part ido\",\n      \"▁parti do\",\n      \"▁inter ference\",\n      \"ma o\",\n      \"m ao\",\n      \"▁absor bed\",\n      \"▁absorb ed\",\n      \"▁V all\",\n      \"▁Val l\",\n      \"▁Va ll\",\n      \"Error Code\",\n      \"▁Publish ing\",\n      \"va no\",\n      \"van o\",\n      \"v ano\",\n      \"BIT S\",\n      \"BI TS\",\n      \"B ITS\",\n      \"▁de er\",\n      \"▁Camp aign\",\n      \"▁g raz\",\n      \"▁gr az\",\n      \"▁gra z\",\n      \"CHAN GE\",\n      \"▁f eder\",\n      \"▁fe der\",\n      \"▁fed er\",\n      \"if fe\",\n      \"iff e\",\n      \"hand ed\",\n      \"han ded\",\n      \"h anded\",\n      \"c q\",\n      \"um bing\",\n      \"umb ing\",\n      \"▁un re\",\n      \"▁s iendo\",\n      \"▁si endo\",\n      \"▁sim pler\",\n      \"▁simple r\",\n      \"▁simpl er\",\n      \"wh y\",\n      \"w hy\",\n      \"ar ettes\",\n      \"are ttes\",\n      \"aret tes\",\n      \"arette s\",\n      \"an st\",\n      \"ans t\",\n      \"▁h ass\",\n      \"▁has s\",\n      \"▁ha ss\",\n      \"▁Enter prise\",\n      \"▁m ois\",\n      \"▁mo is\",\n      \"▁F o\",\n      \"▁уча ст\",\n      \"ff en\",\n      \"f fen\",\n      \"▁MOD ULE\",\n      \"▁ MODULE\",\n      \"▁activ ated\",\n      \"▁activate d\",\n      \"▁intern acional\",\n      \"▁M ittel\",\n      \"deg ree\",\n      \"▁от кры\",\n      \"▁& (\",\n      \"get Property\",\n      \"is z\",\n      \"i sz\",\n      \"ced ure\",\n      \"▁en ters\",\n      \"▁ent ers\",\n      \"▁enter s\",\n      \"▁S ally\",\n      \"▁Sal ly\",\n      \"▁Tr ain\",\n      \"▁Tra in\",\n      \"▁lo gged\",\n      \"▁log ged\",\n      \"▁R av\",\n      \"▁Ra v\",\n      \"▁A void\",\n      \"▁Av oid\",\n      \"▁K aiser\",\n      \"▁Ka iser\",\n      \"▁ex pend\",\n      \"▁exp end\",\n      \"ap hor\",\n      \"aph or\",\n      \"▁b rass\",\n      \"▁br ass\",\n      \"▁bra ss\",\n      \"▁bras s\",\n      \"▁mel od\",\n      \"▁att itudes\",\n      \"▁attitude s\",\n      \"* \\\"\",\n      \"W all\",\n      \"▁o we\",\n      \"▁ owe\",\n      \"▁b amb\",\n      \"▁ba mb\",\n      \"sh ader\",\n      \"sha der\",\n      \"ce ster\",\n      \"ces ter\",\n      \"c ester\",\n      \"▁P P\",\n      \"▁ PP\",\n      \"▁migr ations\",\n      \"▁migration s\",\n      \"ent ric\",\n      \"entr ic\",\n      \"▁Set up\",\n      \"▁ Setup\",\n      \"▁Art ist\",\n      \"hr e\",\n      \"h re\",\n      \"▁pol ite\",\n      \"▁polit e\",\n      \"ah an\",\n      \"aha n\",\n      \"a han\",\n      \"▁lug lio\",\n      \"▁pre decess\",\n      \"▁S IG\",\n      \"▁SI G\",\n      \"▁ SIG\",\n      \"ті в\",\n      \"т ів\",\n      \"▁R F\",\n      \"▁ RF\",\n      \"▁D ry\",\n      \"▁Dr y\",\n      \"▁m aker\",\n      \"▁make r\",\n      \"▁ma ker\",\n      \"▁ maker\",\n      \"ши м\",\n      \"ш им\",\n      \"▁S ounds\",\n      \"▁Sound s\",\n      \"▁implement ing\",\n      \"▁a h\",\n      \"▁ ah\",\n      \"▁g ev\",\n      \"▁ge v\",\n      \"▁du plicate\",\n      \"▁L ogan\",\n      \"▁Log an\",\n      \"▁Lo gan\",\n      \"▁G rade\",\n      \"▁Gr ade\",\n      \"▁Grad e\",\n      \"▁Gra de\",\n      \"DU CT\",\n      \"ís es\",\n      \"í ses\",\n      \"ér t\",\n      \"é rt\",\n      \"▁nons ense\",\n      \"back up\",\n      \"Att achment\",\n      \"▁e cc\",\n      \"▁ec c\",\n      \"▁Squad ron\",\n      \"le arn\",\n      \"lear n\",\n      \"de precated\",\n      \"dep recated\",\n      \"▁A ub\",\n      \"▁Au b\",\n      \"▁G ol\",\n      \"▁Go l\",\n      \"▁over l\",\n      \"SER VICE\",\n      \"▁beautiful ly\",\n      \"RE L\",\n      \"R EL\",\n      \"▁G ian\",\n      \"▁Gi an\",\n      \"▁P apa\",\n      \"▁Pa pa\",\n      \"▁Pap a\",\n      \"res pond\",\n      \"respon d\",\n      \"resp ond\",\n      \"▁Carib bean\",\n      \"r n\",\n      \"▁худо ж\",\n      \"C fg\",\n      \"ra i\",\n      \"r ai\",\n      \"▁sn iff\",\n      \"tt o\",\n      \"t to\",\n      \"оло ги\",\n      \"о логи\",\n      \"▁r b\",\n      \"▁ rb\",\n      \"▁inc idents\",\n      \"▁incident s\",\n      \"▁d uck\",\n      \"▁du ck\",\n      \"▁PROVID ED\",\n      \"Source s\",\n      \"S ources\",\n      \"▁Chel sea\",\n      \"▁t ek\",\n      \"▁te k\",\n      \"▁ tek\",\n      \"▁на лази\",\n      \"▁pil ots\",\n      \"▁pilot s\",\n      \"т ки\",\n      \"▁tr aded\",\n      \"▁trad ed\",\n      \"▁tra ded\",\n      \"▁trade d\",\n      \"▁Be ijing\",\n      \"▁Greg ory\",\n      \"scal ar\",\n      \"▁incl ined\",\n      \"▁inc lined\",\n      \"▁K amp\",\n      \"▁Kam p\",\n      \"▁Ka mp\",\n      \"▁M arian\",\n      \"▁Mar ian\",\n      \"▁Ma rian\",\n      \"▁Maria n\",\n      \"▁fier ce\",\n      \"▁the ft\",\n      \"▁th eft\",\n      \"ющи х\",\n      \"▁In to\",\n      \"▁Int o\",\n      \"▁ Into\",\n      \"con straint\",\n      \"parent Node\",\n      \"id ental\",\n      \"ident al\",\n      \"iden tal\",\n      \"▁gouver nement\",\n      \"▁S ND\",\n      \"▁SN D\",\n      \"▁Rub y\",\n      \"▁Ru by\",\n      \"▁mon aster\",\n      \"Rec ords\",\n      \"Record s\",\n      \"▁K ab\",\n      \"▁Ka b\",\n      \"▁Un iverse\",\n      \"▁Univers e\",\n      \"▁approxim ate\",\n      \"▁approx imate\",\n      \"W ater\",\n      \"▁Phys ical\",\n      \"ap pers\",\n      \"app ers\",\n      \"appe rs\",\n      \"oubt edly\",\n      \"ло жен\",\n      \"ложе н\",\n      \"▁tow el\",\n      \"▁sib lings\",\n      \"ep h\",\n      \"e ph\",\n      \"ic ios\",\n      \"ici os\",\n      \"icio s\",\n      \"ра ми\",\n      \"▁out rage\",\n      \"▁tamb é\",\n      \"SR C\",\n      \"S RC\",\n      \"те лем\",\n      \"тел ем\",\n      \"V i\",\n      \".' );\",\n      \". ');\",\n      \"L M\",\n      \"▁m itt\",\n      \"▁mit t\",\n      \"▁mi tt\",\n      \"▁ mitt\",\n      \"▁w eed\",\n      \"▁we ed\",\n      \"▁cr ops\",\n      \"▁cro ps\",\n      \"▁crop s\",\n      \"im an\",\n      \"ima n\",\n      \"i man\",\n      \"Cl aim\",\n      \"ins ula\",\n      \"▁( “\",\n      \"▁Ch anges\",\n      \"▁Change s\",\n      \"▁ Changes\",\n      \"▁invån are\",\n      \"ag ain\",\n      \"aga in\",\n      \"a gain\",\n      \"▁c nt\",\n      \"▁ cnt\",\n      \"▁G az\",\n      \"▁Ga z\",\n      \"▁a ustral\",\n      \"over lay\",\n      \"▁Me chan\",\n      \"▁sl ammed\",\n      \"▁tr ailing\",\n      \"▁tra iling\",\n      \"▁trail ing\",\n      \"▁Bi ography\",\n      \"▁appe aling\",\n      \"▁appeal ing\",\n      \"IV ER\",\n      \"IVE R\",\n      \"I VER\",\n      \"▁A ve\",\n      \"▁Av e\",\n      \"▁P lot\",\n      \"▁Pl ot\",\n      \"vo j\",\n      \"v oj\",\n      \"▁s ung\",\n      \"▁su ng\",\n      \"▁sun g\",\n      \"▁ sung\",\n      \"▁u nos\",\n      \"▁un os\",\n      \"▁uno s\",\n      \"Effect s\",\n      \"v v\",\n      \"co ok\",\n      \"c ook\",\n      \"But tons\",\n      \"Button s\",\n      \"▁trans m\",\n      \"ier to\",\n      \"iert o\",\n      \"CON TEXT\",\n      \"CONT EXT\",\n      \"▁dign ity\",\n      \"air ed\",\n      \"ai red\",\n      \"aire d\",\n      \"a ired\",\n      \"java x\",\n      \"jav ax\",\n      \"j avax\",\n      \"▁Albert o\",\n      \"▁Alber to\",\n      \"▁Rec ently\",\n      \"▁Recent ly\",\n      \"▁fac ial\",\n      \"▁fa cial\",\n      \"math op\",\n      \"mat hop\",\n      \"ał o\",\n      \"a ło\",\n      \"ви д\",\n      \"co tt\",\n      \"c ott\",\n      \"Vari ables\",\n      \"Variable s\",\n      \"▁R an\",\n      \"▁Ra n\",\n      \"▁b unk\",\n      \"am iliar\",\n      \"amil iar\",\n      \"CA ST\",\n      \"C AST\",\n      \"▁fr ü\",\n      \"VE D\",\n      \"V ED\",\n      \"▁NOT ICE\",\n      \"▁turn o\",\n      \"▁tur no\",\n      \"valid ator\",\n      \"▁Portug uese\",\n      \"▁question ing\",\n      \"}} )\",\n      \"} })\",\n      \"▁l ear\",\n      \"▁le ar\",\n      \"▁ lear\",\n      \"X amarin\",\n      \"▁dis adv\",\n      \"enc oded\",\n      \"encode d\",\n      \"▁K ot\",\n      \"▁Ko t\",\n      \"ra ted\",\n      \"rat ed\",\n      \"rate d\",\n      \"r ated\",\n      \"▁The ory\",\n      \"ci us\",\n      \"c ius\",\n      \"▁Dar win\",\n      \"ђ е\",\n      \"▁dé cl\",\n      \"▁déc l\",\n      \"▁обла сть\",\n      \"ро вич\",\n      \"▁mob ility\",\n      \"▁mobil ity\",\n      \"V F\",\n      \"▁х и\",\n      \"▁ хи\",\n      \"un til\",\n      \"unt il\",\n      \"u ntil\",\n      \"▁bar riers\",\n      \"▁barrier s\",\n      \"▁barr iers\",\n      \"gi f\",\n      \"g if\",\n      \"▁R oh\",\n      \"▁Ro h\",\n      \"▁a ging\",\n      \"▁ag ing\",\n      \"▁ aging\",\n      \"▁W idget\",\n      \"▁ Widget\",\n      \"ol k\",\n      \"▁f arms\",\n      \"▁far ms\",\n      \"▁farm s\",\n      \"Check er\",\n      \"Che cker\",\n      \"Int roduction\",\n      \"с мо\",\n      \"▁Russ ians\",\n      \"▁Russian s\",\n      \"▁Russia ns\",\n      \"na ments\",\n      \"nam ents\",\n      \"nament s\",\n      \"n aments\",\n      \"▁In sert\",\n      \"▁Ins ert\",\n      \"▁ Insert\",\n      \"▁When ever\",\n      \"▁Whe never\",\n      \"er set\",\n      \"ers et\",\n      \"it ori\",\n      \"itor i\",\n      \"ito ri\",\n      \"▁D ort\",\n      \"▁Do rt\",\n      \"▁Dor t\",\n      \"▁cost ume\",\n      \"▁mathemat ical\",\n      \"▁B ast\",\n      \"▁Bas t\",\n      \"▁Ba st\",\n      \"▁nom inated\",\n      \"▁nomin ated\",\n      \"▁rest oration\",\n      \"pos al\",\n      \"po sal\",\n      \"▁un fortunate\",\n      \"P s\",\n      \"LI N\",\n      \"L IN\",\n      \"▁int act\",\n      \"▁prov oc\",\n      \"▁situ ée\",\n      \"▁но ября\",\n      \"er mo\",\n      \"erm o\",\n      \"▁f isher\",\n      \"▁fish er\",\n      \"▁fis her\",\n      \"г ля\",\n      \"▁con ting\",\n      \"▁cont ing\",\n      \"▁contin g\",\n      \"▁Do ug\",\n      \"▁Dou g\",\n      \"\\\" ?\",\n      \"▁E va\",\n      \"▁Ev a\",\n      \"▁t ops\",\n      \"▁to ps\",\n      \"▁top s\",\n      \"▁Rem ote\",\n      \"▁ Remote\",\n      \"▁art work\",\n      \"▁art illery\",\n      \"qu ick\",\n      \"▁Arab ia\",\n      \"▁SD Value\",\n      \"▁Dak ota\",\n      \"ia ted\",\n      \"iat ed\",\n      \"iate d\",\n      \"i ated\",\n      \"▁Op tim\",\n      \"▁Opt im\",\n      \"but tons\",\n      \"button s\",\n      \"▁c ottage\",\n      \"▁where in\",\n      \"▁tut orial\",\n      \"▁S cre\",\n      \"▁Sc re\",\n      \"▁swe ep\",\n      \"▁Coff ee\",\n      \"}) }\",\n      \"} )}\",\n      \"▁му зы\",\n      \"host name\",\n      \"▁T emp\",\n      \"▁Te mp\",\n      \"▁Tem p\",\n      \"▁ Temp\",\n      \"▁F ut\",\n      \"▁Fu t\",\n      \"re spect\",\n      \"res pect\",\n      \"resp ect\",\n      \"oc z\",\n      \"o cz\",\n      \"▁pre domin\",\n      \"▁pred omin\",\n      \"Ind icator\",\n      \"en cial\",\n      \"enc ial\",\n      \"encia l\",\n      \"enci al\",\n      \"UM ENT\",\n      \"U MENT\",\n      \"▁SH ALL\",\n      \"▁SHA LL\",\n      \"▁comm anded\",\n      \"▁command ed\",\n      \"▁withdraw al\",\n      \"io ur\",\n      \"i our\",\n      \"REG ION\",\n      \"s printf\",\n      \"▁в ме\",\n      \"▁Pay ment\",\n      \"▁ Payment\",\n      \"▁A nim\",\n      \"▁An im\",\n      \"▁ Anim\",\n      \"pub lish\",\n      \"▁se eks\",\n      \"▁see ks\",\n      \"▁seek s\",\n      \"ou w\",\n      \"o uw\",\n      \"▁G M\",\n      \"▁ GM\",\n      \"ru gu\",\n      \"rug u\",\n      \"r ugu\",\n      \"us tain\",\n      \"ust ain\",\n      \"usta in\",\n      \"▁) )\",\n      \"▁ ))\",\n      \"▁consult ing\",\n      \"▁D ialog\",\n      \"▁ Dialog\",\n      \"▁L ars\",\n      \"▁La rs\",\n      \"▁Lar s\",\n      \"▁crit ique\",\n      \"▁circ ulation\",\n      \"▁circul ation\",\n      \"▁land sc\",\n      \"▁lands c\",\n      \"man aged\",\n      \"▁C raft\",\n      \"▁Cr aft\",\n      \"▁Cra ft\",\n      \"▁h erman\",\n      \"▁her man\",\n      \"af i\",\n      \"a fi\",\n      \"am y\",\n      \"a my\",\n      \"▁disc our\",\n      \"▁disco ur\",\n      \"<> (\",\n      \"< >(\",\n      \"▁St eph\",\n      \"▁Ste ph\",\n      \"▁Step h\",\n      \"▁toler ance\",\n      \"type name\",\n      \"typ ename\",\n      \"typen ame\",\n      \"vent ions\",\n      \"vention s\",\n      \"zi ał\",\n      \"z iał\",\n      \"ст ов\",\n      \"сто в\",\n      \"с тов\",\n      \"▁st icking\",\n      \"▁stick ing\",\n      \"AS C\",\n      \"A SC\",\n      \"IS O\",\n      \"I SO\",\n      \"▁Sp encer\",\n      \"▁Di dn\",\n      \"▁Did n\",\n      \"gom ery\",\n      \"im iter\",\n      \"imit er\",\n      \"imi ter\",\n      \"dr u\",\n      \"d ru\",\n      \"Cl ause\",\n      \"▁sl ides\",\n      \"▁slide s\",\n      \"▁slid es\",\n      \"## #\",\n      \"# ##\",\n      \"▁S ugar\",\n      \"▁Su gar\",\n      \"H Y\",\n      \"▁э ти\",\n      \"▁Ed wards\",\n      \"▁Edward s\",\n      \"▁c ents\",\n      \"▁cent s\",\n      \"oy a\",\n      \"o ya\",\n      \"ser ts\",\n      \"sert s\",\n      \"s erts\",\n      \"▁H ass\",\n      \"▁Ha ss\",\n      \"▁Has s\",\n      \"▁in gen\",\n      \"▁ing en\",\n      \"▁ ingen\",\n      \"ст ри\",\n      \"с три\",\n      \"▁s addle\",\n      \"sol id\",\n      \"s olid\",\n      \"▁ch ampions\",\n      \"▁champion s\",\n      \"▁champ ions\",\n      \"- )\",\n      \"▁S lov\",\n      \"▁Sl ov\",\n      \"▁sh iny\",\n      \"▁* )&\",\n      \"▁*) &\",\n      \"▁Def ine\",\n      \"č e\",\n      \"▁scr ut\",\n      \"on den\",\n      \"ond en\",\n      \"onde n\",\n      \"'\\\" ,\",\n      \"' \\\",\",\n      \"uf fs\",\n      \"uff s\",\n      \"▁o lymp\",\n      \"id ential\",\n      \"ident ial\",\n      \"wa nd\",\n      \"wan d\",\n      \"w and\",\n      \"▁ann ually\",\n      \"▁annual ly\",\n      \"▁Ark ansas\",\n      \"▁s aint\",\n      \"▁sa int\",\n      \"▁gle ich\",\n      \"▁per fection\",\n      \"▁perfect ion\",\n      \"▁perf ection\",\n      \") >\",\n      \"▁sh orts\",\n      \"▁short s\",\n      \"▁just ified\",\n      \"pe ated\",\n      \"peat ed\",\n      \"pack ages\",\n      \"package s\",\n      \"dr iven\",\n      \"drive n\",\n      \"d riven\",\n      \"▁Liber ty\",\n      \"▁str ipped\",\n      \"▁stri pped\",\n      \"▁strip ped\",\n      \"ше ние\",\n      \"▁fün f\",\n      \"▁e cosystem\",\n      \"ix a\",\n      \"i xa\",\n      \"▁F resh\",\n      \"▁Fr esh\",\n      \"▁Fre sh\",\n      \"var t\",\n      \"va rt\",\n      \"v art\",\n      \"▁tre ats\",\n      \"▁treat s\",\n      \"▁st ance\",\n      \"▁stan ce\",\n      \"▁ stance\",\n      \"чё т\",\n      \"ч ёт\",\n      \"▁p ity\",\n      \"▁pi ty\",\n      \"▁pit y\",\n      \"ad ém\",\n      \"▁о кон\",\n      \"▁ок он\",\n      \"▁C hand\",\n      \"▁Ch and\",\n      \"▁Cha nd\",\n      \"ra b\",\n      \"r ab\",\n      \"вши й\",\n      \"в ший\",\n      \"in ski\",\n      \"ins ki\",\n      \"▁contin ually\",\n      \"▁continu ally\",\n      \"▁D addy\",\n      \"▁Dad dy\",\n      \"▁night mare\",\n      \"ic ional\",\n      \"ici onal\",\n      \"icio nal\",\n      \"icion al\",\n      \"▁e fect\",\n      \"ue blo\",\n      \"▁l anç\",\n      \"▁lan ç\",\n      \"▁Col lections\",\n      \"▁Collection s\",\n      \"▁Collect ions\",\n      \"▁ Collections\",\n      \"du e\",\n      \"d ue\",\n      \"am pton\",\n      \"amp ton\",\n      \"▁mem cpy\",\n      \"▁ memcpy\",\n      \"▁* *(\",\n      \"▁** (\",\n      \"is sent\",\n      \"iss ent\",\n      \"isse nt\",\n      \"issen t\",\n      \"▁In sp\",\n      \"▁Ins p\",\n      \"▁Glas gow\",\n      \"▁fur ono\",\n      \"▁kind ness\",\n      \"B i\",\n      \"▁comp eted\",\n      \"▁compet ed\",\n      \"▁compete d\",\n      \"▁o ak\",\n      \"L arge\",\n      \"▁dis gu\",\n      \"▁disg u\",\n      \"▁k ings\",\n      \"▁king s\",\n      \"▁kin gs\",\n      \"та ми\",\n      \"▁st uffed\",\n      \"▁stuff ed\",\n      \"▁h ilar\",\n      \"▁hi lar\",\n      \"pub lished\",\n      \"publish ed\",\n      \"▁st ressed\",\n      \"▁str essed\",\n      \"▁stress ed\",\n      \"▁Pe ak\",\n      \"▁lo ader\",\n      \"▁load er\",\n      \"▁ loader\",\n      \"Key board\",\n      \"▁re construction\",\n      \"▁v od\",\n      \"▁vo d\",\n      \"▁ vod\",\n      \"▁d un\",\n      \"▁du n\",\n      \"▁understand s\",\n      \"te nant\",\n      \"ten ant\",\n      \"▁ch aque\",\n      \"▁cha que\",\n      \"▁pre jud\",\n      \"ut at\",\n      \"uta t\",\n      \"u tat\",\n      \"▁u so\",\n      \"▁us o\",\n      \"▁ uso\",\n      \"▁He avy\",\n      \"▁cu atro\",\n      \"▁side walk\",\n      \"▁B ug\",\n      \"▁Bu g\",\n      \"▁mån aden\",\n      \"ge o\",\n      \"▁un ited\",\n      \"▁unit ed\",\n      \"▁F iles\",\n      \"▁Fil es\",\n      \"▁File s\",\n      \"▁Fi les\",\n      \"▁ Files\",\n      \"▁А ль\",\n      \"▁Ал ь\",\n      \"▁rug by\",\n      \"▁fin ancing\",\n      \"▁financ ing\",\n      \"▁com ply\",\n      \"▁comp ly\",\n      \"▁compl y\",\n      \"& #\",\n      \"▁r ushing\",\n      \"▁rush ing\",\n      \"▁rus hing\",\n      \"▁f en\",\n      \"▁fe n\",\n      \"▁ fen\",\n      \"mon g\",\n      \"mo ng\",\n      \"m ong\",\n      \"▁sp é\",\n      \"▁present ing\",\n      \"IN CLUDING\",\n      \"ě l\",\n      \"zeich nung\",\n      \"Back up\",\n      \"▁pe tit\",\n      \"▁pet it\",\n      \"▁all erg\",\n      \"▁alle rg\",\n      \"▁aller g\",\n      \"ну т\",\n      \"н ут\",\n      \"▁wor rying\",\n      \"▁worry ing\",\n      \"▁m amm\",\n      \"▁ma mm\",\n      \"▁oper and\",\n      \"▁opera nd\",\n      \":%.* ]]\",\n      \"▁real ise\",\n      \"Comm ands\",\n      \"Command s\",\n      \"▁B ew\",\n      \"▁Be w\",\n      \"▁ass umes\",\n      \"▁assum es\",\n      \"▁assume s\",\n      \"▁Co vid\",\n      \"▁Cov id\",\n      \"▁qu and\",\n      \"ty ard\",\n      \"t yard\",\n      \"▁M ono\",\n      \"▁Mon o\",\n      \"▁Mo no\",\n      \"lin ked\",\n      \"link ed\",\n      \"M ARK\",\n      \"Es p\",\n      \"E sp\",\n      \"▁bless ing\",\n      \"▁eyeb rows\",\n      \"▁N V\",\n      \"▁ NV\",\n      \"▁ст ру\",\n      \"▁ стру\",\n      \"▁mod eling\",\n      \"▁model ing\",\n      \"▁mode ling\",\n      \"▁gre eted\",\n      \"Work space\",\n      \"▁pe dest\",\n      \"▁ped est\",\n      \"▁не за\",\n      \"lem agne\",\n      \"Stat istics\",\n      \"▁a ument\",\n      \"▁au ment\",\n      \"▁spe eds\",\n      \"▁speed s\",\n      \"▁synd rome\",\n      \"CONNE CT\",\n      \"za hl\",\n      \"z ahl\",\n      \"ver so\",\n      \"vers o\",\n      \"érc ito\",\n      \"▁astr onom\",\n      \"▁ap rile\",\n      \"▁apr ile\",\n      \"▁april e\",\n      \"že n\",\n      \"ž en\",\n      \"ве ро\",\n      \"вер о\",\n      \"dr aft\",\n      \"d raft\",\n      \"▁g ioc\",\n      \"▁gi oc\",\n      \"▁com port\",\n      \"▁comp ort\",\n      \"▁var iance\",\n      \"▁vari ance\",\n      \"▁real izing\",\n      \"▁realiz ing\",\n      \"ED IT\",\n      \"оло ві\",\n      \"▁e star\",\n      \"▁est ar\",\n      \"▁es tar\",\n      \"▁esta r\",\n      \"▁s ost\",\n      \"▁so st\",\n      \"N ORMAL\",\n      \"▁ ó\",\n      \"▁And r\",\n      \"▁An dr\",\n      \"ATTR IB\",\n      \"▁re de\",\n      \"▁r ede\",\n      \"▁red e\",\n      \"▁t oes\",\n      \"▁to es\",\n      \"▁toe s\",\n      \"▁adv ances\",\n      \"▁advance s\",\n      \"▁Again st\",\n      \"TO M\",\n      \"T OM\",\n      \"rs s\",\n      \"r ss\",\n      \"MM MM\",\n      \"▁ne west\",\n      \"▁new est\",\n      \"▁V ER\",\n      \"▁ VER\",\n      \"▁phrase s\",\n      \"▁phr ases\",\n      \"an ter\",\n      \"ant er\",\n      \"ante r\",\n      \"La unch\",\n      \"▁c hr\",\n      \"▁ch r\",\n      \"▁ chr\",\n      \"▁manufact ured\",\n      \"$) ,\",\n      \"$ ),\",\n      \"roll ment\",\n      \"es ton\",\n      \"est on\",\n      \"esto n\",\n      \"e ston\",\n      \"▁pe int\",\n      \"” )\",\n      \"en det\",\n      \"end et\",\n      \"ende t\",\n      \"▁H air\",\n      \"▁Ha ir\",\n      \"ival ent\",\n      \"▁up right\",\n      \"gr en\",\n      \"gre n\",\n      \"g ren\",\n      \"an ked\",\n      \"ank ed\",\n      \"wr ight\",\n      \"w right\",\n      \"▁m ast\",\n      \"▁ma st\",\n      \"▁mas t\",\n      \"▁on Change\",\n      \"▁de bris\",\n      \"▁deb ris\",\n      \"▁g rap\",\n      \"▁gr ap\",\n      \"▁gra p\",\n      \"et ry\",\n      \"etr y\",\n      \"e try\",\n      \"▁( __\",\n      \"▁(_ _\",\n      \"▁ (__\",\n      \"▁Com merce\",\n      \"BO X\",\n      \"T ax\",\n      \"▁о три\",\n      \"▁от ри\",\n      \"▁pre vention\",\n      \"▁prevent ion\",\n      \"▁prev ention\",\n      \"▁Fe el\",\n      \"▁ex otic\",\n      \"▁B ark\",\n      \"▁Bar k\",\n      \"▁S team\",\n      \"▁Ste am\",\n      \"fo n\",\n      \"f on\",\n      \"ol in\",\n      \"oli n\",\n      \"o lin\",\n      \"▁elim inated\",\n      \"▁eliminate d\",\n      \"▁b c\",\n      \"▁ bc\",\n      \"▁C ycl\",\n      \"▁Cy cl\",\n      \"▁$ (\\\"#\",\n      \"▁ $(\\\"#\",\n      \"▁P arl\",\n      \"▁Par l\",\n      \"▁Pa rl\",\n      \"man uel\",\n      \"os pher\",\n      \"osp her\",\n      \"osph er\",\n      \"W F\",\n      \"An aly\",\n      \"Anal y\",\n      \"▁nav ig\",\n      \"▁re nown\",\n      \"▁ren own\",\n      \"R x\",\n      \"▁W alt\",\n      \"▁Wal t\",\n      \"▁Wa lt\",\n      \"uf fed\",\n      \"uff ed\",\n      \"▁f oster\",\n      \"▁fo ster\",\n      \"▁fost er\",\n      \"▁fos ter\",\n      \"$ :\",\n      \"sh ore\",\n      \"Conne ctor\",\n      \"Conn ector\",\n      \"Connect or\",\n      \"фи ка\",\n      \"▁real ization\",\n      \"▁realiz ation\",\n      \"L i\",\n      \"ct xt\",\n      \"ctx t\",\n      \"c txt\",\n      \"ah oo\",\n      \"aho o\",\n      \"▁mir acle\",\n      \"▁E T\",\n      \"▁ ET\",\n      \"▁G PS\",\n      \"▁GP S\",\n      \"▁Observ able\",\n      \"▁h f\",\n      \"▁ hf\",\n      \"▁magnific ent\",\n      \"не го\",\n      \"BI N\",\n      \"B IN\",\n      \"▁D orf\",\n      \"▁Do rf\",\n      \"▁Dor f\",\n      \"ie ck\",\n      \"ve e\",\n      \"v ee\",\n      \"▁C raw\",\n      \"▁Cr aw\",\n      \"▁Cra w\",\n      \"/ #\",\n      \"▁p ci\",\n      \"▁pc i\",\n      \"▁ pci\",\n      \"ip pet\",\n      \"ipp et\",\n      \"▁Hill ary\",\n      \"▁g ir\",\n      \"▁gi r\",\n      \"▁r and\",\n      \"▁ran d\",\n      \"▁ra nd\",\n      \"▁ rand\",\n      \"▁la ying\",\n      \"▁lay ing\",\n      \"▁D ifferent\",\n      \"bo ys\",\n      \"boy s\",\n      \"vi rt\",\n      \"vir t\",\n      \"v irt\",\n      \"▁enc ryption\",\n      \"ás z\",\n      \"á sz\",\n      \"по р\",\n      \"п ор\",\n      \"▁sm elled\",\n      \"▁smell ed\",\n      \"▁sus cept\",\n      \"cl uded\",\n      \"clude d\",\n      \"▁C arn\",\n      \"▁Car n\",\n      \"▁Ca rn\",\n      \"ig ten\",\n      \"igt en\",\n      \"igte n\",\n      \"▁Ch uck\",\n      \"▁Prov inc\",\n      \"▁per í\",\n      \"▁Mar shal\",\n      \"▁Mars hal\",\n      \"▁ Marshal\",\n      \"мо ж\",\n      \"g fx\",\n      \"os hi\",\n      \"osh i\",\n      \"▁W HE\",\n      \"▁WH E\",\n      \"▁relax ation\",\n      \", .\",\n      \"we re\",\n      \"wer e\",\n      \"w ere\",\n      \"▁var ieties\",\n      \"▁W on\",\n      \"▁Wo n\",\n      \"▁g aps\",\n      \"▁gap s\",\n      \"▁ga ps\",\n      \"▁st ole\",\n      \"▁sto le\",\n      \"ig ua\",\n      \"igu a\",\n      \"ющи е\",\n      \"▁Ham pshire\",\n      \"ph rase\",\n      \"▁pel ícula\",\n      \"Process ing\",\n      \"▁initial ization\",\n      \"oust ic\",\n      \"▁Jose f\",\n      \"▁Jos ef\",\n      \"ic ating\",\n      \"ica ting\",\n      \"▁good ness\",\n      \"TE S\",\n      \"T ES\",\n      \"▁c ope\",\n      \"▁co pe\",\n      \"▁cop e\",\n      \"▁ cope\",\n      \"▁ignor ance\",\n      \"▁B rist\",\n      \"▁Br ist\",\n      \"▁par as\",\n      \"▁para s\",\n      \"▁pa ras\",\n      \"▁accident ally\",\n      \"▁t and\",\n      \"▁tan d\",\n      \"▁ta nd\",\n      \"it test\",\n      \"itt est\",\n      \"itte st\",\n      \"▁у ли\",\n      \"▁sh ipped\",\n      \"▁ship ped\",\n      \"▁о ст\",\n      \"▁ос т\",\n      \"else if\",\n      \"▁u size\",\n      \"▁us ize\",\n      \"hor izontal\",\n      \"▁C arr\",\n      \"▁Car r\",\n      \"▁Ca rr\",\n      \"▁pre cip\",\n      \"▁prec ip\",\n      \"ro z\",\n      \"r oz\",\n      \"path etic\",\n      \"pat hetic\",\n      \"ri ved\",\n      \"riv ed\",\n      \"rive d\",\n      \"r ived\",\n      \"ro k\",\n      \"r ok\",\n      \"▁dig ging\",\n      \"мо м\",\n      \"▁M ull\",\n      \"▁Mu ll\",\n      \"▁Mul l\",\n      \"▁X III\",\n      \"▁XII I\",\n      \"▁XI II\",\n      \"▁pe as\",\n      \"▁f oul\",\n      \"▁fo ul\",\n      \"▁fou l\",\n      \"▁travel s\",\n      \"▁trav els\",\n      \"▁N g\",\n      \"▁состав е\",\n      \"▁соста ве\",\n      \"Mon t\",\n      \"Mo nt\",\n      \"M ont\",\n      \"ar de\",\n      \"ard e\",\n      \"▁Ste fan\",\n      \"^^ ^^\",\n      \"▁K iss\",\n      \"▁Ki ss\",\n      \"▁E k\",\n      \"▁ok tober\",\n      \"▁mem orable\",\n      \"▁memor able\",\n      \"') ).\",\n      \"')) .\",\n      \"' )).\",\n      \"▁V ision\",\n      \"▁Vis ion\",\n      \"▁N ina\",\n      \"▁Ni na\",\n      \"▁Nin a\",\n      \"▁S olar\",\n      \"▁So lar\",\n      \"▁Sol ar\",\n      \"▁highlight ed\",\n      \"▁me mo\",\n      \"▁mem o\",\n      \"me isterschaft\",\n      \"side bar\",\n      \"SE E\",\n      \"S EE\",\n      \"▁Nev ada\",\n      \"D a\",\n      \"▁draw er\",\n      \"ast ically\",\n      \"astic ally\",\n      \"el de\",\n      \"eld e\",\n      \"sc ribed\",\n      \"scri bed\",\n      \"scribe d\",\n      \"scrib ed\",\n      \"▁pri ests\",\n      \"▁priest s\",\n      \"▁hom mes\",\n      \"▁homme s\",\n      \"▁in structor\",\n      \"▁instruct or\",\n      \"кла д\",\n      \"▁sp ett\",\n      \"▁spe tt\",\n      \"\\\\ -\",\n      \"▁ми ра\",\n      \"▁ мира\",\n      \"▁Look s\",\n      \"▁Lo oks\",\n      \"▁sle eve\",\n      \"▁strong est\",\n      \"▁t ête\",\n      \"▁Nic ole\",\n      \"▁Ni cole\",\n      \"▁Nicol e\",\n      \"im per\",\n      \"imp er\",\n      \"на ча\",\n      \"ip per\",\n      \"ipp er\",\n      \"▁in won\",\n      \"il ers\",\n      \"ile rs\",\n      \"iler s\",\n      \"i lers\",\n      \"▁Dep uty\",\n      \"og e\",\n      \"o ge\",\n      \"▁de pressed\",\n      \"▁dep ressed\",\n      \"▁depress ed\",\n      \"▁ar te\",\n      \"▁art e\",\n      \"▁ arte\",\n      \"▁comb ining\",\n      \"LA ST\",\n      \"L AST\",\n      \"in ted\",\n      \"int ed\",\n      \"inte d\",\n      \"▁A verage\",\n      \"▁Ave rage\",\n      \"▁poll ution\",\n      \"▁Phill ips\",\n      \"▁W M\",\n      \"▁ WM\",\n      \"}} }\\\\\",\n      \"}}} \\\\\",\n      \"} }}\\\\\",\n      \"Add ed\",\n      \"Ad ded\",\n      \"▁per ipher\",\n      \"Creat ion\",\n      \"C reation\",\n      \"▁ital ien\",\n      \"▁Ch oice\",\n      \"▁Cho ice\",\n      \"▁ Choice\",\n      \"▁EX PRESS\",\n      \"▁St ruct\",\n      \"▁Str uct\",\n      \"▁ Struct\",\n      \"ys z\",\n      \"y sz\",\n      \"Res ize\",\n      \"Re size\",\n      \"AR GS\",\n      \"ARG S\",\n      \"▁re po\",\n      \"▁rep o\",\n      \"▁ repo\",\n      \"▁что бы\",\n      \"▁p ref\",\n      \"▁pre f\",\n      \"▁pr ef\",\n      \"▁ pref\",\n      \"▁earth qu\",\n      \"▁Ме кси\",\n      \"▁F inale\",\n      \"▁Fin ale\",\n      \"▁Final e\",\n      \"▁h echo\",\n      \"▁he cho\",\n      \"requ ests\",\n      \"request s\",\n      \"C ut\",\n      \"▁des erved\",\n      \"▁deserve d\",\n      \"го во\",\n      \"гов о\",\n      \"▁Re cent\",\n      \"▁Rec ent\",\n      \"▁ди визи\",\n      \"▁support ive\",\n      \"пра ви\",\n      \"прав и\",\n      \"▁irre levant\",\n      \"' \\r\",\n      \"▁c trl\",\n      \"▁ ctrl\",\n      \"▁De al\",\n      \"iz ada\",\n      \"iza da\",\n      \"u o\",\n      \"▁n ort\",\n      \"▁no rt\",\n      \"▁nor t\",\n      \"ge ometry\",\n      \"geo metry\",\n      \"▁Individ ual\",\n      \"er eg\",\n      \"ere g\",\n      \"e reg\",\n      \"▁при ня\",\n      \"cre f\",\n      \"cr ef\",\n      \"c ref\",\n      \"═ ═\",\n      \"▁com erc\",\n      \"▁come rc\",\n      \"= _\",\n      \"bu nd\",\n      \"b und\",\n      \"та х\",\n      \"il en\",\n      \"ile n\",\n      \"i len\",\n      \"чи та\",\n      \"▁corpor ation\",\n      \"es z\",\n      \"e sz\",\n      \"▁= =>\",\n      \"▁== >\",\n      \"ab lish\",\n      \"abl ish\",\n      \"Ap r\",\n      \"A pr\",\n      \"▁r ipped\",\n      \"▁ri pped\",\n      \"▁rip ped\",\n      \"Var s\",\n      \"V ars\",\n      \"st ret\",\n      \"str et\",\n      \"stre t\",\n      \"▁Frances co\",\n      \"Na N\",\n      \"▁any time\",\n      \"▁autom ated\",\n      \"ost ream\",\n      \"o stream\",\n      \"▁draw ings\",\n      \"▁drawing s\",\n      \"▁enhance ment\",\n      \"ok rat\",\n      \"▁Iss ue\",\n      \"в ра\",\n      \"Cur rency\",\n      \"▁w yn\",\n      \"▁wy n\",\n      \"izar re\",\n      \"ét ico\",\n      \"mult iple\",\n      \"multi ple\",\n      \"multip le\",\n      \"▁R ate\",\n      \"▁Ra te\",\n      \"▁Rat e\",\n      \"▁ Rate\",\n      \"▁I ch\",\n      \"▁A uss\",\n      \"▁Aus s\",\n      \"▁Au ss\",\n      \"▁For mer\",\n      \"▁Form er\",\n      \"Cur ve\",\n      \"▁mar vel\",\n      \"att ro\",\n      \"attr o\",\n      \"▁с п\",\n      \"BO OL\",\n      \"си я\",\n      \"go ld\",\n      \"g old\",\n      \"▁N intendo\",\n      \"▁Salv ador\",\n      \"▁S olution\",\n      \"▁Sol ution\",\n      \"AD C\",\n      \"A DC\",\n      \"бо ра\",\n      \"бор а\",\n      \"▁Ben nett\",\n      \"▁F R\",\n      \"▁ FR\",\n      \"▁pu eden\",\n      \"▁pued en\",\n      \"▁puede n\",\n      \"pat ient\",\n      \"▁P G\",\n      \"▁ PG\",\n      \"▁J in\",\n      \"▁Ji n\",\n      \"▁cr ashed\",\n      \"▁crash ed\",\n      \"▁d enen\",\n      \"▁de nen\",\n      \"▁den en\",\n      \"▁S ample\",\n      \"▁Sam ple\",\n      \"▁ Sample\",\n      \"▁Que bec\",\n      \"it ories\",\n      \"itor ies\",\n      \"ito ries\",\n      \"itori es\",\n      \"▁b linked\",\n      \"▁blink ed\",\n      \"▁l ion\",\n      \"▁li on\",\n      \"▁vo ce\",\n      \"▁voc e\",\n      \"▁Imp act\",\n      \"▁M au\",\n      \"▁Ma u\",\n      \"▁N ie\",\n      \"▁Ni e\",\n      \"▁l ob\",\n      \"▁lo b\",\n      \"▁д ве\",\n      \"or neys\",\n      \"orney s\",\n      \"orne ys\",\n      \"▁coast al\",\n      \"▁s ensors\",\n      \"▁sens ors\",\n      \"▁sensor s\",\n      \"▁X II\",\n      \"▁XI I\",\n      \"▁ill usion\",\n      \"oj i\",\n      \"o ji\",\n      \"▁I NC\",\n      \"▁IN C\",\n      \"▁Dun can\",\n      \"y k\",\n      \"▁affect ing\",\n      \"pu l\",\n      \"p ul\",\n      \"▁Napole on\",\n      \"▁а каде\",\n      \"▁com pt\",\n      \"▁comp t\",\n      \"▁prof itable\",\n      \"▁profit able\",\n      \"lo e\",\n      \"l oe\",\n      \"▁deux ième\",\n      \"▁W C\",\n      \"▁ WC\",\n      \"▁v iable\",\n      \"▁vi able\",\n      \"▁via ble\",\n      \"▁D rug\",\n      \"▁Dr ug\",\n      \"▁Dru g\",\n      \"Text Box\",\n      \"▁lum inos\",\n      \"au té\",\n      \"aut é\",\n      \"y c\",\n      \"št ě\",\n      \"▁affili ates\",\n      \"▁affiliate s\",\n      \"il da\",\n      \"ild a\",\n      \"con duct\",\n      \"cond uct\",\n      \"▁e benfalls\",\n      \"▁A MD\",\n      \"▁AM D\",\n      \"▁Mon itor\",\n      \"▁ Monitor\",\n      \"▁Compan ies\",\n      \"▁correct ed\",\n      \"▁corre cted\",\n      \"ä ck\",\n      \"SY STEM\",\n      \"other apy\",\n      \"▁п еред\",\n      \"▁пере д\",\n      \"▁пе ред\",\n      \"▁bl ues\",\n      \"▁blue s\",\n      \"at isf\",\n      \"ati sf\",\n      \"atis f\",\n      \"al though\",\n      \"alth ough\",\n      \"ro st\",\n      \"ros t\",\n      \"r ost\",\n      \"SC AN\",\n      \"S CAN\",\n      \"▁R AM\",\n      \"ці ональ\",\n      \"▁vend ors\",\n      \"▁vendor s\",\n      \"▁custom s\",\n      \"▁cust oms\",\n      \"▁activ ate\",\n      \"▁ activate\",\n      \"▁b logs\",\n      \"▁bl ogs\",\n      \"▁blo gs\",\n      \"▁blog s\",\n      \"▁br ace\",\n      \"▁bra ce\",\n      \"▁ brace\",\n      \"▁st rat\",\n      \"▁str at\",\n      \"▁stra t\",\n      \"an je\",\n      \"anj e\",\n      \"щ ё\",\n      \"▁t ide\",\n      \"▁tid e\",\n      \"▁ti de\",\n      \"▁Brig ade\",\n      \"get Operand\",\n      \"▁al iment\",\n      \"▁ali ment\",\n      \"▁achieve ments\",\n      \"▁achievement s\",\n      \"▁suspic ion\",\n      \"▁susp icion\",\n      \"▁touch down\",\n      \"br oad\",\n      \"bro ad\",\n      \"b road\",\n      \"io re\",\n      \"ior e\",\n      \"i ore\",\n      \"Compar ison\",\n      \"▁m um\",\n      \"▁mu m\",\n      \"Eng lish\",\n      \"▁P icture\",\n      \"▁Pict ure\",\n      \"▁M ouse\",\n      \"▁Mo use\",\n      \"▁ Mouse\",\n      \"am d\",\n      \"a md\",\n      \"▁[ `\",\n      \"▁den omin\",\n      \"▁denom in\",\n      \"▁Al eks\",\n      \"▁Ale ks\",\n      \"▁pr events\",\n      \"▁prevent s\",\n      \"▁prev ents\",\n      \"ó b\",\n      \"fe d\",\n      \"f ed\",\n      \"▁P ray\",\n      \"▁Pr ay\",\n      \"▁Pra y\",\n      \"▁sh ine\",\n      \"▁ shine\",\n      \"▁cl utch\",\n      \"mu x\",\n      \"m ux\",\n      \"App ro\",\n      \"Ap pro\",\n      \"▁not ably\",\n      \"ch io\",\n      \"chi o\",\n      \"na ge\",\n      \"n age\",\n      \"HA S\",\n      \"H AS\",\n      \"▁' )\",\n      \"▁ ')\",\n      \"▁M iche\",\n      \"▁Mich e\",\n      \"▁Mic he\",\n      \"▁Mi che\",\n      \"t g\",\n      \":: ~\",\n      \"▁am ely\",\n      \"▁ro dz\",\n      \"▁rod z\",\n      \"z s\",\n      \"tr ait\",\n      \"tra it\",\n      \"t rait\",\n      \"▁k lass\",\n      \"▁kl ass\",\n      \"▁ klass\",\n      \"f ö\",\n      \"▁dest ac\",\n      \"▁Cl ara\",\n      \"▁Clar a\",\n      \"f requency\",\n      \"▁G it\",\n      \"▁Gi t\",\n      \"▁по ль\",\n      \"▁пол ь\",\n      \"▁frequ encies\",\n      \"▁febr ero\",\n      \"▁st umbled\",\n      \"ко ю\",\n      \"▁N ames\",\n      \"▁Name s\",\n      \"▁Na mes\",\n      \"▁Nam es\",\n      \"▁ Names\",\n      \"▁F light\",\n      \"▁Fl ight\",\n      \"▁p rey\",\n      \"▁pre y\",\n      \"▁pr ey\",\n      \"▁med io\",\n      \"▁medi o\",\n      \"▁V AR\",\n      \"▁VA R\",\n      \"▁ VAR\",\n      \"▁F loat\",\n      \"▁Flo at\",\n      \"▁ Float\",\n      \"▁Ern est\",\n      \"▁Marc atori\",\n      \"op ort\",\n      \"o port\",\n      \"▁cancel lation\",\n      \"▁cancell ation\",\n      \"▁Br yan\",\n      \"▁Bry an\",\n      \"—— ——\",\n      \"Lu c\",\n      \"L uc\",\n      \"▁li bre\",\n      \"▁lib re\",\n      \"▁t ítulo\",\n      \"* >\",\n      \"▁S andy\",\n      \"▁San dy\",\n      \"▁Sand y\",\n      \"▁Mar ina\",\n      \"Be en\",\n      \"B een\",\n      \"▁w al\",\n      \"▁wa l\",\n      \"▁ wal\",\n      \"▁K ultur\",\n      \"▁expl ode\",\n      \"▁explo de\",\n      \"▁lim iting\",\n      \"▁limit ing\",\n      \"▁presum ably\",\n      \"▁p b\",\n      \"▁ pb\",\n      \"▁M erc\",\n      \"▁Me rc\",\n      \"▁Mer c\",\n      \"▁ре ки\",\n      \"le arning\",\n      \"lear ning\",\n      \"learn ing\",\n      \"C atalog\",\n      \"▁C ensus\",\n      \"lt e\",\n      \"l te\",\n      \"▁N ET\",\n      \"▁NE T\",\n      \"▁ NET\",\n      \"ra ising\",\n      \"rais ing\",\n      \"rai sing\",\n      \"сь ке\",\n      \"st aff\",\n      \"sta ff\",\n      \"▁Qu inn\",\n      \"▁mem orial\",\n      \"▁memor ial\",\n      \"▁memo rial\",\n      \"п ня\",\n      \"▁cu enta\",\n      \"▁X I\",\n      \"lb l\",\n      \"l bl\",\n      \"▁v aries\",\n      \"▁var ies\",\n      \"▁vari es\",\n      \"▁va ries\",\n      \"▁fluct uations\",\n      \"▁дол ж\",\n      \"▁осо би\",\n      \"▁ware house\",\n      \"How ever\",\n      \"▁correct ions\",\n      \"▁corre ctions\",\n      \"▁correction s\",\n      \"dh d\",\n      \"d hd\",\n      \"▁f als\",\n      \"▁fa ls\",\n      \"▁fal s\",\n      \"▁controvers y\",\n      \"▁cur se\",\n      \"▁t élé\",\n      \"▁té lé\",\n      \"ře d\",\n      \"ř ed\",\n      \"▁A U\",\n      \"▁ AU\",\n      \"▁т ор\",\n      \"▁то р\",\n      \"▁ тор\",\n      \"▁cr ít\",\n      \"id an\",\n      \"ida n\",\n      \"i dan\",\n      \"ili ary\",\n      \"iliar y\",\n      \"ilia ry\",\n      \"▁P anel\",\n      \"▁Pan el\",\n      \"▁Pa nel\",\n      \"▁ Panel\",\n      \"cul e\",\n      \"cu le\",\n      \"c ule\",\n      \"▁P oor\",\n      \"▁Po or\",\n      \"▁B A\",\n      \"▁ BA\",\n      \"▁ignor ant\",\n      \"ème s\",\n      \"è mes\",\n      \"▁aest hetic\",\n      \"Link ed\",\n      \"Lin ked\",\n      \"get Int\",\n      \"Un icode\",\n      \"[ @\",\n      \"▁Z ent\",\n      \"▁Ze nt\",\n      \"▁Zen t\",\n      \"Man ifest\",\n      \"▁v ars\",\n      \"▁var s\",\n      \"▁va rs\",\n      \"▁ vars\",\n      \"P B\",\n      \"▁в у\",\n      \"▁ ву\",\n      \"▁De scribe\",\n      \"▁Desc ribe\",\n      \"▁ Describe\",\n      \"▁Any thing\",\n      \"oi rs\",\n      \"oir s\",\n      \"o irs\",\n      \"▁s ocks\",\n      \"▁so cks\",\n      \"▁soc ks\",\n      \"▁sock s\",\n      \"▁im ped\",\n      \"▁imp ed\",\n      \"▁ne ue\",\n      \"▁neu e\",\n      \"▁dis pers\",\n      \"▁disp ers\",\n      \"Col lect\",\n      \"Coll ect\",\n      \"file r\",\n      \"fil er\",\n      \"fi ler\",\n      \"f iler\",\n      \"▁Fr au\",\n      \"▁Fra u\",\n      \"▁H ockey\",\n      \"▁te ens\",\n      \"▁teen s\",\n      \"▁Rober to\",\n      \"▁Robert o\",\n      \"la uf\",\n      \"l auf\",\n      \"ва ть\",\n      \"ват ь\",\n      \"▁с ко\",\n      \"▁ ско\",\n      \"is Array\",\n      \"▁teen ager\",\n      \"Bu ilt\",\n      \"▁loud ly\",\n      \"Cap acity\",\n      \"▁advent ures\",\n      \"▁adventure s\",\n      \"▁M olly\",\n      \"▁Mol ly\",\n      \"rec ogn\",\n      \"bar s\",\n      \"ba rs\",\n      \"b ars\",\n      \"▁L or\",\n      \"▁Lo r\",\n      \"▁pu ò\",\n      \"▁m ong\",\n      \"▁mon g\",\n      \"▁mo ng\",\n      \"▁ mong\",\n      \"in ement\",\n      \"ine ment\",\n      \"i nement\",\n      \"Ass ignment\",\n      \"Assign ment\",\n      \"▁d iz\",\n      \"▁di z\",\n      \"less ness\",\n      \"▁H alloween\",\n      \"▁bit map\",\n      \"▁ bitmap\",\n      \"Ro m\",\n      \"R om\",\n      \"на р\",\n      \"н ар\",\n      \"▁re bel\",\n      \"▁reb el\",\n      \"▁rad ial\",\n      \"▁radi al\",\n      \"me asure\",\n      \"ni t\",\n      \"n it\",\n      \"▁Ass ume\",\n      \"▁assign ments\",\n      \"▁assignment s\",\n      \"▁I sn\",\n      \"▁Is n\",\n      \"▁al tre\",\n      \"▁alt re\",\n      \"ße r\",\n      \"ß er\",\n      \"на ль\",\n      \"нал ь\",\n      \"н аль\",\n      \"▁fl ies\",\n      \"▁d roit\",\n      \"▁dro it\",\n      \"▁thick ness\",\n      \"▁en jo\",\n      \"▁d well\",\n      \"▁dw ell\",\n      \"▁hom osexual\",\n      \"▁e val\",\n      \"▁ev al\",\n      \"▁ eval\",\n      \"$_ {\",\n      \"$ _{\",\n      \"as ia\",\n      \"asi a\",\n      \"▁phil os\",\n      \"get Current\",\n      \"▁veter ans\",\n      \"▁veteran s\",\n      \"▁Ber keley\",\n      \"▁wild life\",\n      \"Co p\",\n      \"C op\",\n      \"ve rn\",\n      \"ver n\",\n      \"v ern\",\n      \"▁ Ú\",\n      \"to s\",\n      \"t os\",\n      \"▁L ed\",\n      \"▁Le d\",\n      \"▁key words\",\n      \"▁keyword s\",\n      \"▁med ications\",\n      \"▁medic ations\",\n      \"▁medication s\",\n      \"ne um\",\n      \"▁jam ais\",\n      \"▁B uc\",\n      \"▁Bu c\",\n      \"▁P D\",\n      \"▁ PD\",\n      \"▁State ment\",\n      \"▁Stat ement\",\n      \"▁ Statement\",\n      \"▁P I\",\n      \"▁ PI\",\n      \"▁Jack ie\",\n      \"▁Jac kie\",\n      \"▁ord in\",\n      \"▁k ör\",\n      \"▁kö r\",\n      \"en ze\",\n      \"enz e\",\n      \"▁util ized\",\n      \"▁utiliz ed\",\n      \"▁utilize d\",\n      \"á ct\",\n      \"az ed\",\n      \"aze d\",\n      \"a zed\",\n      \"▁sever ely\",\n      \"▁severe ly\",\n      \"▁ä ven\",\n      \"▁li bro\",\n      \"▁lib ro\",\n      \"▁E u\",\n      \"äs t\",\n      \"ä st\",\n      \"PAR T\",\n      \"PA RT\",\n      \"P ART\",\n      \"▁But ler\",\n      \"▁puzz le\",\n      \"F all\",\n      \"Count ry\",\n      \"C ountry\",\n      \"pf n\",\n      \"p fn\",\n      \"▁у країн\",\n      \"▁Or chestra\",\n      \"▁al to\",\n      \"▁alt o\",\n      \"▁anc ora\",\n      \"▁decom position\",\n      \"▁ م\",\n      \"▁appet ite\",\n      \"ad u\",\n      \"a du\",\n      \"▁TH AT\",\n      \"▁com enz\",\n      \"min a\",\n      \"mi na\",\n      \"m ina\",\n      \"▁init iated\",\n      \"▁initi ated\",\n      \"▁T at\",\n      \"▁Ta t\",\n      \"▁some time\",\n      \"▁som etime\",\n      \"▁somet ime\",\n      \"re k\",\n      \"r ek\",\n      \"br ead\",\n      \"bre ad\",\n      \"b read\",\n      \"▁Stat istics\",\n      \"▁ Statistics\",\n      \"▁C ob\",\n      \"▁Co b\",\n      \"F ollow\",\n      \"▁ge ometric\",\n      \"ш ла\",\n      \"▁proceed ings\",\n      \"D lg\",\n      \"se ven\",\n      \"s even\",\n      \"▁[ -\",\n      \"▁ [-\",\n      \"▁Buff alo\",\n      \"▁bl acks\",\n      \"▁black s\",\n      \"▁s ov\",\n      \"▁so v\",\n      \"▁cust ody\",\n      \"▁r as\",\n      \"▁ra s\",\n      \"▁ ras\",\n      \"▁tatto o\",\n      \"öffent licht\",\n      \"Bl o\",\n      \"B lo\",\n      \"A ustral\",\n      \"▁rec uper\",\n      \"ле в\",\n      \"л ев\",\n      \"▁b em\",\n      \"▁be m\",\n      \"▁t hou\",\n      \"▁th ou\",\n      \"ori ented\",\n      \"orient ed\",\n      \"vi r\",\n      \"v ir\",\n      \"▁col ony\",\n      \"▁colon y\",\n      \"▁Stan ford\",\n      \"Abs olute\",\n      \"ad rat\",\n      \"adr at\",\n      \"▁S itu\",\n      \"▁Si tu\",\n      \"▁sou vent\",\n      \"EX EC\",\n      \"▁m ű\",\n      \"▁apart ments\",\n      \"▁apartment s\",\n      \"▁слу ча\",\n      \"▁a no\",\n      \"▁an o\",\n      \"▁ ano\",\n      \"WIN DO\",\n      \"ac ci\",\n      \"acc i\",\n      \"▁L au\",\n      \"▁La u\",\n      \"co urt\",\n      \"cou rt\",\n      \"c ourt\",\n      \"▁manif old\",\n      \"▁coal ition\",\n      \"▁X IV\",\n      \"▁XI V\",\n      \"Att rib\",\n      \"Attr ib\",\n      \"asc ade\",\n      \"▁whe at\",\n      \"▁strength s\",\n      \"FR EE\",\n      \"F REE\",\n      \"EMP TY\",\n      \"▁h ey\",\n      \"▁he y\",\n      \"as cular\",\n      \"asc ular\",\n      \"▁pl asma\",\n      \"▁b ob\",\n      \"▁bo b\",\n      \"Sep arator\",\n      \"=\\\" ${\",\n      \"=\\\"$ {\",\n      \"▁Z ag\",\n      \"▁Za g\",\n      \"▁pro jet\",\n      \"▁smooth ly\",\n      \"SE QU\",\n      \"an aly\",\n      \"ana ly\",\n      \"anal y\",\n      \"att achment\",\n      \"attach ment\",\n      \"▁E S\",\n      \"▁ ES\",\n      \"▁po pped\",\n      \"▁pop ped\",\n      \"ő s\",\n      \"to m\",\n      \"t om\",\n      \"▁s ón\",\n      \"▁só n\",\n      \"▁r ott\",\n      \"▁ro tt\",\n      \"▁rot t\",\n      \"▁ rott\",\n      \"Util ities\",\n      \"Ut ilities\",\n      \"had oop\",\n      \"hado op\",\n      \"▁s otto\",\n      \"▁so tto\",\n      \"au tor\",\n      \"aut or\",\n      \"auto r\",\n      \"▁George s\",\n      \"▁Georg es\",\n      \"▁kter ý\",\n      \"▁gru ppo\",\n      \"▁ко гда\",\n      \"▁ме да\",\n      \"▁instrument al\",\n      \"▁W riter\",\n      \"▁Write r\",\n      \"▁Writ er\",\n      \"▁Wr iter\",\n      \"▁ Writer\",\n      \"▁set Timeout\",\n      \"ik k\",\n      \"i kk\",\n      \"▁Do po\",\n      \"▁Dop o\",\n      \"]) ;\\r\",\n      \"]); \\r\",\n      \"] );\\r\",\n      \"▁pract icing\",\n      \"▁Ron ald\",\n      \"▁у би\",\n      \"▁ag rees\",\n      \"▁agree s\",\n      \"▁agre es\",\n      \"▁den oted\",\n      \"▁denote d\",\n      \"is miss\",\n      \"ism iss\",\n      \"▁interview ed\",\n      \"template s\",\n      \"t emplates\",\n      \"ř i\",\n      \"ad ministr\",\n      \"admin istr\",\n      \"▁B utter\",\n      \"▁But ter\",\n      \"▁XV II\",\n      \"▁XVI I\",\n      \"▁position ed\",\n      \"▁posit ioned\",\n      \"▁Four th\",\n      \"▁overwhel med\",\n      \"▁Reg ular\",\n      \"▁rep rezent\",\n      \"коно ми\",\n      \"▁expect s\",\n      \"Ind ices\",\n      \"▁mar ijuana\",\n      \"▁z aj\",\n      \"▁za j\",\n      \"▁B ren\",\n      \"▁Br en\",\n      \"▁Bre n\",\n      \"▁be gg\",\n      \"▁beg g\",\n      \"▁na hm\",\n      \"▁nah m\",\n      \"▁inter rog\",\n      \"ти е\",\n      \"▁B un\",\n      \"▁Bu n\",\n      \"▁с еред\",\n      \"▁се ред\",\n      \"▁shel ves\",\n      \"▁которы х\",\n      \"▁Fra uen\",\n      \"▁Frau en\",\n      \"▁Serge ant\",\n      \"▁у спе\",\n      \"mat ched\",\n      \"match ed\",\n      \"m atched\",\n      \"▁d onne\",\n      \"▁don ne\",\n      \"▁touch es\",\n      \"▁tou ches\",\n      \"ab ort\",\n      \"abor t\",\n      \"▁v ale\",\n      \"▁val e\",\n      \"▁va le\",\n      \"▁inst itutional\",\n      \"▁institut ional\",\n      \"▁institution al\",\n      \"▁M ons\",\n      \"▁Mon s\",\n      \"▁Mo ns\",\n      \"▁ambit ious\",\n      \"▁non etheless\",\n      \"▁none theless\",\n      \"j d\",\n      \"пе й\",\n      \"п ей\",\n      \"▁back pack\",\n      \"da o\",\n      \"d ao\",\n      \"ви я\",\n      \"▁surround ings\",\n      \"▁surrounding s\",\n      \"| _{\",\n      \"▁g egründ\",\n      \"dis p\",\n      \"di sp\",\n      \"d isp\",\n      \"▁moist ure\",\n      \"▁w yd\",\n      \"▁wy d\",\n      \"▁tr aders\",\n      \"▁trad ers\",\n      \"▁tra ders\",\n      \"▁trade rs\",\n      \"▁Er st\",\n      \"▁Gal axy\",\n      \"▁в оло\",\n      \"▁во ло\",\n      \"▁Per u\",\n      \"▁Pe ru\",\n      \"▁prior ities\",\n      \"▁pron ounced\",\n      \"▁C BS\",\n      \"▁CB S\",\n      \"▁Pal m\",\n      \"▁Pa lm\",\n      \"▁exp ans\",\n      \"▁ener get\",\n      \"▁energ et\",\n      \"▁Cond ition\",\n      \"▁ Condition\",\n      \"▁S ver\",\n      \"▁Sv er\",\n      \"ne sted\",\n      \"nes ted\",\n      \"n ested\",\n      \"▁февра ля\",\n      \"he ro\",\n      \"her o\",\n      \"h ero\",\n      \"▁ко ло\",\n      \"▁к оло\",\n      \"▁ коло\",\n      \"▁Fil ms\",\n      \"▁Film s\",\n      \"Bo n\",\n      \"B on\",\n      \"é al\",\n      \"ploy ed\",\n      \"tr ained\",\n      \"tra ined\",\n      \"train ed\",\n      \"▁els ő\",\n      \"▁l ust\",\n      \"▁lu st\",\n      \"ati num\",\n      \"atin um\",\n      \"oy le\",\n      \"o yle\",\n      \"▁J et\",\n      \"▁Je t\",\n      \"жде ния\",\n      \"▁survey s\",\n      \"▁surve ys\",\n      \"be e\",\n      \"b ee\",\n      \"work ers\",\n      \"worker s\",\n      \"wor kers\",\n      \"rec ords\",\n      \"record s\",\n      \"cal endar\",\n      \"bb ing\",\n      \"b bing\",\n      \"reg ation\",\n      \"dash board\",\n      \"d ashboard\",\n      \"K ing\",\n      \"▁v ista\",\n      \"▁vis ta\",\n      \"▁vi sta\",\n      \"▁dep icted\",\n      \"▁occur ring\",\n      \"▁о фи\",\n      \"▁sand wich\",\n      \"rc u\",\n      \"r cu\",\n      \"ke rn\",\n      \"ker n\",\n      \"k ern\",\n      \"▁min ut\",\n      \"▁mi nut\",\n      \"▁с мер\",\n      \"▁t d\",\n      \"▁ td\",\n      \"so lete\",\n      \"sole te\",\n      \"sol ete\",\n      \"Com plex\",\n      \"Comp lex\",\n      \"▁t unn\",\n      \"▁tu nn\",\n      \"▁tun n\",\n      \"▁sc arc\",\n      \"▁scar c\",\n      \"st ead\",\n      \"ste ad\",\n      \"▁F ail\",\n      \"▁Fa il\",\n      \"▁ Fail\",\n      \"▁R s\",\n      \"▁tr ails\",\n      \"▁tra ils\",\n      \"▁trail s\",\n      \"ke m\",\n      \"k em\",\n      \"▁Rom ans\",\n      \"▁Ro mans\",\n      \"▁Roman s\",\n      \"▁Roma ns\",\n      \"at ivity\",\n      \"ativ ity\",\n      \"Pre vious\",\n      \"Prev ious\",\n      \"▁de press\",\n      \"▁dep ress\",\n      \"▁re signed\",\n      \"▁res igned\",\n      \"▁resign ed\",\n      \"get Default\",\n      \"▁Tib et\",\n      \"▁Ti bet\",\n      \"▁Fr anco\",\n      \"▁Franc o\",\n      \"▁Fran co\",\n      \"\\\") ));\",\n      \"\\\")) );\",\n      \"\\\" )));\",\n      \"▁in jection\",\n      \"▁inj ection\",\n      \"▁inject ion\",\n      \"rem oved\",\n      \"remove d\",\n      \"▁pra ised\",\n      \"▁praise d\",\n      \"▁A sc\",\n      \"▁As c\",\n      \"er ase\",\n      \"era se\",\n      \"eras e\",\n      \"e rase\",\n      \"▁commission ed\",\n      \"MA IL\",\n      \"M AIL\",\n      \"▁B oh\",\n      \"▁Bo h\",\n      \"Pol y\",\n      \"Po ly\",\n      \"P oly\",\n      \"▁cin q\",\n      \"▁Ab ove\",\n      \"▁Josh ua\",\n      \"ZE RO\",\n      \"Z ERO\",\n      \"▁sum mit\",\n      \"▁U rs\",\n      \"▁Ur s\",\n      \"▁c url\",\n      \"▁cur l\",\n      \"▁cu rl\",\n      \"▁v isa\",\n      \"▁vis a\",\n      \"▁vi sa\",\n      \"▁re sur\",\n      \"▁res ur\",\n      \"={ '\",\n      \"= {'\",\n      \"fe at\",\n      \"▁abs orb\",\n      \"▁absor b\",\n      \"▁plan ets\",\n      \"▁plane ts\",\n      \"▁planet s\",\n      \"▁prin cess\",\n      \"▁prince ss\",\n      \"▁Jahrhund erts\",\n      \"▁Jahrhundert s\",\n      \"x p\",\n      \"▁N BC\",\n      \"▁ко ми\",\n      \"▁ком и\",\n      \"▁F UN\",\n      \"▁ FUN\",\n      \"▁ne uen\",\n      \"▁neu en\",\n      \"▁neue n\",\n      \"▁dé jà\",\n      \"▁O z\",\n      \"bb en\",\n      \"b ben\",\n      \"VID EO\",\n      \"▁ej empl\",\n      \"▁cons iders\",\n      \"▁consider s\",\n      \"▁consid ers\",\n      \"at ri\",\n      \"atr i\",\n      \"a tri\",\n      \"▁ar rog\",\n      \"▁arr og\",\n      \"io so\",\n      \"ios o\",\n      \"i oso\",\n      \"▁h ace\",\n      \"▁ha ce\",\n      \"▁contact ed\",\n      \"▁un ple\",\n      \"▁spons ored\",\n      \"▁tr ainer\",\n      \"▁tra iner\",\n      \"▁train er\",\n      \"sb i\",\n      \"s bi\",\n      \"▁за нима\",\n      \"C riterion\",\n      \"но то\",\n      \"sch eme\",\n      \"sche me\",\n      \"enn ial\",\n      \"per form\",\n      \"perf orm\",\n      \"▁fix ing\",\n      \"▁по стро\",\n      \"▁пос тро\",\n      \"ar b\",\n      \"a rb\",\n      \"EX IT\",\n      \"▁ca fé\",\n      \"▁caf é\",\n      \"itut ed\",\n      \"itute d\",\n      \"itu ted\",\n      \"ri ages\",\n      \"ria ges\",\n      \"riage s\",\n      \"T ur\",\n      \"▁hab er\",\n      \"▁ha ber\",\n      \"el asticsearch\",\n      \"▁а л\",\n      \"▁ ал\",\n      \"r h\",\n      \"▁v oll\",\n      \"▁vo ll\",\n      \"▁vol l\",\n      \"CL U\",\n      \"M il\",\n      \"▁mem bres\",\n      \"▁membr es\",\n      \"▁membre s\",\n      \"▁remark ed\",\n      \"ва на\",\n      \"ван а\",\n      \"в ана\",\n      \"=\\\" _\",\n      \"Le ss\",\n      \"Les s\",\n      \"L ess\",\n      \"(\\\" \\\");\",\n      \"▁Y ale\",\n      \"▁Ya le\",\n      \"ber ries\",\n      \"▁rele asing\",\n      \"▁im ports\",\n      \"▁import s\",\n      \"▁imp orts\",\n      \"id ea\",\n      \"ide a\",\n      \"▁( +\",\n      \"▁ar qu\",\n      \"ific ación\",\n      \"ifica ción\",\n      \"▁па ра\",\n      \"▁пар а\",\n      \"▁R angers\",\n      \"▁Range rs\",\n      \"▁Rang ers\",\n      \"▁Ran gers\",\n      \"M ic\",\n      \"▁n ederbörd\",\n      \"▁imag inary\",\n      \"▁imagin ary\",\n      \"▁special ists\",\n      \"▁specialist s\",\n      \"▁ho of\",\n      \"Mod ules\",\n      \"Module s\",\n      \"▁sad ly\",\n      \"ce il\",\n      \"Tab Index\",\n      \"at ionale\",\n      \"ation ale\",\n      \"ational e\",\n      \"▁Part ner\",\n      \"tb ody\",\n      \"t body\",\n      \"▁le verage\",\n      \"▁lever age\",\n      \"D N\",\n      \"▁P rec\",\n      \"▁Pr ec\",\n      \"▁Pre c\",\n      \"▁S é\",\n      \"▁M am\",\n      \"▁Ma m\",\n      \"▁a fin\",\n      \"▁af in\",\n      \"is Valid\",\n      \"Ps e\",\n      \"P se\",\n      \"▁сто ро\",\n      \"▁cho pped\",\n      \"▁chop ped\",\n      \"▁Min or\",\n      \"▁Mi nor\",\n      \"▁d abei\",\n      \"Da vid\",\n      \"D avid\",\n      \"uss ia\",\n      \"▁дере вня\",\n      \"▁Id entity\",\n      \"▁Ident ity\",\n      \"▁ Identity\",\n      \"▁L GBT\",\n      \"ци је\",\n      \"▁Or ts\",\n      \"▁Ort s\",\n      \"▁part i\",\n      \"▁par ti\",\n      \"▁B achelor\",\n      \"ug a\",\n      \"u ga\",\n      \"▁O PT\",\n      \"▁OP T\",\n      \"▁ OPT\",\n      \"▁S eth\",\n      \"▁Se th\",\n      \"▁Set h\",\n      \"▁LI ABLE\",\n      \"▁inaug ur\",\n      \"▁Shan ghai\",\n      \"▁relax ing\",\n      \"ци она\",\n      \"цион а\",\n      \"\\\" %\",\n      \"▁o bey\",\n      \"▁ob ey\",\n      \"▁A irlines\",\n      \"▁Air lines\",\n      \"Link s\",\n      \"Lin ks\",\n      \"L inks\",\n      \"▁C elt\",\n      \"▁Ce lt\",\n      \"▁Cel t\",\n      \"▁Ad min\",\n      \"▁Adm in\",\n      \"▁ Admin\",\n      \"ag ation\",\n      \"▁wor ries\",\n      \"IN TE\",\n      \"INT E\",\n      \"ar ith\",\n      \"ari th\",\n      \"Fat alf\",\n      \"]] )\",\n      \"] ])\",\n      \"co lm\",\n      \"col m\",\n      \"▁arch ae\",\n      \"▁br ushed\",\n      \"▁brush ed\",\n      \"▁t ät\",\n      \"▁struct ured\",\n      \"▁structure d\",\n      \"ти и\",\n      \"▁home m\",\n      \"▁hom em\",\n      \"▁ho mem\",\n      \"[: ,\",\n      \"▁n avy\",\n      \"▁na vy\",\n      \"▁nav y\",\n      \"get Key\",\n      \"power ed\",\n      \"pow ered\",\n      \"▁s ucked\",\n      \"▁suc ked\",\n      \"▁suck ed\",\n      \"▁z omb\",\n      \"▁zo mb\",\n      \"iss ant\",\n      \"issa nt\",\n      \"▁M ight\",\n      \"▁Mi ght\",\n      \"▁Mig ht\",\n      \"▁P ull\",\n      \"▁Pu ll\",\n      \"▁Pul l\",\n      \"ri r\",\n      \"r ir\",\n      \"▁п і\",\n      \"▁ пі\",\n      \"▁se as\",\n      \"▁sea s\",\n      \"▁W rest\",\n      \"▁Wr est\",\n      \"▁t ense\",\n      \"▁ten se\",\n      \"▁tens e\",\n      \"▁a tm\",\n      \"▁at m\",\n      \"▁have t\",\n      \"▁ha vet\",\n      \"▁hav et\",\n      \"▁pier ws\",\n      \"▁trag ic\",\n      \"▁D iff\",\n      \"▁Di ff\",\n      \"▁ Diff\",\n      \"▁conf idential\",\n      \"▁confident ial\",\n      \"success ful\",\n      \"ę ż\",\n      \"▁Ch ain\",\n      \"▁Cha in\",\n      \"▁ Chain\",\n      \"▁Ken ya\",\n      \"Ch oice\",\n      \"oc ur\",\n      \"o cur\",\n      \"an iu\",\n      \"ani u\",\n      \"▁consult ant\",\n      \"▁Ad vis\",\n      \"▁Adv is\",\n      \"Li f\",\n      \"L if\",\n      \"▁L ors\",\n      \"▁Lo rs\",\n      \"▁Lor s\",\n      \"avor ite\",\n      \"avo rite\",\n      \"▁util izing\",\n      \"▁utiliz ing\",\n      \"▁v intage\",\n      \"Mat cher\",\n      \"Match er\",\n      \"▁m embre\",\n      \"▁me mbre\",\n      \"▁mem bre\",\n      \"▁membr e\",\n      \"▁Ex pect\",\n      \"▁Exp ect\",\n      \"▁ Expect\",\n      \"▁tr acing\",\n      \"▁tra cing\",\n      \"no g\",\n      \"n og\",\n      \"▁d ej\",\n      \"▁de j\",\n      \"▁у че\",\n      \"▁lo ops\",\n      \"▁loop s\",\n      \"▁on click\",\n      \"▁G PU\",\n      \"▁GP U\",\n      \"▁ GPU\",\n      \"▁Album s\",\n      \"▁Alb ums\",\n      \"▁Arch ives\",\n      \"ва та\",\n      \"ват а\",\n      \"▁st ove\",\n      \"▁sto ve\",\n      \"ш ли\",\n      \"an cies\",\n      \"anc ies\",\n      \"▁geme ente\",\n      \"mo b\",\n      \"m ob\",\n      \"PD F\",\n      \"P DF\",\n      \"es o\",\n      \"e so\",\n      \"▁v ég\",\n      \"▁vé g\",\n      \"Res olve\",\n      \"▁te aches\",\n      \"▁teach es\",\n      \"▁tea ches\",\n      \"ло же\",\n      \"▁с тво\",\n      \"▁ст во\",\n      \"▁ ство\",\n      \"▁О дна\",\n      \"▁f id\",\n      \"▁fi d\",\n      \"Some thing\",\n      \"Som ething\",\n      \"▁ne bo\",\n      \"▁Valent ine\",\n      \"row ning\",\n      \"rown ing\",\n      \"▁а ле\",\n      \"▁ал е\",\n      \"aw i\",\n      \"a wi\",\n      \"is hi\",\n      \"ish i\",\n      \"▁S PI\",\n      \"▁SP I\",\n      \"▁ SPI\",\n      \"▁s pel\",\n      \"▁sp el\",\n      \"▁spe l\",\n      \"▁б іль\",\n      \"▁бі ль\",\n      \"▁particip ant\",\n      \"▁N ed\",\n      \"▁Ne d\",\n      \"▁G ast\",\n      \"▁Ga st\",\n      \"▁Gas t\",\n      \"▁bl ond\",\n      \"▁blo nd\",\n      \"▁s aves\",\n      \"▁sa ves\",\n      \"▁save s\",\n      \"▁sav es\",\n      \"col ored\",\n      \"color ed\",\n      \"colo red\",\n      \"▁A CTION\",\n      \"▁AC TION\",\n      \"▁ACT ION\",\n      \"▁ ACTION\",\n      \"▁Polit iker\",\n      \"}$ )\",\n      \"} $)\",\n      \"▁D um\",\n      \"▁Du m\",\n      \"den try\",\n      \"d entry\",\n      \"Stud ent\",\n      \"▁~ =\",\n      \"lo ads\",\n      \"load s\",\n      \"▁F oster\",\n      \"▁Fo ster\",\n      \"一 个\",\n      \"▁P K\",\n      \"▁ PK\",\n      \"▁S B\",\n      \"▁ SB\",\n      \"▁H ern\",\n      \"▁He rn\",\n      \"▁Her n\",\n      \"▁Ex hib\",\n      \"Listener s\",\n      \"Listen ers\",\n      \"Su n\",\n      \"S un\",\n      \"pl ac\",\n      \"▁B ever\",\n      \"▁Be ver\",\n      \"▁Bev er\",\n      \"▁incl uy\",\n      \"▁inclu y\",\n      \"▁d c\",\n      \"▁ dc\",\n      \"ar gc\",\n      \"arg c\",\n      \"▁g ed\",\n      \"▁ge d\",\n      \"▁ ged\",\n      \"с па\",\n      \"▁Form ula\",\n      \"▁с ем\",\n      \"▁се м\",\n      \"▁em pt\",\n      \"▁emp t\",\n      \"▁ empt\",\n      \"un register\",\n      \"▁Queens land\",\n      \"ánd ez\",\n      \"ot ive\",\n      \"oti ve\",\n      \"▁al ley\",\n      \"▁all ey\",\n      \"▁alle y\",\n      \"▁Democr at\",\n      \"▁trav ail\",\n      \"▁$ ,\",\n      \"▁ $,\",\n      \"R P\",\n      \"ро е\",\n      \"pers onal\",\n      \"person al\",\n      \"▁péri ode\",\n      \"HO ME\",\n      \"om es\",\n      \"ome s\",\n      \"o mes\",\n      \"▁recogn ised\",\n      \"he ng\",\n      \"hen g\",\n      \"h eng\",\n      \"▁J ung\",\n      \"▁Jun g\",\n      \"▁Ju ng\",\n      \"▁Ro land\",\n      \"▁Rol and\",\n      \"▁conv icted\",\n      \"Loc ked\",\n      \"Lock ed\",\n      \"L ocked\",\n      \"▁m ari\",\n      \"▁mar i\",\n      \"▁ma ri\",\n      \"▁Lux em\",\n      \"refer to\",\n      \"De leted\",\n      \"Dele ted\",\n      \"Delete d\",\n      \"Del eted\",\n      \"int ent\",\n      \"inte nt\",\n      \"▁St aats\",\n      \"▁Sta ats\",\n      \"▁обла сті\",\n      \"и т\",\n      \"▁са ве\",\n      \"▁Pro tocol\",\n      \"▁ Protocol\",\n      \"ają c\",\n      \"ch k\",\n      \"Type Info\",\n      \"▁p kt\",\n      \"▁ pkt\",\n      \"▁sc andal\",\n      \"▁scan dal\",\n      \"▁individ ually\",\n      \"▁individual ly\",\n      \"FM T\",\n      \"F MT\",\n      \"▁n j\",\n      \"ab ile\",\n      \"abil e\",\n      \"abi le\",\n      \"▁R ivers\",\n      \"▁River s\",\n      \"PRO PERTY\",\n      \"V B\",\n      \"wo rt\",\n      \"wor t\",\n      \"w ort\",\n      \"▁split ting\",\n      \"▁spl itting\",\n      \"ach ten\",\n      \"acht en\",\n      \"achte n\",\n      \"a chten\",\n      \"▁AR ISING\",\n      \"▁s ip\",\n      \"▁si p\",\n      \"▁f res\",\n      \"▁fr es\",\n      \"▁fre s\",\n      \"▁g room\",\n      \"▁gr oom\",\n      \"▁gro om\",\n      \"H ol\",\n      \"▁c anon\",\n      \"▁can on\",\n      \"▁ca non\",\n      \"▁abrupt ly\",\n      \"▁after ward\",\n      \"▁R unning\",\n      \"▁Run ning\",\n      \"▁ Running\",\n      \"▁j i\",\n      \"▁ ji\",\n      \"▁% ,\",\n      \"▁ %,\",\n      \"▁Palest inian\",\n      \"R W\",\n      \"pgf scope\",\n      \"▁country side\",\n      \"▁countr yside\",\n      \"▁fort unate\",\n      \"▁ fortunate\",\n      \"▁c él\",\n      \"▁Po inter\",\n      \"▁Point er\",\n      \"▁ Pointer\",\n      \"ens ors\",\n      \"ensor s\",\n      \"enso rs\",\n      \"ra ting\",\n      \"rat ing\",\n      \"r ating\",\n      \"▁buff ers\",\n      \"▁buffer s\",\n      \"▁buf fers\",\n      \"▁re mot\",\n      \"▁rem ot\",\n      \"▁Prop Types\",\n      \"▁N ah\",\n      \"▁Na h\",\n      \"al tern\",\n      \"alt ern\",\n      \"alter n\",\n      \"▁eas iest\",\n      \"▁in vas\",\n      \"▁inv as\",\n      \"▁cl k\",\n      \"▁ clk\",\n      \"copy right\",\n      \"c opyright\",\n      \"▁bl anc\",\n      \"SA MP\",\n      \"S AMP\",\n      \"▁Co hen\",\n      \"▁S hell\",\n      \"▁She ll\",\n      \"▁Sh ell\",\n      \"▁Shel l\",\n      \"▁ Shell\",\n      \"▁destroy ing\",\n      \"▁destro ying\",\n      \"▁Z el\",\n      \"▁Ze l\",\n      \"date r\",\n      \"da ter\",\n      \"dat er\",\n      \"d ater\",\n      \"če n\",\n      \"č en\",\n      \"▁f iling\",\n      \"▁fil ing\",\n      \"▁fi ling\",\n      \"▁integr ate\",\n      \"xi t\",\n      \"x it\",\n      \"▁R ET\",\n      \"▁RE T\",\n      \"▁ RET\",\n      \"le ne\",\n      \"len e\",\n      \"l ene\",\n      \"cal ls\",\n      \"call s\",\n      \"c alls\",\n      \"▁sl aughter\",\n      \"init ialized\",\n      \"initial ized\",\n      \"initialize d\",\n      \"un ches\",\n      \"unch es\",\n      \"unc hes\",\n      \"▁Tr ace\",\n      \"▁Tra ce\",\n      \"▁ Trace\",\n      \"eff icient\",\n      \"▁Wood s\",\n      \"▁long itud\",\n      \"G N\",\n      \"▁K ont\",\n      \"▁Kon t\",\n      \"▁Ko nt\",\n      \"▁chunk s\",\n      \"á ch\",\n      \"▁unem ployment\",\n      \"ac om\",\n      \"aco m\",\n      \"a com\",\n      \"▁sl owed\",\n      \"▁slow ed\",\n      \"▁out lined\",\n      \"▁outline d\",\n      \"xff ff\",\n      \"xf fff\",\n      \"x ffff\",\n      \"▁ik ke\",\n      \"▁work space\",\n      \"▁works pace\",\n      \"M c\",\n      \"▁k icking\",\n      \"▁kick ing\",\n      \"▁embed ding\",\n      \"ch nitt\",\n      \"chn itt\",\n      \"er ten\",\n      \"ert en\",\n      \"▁In terior\",\n      \"▁Inter ior\",\n      \"▁S ongs\",\n      \"▁Son gs\",\n      \"▁Song s\",\n      \"mm c\",\n      \"m mc\",\n      \"▁analy zed\",\n      \"▁analyze d\",\n      \"▁Cou pe\",\n      \"▁favor ites\",\n      \"▁favorite s\",\n      \"▁t t\",\n      \"▁ tt\",\n      \"▁то й\",\n      \"▁ той\",\n      \"R outing\",\n      \"▁Sil va\",\n      \"▁andere m\",\n      \"▁ander em\",\n      \"▁h onom\",\n      \"▁hon om\",\n      \"▁ho nom\",\n      \"▁исполь зова\",\n      \".\\\" ]\",\n      \". \\\"]\",\n      \"▁W u\",\n      \"le gt\",\n      \"leg t\",\n      \"▁s poon\",\n      \"▁sp oon\",\n      \"▁spo on\",\n      \"▁j ap\",\n      \"▁ja p\",\n      \"▁Ext ension\",\n      \"▁ Extension\",\n      \"er ne\",\n      \"ern e\",\n      \"▁v agy\",\n      \"▁va gy\",\n      \"▁vag y\",\n      \"▁се ла\",\n      \"▁ф унк\",\n      \"▁anal ytics\",\n      \"▁analyt ics\",\n      \"▁s ug\",\n      \"▁su g\",\n      \"▁A sync\",\n      \"▁As ync\",\n      \"▁ Async\",\n      \"▁pe aks\",\n      \"▁peak s\",\n      \"▁G ym\",\n      \"▁Gy m\",\n      \"▁law suit\",\n      \"▁laws uit\",\n      \"< >\",\n      \"ial is\",\n      \"i alis\",\n      \"et ric\",\n      \"etr ic\",\n      \"face d\",\n      \"fa ced\",\n      \"fac ed\",\n      \"f aced\",\n      \"▁dis rupt\",\n      \"▁f å\",\n      \"Input s\",\n      \"`) ;\",\n      \"` );\",\n      \"▁M end\",\n      \"▁Me nd\",\n      \"▁Men d\",\n      \"go n\",\n      \"g on\",\n      \"▁\\\" ,\\\"\",\n      \"▁\\\", \\\"\",\n      \"▁ \\\",\\\"\",\n      \"▁n erves\",\n      \"▁nerv es\",\n      \"▁nerve s\",\n      \"▁ner ves\",\n      \"▁doubt s\",\n      \"▁doub ts\",\n      \"sa p\",\n      \"s ap\",\n      \"▁s ow\",\n      \"▁so w\",\n      \",\\\\ ,\\\\\",\n      \",\\\\, \\\\\",\n      \", \\\\,\\\\\",\n      \"▁B S\",\n      \"▁ BS\",\n      \"▁G lad\",\n      \"▁Gl ad\",\n      \"▁a ster\",\n      \"▁as ter\",\n      \"▁ast er\",\n      \"▁ aster\",\n      \"œuv re\",\n      \"▁Bang l\",\n      \"▁Ban gl\",\n      \"▁i Pad\",\n      \"use ppe\",\n      \"▁conduct ing\",\n      \"▁( {\\\\\",\n      \"▁({ \\\\\",\n      \"▁ ({\\\\\",\n      \"▁Har bor\",\n      \"ps z\",\n      \"p sz\",\n      \"▁FI FA\",\n      \"_* *\",\n      \"_ **\",\n      \"em or\",\n      \"e mor\",\n      \"▁ ▁\",\n      \"▁▁ ▁▁\",\n      \"▁▁▁ ▁\",\n      \"▁ ▁▁▁\",\n      \"▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁\",\n      \"▁▁▁▁▁ ▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁\",\n      \"▁▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁ ▁\",\n      \"▁ ▁▁▁▁▁▁▁\",\n      \"▁▁ ▁▁▁\",\n      \"▁▁▁▁ ▁\",\n      \"▁▁▁ ▁▁\",\n      \"▁ ▁▁▁▁\",\n      \"▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁\",\n      \"▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁\",\n      \"▁▁ ▁▁▁▁\",\n      \"▁▁▁▁ ▁▁\",\n      \"▁▁▁▁▁ ▁\",\n      \"▁▁▁ ▁▁▁\",\n      \"▁ ▁▁▁▁▁\",\n      \"▁▁ ▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁ ▁▁▁▁\",\n      \"▁▁▁▁▁ ▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁ ▁▁\",\n      \"▁▁▁ ▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁ ▁▁▁\",\n      \"▁▁▁▁▁▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁ ▁\",\n      \"▁ ▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁ ▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁▁ ▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁▁ ▁\",\n      \"▁▁▁▁▁▁▁▁▁▁ ▁▁▁\",\n      \"▁▁▁ ▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁ ▁▁▁▁\",\n      \"▁▁▁▁▁▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁ ▁▁\",\n      \"▁ ▁▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁ ▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁ ▁▁\",\n      \"▁▁▁▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁▁▁\",\n      \"▁▁▁ ▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁ ▁\",\n      \"▁▁▁▁▁▁▁ ▁▁▁\",\n      \"▁ ▁▁▁▁▁▁▁▁▁\",\n      \"▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁\",\n      \"▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁\",\n      \"▁▁▁ ▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁\",\n      \"▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁\",\n      \"▁▁ ▁\",\n      \"▁ ▁▁\",\n      \"▁▁ ▁▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁ ▁\",\n      \"▁▁▁▁▁ ▁▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁▁\",\n      \"▁▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁ ▁▁\",\n      \"▁ ▁▁▁▁▁▁▁▁\",\n      \"▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁\",\n      \"▁▁▁▁▁ ▁▁\",\n      \"▁▁▁▁▁▁ ▁\",\n      \"▁▁▁ ▁▁▁▁\",\n      \"▁ ▁▁▁▁▁▁\",\n      \"▁▁ ▁▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁ ▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁ ▁▁▁\",\n      \"▁▁▁▁▁ ▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁ ▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁▁ ▁\",\n      \"▁▁▁ ▁▁▁▁▁▁▁▁\",\n      \"▁▁▁▁▁▁▁▁▁ ▁▁\",\n      \"▁▁▁▁▁▁▁ ▁▁▁▁\",\n      \"▁ ▁▁▁▁▁▁▁▁▁▁\"\n    ]\n  }\n}"
  },
  {
    "path": "Tokenizer/tokenizer_config.json",
    "content": "{\n  \"add_bos_token\": true,\n  \"add_eos_token\": false,\n  \"added_tokens_decoder\": {\n    \"0\": {\n      \"content\": \"<unk>\",\n      \"lstrip\": false,\n      \"normalized\": false,\n      \"rstrip\": false,\n      \"single_word\": false,\n      \"special\": true\n    },\n    \"1\": {\n      \"content\": \"<s>\",\n      \"lstrip\": false,\n      \"normalized\": false,\n      \"rstrip\": false,\n      \"single_word\": false,\n      \"special\": true\n    },\n    \"2\": {\n      \"content\": \"</s>\",\n      \"lstrip\": false,\n      \"normalized\": false,\n      \"rstrip\": false,\n      \"single_word\": false,\n      \"special\": true\n    }\n  },\n  \"additional_special_tokens\": [],\n  \"bos_token\": \"<s>\",\n  \"chat_template\": \"{{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ '[INST] ' + message['content'] + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token + ' ' }}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}\",\n  \"clean_up_tokenization_spaces\": false,\n  \"eos_token\": \"</s>\",\n  \"legacy\": true,\n  \"model_max_length\": 1000000000000000019884624838656,\n  \"pad_token\": null,\n  \"sp_model_kwargs\": {},\n  \"spaces_between_special_tokens\": false,\n  \"tokenizer_class\": \"LlamaTokenizer\",\n  \"unk_token\": \"<unk>\",\n  \"use_default_system_prompt\": true\n}\n"
  },
  {
    "path": "__main__.py",
    "content": "import faulthandler\nfaulthandler.enable(all_threads=True)\n\nimport multiprocessing\nmultiprocessing.set_start_method('spawn', force=True)\n\nfrom core.utilities import set_cuda_paths\nset_cuda_paths()\n\nfrom gui.main_window import main\nmain()\n"
  },
  {
    "path": "charts/__init__.py",
    "content": ""
  },
  {
    "path": "charts/all_gpus.py",
    "content": "import matplotlib.pyplot as plt\r\nimport numpy as np\r\nfrom matplotlib.colors import LinearSegmentedColormap\r\nfrom charts.gpu_info import GPUS\r\n\r\ndef create_gpu_comparison_plot(min_vram_threshold=6, max_vram_threshold=8):\r\n    filtered = {name: info for name, info in GPUS.items() if min_vram_threshold <= info[\"memory_size_gb\"] <= max_vram_threshold}\r\n    sorted_nvidia = sorted(filtered.items(), key=lambda item: item[1][\"cuda_cores\"], reverse=True)\r\n    names = [name for name, _ in sorted_nvidia]\r\n    compute_units = [info[\"cuda_cores\"] for _, info in sorted_nvidia]\r\n    sizes = [info[\"memory_size_gb\"] for _, info in sorted_nvidia]\r\n    gradient_nvidia = LinearSegmentedColormap.from_list(\"\", [\"#003328\", \"#00CC66\"])\r\n    plt.rcParams[\"figure.autolayout\"] = True\r\n    fig = plt.figure(figsize=(19.2, 10.8), dpi=100, facecolor=\"#4A4A4A\")\r\n    ax1 = fig.add_subplot(111)\r\n    ax1.set_facecolor(\"#4A4A4A\")\r\n    bars = ax1.barh(names, compute_units, color=gradient_nvidia(np.linspace(0, 1, len(compute_units))), label=\"NVIDIA CUDA Cores\")\r\n    max_units = max(compute_units) if compute_units else 0\r\n    for i, bar in enumerate(bars):\r\n        pct = (compute_units[i] / max_units) * 100 if max_units else 0\r\n        ax1.text(150, bar.get_y() + bar.get_height() / 2, f\"{compute_units[i]:,} - {pct:.2f}%\", va=\"center\", ha=\"left\", color=\"white\", fontsize=10)\r\n    ax1.set_xlabel(\"CUDA Cores\", color=\"white\")\r\n    ax1.set_ylabel(\"Graphics Cards\", color=\"white\", labelpad=15)\r\n    ax1.set_title(f\"Graphics Cards: CUDA Cores and VRAM Comparison ({min_vram_threshold}GB <= VRAM <= {max_vram_threshold}GB)\", color=\"white\", pad=20)\r\n    ax1.tick_params(axis=\"both\", colors=\"white\")\r\n    ax2 = ax1.twiny()\r\n    ax2.plot(sizes, names, \"o-\", color=\"orange\", label=\"VRAM (GB)\")\r\n    ax2.set_xlabel(\"VRAM (GB)\", color=\"white\")\r\n    ax2.xaxis.set_label_position(\"bottom\")\r\n    ax2.xaxis.tick_bottom()\r\n    ax2.tick_params(axis=\"x\", colors=\"white\")\r\n    ax1.xaxis.set_label_position(\"top\")\r\n    ax1.xaxis.tick_top()\r\n    legend_elements = [\r\n        plt.Rectangle((0,0),1,1, facecolor=gradient_nvidia(0.5), edgecolor=\"none\", label=\"NVIDIA CUDA Cores\"),\r\n        plt.Line2D([0], [0], color=\"orange\", marker=\"o\", linestyle=\"-\", label=\"VRAM (GB)\")\r\n    ]\r\n    ax2.legend(handles=legend_elements, loc=\"upper right\", facecolor=\"#4A4A4A\", edgecolor=\"white\", labelcolor=\"white\")\r\n    for spine in ax1.spines.values():\r\n        spine.set_edgecolor(\"white\")\r\n    for spine in ax2.spines.values():\r\n        spine.set_edgecolor(\"white\")\r\n    vram_lines = [2, 4, 6, 8, 10, 11, 12, 16, 20, 24, 32]\r\n    for vram_value in vram_lines:\r\n        if vram_value in sizes:\r\n            ax2.axvline(x=vram_value, color=\"#A8A8A8\", linestyle=\"--\", linewidth=0.5)\r\n    ax2.set_xticks(vram_lines)\r\n    ax2.set_xlim(0, 33)\r\n    plt.subplots_adjust(left=0.25, right=0.9, top=0.9, bottom=0.1)\r\n    return fig\r\n\r\nif __name__ == \"__main__\":\r\n    fig = create_gpu_comparison_plot(12, 24)\r\n    plt.show()\r\n"
  },
  {
    "path": "charts/gpu_info.py",
    "content": "# Auto-generated GPU info module\nfrom typing import TypedDict, Dict\nfrom datetime import date\n\nclass GPUInfo(TypedDict):\n    gpu_name: str\n    generation: str\n    architecture: str\n    release_date: date\n    bus_interface: str\n    memory_size_gb: int\n    memory_type: str\n    cuda_cores: int\n    streaming_multiprocessors: int\n    tensor_cores: int\n    cuda_major_version: int\n    cuda_minor_version: int\n    half_float_performance_gflop_s: int\n    single_float_performance_gflop_s: int\n    tpu_url: str\n\nGPUS: Dict[str, GPUInfo] = {\n    'Quadro RTX 5000': {\n        'gpu_name': 'TU104',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-08-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 22300,\n        'single_float_performance_gflop_s': 11150,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-5000.c3308',\n    },\n    'Quadro RTX 6000': {\n        'gpu_name': 'TU102',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-08-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 32619,\n        'single_float_performance_gflop_s': 16309,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-6000.c3307',\n    },\n    'Quadro RTX 6000 Passive': {\n        'gpu_name': 'TU102',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-08-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 28750,\n        'single_float_performance_gflop_s': 14380,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-6000-passive.c3469',\n    },\n    'Quadro RTX 8000': {\n        'gpu_name': 'TU102',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-08-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 32619,\n        'single_float_performance_gflop_s': 16309,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-8000.c3306',\n    },\n    'Quadro RTX 8000 Passive': {\n        'gpu_name': 'TU102',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-08-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 29860,\n        'single_float_performance_gflop_s': 14930,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-8000-passive.c3470',\n    },\n    'Tesla T4': {\n        'gpu_name': 'TU104',\n        'generation': 'Tesla Turing(Txx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-09-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 320,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 65129,\n        'single_float_performance_gflop_s': 8141,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/tesla-t4.c3316',\n    },\n    'Tesla T4G': {\n        'gpu_name': 'TU104',\n        'generation': 'Tesla Turing(Txx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-09-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 320,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 65129,\n        'single_float_performance_gflop_s': 8141,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/tesla-t4g.c4134',\n    },\n    'GeForce RTX 2080': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-09-20'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2944,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 368,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 20140,\n        'single_float_performance_gflop_s': 10070,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080.c3224',\n    },\n    'GeForce RTX 2080 Ti': {\n        'gpu_name': 'TU102',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-09-20'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 11,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4352,\n        'streaming_multiprocessors': 68,\n        'tensor_cores': 544,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 26900,\n        'single_float_performance_gflop_s': 13450,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-ti.c3305',\n    },\n    'GeForce RTX 2070': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-10-17'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 288,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 14930,\n        'single_float_performance_gflop_s': 7465,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070.c3252',\n    },\n    'Quadro RTX 4000': {\n        'gpu_name': 'TU104',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-11-13'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 288,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 14240,\n        'single_float_performance_gflop_s': 7119,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-4000.c3336',\n    },\n    'TITAN RTX': {\n        'gpu_name': 'TU102',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2018-12-18'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 32619,\n        'single_float_performance_gflop_s': 16309,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/titan-rtx.c3311',\n    },\n    'GeForce RTX 2060': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-07'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 12900,\n        'single_float_performance_gflop_s': 6451,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060.c3310',\n    },\n    'GeForce RTX 2060 Max-Q Refresh': {\n        'gpu_name': 'TU106B',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 9216,\n        'single_float_performance_gflop_s': 4608,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-max-q-refresh.c3628',\n    },\n    'GeForce RTX 2060 Mobile': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 9216,\n        'single_float_performance_gflop_s': 4608,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-mobile.c3348',\n    },\n    'GeForce RTX 2060 Mobile Refresh': {\n        'gpu_name': 'TU106B',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 11980,\n        'single_float_performance_gflop_s': 5990,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-mobile-refresh.c3567',\n    },\n    'GeForce RTX 2070 Max-Q': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 288,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10920,\n        'single_float_performance_gflop_s': 5460,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-max-q.c3392',\n    },\n    'GeForce RTX 2070 Mobile': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 288,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 13270,\n        'single_float_performance_gflop_s': 6636,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-mobile.c3349',\n    },\n    'GeForce RTX 2080 Max-Q': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2944,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 368,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 12890,\n        'single_float_performance_gflop_s': 6447,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-max-q.c3363',\n    },\n    'GeForce RTX 2080 Mobile': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2944,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 368,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 18720,\n        'single_float_performance_gflop_s': 9362,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-mobile.c3312',\n    },\n    'GeForce GTX 1660 Ti': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-02-22'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1536,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10870,\n        'single_float_performance_gflop_s': 5437,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1660-ti.c3364',\n    },\n    'GeForce GTX 1660': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-03-14'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR5',\n        'cuda_cores': 1408,\n        'streaming_multiprocessors': 22,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10050,\n        'single_float_performance_gflop_s': 5027,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1660.c3365',\n    },\n    'GeForce GTX 1650': {\n        'gpu_name': 'TU117',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-04-23'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR5',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5967,\n        'single_float_performance_gflop_s': 2984,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650.c3366',\n    },\n    'GeForce GTX 1650 Max-Q': {\n        'gpu_name': 'TU117',\n        'generation': 'GeForce 16 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-15'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 4608,\n        'single_float_performance_gflop_s': 2304,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-max-q.c3620',\n    },\n    'GeForce GTX 1650 Mobile': {\n        'gpu_name': 'TU117',\n        'generation': 'GeForce 16 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-15'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 6205,\n        'single_float_performance_gflop_s': 3103,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-mobile.c3633',\n    },\n    'GeForce GTX 1660 Ti Max-Q': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-04-23'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1536,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 8202,\n        'single_float_performance_gflop_s': 4101,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1660-ti-max-q.c3382',\n    },\n    'GeForce GTX 1660 Ti Mobile': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-04-23'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1536,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 9769,\n        'single_float_performance_gflop_s': 4884,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1660-ti-mobile.c3369',\n    },\n    'Quadro RTX 3000 Max-Q': {\n        'gpu_name': 'TU106',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 9331,\n        'single_float_performance_gflop_s': 4666,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-3000-max-q.c3429',\n    },\n    'Quadro RTX 3000 Mobile': {\n        'gpu_name': 'TU106',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10600,\n        'single_float_performance_gflop_s': 5299,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-3000-mobile.c3428',\n    },\n    'Quadro RTX 3000 Mobile Refresh': {\n        'gpu_name': 'TU106',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10600,\n        'single_float_performance_gflop_s': 5299,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-3000-mobile-refresh.c3697',\n    },\n    'Quadro RTX 3000 X2 Mobile': {\n        'gpu_name': 'TU106',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10600,\n        'single_float_performance_gflop_s': 5299,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-3000-x2-mobile.c4120',\n    },\n    'Quadro RTX 4000 Max-Q': {\n        'gpu_name': 'TU104',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 320,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 14130,\n        'single_float_performance_gflop_s': 7066,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-4000-max-q.c3427',\n    },\n    'Quadro RTX 4000 Mobile': {\n        'gpu_name': 'TU104',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 320,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 15970,\n        'single_float_performance_gflop_s': 7987,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-4000-mobile.c3430',\n    },\n    'Quadro RTX 5000 Max-Q': {\n        'gpu_name': 'TU104',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 16590,\n        'single_float_performance_gflop_s': 8294,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-5000-max-q.c3432',\n    },\n    'Quadro RTX 5000 Mobile': {\n        'gpu_name': 'TU104',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 18800,\n        'single_float_performance_gflop_s': 9400,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-5000-mobile.c3431',\n    },\n    'Quadro T1000 Max-Q': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR5',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 4838,\n        'single_float_performance_gflop_s': 2419,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-t1000-max-q.c3807',\n    },\n    'Quadro T1000 Mobile': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR5',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5215,\n        'single_float_performance_gflop_s': 2607,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-t1000-mobile.c3435',\n    },\n    'Quadro T2000 Max-Q': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR5',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5714,\n        'single_float_performance_gflop_s': 2857,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-t2000-max-q.c3436',\n    },\n    'Quadro T2000 Mobile': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-05-27'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR5',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 7311,\n        'single_float_performance_gflop_s': 3656,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-t2000-mobile.c3434',\n    },\n    'GeForce RTX 2060 SUPER': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-07-09'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2176,\n        'streaming_multiprocessors': 34,\n        'tensor_cores': 272,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 14360,\n        'single_float_performance_gflop_s': 7181,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-super.c3441',\n    },\n    'GeForce RTX 2060 SUPER Mobile': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-07-09'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2176,\n        'streaming_multiprocessors': 34,\n        'tensor_cores': 272,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 13320,\n        'single_float_performance_gflop_s': 6659,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-super-mobile.c4150',\n    },\n    'GeForce RTX 2070 SUPER': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-07-09'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 320,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 18120,\n        'single_float_performance_gflop_s': 9062,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-super.c3440',\n    },\n    'GeForce RTX 2080 SUPER': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-07-23'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 22300,\n        'single_float_performance_gflop_s': 11150,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-super.c3439',\n    },\n    'Quadro RTX 6000 Mobile': {\n        'gpu_name': 'TU102',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-09-04'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 26820,\n        'single_float_performance_gflop_s': 13410,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-6000-mobile.c3497',\n    },\n    'GeForce GTX 1660 SUPER': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-10-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1408,\n        'streaming_multiprocessors': 22,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10050,\n        'single_float_performance_gflop_s': 5027,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1660-super.c3458',\n    },\n    'GeForce GTX 1650 SUPER': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2019-11-22'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1280,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 8832,\n        'single_float_performance_gflop_s': 4416,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-super.c3411',\n    },\n    'GRID RTX T10-2': {\n        'gpu_name': 'TU102',\n        'generation': 'GRID(Tx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-01-01'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 448,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 20000,\n        'single_float_performance_gflop_s': 9999,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/grid-rtx-t10-2.c3815',\n    },\n    'GRID RTX T10-4': {\n        'gpu_name': 'TU102',\n        'generation': 'GRID(Tx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-01-01'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 448,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 20000,\n        'single_float_performance_gflop_s': 9999,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/grid-rtx-t10-4.c3500',\n    },\n    'Tesla T10 16 GB': {\n        'gpu_name': 'TU102',\n        'generation': 'Tesla Turing(Txx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-01-01'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 448,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 20000,\n        'single_float_performance_gflop_s': 9999,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/tesla-t10-16-gb.c4036',\n    },\n    'GeForce RTX 2060 TU104': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-01-10'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 12900,\n        'single_float_performance_gflop_s': 6451,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-tu104.c3495',\n    },\n    'GeForce RTX 2060 Max-Q': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-01-29'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1920,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 240,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 9101,\n        'single_float_performance_gflop_s': 4550,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-max-q.c3533',\n    },\n    'GeForce RTX 2070 Max-Q Refresh': {\n        'gpu_name': 'TU106B',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-03-04'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 288,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10370,\n        'single_float_performance_gflop_s': 5184,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-max-q-refresh.c3574',\n    },\n    'GeForce RTX 2070 Mobile Refresh': {\n        'gpu_name': 'TU106B',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-03-04'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 288,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 13410,\n        'single_float_performance_gflop_s': 6705,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-mobile-refresh.c3573',\n    },\n    'GeForce GTX 1650 GDDR6': {\n        'gpu_name': 'TU117',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-01'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5699,\n        'single_float_performance_gflop_s': 2849,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-gddr6.c3541',\n    },\n    'GeForce GTX 1650 Ti Max-Q': {\n        'gpu_name': 'TU117',\n        'generation': 'GeForce 16 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-02'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 4915,\n        'single_float_performance_gflop_s': 2458,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-ti-max-q.c3619',\n    },\n    'GeForce GTX 1650 Ti Mobile': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-23'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 6083,\n        'single_float_performance_gflop_s': 3041,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-ti-mobile.c3517',\n    },\n    'GeForce RTX 2070 SUPER Max-Q': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-02'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 320,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 11830,\n        'single_float_performance_gflop_s': 5914,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-super-max-q.c3563',\n    },\n    'GeForce RTX 2070 SUPER Mobile': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-02'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 320,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 14130,\n        'single_float_performance_gflop_s': 7066,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2070-super-mobile.c3514',\n    },\n    'GeForce RTX 2080 SUPER Max-Q': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-02'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 11980,\n        'single_float_performance_gflop_s': 5990,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-super-max-q.c3566',\n    },\n    'GeForce RTX 2080 SUPER Mobile': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-04-02'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 19170,\n        'single_float_performance_gflop_s': 9585,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-super-mobile.c3513',\n    },\n    'Quadro RTX 5000 Mobile Refresh': {\n        'gpu_name': 'TU104B',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-06-08'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 18800,\n        'single_float_performance_gflop_s': 9400,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-5000-mobile-refresh.c3625',\n    },\n    'Quadro RTX 5000 X2 Mobile': {\n        'gpu_name': 'TU104',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-06-08'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 18800,\n        'single_float_performance_gflop_s': 9400,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-rtx-5000-x2-mobile.c4121',\n    },\n    'Quadro T1000 Mobile GDDR6': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-06-08'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5914,\n        'single_float_performance_gflop_s': 2957,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-t1000-mobile-gddr6.c3624',\n    },\n    'GeForce GTX 1650 TU106': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-06-18'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5699,\n        'single_float_performance_gflop_s': 2849,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-tu106.c3585',\n    },\n    'GeForce GTX 1650 TU116': {\n        'gpu_name': 'TU116',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-07-07'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5699,\n        'single_float_performance_gflop_s': 2849,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1650-tu116.c3586',\n    },\n    'GeForce MX450 12W': {\n        'gpu_name': 'TU117S',\n        'generation': 'GeForce MX(4xx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-08-15'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 3333,\n        'single_float_performance_gflop_s': 1667,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-mx450-12w.c3657',\n    },\n    'GeForce MX450 30.5W 10Gbps': {\n        'gpu_name': 'TU117S',\n        'generation': 'GeForce MX(4xx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-08-25'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5645,\n        'single_float_performance_gflop_s': 2822,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-mx450-30-5w-10gbps.c3641',\n    },\n    'GeForce MX450 30.5W 8Gbps': {\n        'gpu_name': 'TU117S',\n        'generation': 'GeForce MX(4xx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-08-25'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR5',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 4570,\n        'single_float_performance_gflop_s': 2285,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-mx450-30-5w-8gbps.c3717',\n    },\n    'T500 Max-Q': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-12-02'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5107,\n        'single_float_performance_gflop_s': 2554,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t500-max-q.c4103',\n    },\n    'T500 Mobile': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2020-12-02'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5591,\n        'single_float_performance_gflop_s': 2796,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t500-mobile.c3747',\n    },\n    'CMP 30HX': {\n        'gpu_name': 'TU116',\n        'generation': 'Mining GPUs',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-02-25'),\n        'bus_interface': 'PCIe 1.0 x4',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1408,\n        'streaming_multiprocessors': 22,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 10050,\n        'single_float_performance_gflop_s': 5027,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/cmp-30hx.c3780',\n    },\n    'CMP 40HX': {\n        'gpu_name': 'TU106',\n        'generation': 'Mining GPUs',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-02-25'),\n        'bus_interface': 'PCIe 1.0 x4',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 288,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 15210,\n        'single_float_performance_gflop_s': 7603,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/cmp-40hx.c3781',\n    },\n    'Quadro T1200 Max-Q': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5837,\n        'single_float_performance_gflop_s': 2918,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-t1200-max-q.c4006',\n    },\n    'Quadro T1200 Mobile': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 7311,\n        'single_float_performance_gflop_s': 3656,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/quadro-t1200-mobile.c3803',\n    },\n    'T600': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 640,\n        'streaming_multiprocessors': 10,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 3418,\n        'single_float_performance_gflop_s': 1709,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t600.c3796',\n    },\n    'T600 Max-Q': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5000,\n        'single_float_performance_gflop_s': 2500,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t600-max-q.c3817',\n    },\n    'T600 Mobile': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5053,\n        'single_float_performance_gflop_s': 2527,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t600-mobile.c4151',\n    },\n    'T1000': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-05-06'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5000,\n        'single_float_performance_gflop_s': 2500,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t1000.c3797',\n    },\n    'T1000 8 GB': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-05-06'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 896,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 5000,\n        'single_float_performance_gflop_s': 2500,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t1000-8-gb.c3842',\n    },\n    'T400': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-05-06'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 384,\n        'streaming_multiprocessors': 6,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 2189,\n        'single_float_performance_gflop_s': 1094,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t400.c3808',\n    },\n    'T400 4 GB': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-05-06'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 384,\n        'streaming_multiprocessors': 6,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 2189,\n        'single_float_performance_gflop_s': 1094,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t400-4-gb.c3843',\n    },\n    'CMP 50HX': {\n        'gpu_name': 'TU102',\n        'generation': 'Mining GPUs',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-06-24'),\n        'bus_interface': 'PCIe 1.0 x4',\n        'memory_size_gb': 10,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 448,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 22150,\n        'single_float_performance_gflop_s': 11070,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/cmp-50hx.c3782',\n    },\n    'GeForce RTX 2060 12 GB': {\n        'gpu_name': 'TU106',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-12-07'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2176,\n        'streaming_multiprocessors': 34,\n        'tensor_cores': 272,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 14360,\n        'single_float_performance_gflop_s': 7181,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2060-12-gb.c3836',\n    },\n    'GeForce MX550': {\n        'gpu_name': 'TU117SB',\n        'generation': 'GeForce MX(5xx)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2021-12-17'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 2703,\n        'single_float_performance_gflop_s': 2703,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-mx550.c3860',\n    },\n    'T550 Mobile': {\n        'gpu_name': 'TU117',\n        'generation': 'Quadro Turing-M(Tx000)',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2022-05-01'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 6820,\n        'single_float_performance_gflop_s': 3410,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/t550-mobile.c3918',\n    },\n    'GeForce GTX 1630': {\n        'gpu_name': 'TU117',\n        'generation': 'GeForce 16',\n        'architecture': 'Turing',\n        'release_date': date.fromisoformat('2022-06-28'),\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 512,\n        'streaming_multiprocessors': 8,\n        'tensor_cores': 0,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 3656,\n        'single_float_performance_gflop_s': 1828,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-gtx-1630.c3916',\n    },\n    'GeForce RTX 2080 Engineering Sample': {\n        'gpu_name': 'TU104',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': None,\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 384,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 21010,\n        'single_float_performance_gflop_s': 10510,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-engineering-sample.c3976',\n    },\n    'GeForce RTX 2080 Ti 12 GB': {\n        'gpu_name': 'TU102',\n        'generation': 'GeForce 20',\n        'architecture': 'Turing',\n        'release_date': None,\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 30140,\n        'single_float_performance_gflop_s': 15070,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2080-ti-12-gb.c3938',\n    },\n    'GRID RTX T10-16': {\n        'gpu_name': 'TU102',\n        'generation': 'GRID(Tx)',\n        'architecture': 'Turing',\n        'release_date': None,\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 448,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 20000,\n        'single_float_performance_gflop_s': 9999,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/grid-rtx-t10-16.c3502',\n    },\n    'GRID RTX T10-8': {\n        'gpu_name': 'TU102',\n        'generation': 'GRID(Tx)',\n        'architecture': 'Turing',\n        'release_date': None,\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 448,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 20000,\n        'single_float_performance_gflop_s': 9999,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/grid-rtx-t10-8.c3501',\n    },\n    'Tesla T40 24 GB': {\n        'gpu_name': 'TU102',\n        'generation': 'Tesla Turing(Txx)',\n        'architecture': 'Turing',\n        'release_date': None,\n        'bus_interface': 'PCIe 3.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 576,\n        'cuda_major_version': 7,\n        'cuda_minor_version': 5,\n        'half_float_performance_gflop_s': 28750,\n        'single_float_performance_gflop_s': 14380,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/tesla-t40-24-gb.c3942',\n    },\n    'A100 SXM4 40 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-05-14'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 40,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a100-sxm4-40-gb.c3506',\n    },\n    'DRIVE A100 PROD': {\n        'gpu_name': 'GA100',\n        'generation': 'DRIVE(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-05-14'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 32,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/drive-a100-prod.c3967',\n    },\n    'GRID A100A': {\n        'gpu_name': 'GA100',\n        'generation': 'GRID(Ax)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-05-14'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 32,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 55570,\n        'single_float_performance_gflop_s': 13890,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/grid-a100a.c3579',\n    },\n    'GRID A100B': {\n        'gpu_name': 'GA100',\n        'generation': 'GRID(Ax)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-05-14'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 55570,\n        'single_float_performance_gflop_s': 13890,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/grid-a100b.c3578',\n    },\n    'A100 PCIe 40 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-06-22'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 40,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a100-pcie-40-gb.c3623',\n    },\n    'A100 SXM4 80 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-11-16'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a100-sxm4-80-gb.c3746',\n    },\n    'A30 PCIe': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 10320,\n        'single_float_performance_gflop_s': 10320,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a30-pcie.c3792',\n    },\n    'A30X': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 24,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 10320,\n        'single_float_performance_gflop_s': 10320,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a30x.c3968',\n    },\n    'PG506-207': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'HBM2',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 10320,\n        'single_float_performance_gflop_s': 10320,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/pg506-207.c3962',\n    },\n    'PG506-217': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'HBM2',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 10320,\n        'single_float_performance_gflop_s': 10320,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/pg506-217.c3963',\n    },\n    'PG506-232': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'HBM2',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 10320,\n        'single_float_performance_gflop_s': 10320,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/pg506-232.c3799',\n    },\n    'PG506-242': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'HBM2',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 10320,\n        'single_float_performance_gflop_s': 10320,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/pg506-242.c3823',\n    },\n    'A100 PCIe 80 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-06-28'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a100-pcie-80-gb.c3821',\n    },\n    'A100X': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-06-28'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 79630,\n        'single_float_performance_gflop_s': 19910,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a100x.c3958',\n    },\n    'CMP 170HX 10 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Mining GPUs',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-09-01'),\n        'bus_interface': 'PCIe 1.0 x4',\n        'memory_size_gb': 10,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 4480,\n        'streaming_multiprocessors': 70,\n        'tensor_cores': 280,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 50530,\n        'single_float_performance_gflop_s': 12630,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/cmp-170hx-10-gb.c3957',\n    },\n    'CMP 170HX 8 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Mining GPUs',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-09-01'),\n        'bus_interface': 'PCIe 1.0 x4',\n        'memory_size_gb': 8,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 4480,\n        'streaming_multiprocessors': 70,\n        'tensor_cores': 280,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 50530,\n        'single_float_performance_gflop_s': 12630,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/cmp-170hx-8-gb.c3830',\n    },\n    'A800 SXM4 80 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-08-11'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a800-sxm4-80-gb.c3966',\n    },\n    'A800 PCIe 40 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-11-08'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 40,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a800-pcie-40-gb.c3964',\n    },\n    'A800 PCIe 80 GB': {\n        'gpu_name': 'GA100',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-11-08'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 6912,\n        'streaming_multiprocessors': 108,\n        'tensor_cores': 432,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 77970,\n        'single_float_performance_gflop_s': 19490,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a800-pcie-80-gb.c3965',\n    },\n    'GeForce RTX 3070': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-09-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 20310,\n        'single_float_performance_gflop_s': 20310,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070.c3674',\n    },\n    'GeForce RTX 3080': {\n        'gpu_name': 'GA102',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-09-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 10,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 8704,\n        'streaming_multiprocessors': 68,\n        'tensor_cores': 272,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 29770,\n        'single_float_performance_gflop_s': 29770,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080.c3621',\n    },\n    'GeForce RTX 3090': {\n        'gpu_name': 'GA102',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-09-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 10496,\n        'streaming_multiprocessors': 82,\n        'tensor_cores': 328,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 35580,\n        'single_float_performance_gflop_s': 35580,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3090.c3622',\n    },\n    'A40 PCIe': {\n        'gpu_name': 'GA102',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-10-05'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 10752,\n        'streaming_multiprocessors': 84,\n        'tensor_cores': 336,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 37420,\n        'single_float_performance_gflop_s': 37420,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a40-pcie.c3700',\n    },\n    'RTX A6000': {\n        'gpu_name': 'GA102',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-10-05'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 10752,\n        'streaming_multiprocessors': 84,\n        'tensor_cores': 336,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 38710,\n        'single_float_performance_gflop_s': 38710,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a6000.c3686',\n    },\n    'GeForce RTX 3060 Ti': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2020-12-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4864,\n        'streaming_multiprocessors': 38,\n        'tensor_cores': 152,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 16200,\n        'single_float_performance_gflop_s': 16200,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-ti.c3681',\n    },\n    'CMP 70HX': {\n        'gpu_name': 'GA104',\n        'generation': 'Mining GPUs',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-01'),\n        'bus_interface': 'PCIe 1.0 x4',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 3840,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 120,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 10710,\n        'single_float_performance_gflop_s': 10710,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/cmp-70hx.c3822',\n    },\n    'GeForce RTX 3060 3840SP': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3840,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 120,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 14220,\n        'single_float_performance_gflop_s': 14220,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-3840sp.c4080',\n    },\n    'GeForce RTX 3060 12 GB': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 28,\n        'tensor_cores': 112,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 12740,\n        'single_float_performance_gflop_s': 12740,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-12-gb.c3682',\n    },\n    'GeForce RTX 3060 Max-Q': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3840,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 120,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 9846,\n        'single_float_performance_gflop_s': 9846,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-max-q.c3752',\n    },\n    'GeForce RTX 3060 Mobile': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3840,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 120,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 10940,\n        'single_float_performance_gflop_s': 10940,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-mobile.c3757',\n    },\n    'GeForce RTX 3070 Max-Q': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5120,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 160,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 13210,\n        'single_float_performance_gflop_s': 13210,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-max-q.c3685',\n    },\n    'GeForce RTX 3070 Mobile': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5120,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 160,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 15970,\n        'single_float_performance_gflop_s': 15970,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-mobile.c3712',\n    },\n    'GeForce RTX 3080 Max-Q': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 15300,\n        'single_float_performance_gflop_s': 15300,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080-max-q.c3753',\n    },\n    'GeForce RTX 3080 Mobile': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-01-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 18980,\n        'single_float_performance_gflop_s': 18980,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080-mobile.c3684',\n    },\n    'A10 PCIe': {\n        'gpu_name': 'GA102',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9216,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 288,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 31240,\n        'single_float_performance_gflop_s': 31240,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a10-pcie.c3793',\n    },\n    'A10G': {\n        'gpu_name': 'GA102',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9216,\n        'streaming_multiprocessors': 72,\n        'tensor_cores': 288,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 31520,\n        'single_float_performance_gflop_s': 31520,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a10g.c3798',\n    },\n    'A16 PCIe': {\n        'gpu_name': 'GA107',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1280,\n        'streaming_multiprocessors': 10,\n        'tensor_cores': 40,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4493,\n        'single_float_performance_gflop_s': 4493,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a16-pcie.c3794',\n    },\n    'RTX A2000 Max-Q': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6180,\n        'single_float_performance_gflop_s': 6180,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a2000-max-q.c4007',\n    },\n    'RTX A2000 Max-Q 8 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6026,\n        'single_float_performance_gflop_s': 6026,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a2000-max-q-8-gb.c4288',\n    },\n    'RTX A2000 Mobile': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 8637,\n        'single_float_performance_gflop_s': 8637,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a2000-mobile.c3827',\n    },\n    'RTX A2000 Mobile 8 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 8253,\n        'single_float_performance_gflop_s': 8253,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a2000-mobile-8-gb.c4287',\n    },\n    'RTX A3000 Mobile': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4096,\n        'streaming_multiprocessors': 32,\n        'tensor_cores': 128,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 10080,\n        'single_float_performance_gflop_s': 10080,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a3000-mobile.c3806',\n    },\n    'RTX A3000 Mobile 12 GB': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-22'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4096,\n        'streaming_multiprocessors': 32,\n        'tensor_cores': 128,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 11800,\n        'single_float_performance_gflop_s': 11800,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a3000-mobile-12-gb.c3903',\n    },\n    'RTX A4 Mobile': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 7250,\n        'single_float_performance_gflop_s': 7250,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4-mobile.c3789',\n    },\n    'RTX A4000': {\n        'gpu_name': 'GA104',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 19170,\n        'single_float_performance_gflop_s': 19170,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4000.c3756',\n    },\n    'RTX A4000 Max-Q': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5120,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 160,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 14280,\n        'single_float_performance_gflop_s': 14280,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4000-max-q.c4008',\n    },\n    'RTX A4000 Mobile': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5120,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 160,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 17200,\n        'single_float_performance_gflop_s': 17200,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4000-mobile.c3804',\n    },\n    'RTX A4000H': {\n        'gpu_name': 'GA104',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 19170,\n        'single_float_performance_gflop_s': 19170,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4000h.c3969',\n    },\n    'RTX A5000': {\n        'gpu_name': 'GA102',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 8192,\n        'streaming_multiprocessors': 64,\n        'tensor_cores': 256,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 27770,\n        'single_float_performance_gflop_s': 27770,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5000.c3748',\n    },\n    'RTX A5000 Max-Q': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 16590,\n        'single_float_performance_gflop_s': 16590,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5000-max-q.c4010',\n    },\n    'RTX A5000 Mobile': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 19350,\n        'single_float_performance_gflop_s': 19350,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5000-mobile.c3805',\n    },\n    'RTX A5000-12Q': {\n        'gpu_name': 'GA102',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 8192,\n        'streaming_multiprocessors': 64,\n        'tensor_cores': 256,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 27770,\n        'single_float_performance_gflop_s': 27770,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5000-12q.c3991',\n    },\n    'RTX A5000-8Q': {\n        'gpu_name': 'GA102',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 8192,\n        'streaming_multiprocessors': 64,\n        'tensor_cores': 256,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 27770,\n        'single_float_performance_gflop_s': 27770,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5000-8q.c3990',\n    },\n    'GeForce RTX 3050 Max-Q': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-05-11'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4328,\n        'single_float_performance_gflop_s': 4328,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-max-q.c3972',\n    },\n    'GeForce RTX 3050 Mobile': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-05-11'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 5501,\n        'single_float_performance_gflop_s': 5501,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-mobile.c3788',\n    },\n    'GeForce RTX 3050 Ti Max-Q': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-05-11'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 5299,\n        'single_float_performance_gflop_s': 5299,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-ti-max-q.c4149',\n    },\n    'GeForce RTX 3050 Ti Mobile': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-05-11'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 5299,\n        'single_float_performance_gflop_s': 5299,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-ti-mobile.c3812',\n    },\n    'GeForce RTX 3070 Ti': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-05-31'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 21750,\n        'single_float_performance_gflop_s': 21750,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-ti.c3675',\n    },\n    'GeForce RTX 3080 Ti': {\n        'gpu_name': 'GA102',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-05-31'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 10240,\n        'streaming_multiprocessors': 80,\n        'tensor_cores': 320,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 34100,\n        'single_float_performance_gflop_s': 34100,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080-ti.c3735',\n    },\n    'CMP 90HX': {\n        'gpu_name': 'GA102',\n        'generation': 'Mining GPUs',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-07-28'),\n        'bus_interface': 'PCIe 1.0 x4',\n        'memory_size_gb': 10,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 6400,\n        'streaming_multiprocessors': 50,\n        'tensor_cores': 200,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 21890,\n        'single_float_performance_gflop_s': 21890,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/cmp-90hx.c3783',\n    },\n    'RTX A2000': {\n        'gpu_name': 'GA106',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-08-10'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3328,\n        'streaming_multiprocessors': 26,\n        'tensor_cores': 104,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 7987,\n        'single_float_performance_gflop_s': 7987,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a2000.c3820',\n    },\n    'GeForce RTX 3060 12 GB GA104': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-09-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 28,\n        'tensor_cores': 112,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 12740,\n        'single_float_performance_gflop_s': 12740,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-12-gb-ga104.c3832',\n    },\n    'A2': {\n        'gpu_name': 'GA107',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-11-10'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1280,\n        'streaming_multiprocessors': 10,\n        'tensor_cores': 40,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4531,\n        'single_float_performance_gflop_s': 4531,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a2.c3848',\n    },\n    'A2 PCIe': {\n        'gpu_name': 'GA107',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-11-10'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1280,\n        'streaming_multiprocessors': 10,\n        'tensor_cores': 40,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4531,\n        'single_float_performance_gflop_s': 4531,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a2-pcie.c4112',\n    },\n    'RTX A500': {\n        'gpu_name': 'GA107',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-11-10'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 7250,\n        'single_float_performance_gflop_s': 7250,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a500.c3989',\n    },\n    'RTX A2000 12 GB': {\n        'gpu_name': 'GA106',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-11-23'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3328,\n        'streaming_multiprocessors': 26,\n        'tensor_cores': 104,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 7987,\n        'single_float_performance_gflop_s': 7987,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a2000-12-gb.c3853',\n    },\n    'RTX A4500': {\n        'gpu_name': 'GA102',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-11-23'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 20,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7168,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 23650,\n        'single_float_performance_gflop_s': 23650,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4500.c3849',\n    },\n    'GeForce MX570': {\n        'gpu_name': 'GA107S',\n        'generation': 'GeForce MX(5xx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-12-17'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4731,\n        'single_float_performance_gflop_s': 4731,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-mx570.c3919',\n    },\n    'GeForce MX570 A': {\n        'gpu_name': 'GA107SB',\n        'generation': 'GeForce MX(5xx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-12-17'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 2,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4731,\n        'single_float_performance_gflop_s': 4731,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-mx570-a.c3943',\n    },\n    'GeForce RTX 2050 Max-Q': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-12-17'),\n        'bus_interface': 'PCIe 3.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 9462,\n        'single_float_performance_gflop_s': 4731,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2050-max-q.c4012',\n    },\n    'GeForce RTX 2050 Mobile': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 20 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2021-12-17'),\n        'bus_interface': 'PCIe 3.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 10200,\n        'single_float_performance_gflop_s': 5100,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-2050-mobile.c3859',\n    },\n    'GeForce RTX 3080 Ti 20 GB': {\n        'gpu_name': 'GA102',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 20,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 10240,\n        'streaming_multiprocessors': 80,\n        'tensor_cores': 320,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 34100,\n        'single_float_performance_gflop_s': 34100,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080-ti-20-gb.c3831',\n    },\n    'GeForce RTX 3050 8 GB': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-04'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 9098,\n        'single_float_performance_gflop_s': 9098,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-8-gb.c3858',\n    },\n    'GeForce RTX 3050 OEM': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-04'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 18,\n        'tensor_cores': 72,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 8087,\n        'single_float_performance_gflop_s': 8087,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-oem.c3915',\n    },\n    'GeForce RTX 3070 Ti Max-Q': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-04'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 12190,\n        'single_float_performance_gflop_s': 12190,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-ti-max-q.c3923',\n    },\n    'GeForce RTX 3070 Ti Mobile': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-04'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 16600,\n        'single_float_performance_gflop_s': 16600,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-ti-mobile.c3852',\n    },\n    'GeForce RTX 3080 12 GB': {\n        'gpu_name': 'GA102',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-11'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 8960,\n        'streaming_multiprocessors': 70,\n        'tensor_cores': 280,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 30640,\n        'single_float_performance_gflop_s': 30640,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080-12-gb.c3834',\n    },\n    'GeForce RTX 3080 Ti Max-Q': {\n        'gpu_name': 'GA103',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-25'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 58,\n        'tensor_cores': 232,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 16700,\n        'single_float_performance_gflop_s': 16700,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080-ti-max-q.c3841',\n    },\n    'GeForce RTX 3080 Ti Mobile': {\n        'gpu_name': 'GA103',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-25'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 58,\n        'tensor_cores': 232,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 18710,\n        'single_float_performance_gflop_s': 18710,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3080-ti-mobile.c3840',\n    },\n    'GeForce RTX 3050 4 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-27'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 7127,\n        'single_float_performance_gflop_s': 7127,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-4-gb.c3744',\n    },\n    'GeForce RTX 3090 Ti': {\n        'gpu_name': 'GA102',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-01-27'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 10752,\n        'streaming_multiprocessors': 84,\n        'tensor_cores': 336,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 40000,\n        'single_float_performance_gflop_s': 40000,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3090-ti.c3829',\n    },\n    'A10M': {\n        'gpu_name': 'GA102',\n        'generation': 'Server Ampere(Axx)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-02-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7168,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 23440,\n        'single_float_performance_gflop_s': 23440,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/a10m.c4200',\n    },\n    'GeForce RTX 3060 Ti GA103': {\n        'gpu_name': 'GA103',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-02-23'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4864,\n        'streaming_multiprocessors': 38,\n        'tensor_cores': 152,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 16200,\n        'single_float_performance_gflop_s': 16200,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-ti-ga103.c3872',\n    },\n    'RTX A4500 Max-Q': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-22'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 14310,\n        'single_float_performance_gflop_s': 14310,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4500-max-q.c4009',\n    },\n    'RTX A4500 Mobile': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-22'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 17660,\n        'single_float_performance_gflop_s': 17660,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4500-mobile.c3851',\n    },\n    'RTX A500 Mobile': {\n        'gpu_name': 'GA107S',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-22'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6296,\n        'single_float_performance_gflop_s': 6296,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a500-mobile.c3939',\n    },\n    'RTX A5500': {\n        'gpu_name': 'GA102',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-22'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 10240,\n        'streaming_multiprocessors': 80,\n        'tensor_cores': 320,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 34100,\n        'single_float_performance_gflop_s': 34100,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5500.c3901',\n    },\n    'RTX A5500 Max-Q': {\n        'gpu_name': 'GA103',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-22'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 58,\n        'tensor_cores': 232,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 18710,\n        'single_float_performance_gflop_s': 18710,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5500-max-q.c4011',\n    },\n    'RTX A5500 Mobile': {\n        'gpu_name': 'GA103',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-22'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 58,\n        'tensor_cores': 232,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 22270,\n        'single_float_performance_gflop_s': 22270,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a5500-mobile.c3902',\n    },\n    'RTX A1000 Embedded': {\n        'gpu_name': 'GA107S',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-30'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4669,\n        'single_float_performance_gflop_s': 4669,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a1000-embedded.c3895',\n    },\n    'RTX A1000 Mobile': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-30'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4669,\n        'single_float_performance_gflop_s': 4669,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a1000-mobile.c3920',\n    },\n    'RTX A1000 Mobile 6 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-30'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 5837,\n        'single_float_performance_gflop_s': 5837,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a1000-mobile-6-gb.c4137',\n    },\n    'RTX A2000 Embedded': {\n        'gpu_name': 'GA107',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-30'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6026,\n        'single_float_performance_gflop_s': 6026,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a2000-embedded.c3861',\n    },\n    'RTX A4500 Embedded': {\n        'gpu_name': 'GA104',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-30'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 14310,\n        'single_float_performance_gflop_s': 14310,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a4500-embedded.c3893',\n    },\n    'RTX A500 Embedded': {\n        'gpu_name': 'GA107S',\n        'generation': 'Ampere-MW(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-03-30'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 5468,\n        'single_float_performance_gflop_s': 5468,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a500-embedded.c3896',\n    },\n    'GeForce RTX 3050 Max-Q Refresh 4 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-07-06'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4608,\n        'single_float_performance_gflop_s': 4608,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-max-q-refresh-4-gb.c4092',\n    },\n    'GeForce RTX 3050 Max-Q Refresh 6 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-07-06'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 5069,\n        'single_float_performance_gflop_s': 5069,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-max-q-refresh-6-gb.c3970',\n    },\n    'GeForce RTX 3050 Mobile Refresh 4 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-07-06'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6180,\n        'single_float_performance_gflop_s': 6180,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-mobile-refresh-4-gb.c4156',\n    },\n    'GeForce RTX 3050 Mobile Refresh 6 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-07-06'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 7639,\n        'single_float_performance_gflop_s': 7639,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-mobile-refresh-6-gb.c3971',\n    },\n    'GeForce RTX 3060 8 GB GA104': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-10-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 28,\n        'tensor_cores': 112,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 12740,\n        'single_float_performance_gflop_s': 12740,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-8-gb-ga104.c4132',\n    },\n    'GeForce RTX 3060 8 GB': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-10-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3584,\n        'streaming_multiprocessors': 28,\n        'tensor_cores': 112,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 12740,\n        'single_float_performance_gflop_s': 12740,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-8-gb.c3937',\n    },\n    'GeForce RTX 3060 Ti GDDR6X': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-10-19'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 4864,\n        'streaming_multiprocessors': 38,\n        'tensor_cores': 152,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 16200,\n        'single_float_performance_gflop_s': 16200,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3060-ti-gddr6x.c3935',\n    },\n    'GeForce RTX 3070 Ti 8 GB GA102': {\n        'gpu_name': 'GA102',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-10-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 21750,\n        'single_float_performance_gflop_s': 21750,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-ti-8-gb-ga102.c3936',\n    },\n    'GeForce RTX 3070 TiM': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-11-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 16600,\n        'single_float_performance_gflop_s': 16600,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-tim.c3951',\n    },\n    'GeForce RTX 3050 8 GB GA107': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2022-12-16'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 9098,\n        'single_float_performance_gflop_s': 9098,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-8-gb-ga107.c3880',\n    },\n    'Jetson AGX Orin 32 GB': {\n        'gpu_name': 'GA10B',\n        'generation': 'Tegra(Ampere)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2023-02-01'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 32,\n        'memory_type': 'LPDDR5',\n        'cuda_cores': 1792,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 56,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6666,\n        'single_float_performance_gflop_s': 3333,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/jetson-agx-orin-32-gb.c4084',\n    },\n    'Jetson Orin NX 16 GB': {\n        'gpu_name': 'GA10B',\n        'generation': 'Tegra(Ampere)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2023-02-01'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 16,\n        'memory_type': 'LPDDR5',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 8,\n        'tensor_cores': 32,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 3760,\n        'single_float_performance_gflop_s': 1880,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/jetson-orin-nx-16-gb.c4086',\n    },\n    'Jetson AGX Orin 64 GB': {\n        'gpu_name': 'GA10B',\n        'generation': 'Tegra(Ampere)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2023-03-01'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 64,\n        'memory_type': 'LPDDR5',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 10650,\n        'single_float_performance_gflop_s': 5325,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/jetson-agx-orin-64-gb.c4085',\n    },\n    'Jetson Orin NX 8 GB': {\n        'gpu_name': 'GA10B',\n        'generation': 'Tegra(Ampere)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2023-03-01'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 8,\n        'memory_type': 'LPDDR5',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 8,\n        'tensor_cores': 32,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 3133,\n        'single_float_performance_gflop_s': 1567,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/jetson-orin-nx-8-gb.c4081',\n    },\n    'Jetson Orin Nano 4 GB': {\n        'gpu_name': 'GA10B',\n        'generation': 'Tegra(Ampere)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2023-03-01'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 4,\n        'memory_type': 'LPDDR5',\n        'cuda_cores': 512,\n        'streaming_multiprocessors': 4,\n        'tensor_cores': 16,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 1280,\n        'single_float_performance_gflop_s': 640,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/jetson-orin-nano-4-gb.c4083',\n    },\n    'Jetson Orin Nano 8 GB': {\n        'gpu_name': 'GA10B',\n        'generation': 'Tegra(Ampere)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2023-03-01'),\n        'bus_interface': 'PCIe 4.0 x4',\n        'memory_size_gb': 8,\n        'memory_type': 'LPDDR5',\n        'cuda_cores': 1024,\n        'streaming_multiprocessors': 8,\n        'tensor_cores': 32,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 2560,\n        'single_float_performance_gflop_s': 1280,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/jetson-orin-nano-8-gb.c4082',\n    },\n    'GeForce RTX 3050 A Mobile': {\n        'gpu_name': 'GA106',\n        'generation': 'GeForce 30 Mobile',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2024-01-01'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 1792,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 56,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 4813,\n        'single_float_performance_gflop_s': 4813,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-a-mobile.c4227',\n    },\n    'GeForce RTX 3050 6 GB': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2024-02-02'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 18,\n        'tensor_cores': 72,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6774,\n        'single_float_performance_gflop_s': 6774,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3050-6-gb.c4188',\n    },\n    'GeForce RTX 4010': {\n        'gpu_name': 'GA107',\n        'generation': 'GeForce 40',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2024-04-16'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 768,\n        'streaming_multiprocessors': 6,\n        'tensor_cores': 24,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 2706,\n        'single_float_performance_gflop_s': 2706,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4010.c4247',\n    },\n    'RTX A1000': {\n        'gpu_name': 'GA107',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2024-04-16'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2304,\n        'streaming_multiprocessors': 18,\n        'tensor_cores': 72,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 6737,\n        'single_float_performance_gflop_s': 6737,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a1000.c4211',\n    },\n    'RTX A400': {\n        'gpu_name': 'GA107',\n        'generation': 'Workstation Ampere(Ax000)',\n        'architecture': 'Ampere',\n        'release_date': date.fromisoformat('2024-04-16'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 768,\n        'streaming_multiprocessors': 6,\n        'tensor_cores': 24,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 2706,\n        'single_float_performance_gflop_s': 2706,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-a400.c4212',\n    },\n    'GeForce RTX 3070 6144SP': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 21750,\n        'single_float_performance_gflop_s': 21750,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-6144sp.c4242',\n    },\n    'GeForce RTX 3070 Ti 16 GB': {\n        'gpu_name': 'GA104',\n        'generation': 'GeForce 30',\n        'architecture': 'Ampere',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 6,\n        'half_float_performance_gflop_s': 21750,\n        'single_float_performance_gflop_s': 21750,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-3070-ti-16-gb.c3835',\n    },\n    'GeForce RTX 4080': {\n        'gpu_name': 'AD103',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2022-09-20'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 9728,\n        'streaming_multiprocessors': 76,\n        'tensor_cores': 304,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 48740,\n        'single_float_performance_gflop_s': 48740,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4080.c3888',\n    },\n    'GeForce RTX 4090': {\n        'gpu_name': 'AD102',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2022-09-20'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 16384,\n        'streaming_multiprocessors': 128,\n        'tensor_cores': 512,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 82580,\n        'single_float_performance_gflop_s': 82580,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4090.c3889',\n    },\n    'L40': {\n        'gpu_name': 'AD102',\n        'generation': 'Server Ada(Lxx)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2022-10-13'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 18176,\n        'streaming_multiprocessors': 142,\n        'tensor_cores': 568,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 90520,\n        'single_float_performance_gflop_s': 90520,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/l40.c3959',\n    },\n    'L40 CNX': {\n        'gpu_name': 'AD102',\n        'generation': 'Server Ada(Lxx)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2022-10-13'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 18176,\n        'streaming_multiprocessors': 142,\n        'tensor_cores': 568,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 89970,\n        'single_float_performance_gflop_s': 89970,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/l40-cnx.c3961',\n    },\n    'L40G': {\n        'gpu_name': 'AD102',\n        'generation': 'Server Ada(Lxx)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2022-10-13'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 18176,\n        'streaming_multiprocessors': 142,\n        'tensor_cores': 568,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 89970,\n        'single_float_performance_gflop_s': 89970,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/l40g.c3960',\n    },\n    'L40S': {\n        'gpu_name': 'AD102',\n        'generation': 'Server Ada(Lxx)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2022-10-13'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 18176,\n        'streaming_multiprocessors': 142,\n        'tensor_cores': 568,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 91610,\n        'single_float_performance_gflop_s': 91610,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/l40s.c4173',\n    },\n    'RTX 6000 Ada Generation': {\n        'gpu_name': 'AD102',\n        'generation': 'Workstation Ada(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2022-12-03'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 18176,\n        'streaming_multiprocessors': 142,\n        'tensor_cores': 568,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 91060,\n        'single_float_performance_gflop_s': 91060,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-6000-ada-generation.c3933',\n    },\n    'GeForce RTX 4050 Max-Q': {\n        'gpu_name': 'AD107',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 8218,\n        'single_float_performance_gflop_s': 8218,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4050-max-q.c3987',\n    },\n    'GeForce RTX 4050 Mobile': {\n        'gpu_name': 'AD107',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 8986,\n        'single_float_performance_gflop_s': 8986,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4050-mobile.c3953',\n    },\n    'GeForce RTX 4060 Max-Q': {\n        'gpu_name': 'AD107',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 96,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 9032,\n        'single_float_performance_gflop_s': 9032,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4060-max-q.c3986',\n    },\n    'GeForce RTX 4060 Mobile': {\n        'gpu_name': 'AD107',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 96,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 11610,\n        'single_float_performance_gflop_s': 11610,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4060-mobile.c3946',\n    },\n    'GeForce RTX 4070 Max-Q': {\n        'gpu_name': 'AD106',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 144,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 11340,\n        'single_float_performance_gflop_s': 11340,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-max-q.c3954',\n    },\n    'GeForce RTX 4070 Mobile': {\n        'gpu_name': 'AD106',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 144,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 15620,\n        'single_float_performance_gflop_s': 15620,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-mobile.c3944',\n    },\n    'GeForce RTX 4070 Ti': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 7680,\n        'streaming_multiprocessors': 60,\n        'tensor_cores': 240,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 40090,\n        'single_float_performance_gflop_s': 40090,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-ti.c3950',\n    },\n    'GeForce RTX 4080 Max-Q': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 58,\n        'tensor_cores': 232,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 20040,\n        'single_float_performance_gflop_s': 20040,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4080-max-q.c3948',\n    },\n    'GeForce RTX 4080 Mobile': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 58,\n        'tensor_cores': 232,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 24720,\n        'single_float_performance_gflop_s': 24720,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4080-mobile.c3947',\n    },\n    'GeForce RTX 4090 Max-Q': {\n        'gpu_name': 'AD103',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9728,\n        'streaming_multiprocessors': 76,\n        'tensor_cores': 304,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 28310,\n        'single_float_performance_gflop_s': 28310,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4090-max-q.c3988',\n    },\n    'GeForce RTX 4090 Mobile': {\n        'gpu_name': 'AD103',\n        'generation': 'GeForce 40 Mobile',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-01-03'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9728,\n        'streaming_multiprocessors': 76,\n        'tensor_cores': 304,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 32979,\n        'single_float_performance_gflop_s': 32979,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4090-mobile.c3949',\n    },\n    'L4': {\n        'gpu_name': 'AD104',\n        'generation': 'Server Ada(Lxx)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 60,\n        'tensor_cores': 240,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 30290,\n        'single_float_performance_gflop_s': 30290,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/l4.c4091',\n    },\n    'RTX 2000 Embedded Ada Generation': {\n        'gpu_name': 'AD107',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 96,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 12350,\n        'single_float_performance_gflop_s': 12350,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-2000-embedded-ada-generation.c4177',\n    },\n    'RTX 2000 Max-Q Ada Generation': {\n        'gpu_name': 'AD107',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 96,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 8940,\n        'single_float_performance_gflop_s': 8940,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-2000-max-q-ada-generation.c4094',\n    },\n    'RTX 2000 Mobile Ada Generation': {\n        'gpu_name': 'AD107',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 96,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 12990,\n        'single_float_performance_gflop_s': 12990,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-2000-mobile-ada-generation.c4093',\n    },\n    'RTX 3000 Mobile Ada Generation': {\n        'gpu_name': 'AD106',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 144,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 15620,\n        'single_float_performance_gflop_s': 15620,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-3000-mobile-ada-generation.c4095',\n    },\n    'RTX 3500 Embedded Ada Generation': {\n        'gpu_name': 'AD104',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5120,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 160,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 23040,\n        'single_float_performance_gflop_s': 23040,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-3500-embedded-ada-generation.c4201',\n    },\n    'RTX 3500 Mobile Ada Generation': {\n        'gpu_name': 'AD104',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5120,\n        'streaming_multiprocessors': 40,\n        'tensor_cores': 160,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 15820,\n        'single_float_performance_gflop_s': 15820,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-3500-mobile-ada-generation.c4098',\n    },\n    'RTX 4000 Mobile Ada Generation': {\n        'gpu_name': 'AD104',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7424,\n        'streaming_multiprocessors': 58,\n        'tensor_cores': 232,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 24720,\n        'single_float_performance_gflop_s': 24720,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-4000-mobile-ada-generation.c4096',\n    },\n    'RTX 4000 SFF Ada Generation': {\n        'gpu_name': 'AD104',\n        'generation': 'Workstation Ada(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 20,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 19170,\n        'single_float_performance_gflop_s': 19170,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-4000-sff-ada-generation.c4139',\n    },\n    'RTX 5000 Embedded Ada Generation': {\n        'gpu_name': 'AD103',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9728,\n        'streaming_multiprocessors': 76,\n        'tensor_cores': 304,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 32689,\n        'single_float_performance_gflop_s': 32689,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-5000-embedded-ada-generation.c4176',\n    },\n    'RTX 5000 Embedded Ada Generation X2': {\n        'gpu_name': 'AD103',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9728,\n        'streaming_multiprocessors': 76,\n        'tensor_cores': 304,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 32689,\n        'single_float_performance_gflop_s': 32689,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-5000-embedded-ada-generation-x2.c4256',\n    },\n    'RTX 5000 Max-Q Ada Generation': {\n        'gpu_name': 'AD103',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9728,\n        'streaming_multiprocessors': 76,\n        'tensor_cores': 304,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 32689,\n        'single_float_performance_gflop_s': 32689,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-5000-max-q-ada-generation.c4154',\n    },\n    'RTX 5000 Mobile Ada Generation': {\n        'gpu_name': 'AD103',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 9728,\n        'streaming_multiprocessors': 76,\n        'tensor_cores': 304,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 41150,\n        'single_float_performance_gflop_s': 41150,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-5000-mobile-ada-generation.c4097',\n    },\n    'GeForce RTX 4070': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-04-12'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 29150,\n        'single_float_performance_gflop_s': 29150,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070.c3924',\n    },\n    'GeForce RTX 4060': {\n        'gpu_name': 'AD107',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-05-18'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 96,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 15110,\n        'single_float_performance_gflop_s': 15110,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4060.c4107',\n    },\n    'GeForce RTX 4060 Ti 16 GB': {\n        'gpu_name': 'AD106',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-05-18'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4352,\n        'streaming_multiprocessors': 34,\n        'tensor_cores': 136,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 22060,\n        'single_float_performance_gflop_s': 22060,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4060-ti-16-gb.c4155',\n    },\n    'GeForce RTX 4060 Ti 8 GB': {\n        'gpu_name': 'AD106',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-05-18'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4352,\n        'streaming_multiprocessors': 34,\n        'tensor_cores': 136,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 22060,\n        'single_float_performance_gflop_s': 22060,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4060-ti-8-gb.c3890',\n    },\n    'RTX 4000 Ada Generation': {\n        'gpu_name': 'AD104',\n        'generation': 'Workstation Ada(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-08-09'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 20,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 26730,\n        'single_float_performance_gflop_s': 26730,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-4000-ada-generation.c4171',\n    },\n    'RTX 4500 Ada Generation': {\n        'gpu_name': 'AD103',\n        'generation': 'Workstation Ada(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-08-09'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 7680,\n        'streaming_multiprocessors': 60,\n        'tensor_cores': 240,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 39630,\n        'single_float_performance_gflop_s': 39630,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-4500-ada-generation.c4172',\n    },\n    'RTX 5000 Ada Generation': {\n        'gpu_name': 'AD102',\n        'generation': 'Workstation Ada(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-08-09'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 32,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 12800,\n        'streaming_multiprocessors': 100,\n        'tensor_cores': 400,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 65280,\n        'single_float_performance_gflop_s': 65280,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-5000-ada-generation.c4152',\n    },\n    'L20': {\n        'gpu_name': 'AD102',\n        'generation': 'Server Ada(Lxx)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-11-16'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 11776,\n        'streaming_multiprocessors': 92,\n        'tensor_cores': 368,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 59350,\n        'single_float_performance_gflop_s': 59350,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/l20.c4206',\n    },\n    'GeForce RTX 4090 D': {\n        'gpu_name': 'AD102',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2023-12-28'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 14592,\n        'streaming_multiprocessors': 114,\n        'tensor_cores': 456,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 73540,\n        'single_float_performance_gflop_s': 73540,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4090-d.c4189',\n    },\n    'RTX 5880 Ada Generation': {\n        'gpu_name': 'AD102',\n        'generation': 'Workstation Ada(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-01-05'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 14080,\n        'streaming_multiprocessors': 110,\n        'tensor_cores': 440,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 69269,\n        'single_float_performance_gflop_s': 69269,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-5880-ada-generation.c4191',\n    },\n    'GeForce RTX 4070 SUPER': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-01-08'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 7168,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 35480,\n        'single_float_performance_gflop_s': 35480,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-super.c4186',\n    },\n    'GeForce RTX 4070 Ti SUPER': {\n        'gpu_name': 'AD103',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-01-08'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 8448,\n        'streaming_multiprocessors': 66,\n        'tensor_cores': 264,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 44100,\n        'single_float_performance_gflop_s': 44100,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-ti-super.c4187',\n    },\n    'GeForce RTX 4080 SUPER': {\n        'gpu_name': 'AD103',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-01-08'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 10240,\n        'streaming_multiprocessors': 80,\n        'tensor_cores': 320,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 52220,\n        'single_float_performance_gflop_s': 52220,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4080-super.c4182',\n    },\n    'RTX 2000 Ada Generation': {\n        'gpu_name': 'AD107',\n        'generation': 'Workstation Ada(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-02-12'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2816,\n        'streaming_multiprocessors': 22,\n        'tensor_cores': 88,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 12000,\n        'single_float_performance_gflop_s': 12000,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-2000-ada-generation.c4199',\n    },\n    'RTX 1000 Mobile Ada Generation': {\n        'gpu_name': 'AD107',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-02-26'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 10370,\n        'single_float_performance_gflop_s': 10370,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-1000-mobile-ada-generation.c4208',\n    },\n    'RTX 500 Mobile Ada Generation': {\n        'gpu_name': 'AD107',\n        'generation': 'Ada-MW(x000A)',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-02-26'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 4,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2048,\n        'streaming_multiprocessors': 16,\n        'tensor_cores': 64,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 8294,\n        'single_float_performance_gflop_s': 8294,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-500-mobile-ada-generation.c4207',\n    },\n    'GeForce RTX 4070 AD103': {\n        'gpu_name': 'AD103',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-03-01'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 29150,\n        'single_float_performance_gflop_s': 29150,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-ad103.c4205',\n    },\n    'GeForce RTX 4060 AD106': {\n        'gpu_name': 'AD106',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-04-01'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 3072,\n        'streaming_multiprocessors': 24,\n        'tensor_cores': 96,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 15110,\n        'single_float_performance_gflop_s': 15110,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4060-ad106.c3891',\n    },\n    'GeForce RTX 4060 Ti AD104': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-04-01'),\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 4352,\n        'streaming_multiprocessors': 34,\n        'tensor_cores': 136,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 22060,\n        'single_float_performance_gflop_s': 22060,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4060-ti-ad104.c4204',\n    },\n    'GeForce RTX 4070 Ti SUPER AD102': {\n        'gpu_name': 'AD102',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-06-10'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 8448,\n        'streaming_multiprocessors': 66,\n        'tensor_cores': 264,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 44100,\n        'single_float_performance_gflop_s': 44100,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-ti-super-ad102.c4215',\n    },\n    'GeForce RTX 4070 GDDR6': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': date.fromisoformat('2024-08-20'),\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 29150,\n        'single_float_performance_gflop_s': 29150,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-gddr6.c4228',\n    },\n    'GeForce RTX 4080 12 GB': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 7680,\n        'streaming_multiprocessors': 60,\n        'tensor_cores': 240,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 40090,\n        'single_float_performance_gflop_s': 40090,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4080-12-gb.c3932',\n    },\n    'GeForce RTX 4050': {\n        'gpu_name': 'AD107',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x8',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 18,\n        'tensor_cores': 120,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 13520,\n        'single_float_performance_gflop_s': 13520,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4050.c3892',\n    },\n    'GeForce RTX 4080 Ti': {\n        'gpu_name': 'AD102',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 14080,\n        'streaming_multiprocessors': 110,\n        'tensor_cores': 440,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 73500,\n        'single_float_performance_gflop_s': 73500,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4080-ti.c3887',\n    },\n    'GeForce RTX 4090 Ti': {\n        'gpu_name': 'AD102',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 18176,\n        'streaming_multiprocessors': 142,\n        'tensor_cores': 568,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 93240,\n        'single_float_performance_gflop_s': 93240,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4090-ti.c3917',\n    },\n    'TITAN Ada': {\n        'gpu_name': 'AD102',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 18432,\n        'streaming_multiprocessors': 144,\n        'tensor_cores': 576,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 92900,\n        'single_float_performance_gflop_s': 92900,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/titan-ada.c3985',\n    },\n    'GeForce RTX 4070 10 GB': {\n        'gpu_name': 'AD104',\n        'generation': 'GeForce 40',\n        'architecture': 'Ada Lovelace',\n        'release_date': None,\n        'bus_interface': 'PCIe 4.0 x16',\n        'memory_size_gb': 10,\n        'memory_type': 'GDDR6X',\n        'cuda_cores': 7168,\n        'streaming_multiprocessors': 56,\n        'tensor_cores': 224,\n        'cuda_major_version': 8,\n        'cuda_minor_version': 9,\n        'half_float_performance_gflop_s': 36130,\n        'single_float_performance_gflop_s': 36130,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-4070-10-gb.c4226',\n    },\n    'H100 PCIe 80 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2022-10-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 14592,\n        'streaming_multiprocessors': 114,\n        'tensor_cores': 456,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 204900,\n        'single_float_performance_gflop_s': 51220,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h100-pcie-80-gb.c3899',\n    },\n    'H100 SXM5 80 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2022-10-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM3',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 267600,\n        'single_float_performance_gflop_s': 66910,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h100-sxm5-80-gb.c3900',\n    },\n    'H100 CNX': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 14592,\n        'streaming_multiprocessors': 114,\n        'tensor_cores': 456,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 215400,\n        'single_float_performance_gflop_s': 53840,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h100-cnx.c4131',\n    },\n    'H100 PCIe 96 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 96,\n        'memory_type': 'HBM3',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 248300,\n        'single_float_performance_gflop_s': 62080,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h100-pcie-96-gb.c4164',\n    },\n    'H100 SXM5 64 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 64,\n        'memory_type': 'HBM3',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 267600,\n        'single_float_performance_gflop_s': 66910,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h100-sxm5-64-gb.c4165',\n    },\n    'H100 SXM5 94 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 94,\n        'memory_type': 'HBM3',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 267600,\n        'single_float_performance_gflop_s': 66910,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h100-sxm5-94-gb.c4294',\n    },\n    'H100 SXM5 96 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 96,\n        'memory_type': 'HBM3',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 267600,\n        'single_float_performance_gflop_s': 66910,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h100-sxm5-96-gb.c3974',\n    },\n    'H800 PCIe 80 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM2e',\n        'cuda_cores': 14592,\n        'streaming_multiprocessors': 114,\n        'tensor_cores': 456,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 204900,\n        'single_float_performance_gflop_s': 51220,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h800-pcie-80-gb.c4181',\n    },\n    'H800 SXM5': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2023-03-21'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 80,\n        'memory_type': 'HBM3',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 237200,\n        'single_float_performance_gflop_s': 59300,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h800-sxm5.c3975',\n    },\n    'H200 NVL': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2024-11-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 141,\n        'memory_type': 'HBM3e',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 241300,\n        'single_float_performance_gflop_s': 60320,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h200-nvl.c4254',\n    },\n    'H200 SXM 141 GB': {\n        'gpu_name': 'GH100',\n        'generation': 'Server Hopper(Hxx)',\n        'architecture': 'Hopper',\n        'release_date': date.fromisoformat('2024-11-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 141,\n        'memory_type': 'HBM3e',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 9,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 267600,\n        'single_float_performance_gflop_s': 66910,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/h200-sxm-141-gb.c4255',\n    },\n    'B200 SXM 192 GB': {\n        'gpu_name': 'GB100',\n        'generation': 'Server Blackwell(Bxx)',\n        'architecture': 'Blackwell',\n        'release_date': date.fromisoformat('2024-01-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 96,\n        'memory_type': 'HBM3e',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 10,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 248300,\n        'single_float_performance_gflop_s': 62080,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/b200-sxm-192-gb.c4210',\n    },\n    'B100': {\n        'gpu_name': 'GB102',\n        'generation': 'Server Blackwell(Bxx)',\n        'architecture': 'Blackwell',\n        'release_date': date.fromisoformat('2024-11-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 96,\n        'memory_type': 'HBM3e',\n        'cuda_cores': 16896,\n        'streaming_multiprocessors': 132,\n        'tensor_cores': 528,\n        'cuda_major_version': 10,\n        'cuda_minor_version': 1,\n        'half_float_performance_gflop_s': 248300,\n        'single_float_performance_gflop_s': 62080,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/b100.c4275',\n    },\n    'GeForce RTX 5050': {\n        'gpu_name': 'GB207',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-01-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 12900,\n        'single_float_performance_gflop_s': 12900,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5050.c4220',\n    },\n    'GeForce RTX 5050 Mobile': {\n        'gpu_name': 'GB207',\n        'generation': 'GeForce 50 Mobile',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-01-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR6',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 12900,\n        'single_float_performance_gflop_s': 12900,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5050-mobile.c4239',\n    },\n    'GeForce RTX 5080': {\n        'gpu_name': 'GB203',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-01-30'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 10752,\n        'streaming_multiprocessors': 84,\n        'tensor_cores': 336,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 56280,\n        'single_float_performance_gflop_s': 56280,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5080.c4217',\n    },\n    'GeForce RTX 5090': {\n        'gpu_name': 'GB202',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-01-30'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 32,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 21760,\n        'streaming_multiprocessors': 170,\n        'tensor_cores': 680,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 104800,\n        'single_float_performance_gflop_s': 104800,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5090.c4216',\n    },\n    'GeForce RTX 5090 D': {\n        'gpu_name': 'GB202',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-01-30'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 32,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 21760,\n        'streaming_multiprocessors': 170,\n        'tensor_cores': 680,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 104800,\n        'single_float_performance_gflop_s': 104800,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5090-d.c4253',\n    },\n    'GeForce RTX 5070 Ti': {\n        'gpu_name': 'GB203',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-02-20'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 8960,\n        'streaming_multiprocessors': 70,\n        'tensor_cores': 280,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 43940,\n        'single_float_performance_gflop_s': 43940,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5070-ti.c4243',\n    },\n    'GeForce RTX 5070 Ti Mobile': {\n        'gpu_name': 'GB205',\n        'generation': 'GeForce 50 Mobile',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 17040,\n        'single_float_performance_gflop_s': 17040,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5070-ti-mobile.c4238',\n    },\n    'GeForce RTX 5070': {\n        'gpu_name': 'GB205',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-04'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 6144,\n        'streaming_multiprocessors': 48,\n        'tensor_cores': 192,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 30870,\n        'single_float_performance_gflop_s': 30870,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5070.c4218',\n    },\n    'RTX PRO 4000 Blackwell': {\n        'gpu_name': 'GB203',\n        'generation': 'Blackwell PRO W(x000)',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 8960,\n        'streaming_multiprocessors': 70,\n        'tensor_cores': 280,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 46900,\n        'single_float_performance_gflop_s': 46900,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-4000-blackwell.c4279',\n    },\n    'RTX PRO 4500 Blackwell': {\n        'gpu_name': 'GB203',\n        'generation': 'Blackwell PRO W(x000)',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 32,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 10496,\n        'streaming_multiprocessors': 82,\n        'tensor_cores': 328,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 54940,\n        'single_float_performance_gflop_s': 54940,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-4500-blackwell.c4278',\n    },\n    'RTX PRO 5000 Blackwell': {\n        'gpu_name': 'GB202',\n        'generation': 'Blackwell PRO W(x000)',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 48,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 14080,\n        'streaming_multiprocessors': 110,\n        'tensor_cores': 440,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 73690,\n        'single_float_performance_gflop_s': 73690,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-5000-blackwell.c4276',\n    },\n    'RTX PRO 6000 Blackwell': {\n        'gpu_name': 'GB202',\n        'generation': 'Blackwell PRO W(x000)',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 96,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 24064,\n        'streaming_multiprocessors': 188,\n        'tensor_cores': 752,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 126000,\n        'single_float_performance_gflop_s': 126000,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-6000-blackwell.c4272',\n    },\n    'RTX PRO 6000 Blackwell Max-Q': {\n        'gpu_name': 'GB202',\n        'generation': 'Blackwell PRO W(x000)',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 96,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 24064,\n        'streaming_multiprocessors': 188,\n        'tensor_cores': 752,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 110100,\n        'single_float_performance_gflop_s': 110100,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-6000-blackwell-max-q.c4273',\n    },\n    'RTX PRO 6000 Blackwell Server': {\n        'gpu_name': 'GB202',\n        'generation': 'Server Blackwell(Bxx)',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-18'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 96,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 24064,\n        'streaming_multiprocessors': 188,\n        'tensor_cores': 752,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 126000,\n        'single_float_performance_gflop_s': 126000,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-6000-blackwell-server.c4274',\n    },\n    'GeForce RTX 5090 Mobile': {\n        'gpu_name': 'GB203',\n        'generation': 'GeForce 50 Mobile',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-03-27'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 10496,\n        'streaming_multiprocessors': 82,\n        'tensor_cores': 328,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 31800,\n        'single_float_performance_gflop_s': 31800,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5090-mobile.c4235',\n    },\n    'GeForce RTX 5070 Mobile': {\n        'gpu_name': 'GB206',\n        'generation': 'GeForce 50 Mobile',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-04-01'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 144,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 13130,\n        'single_float_performance_gflop_s': 13130,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5070-mobile.c4237',\n    },\n    'GeForce RTX 5080 Mobile': {\n        'gpu_name': 'GB203',\n        'generation': 'GeForce 50 Mobile',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-04-02'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 7680,\n        'streaming_multiprocessors': 60,\n        'tensor_cores': 240,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 23040,\n        'single_float_performance_gflop_s': 23040,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5080-mobile.c4236',\n    },\n    'GeForce RTX 5060 Ti 16 GB': {\n        'gpu_name': 'GB206',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-04-16'),\n        'bus_interface': 'PCIe 5.0 x8',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 144,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 23700,\n        'single_float_performance_gflop_s': 23700,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5060-ti-16-gb.c4292',\n    },\n    'GeForce RTX 5060 Ti 8 GB': {\n        'gpu_name': 'GB206',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-04-16'),\n        'bus_interface': 'PCIe 5.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 4608,\n        'streaming_multiprocessors': 36,\n        'tensor_cores': 144,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 23700,\n        'single_float_performance_gflop_s': 23700,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5060-ti-8-gb.c4246',\n    },\n    'GeForce RTX 5060': {\n        'gpu_name': 'GB206',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-05-19'),\n        'bus_interface': 'PCIe 5.0 x8',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 3840,\n        'streaming_multiprocessors': 30,\n        'tensor_cores': 120,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 19180,\n        'single_float_performance_gflop_s': 19180,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5060.c4219',\n    },\n    'GeForce RTX 5060 Mobile': {\n        'gpu_name': 'GB206',\n        'generation': 'GeForce 50 Mobile',\n        'architecture': 'Blackwell 2.0',\n        'release_date': date.fromisoformat('2025-05-20'),\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 3328,\n        'streaming_multiprocessors': 26,\n        'tensor_cores': 104,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 9684,\n        'single_float_performance_gflop_s': 9684,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5060-mobile.c4230',\n    },\n    'GeForce RTX 5080 SUPER': {\n        'gpu_name': 'GB203',\n        'generation': 'GeForce 50',\n        'architecture': 'Blackwell 2.0',\n        'release_date': None,\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 10752,\n        'streaming_multiprocessors': 84,\n        'tensor_cores': 336,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 56280,\n        'single_float_performance_gflop_s': 56280,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/geforce-rtx-5080-super.c4302',\n    },\n    'RTX PRO 1000 Blackwell Mobile': {\n        'gpu_name': 'GB207',\n        'generation': 'Blackwell-MW',\n        'architecture': 'Blackwell 2.0',\n        'release_date': None,\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 2560,\n        'streaming_multiprocessors': 20,\n        'tensor_cores': 80,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 12900,\n        'single_float_performance_gflop_s': 12900,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-1000-blackwell-mobile.c4284',\n    },\n    'RTX PRO 2000 Blackwell Mobile': {\n        'gpu_name': 'GB206',\n        'generation': 'Blackwell-MW',\n        'architecture': 'Blackwell 2.0',\n        'release_date': None,\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 8,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 3328,\n        'streaming_multiprocessors': 26,\n        'tensor_cores': 104,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 9684,\n        'single_float_performance_gflop_s': 9684,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-2000-blackwell-mobile.c4283',\n    },\n    'RTX PRO 3000 Blackwell Mobile': {\n        'gpu_name': 'GB205',\n        'generation': 'Blackwell-MW',\n        'architecture': 'Blackwell 2.0',\n        'release_date': None,\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 12,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 5888,\n        'streaming_multiprocessors': 46,\n        'tensor_cores': 184,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 17040,\n        'single_float_performance_gflop_s': 17040,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-3000-blackwell-mobile.c4282',\n    },\n    'RTX PRO 4000 Blackwell Mobile': {\n        'gpu_name': 'GB203',\n        'generation': 'Blackwell-MW',\n        'architecture': 'Blackwell 2.0',\n        'release_date': None,\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 16,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 7680,\n        'streaming_multiprocessors': 60,\n        'tensor_cores': 240,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 23040,\n        'single_float_performance_gflop_s': 23040,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-4000-blackwell-mobile.c4281',\n    },\n    'RTX PRO 500 Blackwell Mobile': {\n        'gpu_name': 'GB207',\n        'generation': 'Blackwell-MW',\n        'architecture': 'Blackwell 2.0',\n        'release_date': None,\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 6,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 1792,\n        'streaming_multiprocessors': 14,\n        'tensor_cores': 56,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 9032,\n        'single_float_performance_gflop_s': 9032,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-500-blackwell-mobile.c4285',\n    },\n    'RTX PRO 5000 Blackwell Mobile': {\n        'gpu_name': 'GB203',\n        'generation': 'Blackwell-MW',\n        'architecture': 'Blackwell 2.0',\n        'release_date': None,\n        'bus_interface': 'PCIe 5.0 x16',\n        'memory_size_gb': 24,\n        'memory_type': 'GDDR7',\n        'cuda_cores': 10496,\n        'streaming_multiprocessors': 82,\n        'tensor_cores': 328,\n        'cuda_major_version': 12,\n        'cuda_minor_version': 0,\n        'half_float_performance_gflop_s': 31800,\n        'single_float_performance_gflop_s': 31800,\n        'tpu_url': 'https://www.techpowerup.com/gpu-specs/rtx-pro-5000-blackwell-mobile.c4280',\n    },\n}\n"
  },
  {
    "path": "charts/models_chat.py",
    "content": "import matplotlib.pyplot as plt\r\nfrom matplotlib.patches import Patch\r\nfrom matplotlib.colors import LinearSegmentedColormap\r\nimport pandas as pd\r\n\r\nfrom core.constants import CHAT_MODELS\r\n\r\n\r\ndef create_chat_models_comparison_plot():\r\n    model_categories = {\r\n        \"coding\": {\r\n            \"models\": [\r\n                \"Seed Coder - 8b\"\r\n            ],\r\n            \"color\": \"#DAA520\",\r\n            \"label\": \"Coding Focused\"\r\n        },\r\n        \"thinking\": {\r\n            \"models\": [\r\n                \"Qwen 3 - 0.6b\",\r\n                \"Qwen 3 - 1.7b\",\r\n                \"Qwen 3 - 4b\",\r\n                \"Qwen 3 - 8b\",\r\n                \"Deepseek R1 - 8b\",\r\n                \"GLM4-Z1 - 9b\",\r\n                \"Qwen 3 - 14b\",\r\n                \"Qwen 3 - 32b\",\r\n                \"GLM4-Z1 - 32b\",\r\n            ],\r\n            \"color\": \"#CC5500\",\r\n\r\n            \"label\": \"Thinking\"\r\n        },\r\n        \"coding_and_thinking\": {\r\n            \"models\": [\r\n            ],\r\n            \"color\": \"#8B0000\",\r\n\r\n            \"label\": \"Coding Focused and Thinking\"\r\n        }\r\n    }\r\n\r\n    df = pd.DataFrame([\r\n        {\"model\": model, \"cps\": data[\"cps\"], \"vram\": data[\"vram\"] / 1024}\r\n        for model, data in CHAT_MODELS.items()\r\n    ])\r\n    df = df.sort_values(by=\"vram\")\r\n\r\n    plt.rcParams['font.family'] = 'Arial'\r\n\r\n    fig, ax1 = plt.subplots(figsize=(12, 6))\r\n    fig.patch.set_facecolor('#2e2e2e')\r\n    ax1.set_facecolor('#2e2e2e')\r\n\r\n    ax1.set_title(\"BitsAndBytes (4-bit) - RTX 4090\", fontsize=14, color='white', pad=5)\r\n\r\n    ax2 = ax1.twinx()\r\n\r\n    gradient = LinearSegmentedColormap.from_list(\"\", [\"#001f4d\", \"#0066cc\"])\r\n\r\n    bars = []\r\n    for i, (index, row) in enumerate(df.iterrows()):\r\n        border_color = None\r\n        border_width = 0\r\n        for category in model_categories.values():\r\n            if row[\"model\"] in category[\"models\"]:\r\n                border_color = category[\"color\"]\r\n                border_width = 3\r\n                break\r\n\r\n        bar = ax1.bar(i, row[\"vram\"], color=gradient(i/len(df)), alpha=0.7, \r\n                      edgecolor=border_color, linewidth=border_width)\r\n        bars.append(bar[0])\r\n\r\n    ax1.bar(0, 0, color='none', label=\"VRAM Usage\")\r\n\r\n    ax1.set_xlabel(\"Model\", color=\"white\")\r\n    ax1.set_ylabel(\"Average VRAM Usage (GB)\", color=\"white\", fontsize=14)\r\n    ax1.tick_params(axis=\"y\", labelcolor=\"white\", colors=\"white\")\r\n    ax1.tick_params(axis=\"x\", labelcolor=\"white\", colors=\"white\", rotation=45)\r\n\r\n    ax1.grid(True, axis='y', linestyle='--', alpha=0.3, color='white')\r\n\r\n    ax1.set_xticks(range(len(df)))\r\n\r\n    model_names = df[\"model\"]\r\n    ax1.set_xticklabels(model_names, rotation=45, ha=\"right\")\r\n\r\n    for bar in bars:\r\n        yval = bar.get_height()\r\n        ax1.text(bar.get_x() + bar.get_width() / 2, yval, f'{yval:.2f}', \r\n                 verticalalignment='bottom', color='white', ha='center')\r\n\r\n    line = ax2.plot(range(len(df)), df[\"cps\"], color=\"#6699CC\", marker=\"D\", markersize=6, linewidth=2, label=\"Characters per Second\")\r\n    ax2.set_ylabel(\"Characters per Second\", color=\"white\", fontsize=14)\r\n    ax2.tick_params(axis=\"y\", labelcolor=\"white\")\r\n\r\n    for i, cps in enumerate(df[\"cps\"]):\r\n        ax2.annotate(f'{cps:.2f}', (i, cps), textcoords=\"offset points\", xytext=(0,10), ha='center', color='white', fontweight='bold')\r\n\r\n    category_patches = [Patch(facecolor='none', edgecolor=cat[\"color\"], label=cat[\"label\"], linewidth=2) \r\n                        for cat in model_categories.values()]\r\n\r\n    lines1, labels1 = ax1.get_legend_handles_labels()\r\n    lines2, labels2 = ax2.get_legend_handles_labels()\r\n    all_handles = lines1 + lines2 + category_patches\r\n    all_labels = labels1 + labels2 + [cat[\"label\"] for cat in model_categories.values()]\r\n    ax1.legend(all_handles, all_labels, loc=\"upper center\", bbox_to_anchor=(0.5, 0.95), \r\n               fancybox=True, shadow=True, ncol=len(all_handles))\r\n\r\n    fig.tight_layout()\r\n    plt.subplots_adjust(left=0.04, right=0.96, top=0.85, bottom=0.15)\r\n    \r\n    return fig\r\n\r\nif __name__ == \"__main__\":\r\n    fig = create_chat_models_comparison_plot()\r\n    plt.show()\r\n"
  },
  {
    "path": "charts/models_vector.py",
    "content": "import matplotlib.pyplot as plt\r\n\r\ndef create_vector_models_comparison_plot():\r\n    models_data = [\r\n        (\"bge-small-en-v1.5\", 529.34, 1058.68),\r\n        (\"e5-small-v2\", 542.37, 1084.74),\r\n        (\"Granite-30m-English\", 664.24, 1328.48),\r\n        (\"e5-base-v2\", 779.93, 1559.86),\r\n        (\"Granite-125m-English\", 885.93, 1771.86),\r\n        (\"bge-base-en-v1.5\", 911.93, 1823.86),\r\n        (\"e5-large-v2\", 1428.12, 2856.24),\r\n        (\"bge-large-en-v1.5\", 1512.24, 3024.48),\r\n        (\"arctic-embed-m-v2.0\", 1785.93, 3571.86),\r\n        (\"arctic-embed-l-v2.0\", 2037.93, 4075.86),\r\n        (\"Qwen3-Embedding-0.6B\", 2974.87, 5949.74),\r\n        (\"inf-retriever-v1-1.5b\", 6303.24, 12606.48),\r\n        (\"Qwen3-Embedding-4B\", 9234.05, 18468.10),\r\n        (\"Qwen3-Embedding-8B\", 15634.17, 31268.34),\r\n        (\"inf-retriever-v1-7b\", 17274.20, 34548.40),\r\n    ]\r\n\r\n    models_data.sort(key=lambda r: r[1])\r\n\r\n    names = [r[0] for r in models_data]\r\n    gpu_mb = [r[1] for r in models_data]\r\n    cpu_extra_mb = [r[2] - r[1] for r in models_data]\r\n\r\n    plt.rcParams.update({\r\n        \"figure.facecolor\": \"#2e2e2e\",\r\n        \"axes.facecolor\": \"#2e2e2e\",\r\n        \"axes.edgecolor\": \"white\",\r\n        \"axes.labelcolor\": \"white\",\r\n        \"xtick.color\": \"white\",\r\n        \"ytick.color\": \"white\",\r\n        \"text.color\": \"white\",\r\n        \"legend.edgecolor\": \"white\",\r\n    })\r\n\r\n    fig, ax = plt.subplots(figsize=(10, 8))\r\n\r\n    y_pos = range(len(names))\r\n    ax.barh(y_pos, gpu_mb, color=\"#4c78a8\", label=\"GPU – half precision (MB)\")\r\n    ax.barh(y_pos, cpu_extra_mb, left=gpu_mb,\r\n            color=\"#f58518\", alpha=0.6,\r\n            label=\"CPU – additional for float32 (MB)\")\r\n\r\n    ax.set_yticks(y_pos)\r\n    ax.set_yticklabels(names)\r\n    ax.invert_yaxis()\r\n    ax.set_xlabel(\"Memory (MB)\")\r\n    ax.set_title(\"Vector-model memory usage\\nGPU half-precision vs. CPU float32\")\r\n\r\n    legend = ax.legend(facecolor=\"#2e2e2e\", framealpha=0.8)\r\n    for text in legend.get_texts():\r\n        text.set_color(\"white\")\r\n\r\n    fig.tight_layout()\r\n    return fig\r\n"
  },
  {
    "path": "charts/models_vision.py",
    "content": "import matplotlib.pyplot as plt\r\nimport pandas as pd\r\nfrom matplotlib.colors import LinearSegmentedColormap\r\nfrom matplotlib.patches import Patch\r\n\r\ndef create_vision_models_comparison_plot():\r\n    model_categories = {\r\n        \"florence\": {\r\n            \"models\": [\r\n            ],\r\n            \"color\": \"#2E8B57\",\r\n            \"label\": \"Can run on CPU\"\r\n        },\r\n    }\r\n\r\n    data = [\r\n        {\"model\": \"GLM-4.1V-9B-Thinking\", \"cps\": 200.96, \"memory\": 9802.12},\r\n        {\"model\": \"Qwen VL - 3b\", \"cps\": 178.31, \"memory\": 6306.30},\r\n        {\"model\": \"Qwen VL - 7b\", \"cps\": 173.67, \"memory\": 9559.89},\r\n        {\"model\": \"Granite Vision - 2b\", \"cps\": 217.64, \"memory\": 4094.18},\r\n        {\"model\": \"InternVL3 - 1b\", \"cps\": 274.25, \"memory\": 2318.05},\r\n        {\"model\": \"InternVL3 - 2b\", \"cps\": 244.36, \"memory\": 3153.87},\r\n        {\"model\": \"InternVL3 - 8b\", \"cps\": 255.95, \"memory\": 8153.30},\r\n        {\"model\": \"InternVL3 - 14b\", \"cps\": 162.58, \"memory\": 12998.80},\r\n        {\"model\": \"Liquid-VL - 1.6B\", \"cps\": 437.50, \"memory\": 1396.00},\r\n        {\"model\": \"Liquid-VL - 450m\", \"cps\": 497.64, \"memory\": 497.64},\r\n    ]\r\n\r\n    df = pd.DataFrame(data)\r\n    df[\"memory\"] = df[\"memory\"] / 1024\r\n    df = df.sort_values(by=\"memory\")\r\n\r\n    fig, ax1 = plt.subplots(figsize=(10, 5))\r\n    fig.patch.set_facecolor('#2e2e2e')\r\n    ax1.set_facecolor('#2e2e2e')\r\n    ax1.set_title(\"Model Comparison - Memory Usage vs Characters per Second\", fontsize=16, color='white', pad=10)\r\n\r\n    ax2 = ax1.twinx()\r\n    gradient = LinearSegmentedColormap.from_list(\"\", [\"#003328\", \"#004D40\"])\r\n\r\n    bars = []\r\n    for i, (index, row) in enumerate(df.iterrows()):\r\n        border_color = None\r\n        border_width = 0\r\n        for category in model_categories.values():\r\n            if row[\"model\"] in category[\"models\"]:\r\n                border_color = category[\"color\"]\r\n                border_width = 3\r\n                break\r\n\r\n        bar = ax1.bar(i, row[\"memory\"], color=gradient(i/len(df)), alpha=0.7, \r\n                      edgecolor=border_color, linewidth=border_width)\r\n        bars.append(bar[0])\r\n\r\n    ax1.bar(0, 0, color=gradient(0.5), alpha=0.7, label=\"Memory Usage\")\r\n\r\n    ax1.set_xlabel(\"Model\", color=\"white\")\r\n    ax1.set_ylabel(\"Memory Usage (GB)\", color=\"white\", fontsize=14)\r\n    ax1.tick_params(axis=\"y\", labelcolor=\"white\", colors=\"white\")\r\n    ax1.tick_params(axis=\"x\", labelcolor=\"white\", colors=\"white\", rotation=45)\r\n\r\n    ax1.set_xticks(range(len(df)))\r\n    ax1.set_xticklabels(df[\"model\"], rotation=45, ha=\"right\")\r\n\r\n    for bar in bars:\r\n        yval = bar.get_height()\r\n        ax1.text(bar.get_x() + bar.get_width()/2, yval, f'{yval:.2f}', verticalalignment='bottom', color='white', ha='center')\r\n\r\n    ax1.grid(True, linestyle='--', alpha=0.1, color='white')\r\n\r\n    line = ax2.plot(range(len(df)), df[\"cps\"], color=\"#5F9EA0\", marker=\"o\", label='Characters per Second (cps)')\r\n    ax2.set_ylabel(\"Characters per Second\", color=\"white\", fontsize=14)\r\n    ax2.tick_params(axis=\"y\", labelcolor=\"white\")\r\n\r\n    for i, cps in enumerate(df[\"cps\"]):\r\n        ax2.text(i, cps, f'{cps:.2f}', ha='center', va='bottom', color='white')\r\n\r\n    lines1, labels1 = ax1.get_legend_handles_labels()\r\n    lines2, labels2 = ax2.get_legend_handles_labels()\r\n    category_patches = [Patch(facecolor='none', edgecolor=cat[\"color\"], label=cat[\"label\"], linewidth=2) \r\n                       for cat in model_categories.values()]\r\n    all_handles = lines1 + lines2 + category_patches\r\n    all_labels = labels1 + labels2 + [cat[\"label\"] for cat in model_categories.values()]\r\n\r\n    ax1.legend(all_handles, all_labels, loc='upper center', \r\n              fancybox=True, shadow=True, ncol=len(all_handles),\r\n              facecolor='#2e2e2e', edgecolor='white', labelcolor='white')\r\n\r\n    fig.tight_layout()\r\n    plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.25)\r\n\r\n    return fig\r\n\r\nif __name__ == \"__main__\":\r\n    fig = create_vision_models_comparison_plot()\r\n    plt.show()\r\n"
  },
  {
    "path": "chat/__init__.py",
    "content": ""
  },
  {
    "path": "chat/base.py",
    "content": "import yaml\r\nimport logging\r\nimport gc\r\nfrom copy import deepcopy\r\nimport functools\r\nimport copy\r\nfrom pathlib import Path\r\nimport torch\r\nfrom transformers import (\r\n    AutoTokenizer,\r\n    AutoModelForCausalLM,\r\n    TextIteratorStreamer,\r\n    BitsAndBytesConfig,\r\n    StoppingCriteria,\r\n    StoppingCriteriaList\r\n)\r\nimport threading\r\nfrom abc import ABC, abstractmethod\r\nimport builtins\r\nfrom contextlib import contextmanager\r\nfrom huggingface_hub import HfApi\r\n\r\nfrom PySide6.QtCore import Signal, QObject\r\n\r\nfrom core.constants import CHAT_MODELS, system_message, rag_string, GLM4Z1_CHAT_TEMPLATE, PROJECT_ROOT\r\nfrom core.utilities import my_cprint, has_bfloat16_support, format_citations\r\n\r\nlogging.getLogger(\"transformers\").setLevel(logging.ERROR)\r\n\r\nmetadata_output_file_path = PROJECT_ROOT / \"metadata.txt\"\r\n\r\nclass ChatSignals(QObject):\r\n    response_signal = Signal(str)\r\n    error_signal = Signal(str)\r\n    finished_signal = Signal()\r\n    citations_signal = Signal(str)\r\n\r\ndef load_chat_config():\r\n    with open(PROJECT_ROOT / 'config.yaml', 'r', encoding='utf-8') as f:\r\n        return yaml.safe_load(f)\r\n\r\ndef save_metadata(metadata_list):\r\n    with metadata_output_file_path.open('w', encoding='utf-8') as f:\r\n        for m in metadata_list:\r\n            f.write(f\"{m}\\n\")\r\n\r\ndef build_augmented_query(contexts, query):\r\n    return f\"{rag_string}\\n\\n---\\n\\n\" + \"\\n\\n---\\n\\n\".join(contexts) + f\"\\n\\n-----\\n\\n{query}\"\r\n\r\ndef cleanup_gpu():\r\n    if torch.cuda.is_available():\r\n        torch.cuda.empty_cache()\r\n    gc.collect()\r\n\r\n@contextmanager\r\ndef utf8_file_operations():\r\n    original_open = builtins.open\r\n    \r\n    def utf8_open(path, *args, **kwargs):\r\n        if 'encoding' not in kwargs:\r\n            kwargs['encoding'] = 'utf-8'\r\n        return original_open(path, *args, **kwargs)\r\n\r\n    builtins.open = utf8_open\r\n    try:\r\n        yield\r\n    finally:\r\n        builtins.open = original_open\r\n\r\ndef _configure_device_settings(settings, model_info):\r\n    device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\r\n    settings.setdefault('tokenizer_settings', {})\r\n    settings.setdefault('model_settings', {})\r\n\r\n    if device == \"cuda\":\r\n        native = model_info.get(\"precision\")\r\n        if native in (\"float32\", \"bfloat16\"):\r\n            dtype = torch.bfloat16 if has_bfloat16_support() else torch.float16\r\n        else:\r\n            dtype = torch.float16\r\n        settings['tokenizer_settings']['torch_dtype'] = dtype\r\n        settings['model_settings']['torch_dtype'] = dtype\r\n        qc = settings['model_settings'].get(\"quantization_config\")\r\n        if qc is not None:\r\n            qc.bnb_4bit_compute_dtype = dtype\r\n    else:\r\n        settings['model_settings'].pop('quantization_config', None)\r\n        settings['model_settings']['device_map'] = \"cpu\"\r\n\r\n    return device\r\n\r\ndef get_max_length(model_name):\r\n    if model_name in CHAT_MODELS:\r\n        return CHAT_MODELS[model_name].get('max_tokens', 8192)\r\n    return 8192\r\n\r\ndef get_max_new_tokens(model_name):\r\n    if model_name in CHAT_MODELS:\r\n        return CHAT_MODELS[model_name].get('max_new_tokens', 1024)\r\n    return 1024\r\n\r\ndef get_generation_settings(max_length, max_new_tokens):\r\n    return {\r\n        'max_length': max_length,\r\n        'max_new_tokens': max_new_tokens,\r\n        'do_sample': False,\r\n        'num_beams': 1,\r\n        'use_cache': True,\r\n        'temperature': None,\r\n        'top_p': None,\r\n        'top_k': None,\r\n    }\r\n\r\ndef make_bnb_settings(dtype):\r\n    return {\r\n        'tokenizer_settings': {'torch_dtype': dtype},\r\n        'model_settings': {\r\n            'torch_dtype': dtype,\r\n            'quantization_config': BitsAndBytesConfig(\r\n                load_in_4bit=True,\r\n                bnb_4bit_compute_dtype=dtype,\r\n                bnb_4bit_quant_type=\"nf4\",\r\n                bnb_4bit_use_double_quant=True,\r\n            ),\r\n            'low_cpu_mem_usage': True,\r\n        }\r\n    }\r\n\r\nbnb_bfloat16_settings = make_bnb_settings(torch.bfloat16)\r\nbnb_float16_settings = make_bnb_settings(torch.float16)\r\n\r\n@functools.lru_cache(maxsize=1)\r\ndef get_hf_token():\r\n    config_path = Path(\"config.yaml\")\r\n    if config_path.exists():\r\n        with open(config_path, 'r') as config_file:\r\n            config = yaml.safe_load(config_file)\r\n            return config.get('hf_access_token')\r\n    return None\r\n\r\n\r\ndef check_if_model_is_gated(repo_id, hf_token):\r\n    try:\r\n        api = HfApi(token=False)\r\n        repo_info = api.repo_info(repo_id, token=False)\r\n        return getattr(repo_info, 'gated', False)\r\n    except Exception:\r\n        if hf_token:\r\n            try:\r\n                api_with_token = HfApi(token=hf_token)\r\n                repo_info = api_with_token.repo_info(repo_id)\r\n                return getattr(repo_info, 'gated', False)\r\n            except Exception:\r\n                return False\r\n        return False\r\n\r\n\r\nclass _StopOnToken(StoppingCriteria):\r\n    def __init__(self, stop_ids):\r\n        self.stop_ids = set(stop_ids)\r\n\r\n    def __call__(self, input_ids, scores, **kwargs):\r\n        return input_ids[0, -1].item() in self.stop_ids\r\n\r\n\r\n\r\nclass BaseModel(ABC):\r\n    def __init__(self, model_info, settings, generation_settings, attn_implementation=None, tokenizer_kwargs=None, model_kwargs=None):\r\n        if attn_implementation:\r\n            settings = copy.deepcopy(settings)\r\n        self.model_info = model_info\r\n        self.settings = settings\r\n        self.model_name = model_info['model']\r\n        self.generation_settings = generation_settings\r\n        self.max_length = generation_settings['max_length']\r\n\r\n        self.device = _configure_device_settings(self.settings, self.model_info)\r\n\r\n        script_dir = PROJECT_ROOT\r\n        cache_dir = script_dir / \"Models\" / \"chat\" / self.model_info['cache_dir']\r\n\r\n        hf_token = get_hf_token()\r\n        \r\n        is_gated = self.model_info.get('gated', False)\r\n        if not is_gated:\r\n            is_gated = check_if_model_is_gated(model_info['repo_id'], hf_token)\r\n\r\n        tokenizer_settings = {\r\n            **self.settings.get('tokenizer_settings', {}), \r\n            'cache_dir': str(cache_dir)\r\n        }\r\n        if tokenizer_kwargs:\r\n            tokenizer_settings.update(tokenizer_kwargs)\r\n        if is_gated and hf_token:\r\n            tokenizer_settings['token'] = hf_token\r\n        elif not is_gated:\r\n            tokenizer_settings['token'] = False\r\n\r\n        with utf8_file_operations():\r\n            self.tokenizer = AutoTokenizer.from_pretrained(model_info['repo_id'], **tokenizer_settings)\r\n\r\n        if tokenizer_kwargs and 'eos_token' in tokenizer_kwargs:\r\n            self.tokenizer.eos_token = tokenizer_kwargs['eos_token']\r\n\r\n        model_settings = {\r\n            **self.settings.get('model_settings', {}), \r\n            'cache_dir': str(cache_dir)\r\n        }\r\n        if model_kwargs:\r\n            model_settings.update(model_kwargs)\r\n\r\n        if is_gated and hf_token:\r\n            model_settings['token'] = hf_token\r\n        elif not is_gated:\r\n            model_settings['token'] = False\r\n\r\n        self.model = AutoModelForCausalLM.from_pretrained(model_info['repo_id'], **model_settings)\r\n        self.model.eval()\r\n\r\n        config = self.model.config\r\n        model_dtype = next(self.model.parameters()).dtype\r\n        my_cprint(f\"Loaded {model_info['model']} ({model_dtype}) on {self.device} using {config._attn_implementation}\", \"green\")\r\n\r\n    def get_model_name(self):\r\n        return self.model_name\r\n\r\n    @abstractmethod\r\n    def create_prompt(self, augmented_query):\r\n        pass\r\n\r\n    def create_inputs(self, prompt):\r\n        inputs = self.tokenizer(prompt, return_tensors=\"pt\", return_attention_mask=True)\r\n\r\n        if inputs['input_ids'].size(1) > self.max_length:\r\n            raise ValueError(f\"Input prompt is too long ({inputs['input_ids'].size(1)} tokens). Maximum length is {self.max_length} tokens.\")\r\n\r\n        inputs = {k: v.to(self.device) for k, v in inputs.items()}\r\n        return inputs\r\n\r\n    @torch.inference_mode()\r\n    def generate_response(self, inputs, remove_token_type_ids=False):\r\n        if remove_token_type_ids:\r\n            inputs.pop('token_type_ids', None)\r\n\r\n        streamer = TextIteratorStreamer(self.tokenizer, skip_prompt=True, skip_special_tokens=True)\r\n\r\n        eos_token_id = self.tokenizer.eos_token_id\r\n\r\n        all_settings = {**inputs, **self.generation_settings, 'streamer': streamer, 'eos_token_id': eos_token_id}\r\n\r\n        generation_thread = threading.Thread(target=self.model.generate, kwargs=all_settings)\r\n        generation_thread.start()\r\n\r\n        for partial_response in streamer:\r\n            yield partial_response\r\n\r\n        generation_thread.join()\r\n\r\n    def cleanup(self):\r\n        if hasattr(self, 'model'):\r\n            del self.model\r\n        if hasattr(self, 'tokenizer'):\r\n            del self.tokenizer\r\n        torch.cuda.empty_cache()\r\n        gc.collect()\r\n\r\n    def switch_model(self, new_model_class):\r\n        self.cleanup()\r\n        return new_model_class()\r\n\r\n    @staticmethod\r\n    def free_torch_memory(model, tokenizer):\r\n        del model\r\n        del tokenizer\r\n        torch.cuda.empty_cache()\r\n        gc.collect()\r\n\r\n\r\nclass LiquidAI(BaseModel):\r\n    def __init__(self, generation_settings, model_name):\r\n        model_info = CHAT_MODELS[model_name]\r\n\r\n        if torch.cuda.is_available():\r\n            settings = copy.deepcopy(bnb_bfloat16_settings)\r\n            settings['model_settings']['attn_implementation'] = \"sdpa\"\r\n        else:\r\n            settings = {\r\n                'tokenizer_settings': {\r\n                    'torch_dtype': torch.float32,\r\n                },\r\n                'model_settings': {\r\n                    'torch_dtype': torch.float32,\r\n                    'device_map': 'cpu',\r\n                }\r\n            }\r\n\r\n        super().__init__(model_info, settings, generation_settings)\r\n\r\n        if self.tokenizer.pad_token_id is None and self.tokenizer.eos_token_id is not None:\r\n            self.tokenizer.pad_token_id = self.tokenizer.eos_token_id\r\n\r\n    def create_prompt(self, augmented_query):\r\n        return f\"\"\"<|startoftext|><|im_start|>system\r\n{system_message}<|im_end|>\r\n<|im_start|>user\r\n{augmented_query}<|im_end|>\r\n<|im_start|>assistant\r\n\"\"\"\r\n\r\n    def create_inputs(self, prompt):\r\n        inputs = self.tokenizer(\r\n            prompt,\r\n            return_tensors=\"pt\",\r\n            return_attention_mask=True,\r\n            return_token_type_ids=False,\r\n        )\r\n        if inputs['input_ids'].size(1) > self.max_length:\r\n            raise ValueError(\r\n                f\"Input prompt is too long ({inputs['input_ids'].size(1)} tokens). \"\r\n                f\"Maximum length is {self.max_length} tokens.\"\r\n            )\r\n        return {k: v.to(self.device) for k, v in inputs.items()}\r\n\r\n    @torch.inference_mode()\r\n    def generate_response(self, inputs, remove_token_type_ids: bool = False):\r\n        inputs.pop('token_type_ids', None)\r\n\r\n        streamer = TextIteratorStreamer(\r\n            self.tokenizer,\r\n            skip_prompt=True,\r\n            skip_special_tokens=True\r\n        )\r\n\r\n        all_settings = {\r\n            **inputs,\r\n            **self.generation_settings,\r\n            \"streamer\": streamer,\r\n            \"eos_token_id\": self.tokenizer.eos_token_id,\r\n            \"pad_token_id\": self.tokenizer.pad_token_id,\r\n        }\r\n\r\n        gen_thread = threading.Thread(target=self.model.generate, kwargs=all_settings, daemon=True)\r\n        gen_thread.start()\r\n\r\n        for chunk in streamer:\r\n            yield chunk\r\n\r\n        gen_thread.join()\r\n\r\n\r\nclass Granite(BaseModel):\r\n    def __init__(self, generation_settings, model_name):\r\n        model_info = CHAT_MODELS[model_name]\r\n\r\n        if '2b' in model_name.lower() and not torch.cuda.is_available():\r\n            settings = {}\r\n        else:\r\n            settings = bnb_bfloat16_settings\r\n\r\n        super().__init__(model_info, settings, generation_settings)\r\n\r\n    def create_prompt(self, augmented_query):\r\n        return f\"\"\"<|start_of_role|>system<|end_of_role|>{system_message}<|end_of_text|>\r\n<|start_of_role|>user<|end_of_role|>{augmented_query}<|end_of_text|>\r\n<|start_of_role|>assistant<|end_of_role|>\"\"\"\r\n\r\n\r\nclass Exaone(BaseModel):\r\n    def __init__(self, generation_settings, model_name):\r\n        model_info = CHAT_MODELS[model_name]\r\n\r\n        settings = copy.deepcopy(bnb_bfloat16_settings)\r\n        settings['tokenizer_settings']['trust_remote_code'] = True\r\n        settings['model_settings']['trust_remote_code'] = True\r\n\r\n        if '2.4b' in model_name.lower() and not torch.cuda.is_available():\r\n            settings = {\r\n                'tokenizer_settings': {'trust_remote_code': True},\r\n                'model_settings': {'trust_remote_code': True}\r\n            }\r\n\r\n        super().__init__(model_info, settings, generation_settings)\r\n\r\n    def create_prompt(self, augmented_query):\r\n        return f\"\"\"[|system|]{system_message}[|endofturn|]\r\n[|user|]{augmented_query}\r\n[|assistant|]\"\"\"\r\n\r\n\r\nclass Qwen(BaseModel):\r\n    def __init__(self, generation_settings, model_name):\r\n        model_info = CHAT_MODELS[model_name]\r\n        \r\n        is_small_model = (\r\n            '1.7b' in model_name.lower() or \r\n            '0.6b' in model_name.lower()\r\n        )\r\n        no_cuda = not torch.cuda.is_available()\r\n        \r\n        if is_small_model and no_cuda:\r\n            settings = {}\r\n        else:\r\n            settings = bnb_bfloat16_settings\r\n\r\n        super().__init__(model_info, settings, generation_settings)\r\n\r\n    def create_prompt(self, augmented_query):\r\n        return f\"\"\"<|im_start|>system\r\n{system_message}<|im_end|>\r\n<|im_start|>user\r\n{augmented_query}<|im_end|>\r\n<|im_start|>assistant\r\n\"\"\"\r\n\r\n\r\nclass Mistral_Small_24b(BaseModel):\r\n    def __init__(self, generation_settings, model_name=None):\r\n        model_info = CHAT_MODELS[model_name]\r\n        super().__init__(model_info, bnb_bfloat16_settings, generation_settings)\r\n\r\n    def create_prompt(self, augmented_query):\r\n        return f\"\"\"<s>\r\n\r\n[SYSTEM_PROMPT]{system_message}[/SYSTEM_PROMPT]\r\n\r\n[INST]{augmented_query}[/INST]\"\"\"\r\n\r\n\r\nclass DeepseekR1(BaseModel):\r\n    def __init__(self, generation_settings: dict, model_name: str):\r\n        model_info = CHAT_MODELS[model_name]\r\n\r\n        settings = deepcopy(bnb_bfloat16_settings)\r\n        settings[\"tokenizer_settings\"][\"trust_remote_code\"] = True\r\n        settings[\"model_settings\"][\"trust_remote_code\"] = True\r\n\r\n        custom_generation_settings = {\r\n            \"max_length\": generation_settings[\"max_length\"],\r\n            \"max_new_tokens\": generation_settings[\"max_new_tokens\"],\r\n            \"do_sample\": True,\r\n            \"temperature\": 0.6,\r\n            \"top_p\": 0.95,\r\n            \"top_k\": 40,\r\n            \"num_beams\": 1,\r\n            \"use_cache\": True\r\n        }\r\n\r\n        tokenizer_kwargs = {\r\n            \"trust_remote_code\": True,\r\n        }\r\n\r\n        super().__init__(\r\n            model_info,\r\n            settings,\r\n            custom_generation_settings,\r\n            attn_implementation=None,\r\n            tokenizer_kwargs=tokenizer_kwargs\r\n        )\r\n\r\n        self.generation_settings[\"pad_token_id\"] = self.tokenizer.eos_token_id\r\n\r\n    def create_prompt(self, augmented_query: str) -> str:\r\n        return f\"\"\"<｜begin_of_sentence｜>{system_message}<｜User｜>{augmented_query}<｜Assistant｜>\"\"\"\r\n\r\n    @torch.inference_mode()\r\n    def generate_response(self, inputs, remove_token_type_ids: bool = False):\r\n        yield from super().generate_response(inputs, remove_token_type_ids)\r\n\r\n\r\nclass GLM4Z1(BaseModel):\r\n    def __init__(self, generation_settings: dict, model_name: str):\r\n        model_info = CHAT_MODELS[model_name]\r\n\r\n        settings = deepcopy(bnb_bfloat16_settings)\r\n        settings[\"tokenizer_settings\"][\"trust_remote_code\"] = True\r\n        settings[\"model_settings\"][\"trust_remote_code\"] = True\r\n        settings[\"model_settings\"][\"attn_implementation\"] = \"sdpa\"\r\n\r\n        custom_generation_settings = {\r\n            \"max_length\": generation_settings[\"max_length\"],\r\n            \"max_new_tokens\": generation_settings[\"max_new_tokens\"],\r\n            \"do_sample\": True,\r\n            \"temperature\": 0.6,\r\n            \"top_p\": 0.95,\r\n            \"top_k\": 40,\r\n            \"num_beams\": 1,\r\n            \"use_cache\": True\r\n        }\r\n\r\n        tokenizer_kwargs = {\r\n            \"trust_remote_code\": True,\r\n            \"chat_template\": GLM4Z1_CHAT_TEMPLATE\r\n        }\r\n\r\n        super().__init__(\r\n            model_info,\r\n            settings,\r\n            custom_generation_settings,\r\n            attn_implementation=None,\r\n            tokenizer_kwargs=tokenizer_kwargs\r\n        )\r\n\r\n        self.generation_settings[\"pad_token_id\"] = self.tokenizer.eos_token_id\r\n\r\n    def create_prompt(self, augmented_query: str) -> str:\r\n        return f\"\"\"[gMASK]<sop><|system|>\r\n{system_message}<|user|>\r\n{augmented_query}<|assistant|>\r\n<think>\"\"\"\r\n\r\n    @torch.inference_mode()\r\n    def generate_response(self, inputs, remove_token_type_ids: bool = False):\r\n        if remove_token_type_ids:\r\n            inputs.pop(\"token_type_ids\", None)\r\n\r\n        settings = {**inputs, **self.generation_settings}\r\n        generated = self.model.generate(**settings)\r\n        text = self.tokenizer.decode(generated[0], skip_special_tokens=True)\r\n        idx = text.rfind(\"</think>\") + len(\"</think>\")\r\n        yield text[idx:].strip()\r\n\r\n\r\nclass SeedCoder(BaseModel):\r\n    def __init__(self, generation_settings, model_name=None):\r\n        model_info = CHAT_MODELS[model_name]\r\n        super().__init__(model_info, bnb_bfloat16_settings, generation_settings)\r\n\r\n    def create_prompt(self, augmented_query):\r\n        return f\"\"\"<[begin_of_sentence]>system\r\n{system_message}\r\n\r\n<[end_of_sentence]><[begin_of_sentence]>user\r\n{augmented_query}<[begin_of_sentence]>assistant\r\n\"\"\"\r\n\r\n    @torch.inference_mode()\r\n    def generate_response(self, inputs):\r\n        inputs.pop(\"token_type_ids\", None)\r\n        yield from super().generate_response(inputs)\r\n\r\n\r\nclass Phi4(BaseModel):\r\n    def __init__(self, generation_settings: dict, model_name: str):\r\n        model_info = CHAT_MODELS[model_name]\r\n\r\n        settings = copy.deepcopy(bnb_bfloat16_settings)\r\n        settings[\"model_settings\"][\"attn_implementation\"] = \"sdpa\"\r\n        settings[\"model_settings\"][\"device_map\"] = \"auto\"\r\n\r\n        if not torch.cuda.is_available():\r\n            settings = {\"tokenizer_settings\": {}, \"model_settings\": {\"device_map\": \"cpu\"}}\r\n\r\n        super().__init__(model_info, settings, generation_settings)\r\n\r\n        self.generation_settings[\"pad_token_id\"] = self.tokenizer.eos_token_id\r\n\r\n    def create_prompt(self, augmented_query: str) -> str:\r\n        return (\r\n            f\"<|system|>{system_message}<|end|>\"\r\n            f\"<|user|>{augmented_query}<|end|><|assistant|>\"\r\n        )\r\n\r\n    @torch.inference_mode()\r\n    def generate_response(self, inputs, remove_token_type_ids: bool = False):\r\n        if remove_token_type_ids:\r\n            inputs.pop(\"token_type_ids\", None)\r\n\r\n        eos_id   = self.tokenizer.eos_token_id\r\n        user_id  = self.tokenizer.convert_tokens_to_ids(\"<|user|>\")\r\n        assist_id = self.tokenizer.convert_tokens_to_ids(\"<|assistant|>\")\r\n\r\n        stop_criteria = StoppingCriteriaList([_StopOnToken({user_id, eos_id})])\r\n\r\n        streamer = TextIteratorStreamer(\r\n            self.tokenizer,\r\n            skip_prompt=True,\r\n            skip_special_tokens=False\r\n        )\r\n\r\n        gen_thread = threading.Thread(\r\n            target=self.model.generate,\r\n            kwargs={**inputs,\r\n                    **self.generation_settings,\r\n                    \"streamer\": streamer,\r\n                    \"eos_token_id\": eos_id,\r\n                    \"pad_token_id\": eos_id,\r\n                    \"stopping_criteria\": stop_criteria},\r\n            daemon=True\r\n        )\r\n        gen_thread.start()\r\n\r\n        buffer, sent = \"\", 0\r\n        ASSIST, USER, END = \"<|assistant|>\", \"<|user|>\", \"<|end|>\"\r\n\r\n        for chunk in streamer:\r\n            buffer += chunk\r\n\r\n            if ASSIST in buffer:\r\n                buffer = buffer.split(ASSIST)[-1]\r\n\r\n            for tag in (USER, END):\r\n                cut = buffer.find(tag)\r\n                if cut != -1:\r\n                    buffer = buffer[:cut]\r\n                    streamer.break_on_eos = True\r\n\r\n            clean = buffer.replace(ASSIST, \"\").replace(USER, \"\").replace(END, \"\")\r\n\r\n            if len(clean) > sent:\r\n                yield clean[sent:]\r\n                sent = len(clean)\r\n\r\n        gen_thread.join()\r\n\r\ndef generate_response(model_instance, augmented_query):\r\n    prompt = model_instance.create_prompt(augmented_query)\r\n    inputs = model_instance.create_inputs(prompt)\r\n    for partial_response in model_instance.generate_response(inputs):\r\n        yield partial_response\r\n\r\ndef choose_model(model_name):\r\n    if model_name in CHAT_MODELS:\r\n        model_class_name = CHAT_MODELS[model_name]['function']\r\n        model_class = globals()[model_class_name]\r\n\r\n        max_length = get_max_length(model_name)\r\n        max_new_tokens = get_max_new_tokens(model_name)\r\n        generation_settings = get_generation_settings(max_length, max_new_tokens)\r\n\r\n        return model_class(generation_settings, model_name)\r\n    else:\r\n        raise ValueError(f\"Unknown model: {model_name}\")\r\n"
  },
  {
    "path": "chat/jeeves.py",
    "content": "import sys\r\nimport os\r\nos.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'\r\nfrom pathlib import Path\r\n\r\nfrom core.utilities import set_cuda_paths\r\nset_cuda_paths()\r\n\r\nimport yaml\r\nfrom core.utilities import ensure_theme_config, load_stylesheet\r\n\r\nfrom ctypes import windll, byref, sizeof, c_int\r\nfrom ctypes.wintypes import BOOL, HWND, DWORD\r\nimport psutil\r\nimport ctranslate2\r\nimport gc\r\nimport torch\r\nimport re\r\nfrom transformers import AutoTokenizer\r\nfrom sentence_transformers import SentenceTransformer\r\nimport numpy as np\r\nfrom PySide6.QtWidgets import (\r\n    QMainWindow, QWidget, QVBoxLayout, QTextEdit, \r\n    QLineEdit, QMessageBox, QPushButton, QLabel,\r\n    QHBoxLayout, QSizePolicy, QComboBox, QApplication\r\n)\r\nfrom PySide6.QtCore import QThread, Signal, Qt, QTimer, QObject\r\nfrom PySide6.QtGui import QTextCursor, QPixmap\r\nfrom core.constants import (\r\n    jeeves_system_message,\r\n    master_questions,\r\n    CustomButtonStyles,\r\n    rag_string,\r\n    JEEVES_MODELS,\r\n    PROJECT_ROOT,\r\n)\r\nfrom gui.download_model import ModelDownloader, model_downloaded_signal\r\nfrom db.database_interactions import get_query_db\r\nfrom modules.kokoro import KokoroTTS\r\nfrom core.utilities import normalize_chat_text\r\n\r\n\r\nclass GenerationWorker(QThread):\r\n    token_signal = Signal(str)\r\n    finished_signal = Signal()\r\n    error_signal = Signal(str)\r\n\r\n    def __init__(self, generator, tokenizer, prompt, model_dir):\r\n        super().__init__()\r\n        self.generator = generator\r\n        self.tokenizer = tokenizer\r\n        self.prompt = prompt\r\n        self.model_dir = model_dir\r\n        self._is_running = True\r\n\r\n    def run(self):\r\n        try:\r\n            tokens = self.tokenizer.convert_ids_to_tokens(self.tokenizer.encode(self.prompt))\r\n            try:\r\n                endofturn_id = self.tokenizer.encode(\"[|endofturn|]\")[0]\r\n                use_endofturn = True\r\n            except:\r\n                use_endofturn = False\r\n\r\n            model_name = Path(self.model_dir).name.lower()\r\n            generation_params = {\r\n                \"max_length\": 2048,\r\n                \"sampling_temperature\": 6.0,\r\n            }\r\n\r\n            if \"DeepSeek-R1-Distill-Qwen-1.5B\" in model_name:\r\n                generation_params[\"repetition_penalty\"] = 1.1\r\n\r\n            token_iterator = self.generator.generate_tokens(\r\n                [tokens],\r\n                **generation_params\r\n            )\r\n\r\n            for token_result in token_iterator:\r\n                if not self._is_running:\r\n                    break\r\n\r\n                token_id = token_result.token_id\r\n                if token_id == self.tokenizer.eos_token_id:\r\n                    break\r\n                if use_endofturn and token_id == endofturn_id:\r\n                    break\r\n\r\n                token = self.tokenizer.decode([token_id])\r\n                self.token_signal.emit(token)\r\n\r\n            self.finished_signal.emit()\r\n\r\n        except Exception as e:\r\n            self.error_signal.emit(str(e))\r\n\r\n    def stop(self):\r\n        self._is_running = False\r\n\r\nclass ChatWindow(QMainWindow):\r\n    def __init__(self, parent=None):\r\n        super().__init__(parent)\r\n        self.setWindowTitle(\"Ask Jeeves (Welcome back Jeeves!)\")\r\n        self.setGeometry(100, 100, 850, 950)\r\n\r\n        central_widget = QWidget()\r\n        self.layout = QVBoxLayout(central_widget)\r\n        self.layout.setContentsMargins(0, 0, 0, 0)\r\n        self.layout.setSpacing(1)\r\n\r\n        image_path = PROJECT_ROOT / \"Assets\" / \"ask_jeeves_transparent.jpg\"\r\n        if image_path.exists():\r\n            pixmap = QPixmap(str(image_path))\r\n            if not pixmap.isNull():\r\n                image_label = QLabel()\r\n                image_label.setPixmap(pixmap.scaled(250, 250, Qt.KeepAspectRatio, Qt.SmoothTransformation))\r\n                image_label.setAlignment(Qt.AlignCenter)\r\n                self.layout.addWidget(image_label)\r\n\r\n        model_layout = QHBoxLayout()\r\n        self.model_selector = QComboBox()\r\n        self.model_selector.setFixedHeight(30)\r\n        self.model_selector.addItem(\"Please choose a model...\")\r\n\r\n        self.model_selector.addItems(list(JEEVES_MODELS.keys()))\r\n        self.model_selector.currentIndexChanged.connect(self.on_model_selected)\r\n        model_layout.addWidget(self.model_selector)\r\n\r\n        self.eject_button = QPushButton(\"Eject\")\r\n        self.eject_button.setFixedHeight(30)\r\n        self.eject_button.clicked.connect(self.eject_model)\r\n        self.eject_button.setEnabled(False)\r\n        model_layout.addWidget(self.eject_button)\r\n\r\n        self.layout.addLayout(model_layout)\r\n\r\n        self.chat_display = QTextEdit()\r\n        self.chat_display.setReadOnly(True)\r\n        self.chat_display.setPlainText(\"Hello, my name is Jeeves. Thank you for the job opportunity! Ask me how to use this program.\")\r\n        self.layout.addWidget(self.chat_display, 4)\r\n\r\n        input_row_layout = QHBoxLayout()\r\n\r\n        self.input_field = QLineEdit()\r\n        self.input_field.setFixedHeight(30)\r\n        self.input_field.setPlaceholderText(\"Type your message here...\")\r\n        self.input_field.returnPressed.connect(self.send_message)\r\n        input_row_layout.addWidget(self.input_field, stretch=4)\r\n\r\n        self.speak_button = QPushButton(\"Speak Response\")\r\n        self.speak_button.setEnabled(False)\r\n        self.speak_button.setFixedHeight(30)\r\n        self.speak_button.clicked.connect(self.toggle_speech)\r\n        self.speak_button.setStyleSheet(CustomButtonStyles.TEAL_BUTTON_STYLE)\r\n        input_row_layout.addWidget(self.speak_button)\r\n\r\n        self.voice_select = QComboBox()\r\n        self.voice_select.setEnabled(False)\r\n        self.voice_select.addItems(['bm_george', 'bm_lewis', 'bf_isabella', 'af'])\r\n        self.voice_select.setCurrentText('bm_george')\r\n        self.voice_select.setFixedHeight(30)\r\n        input_row_layout.addWidget(self.voice_select)\r\n\r\n        self.speed_control = QComboBox()\r\n        self.speed_control.setEnabled(False)\r\n        self.speed_mapping = {\r\n            'Slow': 1.0,\r\n            'Medium': 1.3,\r\n            'Fast': 1.6\r\n        }\r\n        self.speed_control.addItems(list(self.speed_mapping.keys()))\r\n        self.speed_control.setCurrentText('Medium')\r\n        self.speed_control.setFixedHeight(30)\r\n        input_row_layout.addWidget(self.speed_control)\r\n\r\n        self.layout.addLayout(input_row_layout)\r\n\r\n        self.suggestion_widget = QWidget()\r\n        self.suggestion_widget.setMinimumHeight(100)\r\n        self.suggestion_layout = QVBoxLayout(self.suggestion_widget)\r\n        self.suggestion_layout.setContentsMargins(0, 0, 0, 0)\r\n        self.suggestion_layout.setSpacing(1)\r\n\r\n        self.suggestion_buttons = []\r\n        for _ in range(3):\r\n            btn = QPushButton()\r\n            btn.setVisible(True)\r\n            btn.setStyleSheet(CustomButtonStyles.TEAL_BUTTON_STYLE)\r\n            btn.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)\r\n            btn.setMinimumSize(200, 35)\r\n            btn.clicked.connect(self.on_suggestion_clicked)\r\n            btn.setStyleSheet(\"text-align: left; padding: 1px 14px;\")\r\n            self.suggestion_buttons.append(btn)\r\n            self.suggestion_layout.addWidget(btn)\r\n\r\n        self.suggestion_layout.addStretch()\r\n        self.layout.addWidget(self.suggestion_widget)\r\n\r\n        self.setCentralWidget(central_widget)\r\n\r\n        self.model_dir = None\r\n        self.generator = None\r\n        self.tokenizer = None\r\n        self.worker = None\r\n\r\n        self.vector_db = get_query_db(\"user_manual\")\r\n        self.model = SentenceTransformer('BAAI/bge-small-en-v1.5', token=False)\r\n        self.question_embeddings = self.model.encode(master_questions)\r\n        self.suggestion_cache = {}\r\n        self.current_text = \"\"\r\n\r\n        self.timer = QTimer()\r\n        self.timer.setSingleShot(True)\r\n        self.timer.timeout.connect(self._delayed_update)\r\n\r\n        self.input_field.textChanged.connect(self.debounce_update)\r\n\r\n        try:\r\n            tts_path = PROJECT_ROOT / \"Models\" / \"tts\" / \"ctranslate2-4you--Kokoro-82M-light\"\r\n            self.tts = KokoroTTS(repo_path=str(tts_path))\r\n            self.speak_button.setEnabled(True)\r\n            self.voice_select.setEnabled(True)\r\n            self.speed_control.setEnabled(True)\r\n        except Exception:\r\n            self.tts = None\r\n\r\n        self.tts_thread = None\r\n        self.tts_worker = None\r\n        self.is_speaking = False\r\n\r\n    def _ensure_model(self) -> None:\r\n        model_dir = Path(self.model_dir)\r\n        if not (model_dir / \"model.bin\").exists():\r\n            print(\"model.bin missing – redownloading just that file …\")\r\n            self._download_model()\r\n\r\n    def eject_model(self):\r\n        if self.generator:\r\n            del self.generator\r\n            self.generator = None\r\n        if self.tokenizer:\r\n            del self.tokenizer\r\n            self.tokenizer = None\r\n        if torch.cuda.is_available():\r\n            torch.cuda.empty_cache()\r\n        \r\n        self.model_selector.setCurrentIndex(0)\r\n        self.eject_button.setEnabled(False)\r\n        gc.collect()\r\n\r\n    def toggle_speech(self):\r\n        if self.is_speaking:\r\n            self.cancel_speech()\r\n        else:\r\n            self.speak_response()\r\n\r\n    def on_model_selected(self, index):\r\n        if index == 0:\r\n            if self.generator or self.tokenizer:\r\n                self.eject_model()\r\n            return\r\n\r\n        model_name = self.model_selector.currentText()\r\n        model_info = JEEVES_MODELS[model_name]\r\n        \r\n        self.model_dir = str(PROJECT_ROOT / \"Models\" / \"Jeeves\" / model_info[\"folder_name\"])\r\n\r\n        if not Path(self.model_dir).exists():\r\n\r\n            self.model_selector.setEnabled(False)\r\n            self.input_field.setEnabled(False)\r\n            self.eject_button.setEnabled(False)\r\n\r\n            download_config = {\r\n                \"repo_id\": model_info[\"repo\"],\r\n                \"cache_dir\": model_info[\"folder_name\"]\r\n            }\r\n\r\n            self.download_worker = QThread()\r\n            self.downloader = ModelDownloader(\r\n                model_info=download_config,\r\n                model_type=\"jeeves\"\r\n            )\r\n            self.downloader.moveToThread(self.download_worker)\r\n\r\n            self.download_worker.started.connect(self.downloader.download)\r\n            model_downloaded_signal.downloaded.connect(self.on_model_downloaded)\r\n\r\n            self.download_worker.start()\r\n            return\r\n\r\n        self._load_model()\r\n\r\n    def on_model_downloaded(self, model_name, model_type):\r\n\r\n        self.model_selector.setEnabled(True)\r\n        self.input_field.setEnabled(True)\r\n\r\n        self.download_worker.quit()\r\n        self.download_worker.wait()\r\n\r\n        self._load_model()\r\n\r\n    def _load_model(self):\r\n        self._ensure_model()\r\n        physical_cores = max(1, psutil.cpu_count(logical=False) - 1)\r\n        device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\r\n\r\n        if self.generator:\r\n            del self.generator\r\n        if self.tokenizer:\r\n            del self.tokenizer\r\n        if torch.cuda.is_available():\r\n            torch.cuda.empty_cache()\r\n\r\n        self.generator = ctranslate2.Generator(\r\n            self.model_dir,\r\n            device=device,\r\n            intra_threads=physical_cores,\r\n        )\r\n        self.tokenizer = AutoTokenizer.from_pretrained(self.model_dir, token=False, trust_remote_code=True)\r\n        self.eject_button.setEnabled(True)\r\n\r\n    def showEvent(self, event):\r\n        super().showEvent(event)\r\n        self.apply_dark_mode_settings()\r\n\r\n    def apply_dark_mode_settings(self):\r\n        DWMWA_USE_IMMERSIVE_DARK_MODE = DWORD(20)\r\n        set_window_attribute = windll.dwmapi.DwmSetWindowAttribute\r\n        hwnd = HWND(int(self.winId()))\r\n        true_bool = BOOL(True)\r\n        set_window_attribute(\r\n            hwnd,\r\n            DWMWA_USE_IMMERSIVE_DARK_MODE,\r\n            byref(true_bool),\r\n            sizeof(true_bool)\r\n        )\r\n\r\n        DWMWA_BORDER_COLOR = DWORD(34)\r\n        black_color = c_int(0xFF000000)\r\n        set_window_attribute(\r\n            hwnd,\r\n            DWMWA_BORDER_COLOR,\r\n            byref(black_color),\r\n            sizeof(black_color)\r\n        )\r\n\r\n    def build_prompt(self, user_message):\r\n        model_name = self.model_selector.currentText()\r\n        prompt_format = JEEVES_MODELS[model_name][\"prompt_format\"]\r\n        return prompt_format.format(\r\n            jeeves_system_message=jeeves_system_message,\r\n            user_message=user_message\r\n        )\r\n\r\n    def send_message(self):\r\n        if not self.generator or not self.tokenizer:\r\n            QMessageBox.warning(self, \"No Model Selected\", \r\n                              \"Please select a language model before sending a message.\")\r\n            return\r\n\r\n        if self.worker and self.worker.isRunning():\r\n            return\r\n\r\n        user_message = self.input_field.text().strip()\r\n        if not user_message:\r\n            return\r\n\r\n        self.chat_display.clear()\r\n\r\n        try:\r\n            contexts, metadata = self.vector_db.search(user_message, k=5, score_threshold=0.9)\r\n            if not contexts:\r\n                QMessageBox.warning(\r\n                    self, \"No Contexts Found\",\r\n                    \"No relevant chunks were found in the user manual database for this question. \"\r\n                    \"Try rephrasing your question.\"\r\n                )\r\n                return\r\n        except Exception as e:\r\n            QMessageBox.warning(self, \"Database Query Error\", f\"An error occurred while querying the database: {e}\")\r\n            return\r\n\r\n        contexts_text = \"\\n\\n\".join(contexts)\r\n        full_context = f\"{rag_string}\\n\\n{contexts_text}\"\r\n\r\n        self.input_field.clear()\r\n        self.input_field.setDisabled(True)\r\n        self.chat_display.append(f\"User: {user_message}\")\r\n        self.chat_display.append(\"\\nAssistant: \")\r\n\r\n        prompt = self.build_prompt(user_message)\r\n        prompt = f\"{full_context}\\n\\n{prompt}\"\r\n\r\n        self.worker = GenerationWorker(self.generator, self.tokenizer, prompt, self.model_dir)\r\n        self.worker.token_signal.connect(self.update_response)\r\n        self.worker.error_signal.connect(self.show_error)\r\n        self.worker.finished_signal.connect(self.on_generation_finished)\r\n        self.worker.start()\r\n\r\n    def update_response(self, token):\r\n        cursor = self.chat_display.textCursor()\r\n        cursor.movePosition(QTextCursor.End)\r\n        self.chat_display.setTextCursor(cursor)\r\n        self.chat_display.insertPlainText(token)\r\n        self.chat_display.ensureCursorVisible()\r\n\r\n    def show_error(self, error_message):\r\n        QMessageBox.warning(self, \"Error\", f\"An error occurred: {error_message}\")\r\n        self.input_field.setDisabled(False)\r\n\r\n    def on_generation_finished(self):\r\n        self.input_field.setDisabled(False)\r\n        self.input_field.setFocus()\r\n        if self.worker:\r\n            if self.worker.isRunning():\r\n                self.worker.wait()\r\n            self.worker.deleteLater()\r\n            self.worker = None\r\n\r\n    def find_top_similar(self, input_text, top_k=5):\r\n        if not input_text.strip() or len(input_text) < 3:\r\n            return []\r\n\r\n        input_embedding = self.model.encode([input_text])[0]\r\n        similarities = np.dot(self.question_embeddings, input_embedding) / (\r\n            np.linalg.norm(self.question_embeddings, axis=1) * np.linalg.norm(input_embedding)\r\n        )\r\n\r\n        top_indices = similarities.argsort()[-top_k:][::-1]\r\n        top_similarities = similarities[top_indices]\r\n        threshold = 0.8\r\n        top_questions = [\r\n            master_questions[idx] for idx, sim in zip(top_indices, top_similarities) if sim > threshold\r\n        ]\r\n\r\n        return top_questions\r\n\r\n    def debounce_update(self, text):\r\n        self.current_text = text\r\n        self.timer.start(500)\r\n\r\n    def _delayed_update(self):\r\n        text = self.current_text\r\n        if len(text) >= 3:\r\n            suggestions = self.find_top_similar(text, top_k=3)\r\n            self.update_suggestions(suggestions)\r\n        else:\r\n            self.clear_suggestions()\r\n\r\n    def update_suggestions(self, suggestions):\r\n        for i, btn in enumerate(self.suggestion_buttons):\r\n            if i < len(suggestions):\r\n                btn.setText(suggestions[i])\r\n                btn.setEnabled(True)\r\n            else:\r\n                btn.setText(\"\")\r\n                btn.setEnabled(False)\r\n\r\n    def clear_suggestions(self):\r\n        for btn in self.suggestion_buttons:\r\n            btn.setText(\"\")\r\n            btn.setEnabled(False)\r\n\r\n    def on_suggestion_clicked(self):\r\n        sender = self.sender()\r\n        if sender and isinstance(sender, QPushButton):\r\n            suggestion = sender.text()\r\n            self.input_field.setText(suggestion)\r\n            self.send_message()\r\n\r\n    def speak_response(self):\r\n        if not self.tts:\r\n            QMessageBox.warning(self, \"TTS Not Available\", \r\n                \"Text-to-speech is not available. Please check if KokoroTTS is properly installed.\")\r\n            return\r\n\r\n        selected_voice = self.voice_select.currentText()\r\n        selected_speed = self.speed_mapping[self.speed_control.currentText()]\r\n        \r\n        text = self.chat_display.toPlainText()\r\n\r\n        try:\r\n            response_text = text.split(\"Assistant: \", 1)[1].strip()\r\n        except IndexError:\r\n            QMessageBox.warning(self, \"No Response\", \r\n                \"There is no response from Jeeves to speak. Please ask a question first.\")\r\n            return\r\n\r\n        if not response_text:\r\n            QMessageBox.warning(self, \"Empty Response\", \r\n                \"The response is empty. Please ask a question first.\")\r\n            return\r\n\r\n        self.is_speaking = True\r\n        self.speak_button.setText(\"Cancel Playback\")\r\n        self.voice_select.setEnabled(False)\r\n        self.speed_control.setEnabled(False)\r\n\r\n        self.tts_thread = QThread()\r\n\r\n        self.tts_worker = TTSWorker(self.tts, response_text, selected_voice, selected_speed)\r\n        self.tts_worker.moveToThread(self.tts_thread)\r\n\r\n        self.tts_thread.started.connect(self.tts_worker.run)\r\n        self.tts_worker.finished.connect(self.on_speech_finished)\r\n        self.tts_worker.finished.connect(self.tts_worker.deleteLater)\r\n        self.tts_thread.finished.connect(self.tts_thread.deleteLater)\r\n        self.tts_worker.error.connect(self.handle_tts_error)\r\n\r\n        self.tts_thread.start()\r\n\r\n    def cancel_speech(self):\r\n        if self.tts_worker:\r\n            self.tts_worker.stop()\r\n\r\n    def on_speech_finished(self):\r\n        self.is_speaking = False\r\n        self.speak_button.setText(\"Speak Response\")\r\n        self.speak_button.setEnabled(True)\r\n        self.voice_select.setEnabled(True)\r\n        self.speed_control.setEnabled(True)\r\n        \r\n        if self.tts_thread:\r\n            self.tts_thread.quit()\r\n            self.tts_thread.wait()\r\n\r\n    def handle_tts_error(self, error_message):\r\n        self.on_speech_finished()\r\n        QMessageBox.warning(self, \"TTS Error\", \r\n            f\"An error occurred while trying to speak: {error_message}\")\r\n\r\n    def closeEvent(self, event):\r\n        if hasattr(self, 'vector_db'):\r\n            self.vector_db.cleanup()\r\n\r\n        if torch.cuda.is_available():\r\n            torch.cuda.empty_cache()\r\n            \r\n        event.accept()\r\n\r\nclass TTSWorker(QObject):\r\n    finished = Signal()\r\n    error = Signal(str)\r\n\r\n    def __init__(self, tts, text, voice, speed):\r\n        super().__init__()\r\n        self.tts = tts\r\n        self.text = text\r\n        self.voice = voice\r\n        self.speed = speed\r\n        self._should_stop = False\r\n\r\n    def stop(self):\r\n        self._should_stop = True\r\n        if hasattr(self.tts, 'stop'):\r\n            self.tts.stop()\r\n\r\n    def run(self):\r\n        try:\r\n            text_without_asterisks = self.text.replace('*', '')\r\n            text_cleaned = re.sub(r'#{2,}', '', text_without_asterisks)\r\n            normalized_text = normalize_chat_text(text_cleaned)\r\n            \r\n            if not self._should_stop:\r\n                self.tts.speak(normalized_text, voice=self.voice, speed=self.speed)\r\n            \r\n            self.finished.emit()\r\n        except Exception as e:\r\n            if not self._should_stop:\r\n                self.error.emit(str(e))\r\n\r\ndef launch_jeeves_process():\r\n    from core.utilities import set_cuda_paths\r\n    set_cuda_paths()\r\n    from PySide6.QtWidgets import QApplication\r\n    from PySide6.QtCore import Qt\r\n\r\n    if hasattr(QApplication, 'setHighDpiScaleFactorRoundingPolicy'):\r\n        QApplication.setHighDpiScaleFactorRoundingPolicy(Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)\r\n    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)\r\n    QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)\r\n\r\n    app = QApplication([])\r\n\r\n    theme = ensure_theme_config()\r\n    app.setStyleSheet(load_stylesheet(theme))\r\n\r\n    window = ChatWindow()\r\n    window.show()\r\n\r\n    ret = app.exec()\r\n    sys.exit(ret)\r\n"
  },
  {
    "path": "chat/kobold.py",
    "content": "import json\r\nimport logging\r\nimport requests\r\nimport sseclient\r\nfrom PySide6.QtCore import QThread, Signal\r\n\r\nfrom db.database_interactions import get_query_db\r\nfrom chat.base import ChatSignals, load_chat_config, save_metadata, build_augmented_query, cleanup_gpu\r\nfrom core.utilities import format_citations\r\nfrom core.constants import PROJECT_ROOT\r\n\r\nclass KoboldChat:\r\n    def __init__(self):\r\n        self.signals = ChatSignals()\r\n        self.config = load_chat_config()\r\n        self.query_vector_db = None\r\n        self.api_url = \"http://localhost:5001/api/extra/generate/stream\"\r\n        self.stop_request = False\r\n\r\n    def connect_to_kobold(self, augmented_query):\r\n        payload = {\r\n            \"prompt\": augmented_query,\r\n            \"max_context_length\": 8192,\r\n            \"max_length\": 1024,\r\n            \"temperature\": 0.1,\r\n            \"top_p\": 0.9,\r\n        }\r\n\r\n        response = None\r\n        try:\r\n            response = requests.post(self.api_url, json=payload, stream=True, timeout=20)\r\n            response.raise_for_status()\r\n            client = sseclient.SSEClient(response)\r\n\r\n            for event in client.events():\r\n                if self.stop_request:\r\n                    break\r\n                if event.event == \"message\":\r\n                    try:\r\n                        data = json.loads(event.data)\r\n                        if 'token' in data:\r\n                            yield data['token']\r\n                    except json.JSONDecodeError:\r\n                        logging.error(f\"Failed to parse JSON: {event.data}\")\r\n                        raise ValueError(f\"Failed to parse response: {event.data}\")\r\n        except Exception as e:\r\n            logging.error(f\"Error in Kobold API request: {str(e)}\")\r\n            raise\r\n        finally:\r\n            if response:\r\n                response.close()\r\n\r\n    def handle_response_and_cleanup(self, full_response, metadata_list):\r\n        citations = format_citations(metadata_list)\r\n        if self.query_vector_db:\r\n            self.query_vector_db.cleanup()\r\n        cleanup_gpu()\r\n        return citations\r\n\r\n    def ask_kobold(self, query, selected_database):\r\n        if self.query_vector_db is None or self.query_vector_db.selected_database != selected_database:\r\n            self.query_vector_db = get_query_db(selected_database)\r\n\r\n        contexts, metadata_list = self.query_vector_db.search(query)\r\n        save_metadata(metadata_list)\r\n\r\n        if not contexts:\r\n            self.signals.error_signal.emit(\r\n                \"No chunks passed the similarity threshold. \"\r\n                \"Try lowering the 'Similarity' setting in the Database Query settings tab.\"\r\n            )\r\n            self.signals.finished_signal.emit()\r\n            return\r\n\r\n        augmented_query = build_augmented_query(contexts, query)\r\n\r\n        full_response = \"\"\r\n        try:\r\n            response_generator = self.connect_to_kobold(augmented_query)\r\n            for response_chunk in response_generator:\r\n                if self.stop_request:\r\n                    break\r\n                self.signals.response_signal.emit(response_chunk)\r\n                full_response += response_chunk\r\n\r\n            self.signals.response_signal.emit(\"\\n\")\r\n\r\n            citations = self.handle_response_and_cleanup(full_response, metadata_list)\r\n            self.signals.citations_signal.emit(citations)\r\n        except Exception as e:\r\n            self.signals.error_signal.emit(str(e))\r\n            raise\r\n\r\nclass KoboldThread(QThread):\r\n    response_signal = Signal(str)\r\n    error_signal = Signal(str)\r\n    finished_signal = Signal()\r\n    citations_signal = Signal(str)\r\n    \r\n    def __init__(self, query, selected_database):\r\n        super().__init__()\r\n        self.query = query\r\n        self.selected_database = selected_database\r\n        self.kobold_chat = KoboldChat()\r\n        self.kobold_chat.signals.response_signal.connect(self.response_signal.emit)\r\n        self.kobold_chat.signals.error_signal.connect(self.error_signal.emit)\r\n        self.kobold_chat.signals.citations_signal.connect(self.citations_signal.emit)\r\n\r\n    def run(self):\r\n        try:\r\n            self.kobold_chat.ask_kobold(self.query, self.selected_database)\r\n        except Exception as e:\r\n            logging.error(f\"Error in KoboldThread: {str(e)}\")\r\n            self.error_signal.emit(str(e))\r\n        finally:\r\n            self.finished_signal.emit()\r\n            \r\n    def stop(self):\r\n        self.kobold_chat.stop_request = True\r\n        self.wait(5000)\r\n"
  },
  {
    "path": "chat/lm_studio.py",
    "content": "import logging\r\nimport re\r\n\r\nimport requests\r\nfrom openai import OpenAI\r\nfrom PySide6.QtCore import QThread\r\n\r\nfrom db.database_interactions import get_query_db\r\nfrom chat.base import ChatSignals, load_chat_config, save_metadata, build_augmented_query, cleanup_gpu\r\nfrom core.utilities import format_citations\r\nfrom core.constants import system_message, THINKING_TAGS\r\n\r\n_ALL_THINKING_TAGS = [t for pair in THINKING_TAGS.values() for t in pair]\r\n_START_THINKING_TAGS = frozenset(s for s, _ in THINKING_TAGS.values())\r\n_THINKING_TAG_RE = re.compile(\"|\".join(re.escape(t) for t in _ALL_THINKING_TAGS))\r\n\r\n\r\ndef _strip_thinking(buffer, in_thinking):\r\n    \"\"\"Process buffer, toggling in_thinking at each tag match.\r\n\r\n    Returns (text_to_yield, new_buffer, new_in_thinking). Holds back any tail\r\n    that could be the start of a partial tag so a tag split across chunks\r\n    (e.g. '<thi' then 'nk>') is still detected on the next call.\r\n    \"\"\"\r\n    out = []\r\n    pos = 0\r\n    cur_in = in_thinking\r\n    while True:\r\n        m = _THINKING_TAG_RE.search(buffer, pos)\r\n        if m is None:\r\n            break\r\n        if not cur_in:\r\n            out.append(buffer[pos:m.start()])\r\n        cur_in = m.group(0) in _START_THINKING_TAGS\r\n        pos = m.end()\r\n\r\n    tail = buffer[pos:]\r\n    hold = 0\r\n    for t in _ALL_THINKING_TAGS:\r\n        max_i = min(len(t) - 1, len(tail))\r\n        for i in range(max_i, 0, -1):\r\n            if tail.endswith(t[:i]):\r\n                if i > hold:\r\n                    hold = i\r\n                break\r\n\r\n    if hold:\r\n        flushable = tail[:-hold]\r\n        new_buffer = tail[-hold:]\r\n    else:\r\n        flushable = tail\r\n        new_buffer = \"\"\r\n\r\n    if not cur_in:\r\n        out.append(flushable)\r\n\r\n    return \"\".join(out), new_buffer, cur_in\r\n\r\nclass LMStudioChat:\r\n    def __init__(self):\r\n        self.signals = ChatSignals()\r\n        self.config = load_chat_config()\r\n        self.query_vector_db = None\r\n\r\n    def connect_to_local_chatgpt(self, prompt):\r\n        server_config = self.config.get('server', {})\r\n        base_url = server_config.get('connection_str')\r\n        show_thinking = server_config.get('show_thinking', False)\r\n\r\n        client = OpenAI(base_url=base_url, api_key='lm-studio')\r\n        messages = [\r\n            {\"role\": \"system\", \"content\": system_message},\r\n            {\"role\": \"user\", \"content\": prompt}\r\n        ]\r\n\r\n        stream = client.chat.completions.create(\r\n            model=\"local-model\",\r\n            messages=messages,\r\n            stream=True\r\n        )\r\n\r\n        in_thinking_block = False\r\n        first_content = True\r\n        buffer = \"\"\r\n        for chunk in stream:\r\n            if chunk.choices[0].delta.content is None:\r\n                continue\r\n            content = chunk.choices[0].delta.content\r\n\r\n            if show_thinking:\r\n                if first_content:\r\n                    content = content.lstrip()\r\n                    if not content:\r\n                        continue\r\n                    first_content = False\r\n                yield content\r\n                continue\r\n\r\n            buffer += content\r\n            text, buffer, in_thinking_block = _strip_thinking(buffer, in_thinking_block)\r\n            if not text:\r\n                continue\r\n            if first_content:\r\n                text = text.lstrip()\r\n                if not text:\r\n                    continue\r\n                first_content = False\r\n            yield text\r\n\r\n        if not show_thinking and buffer and not in_thinking_block:\r\n            tail = buffer.lstrip() if first_content else buffer\r\n            if tail:\r\n                yield tail\r\n\r\n    def handle_response_and_cleanup(self, full_response, metadata_list):\r\n        citations = format_citations(metadata_list)\r\n        if self.query_vector_db:\r\n            self.query_vector_db.cleanup()\r\n        cleanup_gpu()\r\n        return citations\r\n\r\n    def ask_local_chatgpt(self, query, selected_database):\r\n        if self.query_vector_db is None or self.query_vector_db.selected_database != selected_database:\r\n            self.query_vector_db = get_query_db(selected_database)\r\n\r\n        contexts, metadata_list = self.query_vector_db.search(query)\r\n        save_metadata(metadata_list)\r\n\r\n        if not contexts:\r\n            self.signals.error_signal.emit(\r\n                \"No chunks passed the similarity threshold. \"\r\n                \"Try lowering the 'Similarity' setting in the Database Query settings tab.\"\r\n            )\r\n            self.signals.finished_signal.emit()\r\n            return\r\n\r\n        augmented_query = build_augmented_query(contexts, query)\r\n\r\n        full_response = \"\"\r\n        response_generator = self.connect_to_local_chatgpt(augmented_query)\r\n        for response_chunk in response_generator:\r\n            self.signals.response_signal.emit(response_chunk)\r\n            full_response += response_chunk\r\n\r\n        self.signals.response_signal.emit(\"\\n\")\r\n\r\n        citations = self.handle_response_and_cleanup(full_response, metadata_list)\r\n        self.signals.citations_signal.emit(citations)\r\n        self.signals.finished_signal.emit()\r\n\r\nclass LMStudioChatThread(QThread):\r\n    def __init__(self, query, selected_database):\r\n        super().__init__()\r\n        self.query = query\r\n        self.selected_database = selected_database\r\n        self.lm_studio_chat = LMStudioChat()\r\n\r\n    def run(self):\r\n        try:\r\n            self.lm_studio_chat.ask_local_chatgpt(self.query, self.selected_database)\r\n        except Exception as e:\r\n            logging.error(f\"Error in LMStudioChatThread: {str(e)}\")\r\n            self.lm_studio_chat.signals.error_signal.emit(str(e))\r\n        finally:\r\n            self.lm_studio_chat.signals.finished_signal.emit()\r\n\r\ndef is_lm_studio_available():\r\n    try:\r\n        response = requests.get(\"http://127.0.0.1:1234/v1/models/\", timeout=3)\r\n        return response.status_code == 200\r\n    except requests.exceptions.RequestException:\r\n        return False\r\n\r\n\"\"\"\r\n[Main Process]\r\n    |\r\n    |         DatabaseQueryTab (GUI)                 LMStudioChatThread\r\n    |         ------------------                     -----------------\r\n    |              |                                     |\r\n    |        [Submit Button]                             |\r\n    |              |                                     |\r\n    |         on_submit_button_clicked()                 |\r\n    |              |                                     |\r\n    |              |---> LMStudioChatThread.start() ---->|\r\n    |              |                                     |\r\n    |                                          [LMStudioChat Instance]\r\n    |                                                    |\r\n    |                                         ask_local_chatgpt()\r\n    |                                                    |\r\n    |                                         [QueryVectorDB Search]\r\n    |                                                    |\r\n    |                                      connect_to_local_chatgpt()\r\n    |                                                    |\r\n    |    Signal Flow                            OpenAI API Stream\r\n    |    -----------                            ----------------\r\n    |         |                                        |\r\n    |    Signals Received:                     Stream Chunks:\r\n    |    - response_signal                     - chunk.choices[0].delta.content\r\n    |    - error_signal                                |\r\n    |    - finished_signal                             |\r\n    |    - citations_signal                             |\r\n    |         |                                        |\r\n    |    GUI Updates:                          Cleanup Operations:\r\n    |    - update_response_lm_studio()         - handle_response_and_cleanup()\r\n    |    - show_error_message()                - save_metadata_to_file()\r\n    |    - on_submission_finished()            - torch.cuda.empty_cache()\r\n    |    - display_citations_in_widget()       - gc.collect()\r\n    |                                                  |\r\n    |                                          Emit Final Signals:\r\n    |                                          - citations_signal\r\n    |                                          - finished_signal\r\n\"\"\"\r\n"
  },
  {
    "path": "chat/local_model.py",
    "content": "import time\r\nimport logging\r\nfrom enum import Enum, auto\r\nfrom typing import Any, Optional\r\nfrom dataclasses import dataclass\r\n\r\nimport torch\r\nfrom multiprocessing import Process, Pipe\r\nfrom multiprocessing.connection import PipeConnection\r\nfrom PySide6.QtCore import QObject, Signal\r\n\r\nimport chat.base as module_chat\r\nfrom db.database_interactions import get_query_db\r\nfrom core.utilities import format_citations, my_cprint\r\nfrom core.constants import rag_string, PROJECT_ROOT\r\nfrom pathlib import Path\r\n\r\nclass MessageType(Enum):\r\n    QUESTION = auto()\r\n    RESPONSE = auto()\r\n    PARTIAL_RESPONSE = auto()\r\n    CITATIONS = auto()\r\n    ERROR = auto()\r\n    FINISHED = auto()\r\n    EXIT = auto()\r\n    TOKEN_COUNTS = auto()\r\n\r\n@dataclass\r\nclass PipeMessage:\r\n    type: MessageType\r\n    payload: Any = None\r\n\r\nclass LocalModelSignals(QObject):\r\n    response_signal = Signal(str)\r\n    citations_signal = Signal(str)\r\n    error_signal = Signal(str)\r\n    finished_signal = Signal()\r\n    model_loaded_signal = Signal()\r\n    model_unloaded_signal = Signal()\r\n    token_count_signal = Signal(str)\r\n\r\nclass LocalModelChat:\r\n    def __init__(self):\r\n        self.model_process = None\r\n        self.model_pipe = None\r\n        self.current_model = None\r\n        self.signals = LocalModelSignals()\r\n\r\n    def start_model_process(self, model_name):\r\n        if self.current_model != model_name:\r\n            if self.is_model_loaded():\r\n                self.terminate_current_process()\r\n\r\n            parent_conn, child_conn = Pipe()\r\n            self.model_pipe = parent_conn\r\n            self.model_process = Process(target=self._local_model_process, args=(child_conn, model_name), daemon=True)\r\n            self.model_process.start()\r\n            self.current_model = model_name\r\n            self._start_listening_thread()\r\n            self.signals.model_loaded_signal.emit()\r\n        else:\r\n            logging.warning(f\"Model {model_name} is already loaded\")\r\n\r\n    def terminate_current_process(self):\r\n        if self.model_process is not None:\r\n            try:\r\n                if self.model_pipe:\r\n                    try:\r\n                        self.model_pipe.send(PipeMessage(MessageType.EXIT))\r\n                    except (BrokenPipeError, OSError):\r\n                        logging.warning(\"Pipe already closed\")\r\n                    finally:\r\n                        self.model_pipe.close()\r\n                        self.model_pipe = None\r\n                \r\n                process = self.model_process\r\n                self.model_process = None\r\n                \r\n                if process.is_alive():\r\n                    process.join(timeout=10)\r\n                    if process.is_alive():\r\n                        logging.warning(\"Process did not terminate, forcing termination\")\r\n                        process.terminate()\r\n                        process.join(timeout=5)\r\n            except Exception as e:\r\n                logging.exception(f\"Error during process termination: {e}\")\r\n        else:\r\n            logging.warning(\"No process to terminate\")\r\n\r\n        self.model_pipe = None\r\n        self.model_process = None\r\n        self.current_model = None\r\n        time.sleep(0.5)\r\n        self.signals.model_unloaded_signal.emit()\r\n\r\n    def start_chat(self, user_question, selected_model, selected_database):\r\n        if not self.model_pipe:\r\n            self.signals.error_signal.emit(\"Model not loaded. Please start a model first.\")\r\n            return\r\n\r\n        self.model_pipe.send(PipeMessage(\r\n            MessageType.QUESTION, \r\n            (user_question, selected_model, selected_database)\r\n        ))\r\n\r\n    def is_model_loaded(self):\r\n        return self.model_process is not None and self.model_process.is_alive()\r\n\r\n    def eject_model(self):\r\n        self.terminate_current_process()\r\n\r\n    def _start_listening_thread(self):\r\n        import threading\r\n\r\n        if hasattr(self, \"_stop_listener_event\"):\r\n            self._stop_listener_event.set()\r\n            if getattr(self, \"listener_thread\", None) and self.listener_thread.is_alive():\r\n                self.listener_thread.join()\r\n\r\n        self._stop_listener_event = threading.Event()\r\n        self.listener_thread = threading.Thread(\r\n            target=self._listen_for_response,\r\n            args=(self._stop_listener_event,),\r\n            daemon=True,\r\n        )\r\n        self.listener_thread.start()\r\n\r\n    def _listen_for_response(self, stop_event):\r\n        while not stop_event.is_set():\r\n            if not self.model_pipe or not isinstance(self.model_pipe, PipeConnection):\r\n                break\r\n            try:\r\n                if self.model_pipe.poll(timeout=1):\r\n                    message = self.model_pipe.recv()\r\n                    if message.type in [MessageType.RESPONSE, MessageType.PARTIAL_RESPONSE]:\r\n                        self.signals.response_signal.emit(message.payload)\r\n                    elif message.type == MessageType.CITATIONS:\r\n                        self.signals.citations_signal.emit(message.payload)\r\n                    elif message.type == MessageType.ERROR:\r\n                        self.signals.error_signal.emit(message.payload)\r\n                    elif message.type == MessageType.FINISHED:\r\n                        self.signals.finished_signal.emit()\r\n                        if message.payload == MessageType.EXIT:\r\n                            break\r\n                    elif message.type == MessageType.TOKEN_COUNTS:\r\n                        self.signals.token_count_signal.emit(message.payload)\r\n                else:\r\n                    time.sleep(0.1)\r\n            except (BrokenPipeError, EOFError, OSError):\r\n                break\r\n            except Exception as e:\r\n                logging.warning(f\"Unexpected error in _listen_for_response: {str(e)}\")\r\n                break\r\n        self.cleanup_listener_resources()\r\n\r\n    def cleanup_listener_resources(self):\r\n        self.model_pipe = None\r\n        self.model_process = None\r\n        self.current_model = None\r\n\r\n    @staticmethod\r\n    def _local_model_process(conn, model_name):\r\n        model_instance = module_chat.choose_model(model_name)\r\n        query_vector_db = None\r\n        current_database = None\r\n        try:\r\n            while True:\r\n                try:\r\n                    message = conn.recv()\r\n                    if message.type == MessageType.QUESTION:\r\n                        user_question, _, selected_database = message.payload\r\n                        if query_vector_db is None or current_database != selected_database:\r\n                            query_vector_db = get_query_db(selected_database)\r\n                            current_database = selected_database\r\n                        contexts, metadata_list = query_vector_db.search(user_question)\r\n                        if not contexts:\r\n                            conn.send(PipeMessage(\r\n                                MessageType.ERROR,\r\n                                \"No chunks passed the similarity threshold. \"\r\n                                \"Try lowering the 'Similarity' setting in the Database Query settings tab.\"\r\n                            ))\r\n                            conn.send(PipeMessage(MessageType.FINISHED))\r\n                            continue\r\n                        max_context_tokens = model_instance.max_length - 100\r\n                        context_tokens = len(model_instance.tokenizer.encode(\"\\n\\n---\\n\\n\".join(contexts)))\r\n\r\n                        if context_tokens > max_context_tokens:\r\n                            logging.warning(f\"Context tokens ({context_tokens}) exceed max context limit ({max_context_tokens})\")\r\n                            error_message = (\r\n                                \"The contexts received from the vector database exceed the chat model's context limit.\\n\\n\"\r\n                                \"You can either:\\n\"\r\n                                \"1) Adjust the chunk size setting when creating the database;\\n\"\r\n                                \"2) Adjust the search settings (e.g. relevancy, number of contexts to return, etc.);\\n\"\r\n                                \"3) Choose a chat model with a larger context.\"\r\n                            )\r\n                            conn.send(PipeMessage(MessageType.ERROR, error_message))\r\n                            conn.send(PipeMessage(MessageType.FINISHED))\r\n                            continue\r\n\r\n                        augmented_query = f\"{rag_string}\\n\\n---\\n\\n\" + \"\\n\\n---\\n\\n\".join(contexts) + \"\\n\\n-----\\n\\n\" + user_question\r\n\r\n                        prepend_token_count = len(model_instance.tokenizer.encode(rag_string))\r\n                        context_token_count = len(model_instance.tokenizer.encode(\"\\n\\n---\\n\\n\".join(contexts)))\r\n                        user_question_token_count = len(model_instance.tokenizer.encode(user_question))\r\n\r\n                        full_response = \"\"\r\n                        buffer = \"\"\r\n                        for partial_response in module_chat.generate_response(model_instance, augmented_query):\r\n                            full_response += partial_response\r\n                            buffer += partial_response\r\n\r\n                            if len(buffer) >= 50 or '\\n' in buffer:\r\n                                conn.send(PipeMessage(MessageType.PARTIAL_RESPONSE, buffer))\r\n                                buffer = \"\"\r\n\r\n                        if buffer:\r\n                            conn.send(PipeMessage(MessageType.PARTIAL_RESPONSE, buffer))\r\n\r\n                        response_token_count = len(model_instance.tokenizer.encode(full_response))\r\n                        remaining_tokens = model_instance.max_length - (prepend_token_count + user_question_token_count + context_token_count + response_token_count)\r\n                        total_tokens = prepend_token_count + context_token_count + user_question_token_count + response_token_count\r\n\r\n                        token_count_string = (\r\n                            f\"<span style='color:#2ECC40;'>available tokens ({model_instance.max_length})</span>\"\r\n                            f\"<span style='color:#FF4136;'> - rag instruction ({prepend_token_count})\"\r\n                            f\" - query ({user_question_token_count})\"\r\n                            f\" - contexts ({context_token_count})\"\r\n                            f\" - response ({response_token_count})</span>\"\r\n                            f\"<span style='color:white;'> = {remaining_tokens} remaining tokens.</span>\"\r\n                        )\r\n\r\n                        conn.send(PipeMessage(MessageType.TOKEN_COUNTS, token_count_string))\r\n\r\n                        citations = format_citations(metadata_list)\r\n                        conn.send(PipeMessage(MessageType.CITATIONS, citations))\r\n                        conn.send(PipeMessage(MessageType.FINISHED))\r\n                    elif message.type == MessageType.EXIT:\r\n                        break\r\n                except EOFError:\r\n                    logging.warning(\"Connection closed by main process.\")\r\n                    break\r\n                except Exception as e:\r\n                    logging.exception(f\"Error in local_model_process: {e}\")\r\n                    conn.send(PipeMessage(MessageType.ERROR, str(e)))\r\n                    conn.send(PipeMessage(MessageType.FINISHED))\r\n        finally:\r\n            try:\r\n                if hasattr(model_instance, 'cleanup'):\r\n                    model_instance.cleanup()\r\n            finally:\r\n                conn.close()\r\n                my_cprint(\"Local chat model removed from memory.\", \"red\")\r\n\r\ndef is_cuda_available():\r\n    return torch.cuda.is_available()\r\n"
  },
  {
    "path": "chat/minimax.py",
    "content": "import logging\nfrom openai import OpenAI\nfrom PySide6.QtCore import QThread, Signal\n\nfrom db.database_interactions import get_query_db\nfrom chat.base import load_chat_config, save_metadata, build_augmented_query, cleanup_gpu\nfrom core.utilities import format_citations\nfrom core.constants import system_message, PROJECT_ROOT\n\nMINIMAX_BASE_URL = \"https://api.minimax.io/v1\"\nMINIMAX_MODELS = [\"MiniMax-M2.7\", \"MiniMax-M2.7-highspeed\"]\n# Temperature must be in (0.0, 1.0] for MiniMax\n_MINIMAX_MIN_TEMP = 0.01\n\n\nclass MiniMaxChat:\n    def __init__(self, override_model: str = None):\n        self.response_callback = lambda x: None\n        self.error_callback = lambda x: None\n        self.finished_callback = lambda: None\n        self.citations_callback = lambda x: None\n        self.config = load_chat_config()\n        if override_model:\n            self.config.setdefault('minimax', {})['model'] = override_model\n        self.query_vector_db = None\n\n    def connect_to_minimax(self, augmented_query):\n        minimax_config = self.config.get('minimax', {})\n        model = minimax_config.get('model', 'MiniMax-M2.7')\n        api_key = minimax_config.get('api_key')\n\n        if not api_key:\n            raise ValueError(\"MiniMax API key not found in config.yaml.\\n\\n  Please set it within the 'File' menu.\")\n\n        client = OpenAI(api_key=api_key, base_url=MINIMAX_BASE_URL)\n\n        messages = [\n            {\"role\": \"system\", \"content\": system_message},\n            {\"role\": \"user\", \"content\": augmented_query}\n        ]\n\n        # MiniMax temperature must be in (0.0, 1.0]\n        temperature = max(_MINIMAX_MIN_TEMP, 0.1)\n\n        stream = client.chat.completions.create(\n            model=model,\n            messages=messages,\n            temperature=temperature,\n            stream=True\n        )\n\n        for chunk in stream:\n            if chunk.choices[0].delta.content is not None:\n                yield chunk.choices[0].delta.content\n\n    def handle_response_and_cleanup(self, full_response, metadata_list):\n        citations = format_citations(metadata_list)\n\n        if self.query_vector_db:\n            if hasattr(self.query_vector_db.embeddings, 'client'):\n                del self.query_vector_db.embeddings.client\n            del self.query_vector_db.embeddings\n\n        cleanup_gpu()\n        return citations\n\n    def ask_minimax(self, query, selected_database):\n        if self.query_vector_db is None or self.query_vector_db.selected_database != selected_database:\n            self.query_vector_db = get_query_db(selected_database)\n\n        contexts, metadata_list = self.query_vector_db.search(query)\n        save_metadata(metadata_list)\n\n        if not contexts:\n            self.error_callback(\n                \"No chunks passed the similarity threshold. \"\n                \"Try lowering the 'Similarity' setting in the Database Query settings tab.\"\n            )\n            self.finished_callback()\n            return\n\n        augmented_query = build_augmented_query(contexts, query)\n\n        full_response = \"\"\n        response_generator = self.connect_to_minimax(augmented_query)\n        for response_chunk in response_generator:\n            self.response_callback(response_chunk)\n            full_response += response_chunk\n\n        self.response_callback(\"\\n\")\n\n        citations = self.handle_response_and_cleanup(full_response, metadata_list)\n        self.citations_callback(citations)\n        self.finished_callback()\n\n\nclass MiniMaxThread(QThread):\n    response_signal = Signal(str)\n    error_signal = Signal(str)\n    finished_signal = Signal()\n    citations_signal = Signal(str)\n\n    def __init__(self, query, selected_database, model_name: str = None):\n        super().__init__()\n        self.query = query\n        self.selected_database = selected_database\n        self.minimax_chat = MiniMaxChat(override_model=model_name)\n\n        self.minimax_chat.response_callback = self.on_response\n        self.minimax_chat.error_callback = self.on_error\n        self.minimax_chat.finished_callback = self.on_finished\n        self.minimax_chat.citations_callback = self.on_citations\n\n    def on_response(self, text):\n        self.response_signal.emit(text)\n\n    def on_error(self, error):\n        self.error_signal.emit(error)\n\n    def on_finished(self):\n        self.finished_signal.emit()\n\n    def on_citations(self, citations):\n        self.citations_signal.emit(citations)\n\n    def run(self):\n        try:\n            self.minimax_chat.ask_minimax(self.query, self.selected_database)\n        except Exception as e:\n            logging.error(f\"Error in MiniMaxThread: {str(e)}\")\n            self.on_error(str(e))\n        finally:\n            self.on_finished()\n"
  },
  {
    "path": "chat/openai.py",
    "content": "import logging\nfrom openai import OpenAI\nfrom PySide6.QtCore import QThread, Signal\n\nfrom db.database_interactions import get_query_db\nfrom chat.base import load_chat_config, save_metadata, build_augmented_query, cleanup_gpu\nfrom core.utilities import format_citations\nfrom core.constants import system_message\nfrom core.chatgpt_settings import (\n    DEFAULT_OPENAI_MODEL,\n    DEFAULT_VERBOSITY,\n    DEFAULT_REASONING_EFFORT,\n    supports_verbosity,\n    supports_reasoning_effort,\n)\n\n\nclass ChatGPTChat:\n    def __init__(self):\n        self.response_callback = lambda x: None\n        self.error_callback = lambda x: None\n        self.finished_callback = lambda: None\n        self.citations_callback = lambda x: None\n        self.config = load_chat_config()\n        self.query_vector_db = None\n\n    def connect_to_chatgpt(self, augmented_query):\n        openai_config = self.config.get('openai', {}) or {}\n        model = openai_config.get('model') or DEFAULT_OPENAI_MODEL\n        api_key = openai_config.get('api_key')\n        verbosity = openai_config.get('verbosity') or DEFAULT_VERBOSITY\n        reasoning_effort = openai_config.get('reasoning_effort') or DEFAULT_REASONING_EFFORT\n\n        if not api_key:\n            raise ValueError(\n                \"OpenAI API key not found in config.yaml.\\n\\n\"\n                \"Please set it via File menu → Chat Backend Settings…\"\n            )\n\n        client = OpenAI(api_key=api_key)\n\n        messages = [\n            {\"role\": \"system\", \"content\": system_message},\n            {\"role\": \"user\", \"content\": augmented_query},\n        ]\n\n        request_args = {\n            \"model\": model,\n            \"input\": messages,\n            \"stream\": True,\n        }\n\n        if supports_verbosity(model):\n            request_args[\"text\"] = {\"verbosity\": verbosity}\n\n        if supports_reasoning_effort(model) and reasoning_effort and reasoning_effort != \"none\":\n            request_args[\"reasoning\"] = {\"effort\": reasoning_effort}\n\n        stream = client.responses.create(**request_args)\n\n        for event in stream:\n            event_type = getattr(event, \"type\", \"\")\n            if event_type == \"response.output_text.delta\":\n                delta = getattr(event, \"delta\", \"\") or \"\"\n                if delta:\n                    yield delta\n            elif event_type == \"response.error\":\n                msg = str(getattr(event, \"error\", \"unknown error\"))\n                logging.error(f\"OpenAI Responses API error: {msg}\")\n                raise RuntimeError(msg)\n\n    def handle_response_and_cleanup(self, full_response, metadata_list):\n        citations = format_citations(metadata_list)\n\n        if self.query_vector_db:\n            if hasattr(self.query_vector_db.embeddings, 'client'):\n                del self.query_vector_db.embeddings.client\n            del self.query_vector_db.embeddings\n\n        cleanup_gpu()\n        return citations\n\n    def ask_chatgpt(self, query, selected_database):\n        if self.query_vector_db is None or self.query_vector_db.selected_database != selected_database:\n            self.query_vector_db = get_query_db(selected_database)\n\n        contexts, metadata_list = self.query_vector_db.search(query)\n        save_metadata(metadata_list)\n\n        if not contexts:\n            self.error_callback(\n                \"No chunks passed the similarity threshold. \"\n                \"Try lowering the 'Similarity' setting in the Database Query settings tab.\"\n            )\n            self.finished_callback()\n            return\n\n        augmented_query = build_augmented_query(contexts, query)\n\n        full_response = \"\"\n        response_generator = self.connect_to_chatgpt(augmented_query)\n        for response_chunk in response_generator:\n            self.response_callback(response_chunk)\n            full_response += response_chunk\n\n        self.response_callback(\"\\n\")\n\n        citations = self.handle_response_and_cleanup(full_response, metadata_list)\n        self.citations_callback(citations)\n        self.finished_callback()\n\n\nclass ChatGPTThread(QThread):\n    response_signal = Signal(str)\n    error_signal = Signal(str)\n    finished_signal = Signal()\n    citations_signal = Signal(str)\n\n    def __init__(self, query, selected_database):\n        super().__init__()\n        self.query = query\n        self.selected_database = selected_database\n        self.chatgpt_chat = ChatGPTChat()\n\n        self.chatgpt_chat.response_callback = self.on_response\n        self.chatgpt_chat.error_callback = self.on_error\n        self.chatgpt_chat.finished_callback = self.on_finished\n        self.chatgpt_chat.citations_callback = self.on_citations\n\n    def on_response(self, text):\n        self.response_signal.emit(text)\n\n    def on_error(self, error):\n        self.error_signal.emit(error)\n\n    def on_finished(self):\n        self.finished_signal.emit()\n\n    def on_citations(self, citations):\n        self.citations_signal.emit(citations)\n\n    def run(self):\n        try:\n            self.chatgpt_chat.ask_chatgpt(self.query, self.selected_database)\n        except Exception as e:\n            logging.error(f\"Error in ChatGPTThread: {str(e)}\")\n            self.on_error(str(e))\n        finally:\n            self.on_finished()\n"
  },
  {
    "path": "core/__init__.py",
    "content": ""
  },
  {
    "path": "core/chatgpt_settings.py",
    "content": "AVAILABLE_OPENAI_MODELS = [\n    \"gpt-5.5\",\n    \"gpt-5.4\",\n    \"gpt-5.4-mini\",\n]\n\nMODEL_DISPLAY_NAMES = {\n    \"gpt-5.5\": \"gpt-5.5 (Thinking)\",\n    \"gpt-5.4\": \"gpt-5.4 (Thinking)\",\n    \"gpt-5.4-mini\": \"gpt-5.4 mini\",\n}\n\nMODEL_PRICING = {\n    \"gpt-5.5\": (5.00, 0.50, 30.00),\n    \"gpt-5.4\": (2.50, 0.25, 15.00),\n    \"gpt-5.4-mini\": (0.25, 0.025, 2.00),\n}\n\nREASONING_EFFORT_OPTIONS = [\"none\", \"low\", \"medium\", \"high\", \"xhigh\"]\nVERBOSITY_OPTIONS = [\"low\", \"medium\", \"high\"]\n\nDEFAULT_OPENAI_MODEL = \"gpt-5.4-mini\"\nDEFAULT_VERBOSITY = \"low\"\nDEFAULT_REASONING_EFFORT = \"medium\"\n\n\ndef get_display_name(model: str) -> str:\n    return MODEL_DISPLAY_NAMES.get(model, model)\n\n\ndef get_model_from_display_name(display_name: str) -> str:\n    for model, name in MODEL_DISPLAY_NAMES.items():\n        if name == display_name:\n            return model\n    return display_name\n\n\ndef get_model_pricing(model_name: str) -> tuple[float, float, float]:\n    return MODEL_PRICING.get(model_name, (0.00, 0.00, 0.00))\n\n\ndef supports_reasoning_effort(model_name: str) -> bool:\n    m = (model_name or \"\").strip().lower()\n    if m.endswith(\"-chat-latest\"):\n        return False\n    return m.startswith(\"gpt-5.\")\n\n\ndef supports_verbosity(model_name: str) -> bool:\n    m = (model_name or \"\").strip().lower()\n    return m.startswith(\"gpt-5.\")\n\n\ndef migrate_legacy_model(model_name: str) -> str:\n    if model_name in AVAILABLE_OPENAI_MODELS:\n        return model_name\n    return DEFAULT_OPENAI_MODEL\n"
  },
  {
    "path": "core/config.py",
    "content": "from pathlib import Path\nfrom typing import Optional, Dict, Any, Literal\nfrom pydantic import BaseModel, Field, field_validator, PrivateAttr\nfrom pydantic_settings import BaseSettings, SettingsConfigDict\nimport yaml\nimport threading\n\n\nclass OpenAIConfig(BaseModel):\n    api_key: Optional[str] = None\n    model: str = \"gpt-4o-mini\"\n    reasoning_effort: str = \"medium\"\n\n\nclass MiniMaxConfig(BaseModel):\n    api_key: Optional[str] = None\n    model: str = \"MiniMax-M2.7\"\n\n\nclass ServerConfig(BaseModel):\n    api_key: str = \"\"\n    connection_str: str = \"http://127.0.0.1:1234/v1\"\n    show_thinking: bool = False\n\n    @field_validator('connection_str')\n    @classmethod\n    def validate_connection_str(cls, v: str) -> str:\n        if not v.startswith(('http://', 'https://')):\n            raise ValueError(\"Connection string must start with http:// or https://\")\n        return v\n\n\nclass DatabaseConfig(BaseModel):\n    chunk_size: int = Field(default=700, gt=0, le=100000)\n    chunk_overlap: int = Field(default=250, ge=0, le=100000)\n    contexts: int = Field(default=5, gt=0, le=1000)\n    similarity: float = Field(default=0.7, ge=0.0, le=1.0)\n    half: bool = False\n    database_to_search: str = \"\"\n    document_types: str = \"\"\n    search_term: str = \"\"\n    pipeline_preset: str = \"normal\"\n\n    @field_validator('contexts', mode='before')\n    @classmethod\n    def coerce_contexts(cls, v):\n        if isinstance(v, str):\n            return int(v)\n        return v\n\n    @field_validator('chunk_overlap')\n    @classmethod\n    def validate_overlap(cls, v: int, info) -> int:\n        if 'chunk_size' in info.data and v >= info.data['chunk_size']:\n            raise ValueError(\"chunk_overlap must be less than chunk_size\")\n        return v\n\n    @field_validator('pipeline_preset')\n    @classmethod\n    def validate_pipeline_preset(cls, v: str) -> str:\n        valid = {\"minimal\", \"low\", \"normal\", \"high\", \"maximum\"}\n        if v not in valid:\n            raise ValueError(f\"pipeline_preset must be one of {valid}\")\n        return v\n\n\nclass ComputeDeviceConfig(BaseModel):\n    available: list = Field(default_factory=lambda: [\"cpu\"])\n    database_creation: str = \"cpu\"\n    database_query: str = \"cpu\"\n    gpu_brand: Optional[str] = None\n\n    @field_validator('database_creation', 'database_query')\n    @classmethod\n    def validate_device(cls, v: str, info) -> str:\n        if 'available' in info.data and v not in info.data['available']:\n            return \"cpu\"\n        return v\n\n\nclass DatabaseInfo(BaseModel):\n    model: str\n    chunk_size: int\n    chunk_overlap: int\n\n\nclass AppearanceConfig(BaseModel):\n    theme: str = \"default\"\n\n\nclass PlatformInfo(BaseModel):\n    os: str = \"\"\n\n\nclass AppConfig(BaseSettings):\n    model_config = SettingsConfigDict(\n        env_file=None,\n        extra='allow',\n        validate_assignment=True\n    )\n\n    openai: OpenAIConfig = Field(default_factory=OpenAIConfig)\n    minimax: MiniMaxConfig = Field(default_factory=MiniMaxConfig)\n    server: ServerConfig = Field(default_factory=ServerConfig)\n    database: DatabaseConfig = Field(default_factory=DatabaseConfig)\n    Compute_Device: ComputeDeviceConfig = Field(default_factory=ComputeDeviceConfig)\n    appearance: AppearanceConfig = Field(default_factory=AppearanceConfig)\n    Platform_Info: PlatformInfo = Field(default_factory=PlatformInfo)\n\n    EMBEDDING_MODEL_NAME: Optional[str] = None\n    EMBEDDING_MODEL_DIMENSIONS: Optional[int] = None\n    hf_access_token: Optional[str] = None\n    created_databases: Dict[str, DatabaseInfo] = Field(default_factory=dict)\n\n    _config_path: Path = PrivateAttr(default=Path(\"config.yaml\"))\n    _lock: threading.RLock = PrivateAttr(default_factory=threading.RLock)\n\n    @property\n    def root_dir(self) -> Path:\n        return Path(__file__).resolve().parent.parent\n\n    @property\n    def docs_dir(self) -> Path:\n        return self.root_dir / \"Docs_for_DB\"\n\n    @property\n    def vector_db_dir(self) -> Path:\n        return self.root_dir / \"Vector_DB\"\n\n    @property\n    def vector_db_backup_dir(self) -> Path:\n        return self.root_dir / \"Vector_DB_Backup\"\n\n    @property\n    def models_dir(self) -> Path:\n        return self.root_dir / \"Models\"\n\n    @property\n    def vector_models_dir(self) -> Path:\n        return self.models_dir / \"vector\"\n\n    @classmethod\n    def load(cls, path: Optional[Path] = None) -> \"AppConfig\":\n        config_path = path or Path(\"config.yaml\")\n        if not config_path.exists():\n            instance = cls()\n            instance._config_path = config_path\n            instance.save(config_path)\n            return instance\n        try:\n            with open(config_path, 'r', encoding='utf-8') as f:\n                data = yaml.safe_load(f) or {}\n            if 'created_databases' in data:\n                for db_name, db_data in data['created_databases'].items():\n                    if isinstance(db_data, dict) and not isinstance(db_data, DatabaseInfo):\n                        data['created_databases'][db_name] = DatabaseInfo(**db_data)\n            instance = cls(**data)\n            instance._config_path = config_path\n            return instance\n        except Exception as e:\n            print(f\"Error loading config: {e}\")\n            instance = cls()\n            instance._config_path = config_path\n            return instance\n\n    def save(self, path: Optional[Path] = None) -> None:\n        save_path = path or self._config_path\n        with self._lock:\n            data = self.model_dump()\n            temp_path = save_path.with_suffix('.tmp')\n            with open(temp_path, 'w', encoding='utf-8') as f:\n                yaml.safe_dump(data, f, allow_unicode=True)\n            temp_path.replace(save_path)\n\n    def update_field(self, field_path: str, value: Any) -> None:\n        with self._lock:\n            parts = field_path.split('.')\n            obj = self\n            for part in parts[:-1]:\n                obj = getattr(obj, part)\n            setattr(obj, parts[-1], value)\n            self.save()\n\n    def update_setting(self, field_path: str, value: Any) -> tuple[bool, str]:\n        try:\n            self.update_field(field_path, value)\n            return True, \"Setting updated successfully\"\n        except ValueError as e:\n            return False, str(e)\n        except Exception as e:\n            return False, f\"Error updating setting: {str(e)}\"\n\n    def add_database(self, name: str, model_path: str, chunk_size: int, chunk_overlap: int) -> None:\n        self.created_databases[name] = DatabaseInfo(\n            model=model_path,\n            chunk_size=chunk_size,\n            chunk_overlap=chunk_overlap\n        )\n        self.save()\n\n    def remove_database(self, name: str) -> None:\n        if name in self.created_databases:\n            del self.created_databases[name]\n            self.save()\n\n    def get_user_databases(self) -> list[str]:\n        return [name for name in self.created_databases.keys() if name != \"user_manual\"]\n\n\n_config_instance: Optional[AppConfig] = None\n_config_lock = threading.Lock()\n\n\ndef get_config() -> AppConfig:\n    global _config_instance\n    if _config_instance is None:\n        with _config_lock:\n            if _config_instance is None:\n                _config_instance = AppConfig.load()\n    return _config_instance\n\n\ndef reload_config() -> AppConfig:\n    global _config_instance\n    with _config_lock:\n        _config_instance = AppConfig.load()\n    return _config_instance\n"
  },
  {
    "path": "core/constants.py",
    "content": "\r\nimport os\r\nfrom pathlib import Path\r\n\r\nPROJECT_ROOT = Path(__file__).resolve().parent.parent\r\n\r\n_cpu = os.cpu_count() or 4\r\n\r\nPIPELINE_PRESETS = {\r\n    \"minimal\": {\r\n        \"ingest_threads\": 1,\r\n        \"ingest_processes\": 1,\r\n        \"split_max_parallel_workers\": 1,\r\n        \"tokenize_max_parallel_workers\": 1,\r\n        \"split_worker_batch_size\": 5000,\r\n    },\r\n    \"low\": {\r\n        \"ingest_threads\": 4,\r\n        \"ingest_processes\": 2,\r\n        \"split_max_parallel_workers\": 2,\r\n        \"tokenize_max_parallel_workers\": 2,\r\n        \"split_worker_batch_size\": 3000,\r\n    },\r\n    \"normal\": {\r\n        \"ingest_threads\": min(max(_cpu - 2, 1), 8),\r\n        \"ingest_processes\": min(max(_cpu - 2, 1), 4),\r\n        \"split_max_parallel_workers\": min(max(_cpu - 2, 1), 4),\r\n        \"tokenize_max_parallel_workers\": min(max(_cpu - 2, 1), 4),\r\n        \"split_worker_batch_size\": 2000,\r\n    },\r\n    \"high\": {\r\n        \"ingest_threads\": min(max(_cpu - 2, 1), 16),\r\n        \"ingest_processes\": min(max(_cpu - 2, 1), 8),\r\n        \"split_max_parallel_workers\": min(max(_cpu - 2, 1), 8),\r\n        \"tokenize_max_parallel_workers\": min(max(_cpu - 2, 1), 8),\r\n        \"split_worker_batch_size\": 2000,\r\n    },\r\n    \"maximum\": {\r\n        \"ingest_threads\": max(_cpu - 2, 1),\r\n        \"ingest_processes\": max(_cpu - 2, 1),\r\n        \"split_max_parallel_workers\": 0,\r\n        \"tokenize_max_parallel_workers\": 0,\r\n        \"split_worker_batch_size\": 1000,\r\n    },\r\n}\r\n\r\nTHEMES = {\r\n    \"default\": {\r\n        \"bg_window\": \"#1e1e1e\",\r\n        \"bg_surface\": \"#161b22\",\r\n        \"bg_control\": \"#263238\",\r\n        \"bg_control_hover\": \"#2F4F4F\",\r\n        \"bg_dialog_button\": \"#255a7e\",\r\n        \"bg_tab\": \"#255a7e\",\r\n        \"bg_tab_selected\": \"#1e2a88\",\r\n        \"bg_tab_hover\": \"#2b3d93\",\r\n        \"bg_menu_selected\": \"#4A148C\",\r\n        \"bg_splitter\": \"#1B5E20\",\r\n        \"bg_list_hover\": \"#006064\",\r\n        \"text_primary\": \"#d2d2d2\",\r\n        \"text_input\": \"#a8beb5\",\r\n        \"text_placeholder\": \"#d67373\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#69a9d4\",\r\n        \"selection_fg\": \"black\",\r\n    },\r\n    \"auburn\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#3b301b\",\r\n        \"bg_control\": \"#5a423c\",\r\n        \"bg_control_hover\": \"#4a3c2b\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#7a645b\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#9a8072\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#6b5343\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#b28a70\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#8c6a5a\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"black\": {\r\n        \"bg_window\": \"#0E0D13\",\r\n        \"bg_surface\": \"#0B0A11\",\r\n        \"bg_control\": \"#0B0A11\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#0B0A11\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#2f343f\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#0E0D13\",\r\n        \"bg_list_hover\": \"#39424e\",\r\n        \"text_primary\": \"#D1D7E2\",\r\n        \"text_input\": \"#D1D7E2\",\r\n        \"text_placeholder\": \"#7BA8D8\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#555\",\r\n        \"selection_fg\": \"#D1D7E2\",\r\n    },\r\n    \"bluey\": {\r\n        \"bg_window\": \"#1E2A3A\",\r\n        \"bg_surface\": \"#2C3E50\",\r\n        \"bg_control\": \"#34495E\",\r\n        \"bg_control_hover\": \"#2C3E50\",\r\n        \"bg_dialog_button\": \"#34495E\",\r\n        \"bg_tab\": \"#34495E\",\r\n        \"bg_tab_selected\": \"#2C3E50\",\r\n        \"bg_tab_hover\": \"#4A6377\",\r\n        \"bg_menu_selected\": \"#2C3E50\",\r\n        \"bg_splitter\": \"#2C3E50\",\r\n        \"bg_list_hover\": \"#34495E\",\r\n        \"text_primary\": \"#ECF0F1\",\r\n        \"text_input\": \"#ECF0F1\",\r\n        \"text_placeholder\": \"#95A5A6\",\r\n        \"border_focus\": \"#7F8C8D\",\r\n        \"selection_bg\": \"#4A6377\",\r\n        \"selection_fg\": \"#ECF0F1\",\r\n    },\r\n    \"bluish\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#1b2230\",\r\n        \"bg_control\": \"#2d3c47\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#4b5664\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#60687f\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#4b5664\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#89a2a2\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#4f5a77\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"colorblind\": {\r\n        \"bg_window\": \"#F0F0F0\",\r\n        \"bg_surface\": \"#E0E0E0\",\r\n        \"bg_control\": \"#A0A0A0\",\r\n        \"bg_control_hover\": \"#808080\",\r\n        \"bg_dialog_button\": \"#A0A0A0\",\r\n        \"bg_tab\": \"#777777\",\r\n        \"bg_tab_selected\": \"#555\",\r\n        \"bg_tab_hover\": \"#666\",\r\n        \"bg_menu_selected\": \"#888\",\r\n        \"bg_splitter\": \"#C0C0C0\",\r\n        \"bg_list_hover\": \"#808080\",\r\n        \"text_primary\": \"#000000\",\r\n        \"text_input\": \"#000000\",\r\n        \"text_placeholder\": \"#666\",\r\n        \"border_focus\": \"#555\",\r\n        \"selection_bg\": \"#555\",\r\n        \"selection_fg\": \"#FFFFFF\",\r\n    },\r\n    \"dark_blue\": {\r\n        \"bg_window\": \"#1a1d29\",\r\n        \"bg_surface\": \"#252836\",\r\n        \"bg_control\": \"#323842\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#4b4b4b\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#666\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#4b4b4b\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#969686\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#555\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"dark_grey\": {\r\n        \"bg_window\": \"#1a1d21\",\r\n        \"bg_surface\": \"#2a2e32\",\r\n        \"bg_control\": \"#2a2e32\",\r\n        \"bg_control_hover\": \"#3a3e42\",\r\n        \"bg_dialog_button\": \"#3498db\",\r\n        \"bg_tab\": \"#2a2e32\",\r\n        \"bg_tab_selected\": \"#3498db\",\r\n        \"bg_tab_hover\": \"#3a3e42\",\r\n        \"bg_menu_selected\": \"#3a3e42\",\r\n        \"bg_splitter\": \"#2a2e32\",\r\n        \"bg_list_hover\": \"#3a3e42\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#8a8e92\",\r\n        \"border_focus\": \"#4a4e52\",\r\n        \"selection_bg\": \"#4a4e52\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"dark_yellow\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#3b382b\",\r\n        \"bg_control\": \"#5a5a5a\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#7a7664\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#9a9280\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#5a5a5a\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#b2a27a\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#8c7a5a\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"green_grey\": {\r\n        \"bg_window\": \"#1b2224\",\r\n        \"bg_surface\": \"#09272b\",\r\n        \"bg_control\": \"#424244\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#4b4b4d\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#666669\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e21\",\r\n        \"bg_list_hover\": \"#4b4b4d\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#96989a\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#555559\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"greenish\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#1b3016\",\r\n        \"bg_control\": \"#3c472d\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#4f604b\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#608060\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#4f604b\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#89a280\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#5a774f\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"grey\": {\r\n        \"bg_window\": \"#2D2D2D\",\r\n        \"bg_surface\": \"#383838\",\r\n        \"bg_control\": \"#4E4E4E\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#4E4E4E\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#7E7E7E\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#2D2D2D\",\r\n        \"bg_list_hover\": \"#4E4E4E\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"#A0A0A0\",\r\n        \"text_placeholder\": \"#7E7E7E\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#626262\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"hyperbolic\": {\r\n        \"bg_window\": \"#1B1B1B\",\r\n        \"bg_surface\": \"#006064\",\r\n        \"bg_control\": \"#4A148C\",\r\n        \"bg_control_hover\": \"#673AB7\",\r\n        \"bg_dialog_button\": \"#4A148C\",\r\n        \"bg_tab\": \"#311B92\",\r\n        \"bg_tab_selected\": \"#4A148C\",\r\n        \"bg_tab_hover\": \"#5E35B1\",\r\n        \"bg_menu_selected\": \"#4A148C\",\r\n        \"bg_splitter\": \"#3E2723\",\r\n        \"bg_list_hover\": \"#0097A7\",\r\n        \"text_primary\": \"#E0E0E0\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#9E9E9E\",\r\n        \"border_focus\": \"#B39DDB\",\r\n        \"selection_bg\": \"#0288D1\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"jewel\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#301b38\",\r\n        \"bg_control\": \"#423c57\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#605b6e\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#807a8c\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#534153\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#a27aa2\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#775a7a\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"matrix\": {\r\n        \"bg_window\": \"#000000\",\r\n        \"bg_surface\": \"#001a00\",\r\n        \"bg_control\": \"#001a00\",\r\n        \"bg_control_hover\": \"#003300\",\r\n        \"bg_dialog_button\": \"#001a00\",\r\n        \"bg_tab\": \"#001a00\",\r\n        \"bg_tab_selected\": \"#00ff00\",\r\n        \"bg_tab_hover\": \"#003300\",\r\n        \"bg_menu_selected\": \"#003300\",\r\n        \"bg_splitter\": \"#00ff00\",\r\n        \"bg_list_hover\": \"#003300\",\r\n        \"text_primary\": \"#00ff00\",\r\n        \"text_input\": \"#00ff00\",\r\n        \"text_placeholder\": \"#008000\",\r\n        \"border_focus\": \"#008000\",\r\n        \"selection_bg\": \"#003300\",\r\n        \"selection_fg\": \"#00ff00\",\r\n    },\r\n    \"monet\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#a8beb5\",\r\n        \"bg_control\": \"#8ca6db\",\r\n        \"bg_control_hover\": \"#aacbe8\",\r\n        \"bg_dialog_button\": \"#8ca6db\",\r\n        \"bg_tab\": \"#aacbe8\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#cdd3e5\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#39424e\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"#a8beb5\",\r\n        \"text_placeholder\": \"#aacbe8\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#9dbf9e\",\r\n        \"selection_fg\": \"black\",\r\n    },\r\n    \"okeefe\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#3e3033\",\r\n        \"bg_control\": \"#856d88\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#856d88\",\r\n        \"bg_tab\": \"#907880\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#a79f9d\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#856d88\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"#7a6469\",\r\n        \"text_placeholder\": \"#907880\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#a88c95\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"orangish\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#30261b\",\r\n        \"bg_control\": \"#4a3b2d\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#60594b\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#807562\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#4a3b2d\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#a28a70\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#776855\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"puke\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#303a35\",\r\n        \"bg_control\": \"#4a5a4e\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#6e7e71\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#8c9c89\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#4a5a4e\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"#59665c\",\r\n        \"text_placeholder\": \"#6e7e71\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#7a8c7c\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"purplish\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#301b30\",\r\n        \"bg_control\": \"#423c47\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#5b4b5e\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#806080\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#4d4154\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#a289a2\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#5a4f5a\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"reddish\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#30161b\",\r\n        \"bg_control\": \"#472d3c\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#604b4f\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#806060\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#543d41\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#a28089\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#774f5a\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"steel_ocean\": {\r\n        \"bg_window\": \"#1e2126\",\r\n        \"bg_surface\": \"#1b3a47\",\r\n        \"bg_control\": \"#39424e\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#565e66\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#737c85\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#202428\",\r\n        \"bg_list_hover\": \"#565e66\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#a2a2a3\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#6c757d\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n    \"tron\": {\r\n        \"bg_window\": \"#010b19\",\r\n        \"bg_surface\": \"#011627\",\r\n        \"bg_control\": \"#011627\",\r\n        \"bg_control_hover\": \"#00ffff\",\r\n        \"bg_dialog_button\": \"#011627\",\r\n        \"bg_tab\": \"#011627\",\r\n        \"bg_tab_selected\": \"#00ffff\",\r\n        \"bg_tab_hover\": \"#405c7d\",\r\n        \"bg_menu_selected\": \"#00ffff\",\r\n        \"bg_splitter\": \"#00ffff\",\r\n        \"bg_list_hover\": \"#00ffff\",\r\n        \"text_primary\": \"#7dfdfe\",\r\n        \"text_input\": \"#7dfdfe\",\r\n        \"text_placeholder\": \"#405c7d\",\r\n        \"border_focus\": \"#7dfdfe\",\r\n        \"selection_bg\": \"#00ffff\",\r\n        \"selection_fg\": \"#010b19\",\r\n    },\r\n    \"yellowish\": {\r\n        \"bg_window\": \"#161b22\",\r\n        \"bg_surface\": \"#302f1b\",\r\n        \"bg_control\": \"#4a4739\",\r\n        \"bg_control_hover\": \"#2f343f\",\r\n        \"bg_dialog_button\": \"#6c757d\",\r\n        \"bg_tab\": \"#5e5d4b\",\r\n        \"bg_tab_selected\": \"#39424e\",\r\n        \"bg_tab_hover\": \"#807f6a\",\r\n        \"bg_menu_selected\": \"#39424e\",\r\n        \"bg_splitter\": \"#1e1e1e\",\r\n        \"bg_list_hover\": \"#4a4739\",\r\n        \"text_primary\": \"white\",\r\n        \"text_input\": \"white\",\r\n        \"text_placeholder\": \"#a2a27a\",\r\n        \"border_focus\": \"#6c757d\",\r\n        \"selection_bg\": \"#75705b\",\r\n        \"selection_fg\": \"white\",\r\n    },\r\n}\r\n\r\nSUPPORTED_EXTENSIONS = (\r\n    \".pdf\", \".docx\", \".txt\", \".eml\", \".msg\", \".csv\",\r\n    \".xls\", \".xlsx\", \".xlsm\", \".rtf\", \".md\", \".html\", \".htm\",\r\n)\r\n\r\nGLM4Z1_CHAT_TEMPLATE = \"\"\"[gMASK]<sop>\r\n{%- if tools -%}\r\n<|system|>\r\n你是一个名为 ChatGLM 的人工智能助手。你是基于智谱 AI 公司训练的语言模型 GLM-4 模型开发的，你的任务是针对用户的问题和要求提供适当的答复和支持。\r\n\r\n# 可用工具\r\n{%- for tool in tools %}\r\n    {%- set function = tool.function if tool.get(\"function\") else tool %}\r\n\r\n## {{ function.name }}\r\n\r\n{{ function | tojson(indent=4, ensure_ascii=False) }}\r\n在调用上述函数时，请使用 Json 格式表示调用的参数。\r\n{%- endfor %}\r\n{%- endif -%}\r\n\r\n{%- for msg in messages %}\r\n    {%- if msg.role == 'system' %}\r\n<|system|>\r\n{{ msg.content }}\r\n    {%- endif %}\r\n{%- endfor %}\r\n\r\n{%- for message in messages if message.role != 'system' %}\r\n    {%- set role = message['role'] %}\r\n    {%- set content = message['content'] %}\r\n    {%- set visible = content.split('</think>')[-1].strip() %}\r\n    {%- set meta = message.get(\"metadata\", \"\") %}\r\n\r\n    {%- if role == 'user' %}\r\n<|user|>\r\n{{ visible }}\r\n    {%- elif role == 'assistant' and not meta %}\r\n<|assistant|>\r\n{{ visible }}\r\n    {%- elif role == 'assistant' and meta %}\r\n<|assistant|>{{ meta }}\r\n{{ visible }}\r\n    {%- elif role == 'observation' %}\r\n<|observation|>\r\n{{ visible }}\r\n    {%- endif %}\r\n{%- endfor %}\r\n{% if add_generation_prompt %}<|assistant|>\r\n<think>{% endif %}\"\"\"\r\n\r\n\r\npriority_libs = {\r\n    \"cp311\": {\r\n        \"GPU\": [\r\n            \"https://github.com/kingbri1/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3+cu128torch2.8.0cxx11abiFALSE-cp311-cp311-win_amd64.whl\",\r\n            \"https://download.pytorch.org/whl/cu128/torch-2.9.0%2Bcu128-cp311-cp311-win_amd64.whl#sha256=dc6f6c6e7d7eed20c687fc189754a6ea6bf2da9c64eff59fd6753b80ed4bca05\",\r\n            \"https://download.pytorch.org/whl/cu128/torchvision-0.23.0%2Bcu128-cp311-cp311-win_amd64.whl#sha256=70b3d8bfe04438006ec880c162b0e3aaac90c48b759aa41638dd714c732b182c\",\r\n            \"https://download.pytorch.org/whl/cu128/torchaudio-2.9.0%2Bcu128-cp311-cp311-win_amd64.whl#sha256=daa01250079ef024987622429f379723d306e92fad42290868041a60d4fef2e6\",\r\n            \"triton-windows==3.4.0.post20\",\r\n            \"xformers==0.0.33.post1\",\r\n            \"nvidia-cuda-runtime-cu12==12.8.90\",\r\n            \"nvidia-cublas-cu12==12.8.4.1\",\r\n            \"nvidia-cuda-nvrtc-cu12==12.8.93\",\r\n            \"nvidia-cuda-nvcc-cu12==12.8.93\",\r\n            \"nvidia-cufft-cu12==11.3.3.83\",\r\n            \"nvidia-cudnn-cu12==9.10.2.21\",\r\n            \"nvidia-ml-py==13.580.82\",\r\n        ],\r\n        \"CPU\": [\r\n        ],\r\n        \"COMMON\": [\r\n            \"https://github.com/simonflueckiger/tesserocr-windows_build/releases/download/tesserocr-v2.9.1-tesseract-5.5.1/tesserocr-2.9.1-cp311-cp311-win_amd64.whl\",\r\n        ],\r\n    },\r\n    \"cp312\": {\r\n        \"GPU\": [\r\n            \"https://github.com/kingbri1/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3+cu128torch2.8.0cxx11abiFALSE-cp312-cp312-win_amd64.whl\",\r\n            \"https://download.pytorch.org/whl/cu128/torch-2.9.0%2Bcu128-cp312-cp312-win_amd64.whl#sha256=c97dc47a1f64745d439dd9471a96d216b728d528011029b4f9ae780e985529e0\",\r\n            \"https://download.pytorch.org/whl/cu128/torchvision-0.24.0%2Bcu128-cp312-cp312-win_amd64.whl#sha256=1aa36ac00106e1381c38348611a1ec0eebe942570ebaf0490f026b061dfc212c\",\r\n            \"https://download.pytorch.org/whl/cu128/torchaudio-2.9.0%2Bcu128-cp312-cp312-win_amd64.whl#sha256=90cd2b4d7c375c9a5c2d79117985f8f506718f494914ad9b5c5dee5581216898\",\r\n            \"triton-windows==3.4.0.post20\",\r\n            \"xformers==0.0.33.post1\",\r\n            \"nvidia-cuda-runtime-cu12==12.8.90\",\r\n            \"nvidia-cublas-cu12==12.8.4.1\",\r\n            \"nvidia-cuda-nvrtc-cu12==12.8.93\",\r\n            \"nvidia-cuda-nvcc-cu12==12.8.93\",\r\n            \"nvidia-cufft-cu12==11.3.3.83\",\r\n            \"nvidia-cudnn-cu12==9.10.2.21\",\r\n            \"nvidia-ml-py==13.580.82\",\r\n        ],\r\n        \"CPU\": [\r\n        ],\r\n        \"COMMON\": [\r\n            \"https://github.com/simonflueckiger/tesserocr-windows_build/releases/download/tesserocr-v2.9.1-tesseract-5.5.1/tesserocr-2.9.1-cp312-cp312-win_amd64.whl\",\r\n        ]\r\n    },\r\n    \"cp313\": {\r\n        \"GPU\": [\r\n            \"https://github.com/kingbri1/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3+cu128torch2.8.0cxx11abiFALSE-cp313-cp313-win_amd64.whl\",\r\n            \"https://download.pytorch.org/whl/cu128/torch-2.9.0%2Bcu128-cp313-cp313-win_amd64.whl#sha256=9cba9f0fa2e1b70fffdcec1235a1bb727cbff7e7b118ba111b2b7f984b7087e2\",\r\n            \"https://download.pytorch.org/whl/cu128/torchvision-0.24.0%2Bcu128-cp313-cp313-win_amd64.whl#sha256=f82cd941bc36033ebdb2974c83caa2913cc37e6567fe97cdd69f5a568ff182c8\",\r\n            \"https://download.pytorch.org/whl/cu128/torchaudio-2.9.0%2Bcu128-cp313-cp313-win_amd64.whl#sha256=76df3fdb5e1194b51e69187e00d53d18bb5c2e0f3904d105e644b5c3aba5c9f4\",\r\n            \"triton-windows==3.4.0.post20\",\r\n            \"xformers==0.0.33.post1\",\r\n            \"nvidia-cuda-runtime-cu12==12.8.90\",\r\n            \"nvidia-cublas-cu12==12.8.4.1\",\r\n            \"nvidia-cuda-nvrtc-cu12==12.8.93\",\r\n            \"nvidia-cuda-nvcc-cu12==12.8.93\",\r\n            \"nvidia-cufft-cu12==11.3.3.83\",\r\n            \"nvidia-cudnn-cu12==9.10.2.21\",\r\n            \"nvidia-ml-py==13.580.82\",\r\n        ],\r\n        \"CPU\": [\r\n        ],\r\n        \"COMMON\": [\r\n            \"https://github.com/simonflueckiger/tesserocr-windows_build/releases/download/tesserocr-v2.9.1-tesseract-5.5.1/tesserocr-2.9.1-cp313-cp313-win_amd64.whl\",\r\n        ]\r\n    }\r\n}\r\n\r\nlibs = [\r\n    \"accelerate==1.11.0\",\r\n    \"aiofiles==25.1.0\",\r\n    \"aiohappyeyeballs==2.6.1\",\r\n    \"aiohttp==3.13.2\",\r\n    \"aiosignal==1.4.0\",\r\n    \"anndata==0.12.5\",\r\n    \"annotated-types==0.7.0\",\r\n    \"anyio==4.11.0\",\r\n    \"array_api_compat==1.12.0\",\r\n    \"async-timeout==5.0.1\",\r\n    \"attrs==25.4.0\",\r\n    \"av==16.0.1\",\r\n    \"backoff==2.2.1\",\r\n    \"beautifulsoup4==4.14.2\",\r\n    \"bitsandbytes==0.48.2\",\r\n    \"braceexpand==0.1.7\",\r\n    \"certifi==2025.10.5\",\r\n    \"cfgv==3.4.0\",\r\n    \"cffi==2.0.0\",\r\n    \"chardet==5.2.0\",\r\n    \"charset-normalizer==3.4.4\",\r\n    \"git+https://github.com/BBC-Esq/chatterbox-light\",\r\n    \"chattts==0.2.5\",\r\n    \"click==8.3.0\",\r\n    \"cloudpickle==3.1.2\",\r\n    \"colorama==0.4.6\",\r\n    \"colorclass==2.2.2\",\r\n    \"coloredlogs==15.0.1\",\r\n    \"compressed-rtf==1.0.7\",\r\n    \"contourpy==1.3.3\",\r\n    \"cryptography==46.0.3\",\r\n    \"ctranslate2==4.6.2\",\r\n    \"curl_cffi==0.15.0\",\r\n    \"cycler==0.12.1\",\r\n    \"dataclasses-json==0.6.7\",\r\n    \"datasets==4.3.0\",\r\n    \"deepdiff==8.6.1\",\r\n    \"Deprecated==1.2.18\",\r\n    \"deprecation==2.1.0\",\r\n    \"diffusers==0.35.2\",\r\n    \"dill==0.3.8\",\r\n    \"distlib==0.4.0\",\r\n    \"distro==1.9.0\",\r\n    \"docx2txt==0.9\",\r\n    \"easygui==0.98.3\",\r\n    \"ebcdic==1.1.1\",\r\n    \"einops==0.8.1\",\r\n    \"einx==0.3.0\",\r\n    \"emoji==2.15.0\",\r\n    \"encodec==0.1.1\",\r\n    \"et-xmlfile==2.0.0\",\r\n    \"eval-type-backport==0.2.2\",\r\n    \"extract-msg==0.55.0\",\r\n    \"fastcore==1.8.13\",\r\n    \"fastprogress==1.0.3\",\r\n    \"filetype==1.2.0\",\r\n    \"filelock==3.20.0\",\r\n    \"fonttools==4.60.1\",\r\n    \"frozendict==2.4.6\",\r\n    \"frozenlist==1.8.0\",\r\n    \"fsspec[http]==2025.9.0\",\r\n    \"googleapis-common-protos==1.70.0\",\r\n    \"greenlet==3.2.4\",\r\n    \"grpcio==1.75.1\",\r\n    \"gTTS==2.5.4\",\r\n    \"h11==0.16.0\",\r\n    \"h5py==3.15.1\",\r\n    \"hf-xet==1.2.0\",\r\n    \"html5lib==1.1\",\r\n    \"httpcore==1.0.9\",\r\n    \"httpx==0.28.1\",\r\n    \"httpx-sse==0.4.3\",\r\n    \"huggingface-hub==0.36.0\",\r\n    \"humanfriendly==10.0\",\r\n    \"HyperPyYAML==1.2.2\",\r\n    \"identify==2.6.15\",\r\n    \"idna==3.11\",\r\n    \"img2pdf==0.6.1\",\r\n    \"importlib_metadata==8.7.0\",\r\n    \"Jinja2==3.1.6\",\r\n    \"jiter==0.11.1\",\r\n    \"joblib==1.5.2\",\r\n    \"jsonpatch==1.33\",\r\n    \"jsonpath-python==1.0.6\",\r\n    \"jsonpointer==3.0.0\",\r\n    \"jsonschema==4.25.1\",\r\n    \"jsonschema-specifications==2025.9.1\",\r\n    \"kiwisolver==1.4.9\",\r\n    \"lark==1.3.1\",\r\n    \"llvmlite==0.45.1\",\r\n    \"lxml==6.0.2\",\r\n    \"Markdown==3.9\",\r\n    \"markdown-it-py==4.0.0\",\r\n    \"MarkupSafe==3.0.3\",\r\n    \"marshmallow==3.26.1\",\r\n    \"matplotlib==3.10.7\",\r\n    \"mdurl==0.1.2\",\r\n    \"ml-dtypes==0.5.3\",\r\n    \"more-itertools==10.8.0\",\r\n    \"mpmath==1.3.0\",\r\n    \"msoffcrypto-tool==6.0.0\",\r\n    \"multidict==6.7.0\",\r\n    \"multiprocess==0.70.16\",\r\n    \"mypy-extensions==1.1.0\",\r\n    \"natsort==8.4.0\",\r\n    \"nest-asyncio==1.6.0\",\r\n    \"networkx==3.5\",\r\n    \"nodeenv==1.9.1\",\r\n    \"nltk==3.9.1\",\r\n    \"numba==0.62.1\",\r\n    \"numpy==2.3.4\",\r\n    \"ocrmypdf==16.11.1\",\r\n    \"olefile==0.47\",\r\n    \"oletools==0.60.2\",\r\n    \"onnx==1.19.1\",\r\n    \"openai==2.6.1\",\r\n    \"openai-whisper==20250625\",\r\n    \"openpyxl==3.1.5\",\r\n    \"opentelemetry-api==1.38.0\",\r\n    \"opentelemetry-exporter-otlp-proto-grpc==1.38.0\",\r\n    \"opentelemetry-sdk==1.38.0\",\r\n    \"opentelemetry-semantic-conventions\",\r\n    \"opentelemetry-exporter-otlp-proto-common==1.38.0\",\r\n    \"opentelemetry-proto==1.38.0\",\r\n    \"optimum==2.0.0\",\r\n    \"ordered-set==4.1.0\",\r\n    \"orderly-set==5.5.0\",\r\n    \"orjson==3.11.4\",\r\n    \"overrides==7.7.0\",\r\n    \"packaging==25.0\",\r\n    \"pandas==2.3.3\",\r\n    \"pcodedmp==1.2.6\",\r\n    \"pdfminer.six==20250506\",\r\n    \"pi-heif==1.1.1\",\r\n    \"pikepdf==9.11.0\",\r\n    \"pillow==12.0.0\",\r\n    \"pipdeptree\",\r\n    \"platformdirs==4.5.0\",\r\n    \"pluggy==1.6.0\",\r\n    \"posthog==5.4.0\",\r\n    \"pre-commit==4.3.0\",\r\n    \"propcache==0.4.1\",\r\n    \"protobuf==6.33.0\",\r\n    \"psutil==7.1.3\",\r\n    \"pyarrow==22.0.0\",\r\n    \"pybase16384==0.3.8\",\r\n    \"pybase64==1.4.2\",\r\n    \"pycparser==2.23\",\r\n    \"pydantic==2.12.3\",\r\n    \"pydantic_core==2.41.4\",\r\n    \"pydantic-settings==2.11.0\",\r\n    \"Pygments==2.19.2\",\r\n    \"PyOpenGL==3.1.10\",\r\n    \"PyOpenGL-accelerate==3.1.10\",\r\n    \"pypandoc==1.15\",\r\n    \"pyparsing==3.2.5\",\r\n    \"pypdf==6.1.3\",\r\n    \"pyreadline3==3.5.4\",\r\n    \"python-dateutil==2.9.0.post0\",\r\n    \"python-docx==1.2.0\",\r\n    \"python-dotenv==1.1.1\",\r\n    \"python-iso639==2025.2.18\",\r\n    \"python-magic==0.4.27\",\r\n    \"pytz==2025.2\",\r\n    \"PyYAML==6.0.3\",\r\n    \"rapidfuzz==3.14.3\",\r\n    \"red-black-tree-mod==1.22\",\r\n    \"referencing==0.37.0\",\r\n    \"regex==2025.10.23\",\r\n    \"requests==2.32.5\",\r\n    \"requests-toolbelt==1.0.0\",\r\n    \"rpds-py\",\r\n    \"rich==14.2.0\",\r\n    \"RTFDE==0.1.2.2\",\r\n    \"ruamel.yaml==0.18.16\",\r\n    \"ruamel.yaml.clib==0.2.14\",\r\n    \"s3tokenizer==0.2.0\",\r\n    \"safetensors==0.6.2\",\r\n    \"scikit-learn==1.7.2\",\r\n    \"scipy==1.16.3\",\r\n    \"sentence-transformers==5.1.2\",\r\n    \"sentencepiece==0.2.1\",\r\n    \"six==1.17.0\",\r\n    \"sniffio==1.3.1\",\r\n    \"sounddevice==0.5.3\",\r\n    \"soundfile==0.13.1\",\r\n    \"soupsieve==2.8\",\r\n    \"speechbrain==0.5.16\",\r\n    \"SQLAlchemy==2.0.44\",\r\n    \"sseclient-py==1.8.0\",\r\n    \"striprtf==0.0.29\",\r\n    \"sympy==1.13.3\",\r\n    \"tabulate2==1.10.2\",\r\n    \"tenacity==9.1.2\",\r\n    \"termcolor==3.2.0\",\r\n    \"tessdata==1.0.0\",\r\n    \"tessdata.eng==1.0.0\",\r\n    \"threadpoolctl==3.6.0\",\r\n    \"tiktoken==0.12.0\",\r\n    \"tiledb==0.36.0\",\r\n    \"tiledb-cloud==0.14.4\",\r\n    \"tiledb-vector-search==0.16.0\",\r\n    \"timm==1.0.20\",\r\n    \"tokenizers==0.22.1\",\r\n    \"tqdm==4.67.1\",\r\n    \"transformers==4.57.4\",\r\n    \"typing-inspection==0.4.2\",\r\n    \"typing_extensions==4.15.0\",\r\n    \"unstructured-client==0.42.3\",\r\n    \"virtualenv==20.35.3\",\r\n    \"tzdata==2025.2\",\r\n    \"tzlocal==5.3.1\",\r\n    \"urllib3==2.5.0\",\r\n    \"vector-quantize-pytorch==1.24.2\",\r\n    \"vocos==0.1.0\",\r\n    \"watchdog==6.0.0\",\r\n    \"wcwidth==0.2.14\",\r\n    \"webdataset==1.0.2\",\r\n    \"webencodings==0.5.1\",\r\n    \"whisper-s2t-reborn>=1.6.0,<2\",\r\n    \"whisperspeech2>=1.0.0,<2\",\r\n    \"win-unicode-console==0.5\",\r\n    \"wrapt==1.17.3\",\r\n    \"xlrd==2.0.2\",\r\n    \"xxhash==3.6.0\",\r\n    \"yarl==1.22.0\",\r\n    \"zipp==3.23.0\",\r\n    \"zstandard==0.25.0\"\r\n]\r\n\r\nfull_install_libs = [\r\n    \"PySide6==6.10.0\",\r\n    \"pymupdf==1.26.5\",\r\n    \"unstructured==0.18.15\",\r\n]\r\n\r\nBACKEND_DEPENDENCIES = {\r\n    \"kyutai\": {\r\n        \"moshi\": \"0.2.13\",\r\n        \"sphn\": \"0.2.0\"\r\n    },\r\n    \"kyutaipocket\": {\r\n        \"pocket_tts\": \"2.0.0\"\r\n    },\r\n    \"bark\": {\r\n    },\r\n    \"whisperspeech\": {\r\n    },\r\n    \"chattts\": {\r\n    },\r\n    \"chatterbox\": {\r\n    },\r\n    \"googletts\": {\r\n    }\r\n}\r\n\r\nCHAT_MODELS = {\r\n    'LiquidAI - .35b': {\r\n        'model': 'LiquidAI - .35b',\r\n        'repo_id': 'LiquidAI/LFM2-350M',\r\n        'cache_dir': 'LiquidAI--LFM2-350M',\r\n        'cps': 251.69,\r\n        'vram': 888.05,\r\n        'function': 'LiquidAI',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'lfm1.0',\r\n        'max_new_tokens': 1024,\r\n    },\r\n    'Qwen 3 - 0.6b (Thinking)': {\r\n        'model': 'Qwen 3 - 0.6b (Thinking)',\r\n        'repo_id': 'Qwen/Qwen3-0.6B',\r\n        'cache_dir': 'Qwen--Qwen3-0.6B',\r\n        'cps': 203.25,\r\n        'vram': 1293.37,\r\n        'function': 'Qwen',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'LiquidAI - .7b': {\r\n        'model': 'LiquidAI - .7b',\r\n        'repo_id': 'LiquidAI/LFM2-700M',\r\n        'cache_dir': 'LiquidAI--LFM2-700M',\r\n        'cps': 328.76,\r\n        'vram': 1204.43,\r\n        'function': 'LiquidAI',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'lfm1.0',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'LiquidAI - 1.2b': {\r\n        'model': 'LiquidAI - 1.2b',\r\n        'repo_id': 'LiquidAI/LFM2-1.2B',\r\n        'cache_dir': 'LiquidAI--LFM2-1.2B',\r\n        'cps': 293.37,\r\n        'vram': 1621.93,\r\n        'function': 'LiquidAI',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'lfm1.0',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Qwen 3 - 1.7b (Thinking)': {\r\n        'model': 'Qwen 3 - 1.7b (Thinking)',\r\n        'repo_id': 'Qwen/Qwen3-1.7B',\r\n        'cache_dir': 'Qwen--Qwen3-1.7B',\r\n        'cps': 200.81,\r\n        'vram': 2603.93,\r\n        'function': 'Qwen',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Granite - 2b': {\r\n        'model': 'Granite - 2b',\r\n        'repo_id': 'ibm-granite/granite-3.3-2b-instruct',\r\n        'cache_dir': 'ibm-granite--granite-3.3-2b-instruct',\r\n        'cps': 155.22,\r\n        'vram': 3141.37,\r\n        'function': 'Granite',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 1024,\r\n    },\r\n    'Qwen 3 - 4b': {\r\n        'model': 'Qwen 3 - 4b',\r\n        'repo_id': 'Qwen/Qwen3-4B-Instruct-2507',\r\n        'cache_dir': 'Qwen--Qwen3-4B-Instruct-2507',\r\n        'cps': 153.87,\r\n        'vram': 4439.74,\r\n        'function': 'Qwen',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Qwen 3 - 4b (Thinking)': {\r\n        'model': 'Qwen 3 - 4b (Thinking)',\r\n        'repo_id': 'Qwen/Qwen3-4B-Thinking-2507',\r\n        'cache_dir': 'Qwen--Qwen3-4B-Thinking-2507',\r\n        'cps': 153.87,\r\n        'vram': 4439.74,\r\n        'function': 'Qwen',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Phi 4 Mini - 4b': {\r\n        'model': 'Phi 4 Mini - 4b',\r\n        'repo_id': 'microsoft/Phi-4-mini-instruct',\r\n        'cache_dir': 'microsoft--Phi-4-mini-instruct',\r\n        'cps': 222.77,\r\n        'vram': 4761.80,\r\n        'function': 'Phi4',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'mit',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Qwen 3 - 8b (Thinking)': {\r\n        'model': 'Qwen 3 - 8b (Thinking)',\r\n        'repo_id': 'Qwen/Qwen3-8B',\r\n        'cache_dir': 'Qwen--Qwen3-8B',\r\n        'cps': 152.61,\r\n        'vram': 8390.24,\r\n        'function': 'Qwen',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Deepseek R1 - 8b (Thinking)': {\r\n        'model': 'Deepseek R1 - 8b (Thinking)',\r\n        'repo_id': 'deepseek-ai/DeepSeek-R1-0528-Qwen3-8B',\r\n        'cache_dir': 'deepseek-ai--DeepSeek-R1-0528-Qwen3-8B',\r\n        'cps': 171.55,\r\n        'vram': 8425.49,\r\n        'function': 'DeepseekR1',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'mit',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Seed Coder - 8b': {\r\n        'model': 'Seed Coder - 8b',\r\n        'repo_id': 'ByteDance-Seed/Seed-Coder-8B-Instruct',\r\n        'cache_dir': 'ByteDance-Seed--Seed-Coder-8B-Instruct',\r\n        'cps': 183.82,\r\n        'vram': 8441.93,\r\n        'function': 'SeedCoder',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'mit',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Granite - 8b': {\r\n        'model': 'Granite - 8b',\r\n        'repo_id': 'ibm-granite/granite-3.3-8b-instruct',\r\n        'cache_dir': 'ibm-granite--granite-3.3-8b-instruct',\r\n        'cps': 173.62,\r\n        'vram': 8513.93,\r\n        'function': 'Granite',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n    },\r\n    'GLM4-Z1 - 9b (Thinking)': {\r\n        'model': 'GLM4-Z1 - 9b (Thinking)',\r\n        'repo_id': 'THUDM/GLM-Z1-9B-0414',\r\n        'cache_dir': 'THUDM--GLM-Z1-9B-0414',\r\n        'cps': 395.18,\r\n        'vram': 9592.77,\r\n        'function': 'GLM4Z1',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'mit',\r\n        'max_new_tokens': 2048,\r\n    },\r\n    'Qwen 3 - 14b (Thinking)': {\r\n        'model': 'Qwen 3 - 14b (Thinking)',\r\n        'repo_id': 'Qwen/Qwen3-14B',\r\n        'cache_dir': 'Qwen--Qwen3-14B',\r\n        'cps': 140.79,\r\n        'vram': 11597.37,\r\n        'function': 'Qwen',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 4096,\r\n    },\r\n    'Mistral Small 3 - 24b': {\r\n        'model': 'Mistral Small 3 - 24b',\r\n        'repo_id': 'mistralai/Mistral-Small-24B-Instruct-2501',\r\n        'cache_dir': 'mistralai--Mistral-Small-24B-Instruct-2501',\r\n        'cps': 134.32,\r\n        'vram': 14790.80,\r\n        'function': 'Mistral_Small_24b',\r\n        'precision': 'bfloat16',\r\n        'gated': True,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 4096,\r\n    },\r\n    'Qwen 3 - 32b (Thinking)': {\r\n        'model': 'Qwen 3 - 32b (Thinking)',\r\n        'repo_id': 'Qwen/Qwen3-32B',\r\n        'cache_dir': 'Qwen--Qwen3-32B',\r\n        'cps': 97.56,\r\n        'vram': 19493.55,\r\n        'function': 'Qwen',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'apache-2.0',\r\n        'max_new_tokens': 4096,\r\n    },\r\n    'GLM4-Z1 - 32b (Thinking)': {\r\n        'model': 'GLM4-Z1 - 32b (Thinking)',\r\n        'repo_id': 'THUDM/GLM-Z1-32B-0414',\r\n        'cache_dir': 'THUDM--GLM-Z1-32B-0414',\r\n        'cps': 121.65,\r\n        'vram': 19947.77,\r\n        'function': 'GLM4Z1',\r\n        'precision': 'bfloat16',\r\n        'gated': False,\r\n        'license': 'mit',\r\n        'max_new_tokens': 4096,\r\n    },\r\n}\r\n\r\nVECTOR_MODELS = {\r\n    'BAAI': [\r\n        {\r\n            'name': 'bge-small-en-v1.5',\r\n            'dimensions': 384,\r\n            'max_sequence': 512,\r\n            'size_mb': 134,\r\n            'repo_id': 'BAAI/bge-small-en-v1.5',\r\n            'cache_dir': 'BAAI--bge-small-en-v1.5',\r\n            'type': 'vector',\r\n            'parameters': '33.4m',\r\n            'precision': 'float32',\r\n            'rank': 12,\r\n            'license': 'mit',\r\n        },\r\n        {\r\n            'name': 'bge-base-en-v1.5',\r\n            'dimensions': 768,\r\n            'max_sequence': 512,\r\n            'size_mb': 438,\r\n            'repo_id': 'BAAI/bge-base-en-v1.5',\r\n            'cache_dir': 'BAAI--bge-base-en-v1.5',\r\n            'type': 'vector',\r\n            'parameters': '109m',\r\n            'precision': 'float32',\r\n            'rank': 10,\r\n            'license': 'mit',\r\n        },\r\n        {\r\n            'name': 'bge-large-en-v1.5',\r\n            'dimensions': 1024,\r\n            'max_sequence': 512,\r\n            'size_mb': 1340,\r\n            'repo_id': 'BAAI/bge-large-en-v1.5',\r\n            'cache_dir': 'BAAI--bge-large-en-v1.5',\r\n            'type': 'vector',\r\n            'parameters': '335m',\r\n            'precision': 'float32',\r\n            'rank': 7,\r\n            'license': 'mit',\r\n        },\r\n    ],\r\n    'Google': [\r\n        {\r\n            'name': 'embeddinggemma-300m',\r\n            'dimensions': 768,\r\n            'max_sequence': 2048,\r\n            'size_mb': 1210,\r\n            'repo_id': 'google/embeddinggemma-300m',\r\n            'cache_dir': 'google--embeddinggemma-300m',\r\n            'type': 'vector',\r\n            'parameters': '303m',\r\n            'precision': 'float32',\r\n            'rank': 4,\r\n            'license': 'gemma - commercial ok',\r\n        },\r\n    ],\r\n    'IBM': [\r\n        {\r\n            'name': 'Granite-30m-English',\r\n            'dimensions': 384,\r\n            'max_sequence': 512,\r\n            'size_mb': 61,\r\n            'repo_id': 'ibm-granite/granite-embedding-30m-english',\r\n            'cache_dir': 'ibm-granite--granite-embedding-30m-english',\r\n            'type': 'vector',\r\n            'parameters': '30.3m',\r\n            'precision': 'bfloat16',\r\n            'rank': 14,\r\n            'license': 'apache-2.0',\r\n        },\r\n        {\r\n            'name': 'Granite-125m-English',\r\n            'dimensions': 768,\r\n            'max_sequence': 512,\r\n            'size_mb': 249,\r\n            'repo_id': 'ibm-granite/granite-embedding-125m-english',\r\n            'cache_dir': 'ibm-granite--granite-embedding-125m-english',\r\n            'type': 'vector',\r\n            'parameters': '125m',\r\n            'precision': 'bfloat16',\r\n            'rank': 13,\r\n            'license': 'apache-2.0',\r\n        },\r\n    ],\r\n    'infly': [\r\n        {\r\n            'name': 'inf-retriever-v1-1.5b',\r\n            'dimensions': 1536,\r\n            'max_sequence': 8192,\r\n            'size_mb': 3090,\r\n            'repo_id': 'infly/inf-retriever-v1-1.5b',\r\n            'cache_dir': 'infly--inf-retriever-v1-1.5b',\r\n            'type': 'vector',\r\n            'parameters': '1540m',\r\n            'precision': 'bfloat16',\r\n            'rank': 16,\r\n            'license': 'apache-2.0',\r\n        },\r\n        {\r\n            'name': 'inf-retriever-v1-7b',\r\n            'dimensions': 3584,\r\n            'max_sequence': 8192,\r\n            'size_mb': 14130,\r\n            'repo_id': 'infly/inf-retriever-v1',\r\n            'cache_dir': 'infly--inf-retriever-v1-7b',\r\n            'type': 'vector',\r\n            'parameters': '7070m',\r\n            'precision': 'bfloat16',\r\n            'rank': 15,\r\n            'license': 'apache-2.0',\r\n        },\r\n    ],\r\n    'intfloat': [\r\n        {\r\n            'name': 'e5-small-v2',\r\n            'dimensions': 384,\r\n            'max_sequence': 512,\r\n            'size_mb': 134,\r\n            'repo_id': 'intfloat/e5-small-v2',\r\n            'cache_dir': 'intfloat--e5-small-v2',\r\n            'type': 'vector',\r\n            'parameters': '33.4m',\r\n            'precision': 'float32',\r\n            'rank': 11,\r\n            'license': 'mit',\r\n        },\r\n        {\r\n            'name': 'e5-base-v2',\r\n            'dimensions': 768,\r\n            'max_sequence': 512,\r\n            'size_mb': 438,\r\n            'repo_id': 'intfloat/e5-base-v2',\r\n            'cache_dir': 'intfloat--e5-base-v2',\r\n            'type': 'vector',\r\n            'parameters': '109m',\r\n            'precision': 'float32',\r\n            'rank': 8,\r\n            'license': 'mit',\r\n        },\r\n        {\r\n            'name': 'e5-large-v2',\r\n            'dimensions': 1024,\r\n            'max_sequence': 512,\r\n            'size_mb': 1340,\r\n            'repo_id': 'intfloat/e5-large-v2',\r\n            'cache_dir': 'intfloat--e5-large-v2',\r\n            'type': 'vector',\r\n            'parameters': '335m',\r\n            'precision': 'float32',\r\n            'rank': 7,\r\n            'license': 'mit',\r\n        },\r\n    ],\r\n    'Qwen': [\r\n        {\r\n            'name': 'Qwen3-Embedding-0.6B',\r\n            'dimensions': 1024,\r\n            'max_sequence':8192,\r\n            'size_mb': 1190,\r\n            'repo_id': 'Qwen/Qwen3-Embedding-0.6B',\r\n            'cache_dir': 'Qwen--Qwen3-Embedding-0.6B',\r\n            'type': 'vector',\r\n            'parameters': '596m',\r\n            'precision': 'bfloat16',\r\n            'rank': 3,\r\n            'license': 'apache-2.0',\r\n        },\r\n        {\r\n            'name': 'Qwen3-Embedding-4B',\r\n            'dimensions': 2560,\r\n            'max_sequence':8192,\r\n            'size_mb': 4970,\r\n            'repo_id': 'Qwen/Qwen3-Embedding-4B',\r\n            'cache_dir': 'Qwen--Qwen3-Embedding-4B',\r\n            'type': 'vector',\r\n            'parameters': '4020m',\r\n            'precision': 'bfloat16',\r\n            'rank': 2,\r\n            'license': 'apache-2.0',\r\n        },\r\n        {\r\n            'name': 'Qwen3-Embedding-8B',\r\n            'dimensions': 4096,\r\n            'max_sequence':8192,\r\n            'size_mb': 15136,\r\n            'repo_id': 'Qwen/Qwen3-Embedding-8B',\r\n            'cache_dir': 'Qwen--Qwen3-Embedding-8B',\r\n            'type': 'vector',\r\n            'parameters': '7570m',\r\n            'precision': 'bfloat16',\r\n            'rank': 1,\r\n            'license': 'apache-2.0',\r\n        },\r\n    ],\r\n    'Snowflake': [\r\n        {\r\n            'name': 'arctic-embed-m-v2.0',\r\n            'dimensions': 768,\r\n            'max_sequence':8192,\r\n            'size_mb': 1220,\r\n            'repo_id': 'Snowflake/snowflake-arctic-embed-m-v2.0',\r\n            'cache_dir': 'Snowflake--snowflake-arctic-embed-m-v2.0',\r\n            'type': 'vector',\r\n            'parameters': '305m',\r\n            'precision': 'float32',\r\n            'rank': 6,\r\n            'license': 'apache-2.0',\r\n        },\r\n        {\r\n            'name': 'arctic-embed-l-v2.0',\r\n            'dimensions': 1024,\r\n            'max_sequence': 8192,\r\n            'size_mb': 2270,\r\n            'repo_id': 'Snowflake/snowflake-arctic-embed-l-v2.0',\r\n            'cache_dir': 'Snowflake--snowflake-arctic-embed-l-v2.0',\r\n            'type': 'vector',\r\n            'parameters': '568m',\r\n            'precision': 'float32',\r\n            'rank': 5,\r\n            'license': 'apache-2.0',\r\n        },\r\n    ],\r\n}\r\n\r\nVISION_MODELS = {\r\n    'Liquid-VL - 480M': {\r\n        'precision': 'bfloat16',\r\n        'quant': 'n/a',\r\n        'size': '480m',\r\n        'repo_id': 'LiquidAI/LFM2-VL-450M',\r\n        'cache_dir': 'LiquidAI--LFM2-VL-450M',\r\n        'requires_cuda': False,\r\n        'vram': '628 MB',\r\n        'speed': '497.64 char/s',\r\n        'avg_length': 855,\r\n        'loader': 'loader_liquidvl',\r\n        'vision_component': 'SigLIP2 NaFlex base (86M)',\r\n        'chat_component': 'LFM2-350M',\r\n        'license': 'lfm1.0',\r\n    },\r\n    'Liquid-VL - 1.6B': {\r\n        'precision': 'bfloat16',\r\n        'quant': 'n/a',\r\n        'size': '1.6b',\r\n        'repo_id': 'LiquidAI/LFM2-VL-1.6B',\r\n        'cache_dir': 'LiquidAI--LFM2-VL-1.6B',\r\n        'requires_cuda': False,\r\n        'vram': '1.4 GB',\r\n        'speed': '437.5 char/s',\r\n        'avg_length': 722,\r\n        'loader': 'loader_liquidvl',\r\n        'vision_component': 'SigLIP2 NaFlex shape‑optimized (400M)',\r\n        'chat_component': 'LFM2-1.2B',\r\n        'license': 'lfm1.0',\r\n    },\r\n    'InternVL3 - 1b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '1b',\r\n        'repo_id': 'OpenGVLab/InternVL3-1B',\r\n        'cache_dir': 'OpenGVLab--InternVL3-1B',\r\n        'requires_cuda': False,\r\n        'vram': '2.4 GB',\r\n        'avg_length': 560,\r\n        'loader': 'loader_internvl',\r\n        'vision_component': 'InternViT-300M-448px-V2_5',\r\n        'chat_component': 'Qwen2.5-0.5B',\r\n        'license': 'apache-2.0',\r\n    },\r\n    'InternVL3 - 2b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '2b',\r\n        'repo_id': 'OpenGVLab/InternVL3-2B',\r\n        'cache_dir': 'OpenGVLab--InternVL3-2B',\r\n        'requires_cuda': False,\r\n        'vram': '3.2 GB',\r\n        'avg_length': 626,\r\n        'loader': 'loader_internvl',\r\n        'vision_component': 'InternViT-300M-448px-V2_5',\r\n        'chat_component': 'Qwen2.5-1.5B',\r\n        'license': 'apache-2.0',\r\n    },\r\n    'Granite Vision - 2b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '2b',\r\n        'repo_id': 'ibm-granite/granite-vision-3.2-2b',\r\n        'cache_dir': 'ibm-granite--granite-vision-3.2-2b',\r\n        'requires_cuda': False,\r\n        'vram': '4.1 gb+',\r\n        'avg_length': 966,\r\n        'loader': 'loader_granite',\r\n        'vision_component': 'siglip-so400m-patch14-384',\r\n        'chat_component': 'granite-3.1-2b-instruct',\r\n        'license': 'apache-2.0',\r\n    },\r\n    'Qwen VL - 2b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '2b',\r\n        'repo_id': 'Qwen/Qwen3-VL-2B-Instruct',\r\n        'cache_dir': 'Qwen--Qwen3-VL-2B-Instruct',\r\n        'requires_cuda': True,\r\n        'vram': '4.1 GB',\r\n        'avg_length': 975,\r\n        'loader': 'loader_qwenvl',\r\n        'vision_component': 'Custom ViT',\r\n        'chat_component': 'Qwen2.5-3B-Instruct',\r\n        'license': 'apache-2.0',\r\n    },\r\n    'Liquid-VL - 3B': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '3b',\r\n        'repo_id': 'LiquidAI/LFM2-VL-3B',\r\n        'cache_dir': 'LiquidAI--LFM2-VL-3B',\r\n        'requires_cuda': True,\r\n        'vram': '6.3 GB',\r\n        'avg_length': 807,\r\n        'loader': 'loader_liquidvl',\r\n        'vision_component': 'SigLIP2 400M NaFlex',\r\n        'chat_component': 'LFM2-2.6B',\r\n        'license': 'Commercial under 10M Revenue',\r\n    },\r\n    'Qwen VL - 3b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '3b',\r\n        'repo_id': 'Qwen/Qwen2.5-VL-3B-Instruct',\r\n        'cache_dir': 'Qwen--Qwen2.5-VL-3B-Instruct',\r\n        'requires_cuda': True,\r\n        'vram': '6.3 GB',\r\n        'avg_length': 703,\r\n        'loader': 'loader_qwenvl',\r\n        'vision_component': 'Custom ViT',\r\n        'chat_component': 'Qwen2.5-3B-Instruct',\r\n        'license': 'Custom Non-Commercial',\r\n    },\r\n    'Qwen VL - 4b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '4b',\r\n        'repo_id': 'Qwen/Qwen3-VL-4B-Instruct',\r\n        'cache_dir': 'Qwen--Qwen3-VL-4B-Instruct',\r\n        'requires_cuda': True,\r\n        'vram': '6.3 GB',\r\n        'avg_length': 975,\r\n        'loader': 'loader_qwenvl',\r\n        'vision_component': 'Custom ViT',\r\n        'chat_component': 'Qwen3-3B-Instruct',\r\n        'license': 'apache-2.0',\r\n    },\r\n    'InternVL3 - 8b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '1b',\r\n        'repo_id': 'OpenGVLab/InternVL3-8B',\r\n        'cache_dir': 'OpenGVLab--InternVL3-8B',\r\n        'requires_cuda': True,\r\n        'vram': '8.2 GB',\r\n        'avg_length': 717,\r\n        'loader': 'loader_internvl',\r\n        'vision_component': 'InternViT-300M-448px-V2_5',\r\n        'chat_component': 'Qwen2.5-7B',\r\n        'license': 'apache-2.0',\r\n    },\r\n    'Qwen VL - 7b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '7b',\r\n        'repo_id': 'Qwen/Qwen2.5-VL-7B-Instruct',\r\n        'cache_dir': 'Qwen--Qwen2.5-VL-7B-Instruct',\r\n        'requires_cuda': True,\r\n        'vram': '9.6 GB',\r\n        'avg_length': 918,\r\n        'loader': 'loader_qwenvl',\r\n        'vision_component': 'Custom ViT',\r\n        'chat_component': 'Qwen2.5-7-Instruct',\r\n        'license': 'Custom Non-Commercial',\r\n    },\r\n    'GLM-4.1V-9B-Thinking': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '9b',\r\n        'repo_id': 'zai-org/GLM-4.1V-9B-Thinking',\r\n        'cache_dir': 'zai-org--GLM-4.1V-9B-Thinking',\r\n        'requires_cuda': True,\r\n        'vram': '10 GB',\r\n        'avg_length': 653,\r\n        'loader': 'loader_glmv4_thinking',\r\n        'vision_component': 'AIMv2-Huge-336',\r\n        'chat_component': 'GLM-4-9B-0414',\r\n        'license': 'mit',\r\n    },\r\n    'InternVL3 - 14b': {\r\n        'precision': 'bfloat16',\r\n        'quant': '4-bit',\r\n        'size': '1b',\r\n        'repo_id': 'OpenGVLab/InternVL3-14B',\r\n        'cache_dir': 'OpenGVLab--InternVL3-14B',\r\n        'requires_cuda': True,\r\n        'vram': '12.6 GB',\r\n        'avg_length': 757,\r\n        'loader': 'loader_internvl',\r\n        'vision_component': 'InternViT-300M-448px-V2_5',\r\n        'chat_component': 'Qwen2.5-14B',\r\n        'license': 'apache-2.0',\r\n    },\r\n}\r\n\r\nOCR_MODELS = {\r\n    'GOT-OCR2': {\r\n        'precision': 'bfloat16',\r\n        'size': '716m',\r\n        'repo_id': 'ctranslate2-4you/GOT-OCR2_0-Customized',\r\n        'cache_dir': 'ctranslate2-4you--GOT-OCR2_0-Customized',\r\n        'requires_cuda': True,\r\n        'license': 'apache-2.0',\r\n    },\r\n}\r\n\r\nTTS_MODELS = {\r\n    \"Kokoro\": {\r\n        \"model\": \"Kokoro\",\r\n        \"repo_id\": \"ctranslate2-4you/Kokoro-82M-light\",\r\n        \"save_dir\": \"ctranslate2-4you--Kokoro-82M-light\",\r\n        \"cps\": 20.5,\r\n        \"vram\": \"2GB\",\r\n        \"precision\": \"float32\",\r\n        \"gated\": False,\r\n        'license': 'apache-2.0',\r\n        \"allow_patterns\": [\r\n            \"voices/**\",\r\n            \"config.json\",\r\n            \"istftnet.py\",\r\n            \"kokoro-v0_19.pth\",\r\n            \"kokoro.py\",\r\n            \"models.py\",\r\n            \"plbert.py\"\r\n        ],\r\n    },\r\n    \"Bark - Normal\": {\r\n        \"model\": \"Bark - Normal\", \r\n        \"repo_id\": \"suno/bark\",\r\n        \"save_dir\": \"tts\",\r\n        \"cps\": 18.2,\r\n        \"vram\": \"4GB\",\r\n        \"precision\": \"float32\",\r\n        \"gated\": False,\r\n        'license': 'mit',\r\n        \"allow_patterns\": [\r\n            \"voices/**\",\r\n            \"config.json\",\r\n            \"istftnet.py\",\r\n            \"kokoro-v0_19.pth\",\r\n            \"plbert.py\"\r\n        ],\r\n        \"ignore_patterns\": [\r\n            \"demo/**\",\r\n            \"fp16/**\",\r\n            \".gitattributes\",\r\n            \"kokoro-v0_19.onnx\",\r\n            \"kokoro.py\",\r\n            \"models.py\",\r\n        ]\r\n    },\r\n    \"Bark - Small\": {\r\n        \"model\": \"Bark - Small\", \r\n        \"repo_id\": \"suno/bark-small\",\r\n        \"save_dir\": \"tts\",\r\n        \"cps\": 18.2,\r\n        \"vram\": \"4GB\",\r\n        \"precision\": \"float32\",\r\n        \"gated\": False,\r\n        'license': 'mit',\r\n        \"allow_patterns\": [\r\n            \"voices/**\",\r\n            \"config.json\",\r\n            \"istftnet.py\",\r\n            \"kokoro-v0_19.pth\",\r\n            \"plbert.py\"\r\n        ],\r\n        \"ignore_patterns\": [\r\n            \"demo/**\",\r\n            \"fp16/**\",\r\n            \".gitattributes\",\r\n            \"kokoro-v0_19.onnx\",\r\n            \"kokoro.py\",\r\n            \"models.py\",\r\n        ]\r\n    },\r\n    \"WhisperSpeech\": {\r\n        \"model\": \"WhisperSpeech\", \r\n        \"repo_id\": \"WhisperSpeech/WhisperSpeech\",\r\n        \"save_dir\": \"tts\",\r\n        \"cps\": 18.2,\r\n        \"vram\": \"4GB\",\r\n        \"precision\": \"fp32\",\r\n        \"gated\": False,\r\n        'license': 'mit',\r\n        \"allow_patterns\": [\r\n            \"voices/**\",\r\n            \"config.json\",\r\n            \"istftnet.py\",\r\n            \"kokoro-v0_19.pth\",\r\n            \"plbert.py\"\r\n        ],\r\n        \"ignore_patterns\": [\r\n            \"demo/**\",\r\n            \"fp16/**\",\r\n            \".gitattributes\",\r\n            \"kokoro-v0_19.onnx\",\r\n            \"kokoro.py\",\r\n            \"models.py\",\r\n        ]\r\n    },\r\n    \"ChatTTS\": {\r\n        \"model\": \"ChatTTS\", \r\n        \"repo_id\": \"2Noise/ChatTTS\",\r\n        \"save_dir\": \"tts\",\r\n        \"cps\": 18.2,\r\n        \"vram\": \"4GB\",\r\n        \"precision\": \"fp32\",\r\n        \"gated\": False,\r\n        'license': 'CCA Non-Commercial 4.0',\r\n        \"allow_patterns\": [\r\n            \"asset/**\",\r\n            \"config/**\",\r\n        ],\r\n        \"ignore_patterns\": [\r\n            \"demo/**\",\r\n            \"fp16/**\",\r\n            \".gitattributes\",\r\n            \"kokoro-v0_19.onnx\",\r\n            \"kokoro.py\",\r\n            \"models.py\",\r\n        ]\r\n    },\r\n}\r\n\r\nJEEVES_MODELS = {\r\n    \"Llama - 3b\": {\r\n        \"original_repo\": \"meta-llama/Llama-3.2-3B-Instruct\",\r\n        \"repo\": \"ctranslate2-4you/Llama-3.2-3B-Instruct-ct2-int8\",\r\n        \"folder_name\": \"ctranslate2-4you--Llama-3.2-3B-Instruct-ct2-int8\",\r\n        \"prompt_format\": \"\"\"<|begin_of_text|><|start_header_id|>system<|end_header_id|>\r\n\r\nCutting Knowledge Date: December 2023\r\n\r\n{jeeves_system_message}<|eot_id|>\r\n<|start_header_id|>user<|end_header_id|>\r\n\r\n{user_message}<|eot_id|>\r\n<|start_header_id|>assistant<|end_header_id|>\"\"\"\r\n    },\r\n    \"Qwen - 3b\": {\r\n        \"original_repo\": \"Qwen/Qwen2.5-3B-Instruct\",\r\n        \"repo\": \"ctranslate2-4you/Qwen2.5-3B-Instruct-ct2-int8\",\r\n        \"folder_name\": \"ctranslate2-4you--Qwen2.5-3B-Instruct-ct2-int8\",\r\n        \"prompt_format\": \"\"\"<|im_start|>system\r\n{jeeves_system_message}<|im_end|>\r\n<|im_start|>user\r\n{user_message}<|im_end|>\r\n<|im_start|>assistant\"\"\"\r\n    },\r\n    \"Danube - 4b\": {\r\n        \"original_repo\": \"h2oai/h2o-danube3-4b-chat\",\r\n        \"repo\": \"ctranslate2-4you/h2o-danube3-4b-chat-ct2-int8\",\r\n        \"folder_name\": \"ctranslate2-4you--h2o-danube3.1-4b-chat-ct2-int8\",\r\n        \"prompt_format\": \"\"\"<|system|>{jeeves_system_message}</s><|prompt|>{user_message}</s><|answer|>\"\"\"\r\n    },\r\n}\r\n\r\nWHISPER_SPEECH_MODELS = {\r\n    \"s2a\": {\r\n        \"s2a-q4-tiny\": (\"s2a-q4-tiny-en+pl.model\", 77),\r\n        \"s2a-q4-base\": (\"s2a-q4-base-en+pl.model\", 193),\r\n        \"s2a-q4-hq-fast\": (\"s2a-q4-hq-fast-en+pl.model\", 363),\r\n        \"s2a-q4-small\": (\"s2a-q4-small-en+pl.model\", 833),\r\n        \"s2a-v1.1-small\": (\"s2a-v1.1-small-en+pl.model\", 417),\r\n    },\r\n    \"t2s\": {\r\n        \"t2s-tiny\": (\"t2s-tiny-en+pl.model\", 71),\r\n        \"t2s-base\": (\"t2s-base-en+pl.model\", 184),\r\n        \"t2s-small\": (\"t2s-small-en+pl.model\", 817),\r\n        \"t2s-fast-small\": (\"t2s-fast-small-en+pl.model\", 709),\r\n        \"t2s-fast-medium\": (\"t2s-fast-medium-en+pl+yt.model\", 1254),\r\n        \"t2s-hq-fast\": (\"t2s-hq-fast-en+pl.model\", 709),\r\n    }\r\n}\r\n\r\nWHISPER_MODELS = {\r\n    'Distil Whisper large-v3 - float32': {\r\n        'name': 'Distil Whisper large-v3',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-large-v3-ct2-float32',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Distil Whisper large-v3 - bfloat16': {\r\n        'name': 'Distil Whisper large-v3',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-large-v3-ct2-bfloat16',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Distil Whisper large-v3 - float16': {\r\n        'name': 'Distil Whisper large-v3',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-large-v3-ct2-float16',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Whisper large-v3 - float32': {\r\n        'name': 'Whisper large-v3',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/whisper-large-v3-ct2-float32',\r\n        'cps': 85,\r\n        'optimal_batch_size': 2,\r\n        'vram': '5.5 GB'\r\n    },\r\n    'Whisper large-v3 - bfloat16': {\r\n        'name': 'Whisper large-v3',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/whisper-large-v3-ct2-bfloat16',\r\n        'cps': 95,\r\n        'optimal_batch_size': 3,\r\n        'vram': '3.8 GB'\r\n    },\r\n    'Whisper large-v3 - float16': {\r\n        'name': 'Whisper large-v3',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/whisper-large-v3-ct2-float16',\r\n        'cps': 100,\r\n        'optimal_batch_size': 3,\r\n        'vram': '3.3 GB'\r\n    },\r\n    'Distil Whisper medium.en - float32': {\r\n        'name': 'Distil Whisper large-v3',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-medium.en-ct2-float32',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Distil Whisper medium.en - bfloat16': {\r\n        'name': 'Distil Whisper medium.en',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-medium.en-ct2-bfloat16',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Distil Whisper medium.en - float16': {\r\n        'name': 'Distil Whisper medium.en',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-medium.en-ct2-float16',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Whisper medium.en - float32': {\r\n        'name': 'Whisper medium.en',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/whisper-medium.en-ct2-float32',\r\n        'cps': 130,\r\n        'optimal_batch_size': 6,\r\n        'vram': '2.5 GB'\r\n    },\r\n    'Whisper medium.en - bfloat16': {\r\n        'name': 'Whisper medium.en',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/whisper-medium.en-ct2-bfloat16',\r\n        'cps': 140,\r\n        'optimal_batch_size': 7,\r\n        'vram': '2.0 GB'\r\n    },\r\n    'Whisper medium.en - float16': {\r\n        'name': 'Whisper medium.en',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/whisper-medium.en-ct2-float16',\r\n        'cps': 145,\r\n        'optimal_batch_size': 7,\r\n        'vram': '1.8 GB'\r\n    },\r\n    'Distil Whisper small.en - float32': {\r\n        'name': 'Distil Whisper small.en',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-small.en-ct2-float32',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Distil Whisper small.en - bfloat16': {\r\n        'name': 'Distil Whisper small.en',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-small.en-ct2-bfloat16',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Distil Whisper small.en - float16': {\r\n        'name': 'Distil Whisper small.en',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/distil-whisper-small.en-ct2-float16',\r\n        'cps': 160,\r\n        'optimal_batch_size': 4,\r\n        'vram': '3.0 GB'\r\n    },\r\n    'Whisper small.en - float32': {\r\n        'name': 'Whisper small.en',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/whisper-small.en-ct2-float32',\r\n        'cps': 180,\r\n        'optimal_batch_size': 14,\r\n        'vram': '1.5 GB'\r\n    },\r\n    'Whisper small.en - bfloat16': {\r\n        'name': 'Whisper small.en',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/whisper-small.en-ct2-bfloat16',\r\n        'cps': 190,\r\n        'optimal_batch_size': 15,\r\n        'vram': '1.2 GB'\r\n    },\r\n    'Whisper small.en - float16': {\r\n        'name': 'Whisper small.en',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/whisper-small.en-ct2-float16',\r\n        'cps': 195,\r\n        'optimal_batch_size': 15,\r\n        'vram': '1.1 GB'\r\n    },\r\n    'Whisper base.en - float32': {\r\n        'name': 'Whisper base.en',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/whisper-base.en-ct2-float32',\r\n        'cps': 230,\r\n        'optimal_batch_size': 22,\r\n        'vram': '1.0 GB'\r\n    },\r\n    'Whisper base.en - bfloat16': {\r\n        'name': 'Whisper base.en',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/whisper-base.en-ct2-bfloat16',\r\n        'cps': 240,\r\n        'optimal_batch_size': 23,\r\n        'vram': '0.85 GB'\r\n    },\r\n    'Whisper base.en - float16': {\r\n        'name': 'Whisper base.en',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/whisper-base.en-ct2-float16',\r\n        'cps': 245,\r\n        'optimal_batch_size': 23,\r\n        'vram': '0.8 GB'\r\n    },\r\n    'Whisper tiny.en - float32': {\r\n        'name': 'Whisper tiny.en',\r\n        'precision': 'float32',\r\n        'repo_id': 'ctranslate2-4you/whisper-tiny.en-ct2-float32',\r\n        'cps': 280,\r\n        'optimal_batch_size': 30,\r\n        'vram': '0.7 GB'\r\n    },\r\n    'Whisper tiny.en - bfloat16': {\r\n        'name': 'Whisper tiny.en',\r\n        'precision': 'bfloat16',\r\n        'repo_id': 'ctranslate2-4you/whisper-tiny.en-ct2-bfloat16',\r\n        'cps': 290,\r\n        'optimal_batch_size': 31,\r\n        'vram': '0.6 GB'\r\n    },\r\n    'Whisper tiny.en - float16': {\r\n        'name': 'Whisper tiny.en',\r\n        'precision': 'float16',\r\n        'repo_id': 'ctranslate2-4you/whisper-tiny.en-ct2-float16',\r\n        'cps': 295,\r\n        'optimal_batch_size': 31,\r\n        'vram': '0.55 GB'\r\n    },\r\n}\r\n\r\nDOCUMENT_LOADERS = {\r\n    \".pdf\": \"CustomPyMuPDFLoader\",\r\n    \".docx\": \"Docx2txtLoader\",\r\n    \".txt\": \"TextLoader\",\r\n    \".enex\": \"EverNoteLoader\",\r\n    \".epub\": \"UnstructuredEPubLoader\",\r\n    \".eml\": \"UnstructuredEmailLoader\",\r\n    \".msg\": \"UnstructuredEmailLoader\",\r\n    \".csv\": \"CSVLoader\",\r\n    \".xls\": \"UnstructuredExcelLoader\",\r\n    \".xlsx\": \"UnstructuredExcelLoader\",\r\n    \".xlsm\": \"UnstructuredExcelLoader\",\r\n    \".rtf\": \"UnstructuredRTFLoader\",\r\n    \".odt\": \"UnstructuredODTLoader\",\r\n    \".md\": \"UnstructuredMarkdownLoader\",\r\n    \".html\": \"BSHTMLLoader\",\r\n}\r\n\r\nTHINKING_TAGS = {\r\n    \"think\": (\"<think>\", \"</think>\"),\r\n    \"thinking\": (\"<thinking>\", \"</thinking>\")\r\n}\r\n\r\nTOOLTIPS = {\r\n    \"AUDIO_FILE_SELECT\": \"Select an audio file. Supports various audio formats.\",\r\n    \"CHOOSE_FILES\": \"Select documents to add to the database. Remember to transcribe audio files in the Tools tab first.\",\r\n    \"CHUNK_OVERLAP\": \"Characters shared between chunks. Set to 25-50% of chunk size.\",\r\n    \"CHUNK_SIZE\": (\r\n        \"<html><body>\"\r\n        \"Upper limit (in characters, not tokens) that a chunk can be after being split.  Make sure that it falls within\"\r\n        \"the Max Sequence of the embedding model being used, which is measured in tokens (not characters), remembering that\"\r\n        \"approximately 3-4 characters = 1 token.\"\r\n        \"</body></html>\"\r\n    ),\r\n    \"CHUNKS_ONLY\": \"Solely query the vector database and get relevant chunks. Very useful to test the chunk size/overlap settings.\",\r\n    \"CONTEXTS\": \"Maximum number of chunks (aka contexts) to return.\",\r\n    \"COPY_RESPONSE\": \"Copy the chunks (if chunks only is checked) or model's response to the clipboard.\",\r\n    \"CREATE_DEVICE_DB\": \"Choose 'cpu' or 'cuda'. Use 'cuda' if available.\",\r\n    \"CREATE_DEVICE_QUERY\": \"Choose 'cpu' or 'cuda'. 'cpu' recommended to conserve VRAM.\",\r\n    \"CREATE_VECTOR_DB\": \"Creates a new vector database.\",\r\n    \"DATABASE_NAME_INPUT\": \"Enter a unique database name. Use only lowercase letters, numbers, underscores, and hyphens.\",\r\n    \"DATABASE_SELECT\": \"Vector database that will be queried.\",\r\n    \"DOWNLOAD_MODEL\": \"Download the selected vector model.\",\r\n    \"EJECT_LOCAL_MODEL\": \"Unload the current local model from memory.\",\r\n    \"FILE_TYPE_FILTER\": \"Only allows chunks that originate from certain file types.\",\r\n    \"HALF_PRECISION\": \"Uses bfloat16/float16 for 2x speedup. Requires a GPU.\",\r\n    \"LOCAL_MODEL_SELECT\": \"Select a local model for generating responses.\",\r\n    \"MODEL_BACKEND_SELECT\": \"Choose the backend for the large language model response.\",\r\n    \"PORT\": \"Must match the port used in LM Studio.\",\r\n    \"QUESTION_INPUT\": \"Type your question here or use the voice recorder.\",\r\n    \"RESTORE_CONFIG\": \"Restores original config.yaml. May require manual database cleanup.\",\r\n    \"RESTORE_DATABASE\": \"Restores backed-up databases. Use with caution.\",\r\n    \"SEARCH_TERM_FILTER\": \"Removes chunks that do not contain this term as a case-insensitive substring.\",\r\n    \"SELECT_VECTOR_MODEL\": \"Choose the vector model for text embedding.\",\r\n    \"SIMILARITY\": \"Relevance threshold for chunks. 0-1, higher returns more. Don't use 1.\",\r\n    \"SPEAK_RESPONSE\": \"Speak the response from the large language model using text-to-speech.\",\r\n    \"SHOW_THINKING_CHECKBOX\": \"If checked, show the model's internal thought process.  Only applies to models like Deepseek's R1 and it will be disregarded if not applicable.\",\r\n    \"TRANSCRIBE_BUTTON\": \"Start transcription.\",\r\n    \"TTS_MODEL\": \"Choose TTS model. Bark offers customization, Google requires internet.\",\r\n    \"VECTOR_MODEL_DIMENSIONS\": \"Higher dimensions captures more nuance but requires more processing time.\",\r\n    \"VECTOR_MODEL_DOWNLOADED\": \"Whether the model has been downloaded.\",\r\n    \"VECTOR_MODEL_LINK\": \"Huggingface link.\",\r\n    \"VECTOR_MODEL_MAX_SEQUENCE\": \"Number of tokens the model can process at once. Different from the Chunk Size setting, which is in characters.\",\r\n    \"VECTOR_MODEL_NAME\": \"The name of the vector model.\",\r\n    \"VECTOR_MODEL_PARAMETERS\": \"The number of internal weights and biases that the model learns and adjusts during training.\",\r\n    \"VECTOR_MODEL_PRECISION\": (\r\n        \"<html>\"\r\n        \"<body>\"\r\n        \"<p style='font-size: 14px; color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 5px; margin-bottom: 10px;'>\"\r\n        \"<b>The precision ultimately used depends on your setup:</b></p>\"\r\n        \"<table style='border-collapse: collapse; width: 100%; font-size: 12px; color: #34495e;'>\"\r\n        \"<thead>\"\r\n        \"<tr style='background-color: #ecf0f1; text-align: left;'>\"\r\n        \"<th style='border: 1px solid #bdc3c7; padding: 8px;'>Compute Device</th>\"\r\n        \"<th style='border: 1px solid #bdc3c7; padding: 8px;'>Embedding Model Precision</th>\"\r\n        \"<th style='border: 1px solid #bdc3c7; padding: 8px;'>'Half' Checked?</th>\"\r\n        \"<th style='border: 1px solid #bdc3c7; padding: 8px;'>Precision Ultimately Used</th>\"\r\n        \"</tr>\"\r\n        \"</thead>\"\r\n        \"<tbody>\"\r\n        \"<tr>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>CPU</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>Any</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>Either</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'><code>float32</code></td>\"\r\n        \"</tr>\"\r\n        \"<tr style='background-color: #ecf0f1;'>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>CUDA</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>float16</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>Yes</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'><code>float16</code></td>\"\r\n        \"</tr>\"\r\n        \"<tr>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>CUDA</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>bfloat16</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>Yes</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>\"\r\n        \"<code>bfloat16</code> (if CUDA capability &ge; 8.0) or <code>float16</code></td>\"\r\n        \"</tr>\"\r\n        \"<tr style='background-color: #ecf0f1;'>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>CUDA</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>float32</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>No</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'><code>float32</code></td>\"\r\n        \"</tr>\"\r\n        \"<tr>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>CUDA</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>float32</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>Yes</td>\"\r\n        \"<td style='border: 1px solid #bdc3c7; padding: 8px;'>\"\r\n        \"<code>bfloat16</code> (if CUDA capability &ge; 8.0) or <code>float16</code>\"\r\n        \"</td>\"\r\n        \"</tr>\"\r\n        \"</tbody>\"\r\n        \"</table>\"\r\n        \"</body>\"\r\n        \"</html>\"\r\n    ),\r\n    \"VECTOR_MODEL_SELECT\": \"Choose a vector model to download.\",\r\n    \"VECTOR_MODEL_SIZE\": \"Size on disk.\",\r\n    \"VISION_MODEL\": \"Select vision model for image processing. Test before bulk processing.\",\r\n    \"VOICE_RECORDER\": \"Click to start recording, speak your question, then click again to stop recording.\",\r\n    \"WHISPER_BATCH_SIZE\": \"Batch size for transcription. See the User Guid for optimal values.\",\r\n    \"WHISPER_MODEL_SELECT\": \"Distil models use ~ 70% VRAM of their non-Distil equivalents with little quality loss.\"\r\n}\r\n\r\nscrape_documentation = {\r\n    \"Accelerate 1.7.0\": {\r\n        \"URL\": \"https://huggingface.co/docs/accelerate/v1.7.0/en\",\r\n        \"folder\": \"accelerate_170\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"aiohappyeyeballs\": {\r\n        \"URL\": \"https://aiohappyeyeballs.readthedocs.io/en/stable/\",\r\n        \"folder\": \"aiohappyeyeballs\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"aiohttp\": {\r\n        \"URL\": \"https://docs.aiohttp.org/en/stable/\",\r\n        \"folder\": \"aiohttp\"\r\n    },\r\n    \"aiosignal\": {\r\n        \"URL\": \"https://aiosignal.aio-libs.org/en/stable/\",\r\n        \"folder\": \"aiosignal\"\r\n    },\r\n    \"anndata\": {\r\n        \"URL\": \"https://anndata.readthedocs.io/en/stable/\",\r\n        \"folder\": \"anndata\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"anyio\": {\r\n        \"URL\": \"https://anyio.readthedocs.io/en/stable/\",\r\n        \"folder\": \"anyio\",\r\n        \"scraper_class\": \"ReadthedocsScraper\"\r\n    },\r\n    \"array_api_compat\": {\r\n        \"URL\": \"https://data-apis.org/array-api-compat/\",\r\n        \"folder\": \"array_api_compat\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"attrs\": {\r\n        \"URL\": \"https://www.attrs.org/en/stable/\",\r\n        \"folder\": \"attrs\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"Beautiful Soup 4\": {\r\n        \"URL\": \"https://www.crummy.com/software/BeautifulSoup/bs4/doc/\",\r\n        \"folder\": \"beautiful_soup_4\"\r\n    },\r\n    \"bitsandbytes 0.48.2\": {\r\n        \"URL\": \"https://huggingface.co/docs/bitsandbytes/v0.48.2/en/\",\r\n        \"folder\": \"bitsandbytes_0482\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"cffi\": {\r\n        \"URL\": \"https://cffi.readthedocs.io/en/stable/\",\r\n        \"folder\": \"cffi\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"chardet\": {\r\n        \"URL\": \"https://chardet.readthedocs.io/en/stable/\",\r\n        \"folder\": \"chardet\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"charset-normalizer\": {\r\n        \"URL\": \"https://charset-normalizer.readthedocs.io/en/stable/\",\r\n        \"folder\": \"charset_normalizer\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"click\": {\r\n        \"URL\": \"https://click.palletsprojects.com/en/stable/\",\r\n        \"folder\": \"click\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"coloredlogs\": {\r\n        \"URL\": \"https://coloredlogs.readthedocs.io/en/latest/\",\r\n        \"folder\": \"coloredlogs\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"contourpy\": {\r\n        \"URL\": \"https://contourpy.readthedocs.io/en/stable/\",\r\n        \"folder\": \"contourpy\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"cryptography\": {\r\n        \"URL\": \"https://cryptography.io/en/stable/\",\r\n        \"folder\": \"cryptography\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"CTranslate2\": {\r\n        \"URL\": \"https://opennmt.net/CTranslate2/\",\r\n        \"folder\": \"ctranslate2\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"curl_cffi\": {\r\n        \"URL\": \"https://curl-cffi.readthedocs.io/en/stable/\",\r\n        \"folder\": \"curl_cffi\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"cycler\": {\r\n        \"URL\": \"https://matplotlib.org/cycler/\",\r\n        \"folder\": \"cycler\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"dataclasses-json\": {\r\n        \"URL\": \"https://lidatong.github.io/dataclasses-json/\",\r\n        \"folder\": \"dataclasses_json\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"datasets 4.3.0\": {\r\n        \"URL\": \"https://huggingface.co/docs/datasets/v4.3.0/en/\",\r\n        \"folder\": \"datasets_0430\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"deepdiff 8.6.1\": {\r\n        \"URL\": \"https://zepworks.com/deepdiff/8.6.1/\",\r\n        \"folder\": \"deepdiff_861\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Deprecated\": {\r\n        \"URL\": \"https://deprecated.readthedocs.io/en/latest/\",\r\n        \"folder\": \"deprecated\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"deprecation\": {\r\n        \"URL\": \"https://deprecation.readthedocs.io/en/latest/\",\r\n        \"folder\": \"deprecation\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Diffusers 0.35.0\": {\r\n        \"URL\": \"https://huggingface.co/docs/diffusers/v0.35.0/en/\",\r\n        \"folder\": \"diffusers_0350\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"dill\": {\r\n        \"URL\": \"https://dill.readthedocs.io/en/latest/\",\r\n        \"folder\": \"dill\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"distro\": {\r\n        \"URL\": \"https://distro.readthedocs.io/en/stable/\",\r\n        \"folder\": \"distro\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"einops\": {\r\n        \"URL\": \"https://einops.rocks/\",\r\n        \"folder\": \"einops\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"einx\": {\r\n        \"URL\": \"https://einx.readthedocs.io/en/stable/\",\r\n        \"folder\": \"einx\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"emoji\": {\r\n        \"URL\": \"https://carpedm20.github.io/emoji/docs/\",\r\n        \"folder\": \"emoji\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"fastcore\": {\r\n        \"URL\": \"https://fastcore.fast.ai/\",\r\n        \"folder\": \"fastcore\",\r\n        \"scraper_class\": \"FastcoreScraper\"\r\n    },\r\n    \"filelock\": {\r\n        \"URL\": \"https://py-filelock.readthedocs.io/en/stable/\",\r\n        \"folder\": \"filelock\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"fonttools\": {\r\n        \"URL\": \"https://fonttools.readthedocs.io/en/stable/\",\r\n        \"folder\": \"fonttools\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"fsspec\": {\r\n        \"URL\": \"https://filesystem-spec.readthedocs.io/en/stable/\",\r\n        \"folder\": \"fsspec\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"greenlet\": {\r\n        \"URL\": \"https://greenlet.readthedocs.io/en/stable/\",\r\n        \"folder\": \"greenlet\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"gTTS\": {\r\n        \"URL\": \"https://gtts.readthedocs.io/en/latest/\",\r\n        \"folder\": \"gtts\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"h11\": {\r\n        \"URL\": \"https://h11.readthedocs.io/en/latest/\",\r\n        \"folder\": \"h11\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"HDF5\": {\r\n        \"URL\": \"https://docs.h5py.org/en/stable/\",\r\n        \"folder\": \"hdf5\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"httpcore\": {\r\n        \"URL\": \"https://www.encode.io/httpcore/\",\r\n        \"folder\": \"httpcore\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"httpx\": {\r\n        \"URL\": \"https://www.python-httpx.org/\",\r\n        \"folder\": \"httpx\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"Huggingface Hub 0.36.0\": {\r\n        \"URL\": \"https://huggingface.co/docs/huggingface_hub/v0.36.0/en/\",\r\n        \"folder\": \"huggingface_hub_0360\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"humanfriendly\": {\r\n        \"URL\": \"https://humanfriendly.readthedocs.io/en/latest/\",\r\n        \"folder\": \"humanfriendly\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"importlib_metadata\": {\r\n        \"URL\": \"https://importlib-metadata.readthedocs.io/en/stable/\",\r\n        \"folder\": \"importlib_metadata\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"Jinja\": {\r\n        \"URL\": \"https://jinja.palletsprojects.com/en/stable/\",\r\n        \"folder\": \"jinja\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"joblib\": {\r\n        \"URL\": \"https://joblib.readthedocs.io/en/stable/\",\r\n        \"folder\": \"kiwisolver\",\r\n        \"scraper_class\": \"ReadthedocsScraper\"\r\n    },\r\n    \"kiwisolver\": {\r\n        \"URL\": \"https://kiwisolver.readthedocs.io/en/stable/\",\r\n        \"folder\": \"kiwisolver\",\r\n        \"scraper_class\": \"ReadthedocsScraper\"\r\n    },\r\n    \"llvmlite\": {\r\n        \"URL\": \"https://llvmlite.readthedocs.io/en/stable/\",\r\n        \"folder\": \"llvmlite\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"lxml\": {\r\n        \"URL\": \"https://lxml.de/\",\r\n        \"folder\": \"lxml\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"Markdown\": {\r\n        \"URL\": \"https://python-markdown.github.io/\",\r\n        \"folder\": \"Markdown\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"markdown-it-py\": {\r\n        \"URL\": \"https://markdown-it-py.readthedocs.io/en/stable/\",\r\n        \"folder\": \"markdown_it_py\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"markupsafe\": {\r\n        \"URL\": \"https://markupsafe.palletsprojects.com/en/stable/\",\r\n        \"folder\": \"markupsafe\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"marshmallow\": {\r\n        \"URL\": \"https://marshmallow.readthedocs.io/en/stable/\",\r\n        \"folder\": \"marshmallow\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"Matplotlib\": {\r\n        \"URL\": \"https://matplotlib.org/stable/\",\r\n        \"folder\": \"matplotlib\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"Model Context Protocol\": {\r\n        \"URL\": \"https://modelcontextprotocol.io/docs/\",\r\n        \"folder\": \"model_context_protocol\",\r\n        \"scraper_class\": \"MintlifyScraper\"\r\n    },\r\n    \"more-itertools\": {\r\n        \"URL\": \"https://more-itertools.readthedocs.io/en/stable/\",\r\n        \"folder\": \"more_itertools\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"mpmath\": {\r\n        \"URL\": \"https://mpmath.org/doc/current/\",\r\n        \"folder\": \"mpmath\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"msg-parser\": {\r\n        \"URL\": \"https://msg-parser.readthedocs.io/en/latest/\",\r\n        \"folder\": \"msg_parser\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"multidict\": {\r\n        \"URL\": \"https://multidict.aio-libs.org/en/stable/\",\r\n        \"folder\": \"multidict\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"multiprocess\": {\r\n        \"URL\": \"https://multiprocess.readthedocs.io/en/stable/\",\r\n        \"folder\": \"multiprocess\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"natsort\": {\r\n        \"URL\": \"https://natsort.readthedocs.io/en/stable/\",\r\n        \"folder\": \"natsort\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"NetworkX\": {\r\n        \"URL\": \"https://networkx.org/documentation/stable/\",\r\n        \"folder\": \"networkx\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"NLTK\": {\r\n        \"URL\": \"https://www.nltk.org/\",\r\n        \"folder\": \"nltk\",\r\n        \"scraper_class\": \"DivIdMainContentRoleMainScraper\"\r\n    },\r\n    \"numba\": {\r\n        \"URL\": \"https://numba.readthedocs.io/en/stable/\",\r\n        \"folder\": \"numba\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"NumPy (latest stable)\": {\r\n        \"URL\": \"https://numpy.org/doc/stable/\",\r\n        \"folder\": \"numpy\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"ocrmypdf\": {\r\n        \"URL\": \"https://ocrmypdf.readthedocs.io/en/stable/\",\r\n        \"folder\": \"ocrmypdf\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"onnx\": {\r\n        \"URL\": \"https://onnx.ai/onnx/\",\r\n        \"folder\": \"onnx\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"openpyxl\": {\r\n        \"URL\": \"https://openpyxl.readthedocs.io/en/stable/\",\r\n        \"folder\": \"openpyxl\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Optimum (main)\": {\r\n        \"URL\": \"https://huggingface.co/docs/optimum/main/en/\",\r\n        \"folder\": \"optimum_main\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"Optimum ONNX (main)\": {\r\n        \"URL\": \"https://huggingface.co/docs/optimum-onnx/main/en/\",\r\n        \"folder\": \"optimum_onnx_main\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"packaging\": {\r\n        \"URL\": \"https://packaging.pypa.io/en/stable/\",\r\n        \"folder\": \"packaging\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"pandas\": {\r\n        \"URL\": \"https://pandas.pydata.org/docs/\",\r\n        \"folder\": \"pandas\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"pdfminer.six\": {\r\n        \"URL\": \"https://pdfminersix.readthedocs.io/en/master/\",\r\n        \"folder\": \"pdfminer_six\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"pi-heif\": {\r\n        \"URL\": \"https://pillow-heif.readthedocs.io/en/latest/\",\r\n        \"folder\": \"piheif\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"pikepdf\": {\r\n        \"URL\": \"https://pikepdf.readthedocs.io/en/stable/\",\r\n        \"folder\": \"pikepdf\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"platformdirs\": {\r\n        \"URL\": \"https://platformdirs.readthedocs.io/en/stable/\",\r\n        \"folder\": \"platformdirs\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"pluggy\": {\r\n        \"URL\": \"https://pluggy.readthedocs.io/en/stable/\",\r\n        \"folder\": \"pluggy\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Pillow\": {\r\n        \"URL\": \"https://pillow.readthedocs.io/en/stable/\",\r\n        \"folder\": \"pillow\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"protobuf\": {\r\n        \"URL\": \"https://protobuf.dev/\",\r\n        \"folder\": \"protobuf\",\r\n        \"scraper_class\": \"DivClassTdContentScraper\"\r\n    },\r\n    \"pyarrow\": {\r\n        \"URL\": \"https://arrow.apache.org/docs/python/\",\r\n        \"folder\": \"pyarrow\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"psutil\": {\r\n        \"URL\": \"https://psutil.readthedocs.io/en/stable/\",\r\n        \"folder\": \"psutil\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"PyAV\": {\r\n        \"URL\": \"https://pyav.org/docs/stable/\",\r\n        \"folder\": \"pyav\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Pydantic\": {\r\n        \"URL\": \"https://pydantic.dev/docs/validation/latest/\",\r\n        \"folder\": \"pydantic\",\r\n        \"scraper_class\": \"MainScraper\"\r\n    },\r\n    \"pydantic-settings\": {\r\n        \"URL\": \"https://pydantic.dev/docs/validation/latest/concepts/pydantic_settings/\",\r\n        \"folder\": \"pydantic_settings\",\r\n        \"scraper_class\": \"MainScraper\"\r\n    },\r\n    \"Pygments\": {\r\n        \"URL\": \"https://pygments.org/docs/\",\r\n        \"folder\": \"pygments\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"PyMuPDF\": {\r\n        \"URL\": \"https://pymupdf.readthedocs.io/en/latest/\",\r\n        \"folder\": \"pymupdf\",\r\n        \"scraper_class\": \"PymupdfScraper\"\r\n    },\r\n    \"pyparsing\": {\r\n        \"URL\": \"https://pyparsing-docs.readthedocs.io/en/latest/\",\r\n        \"folder\": \"pyparsing\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"PyOpenGL\": {\r\n        \"URL\": \"https://mcfletch.github.io/pyopengl/documentation/manual/\",\r\n        \"folder\": \"pyopengl\",\r\n        \"scraper_class\": \"MainScraper\"\r\n    },\r\n    \"PyPDF\": {\r\n        \"URL\": \"https://pypdf.readthedocs.io/en/stable/\",\r\n        \"folder\": \"pypdf\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"python-docx\": {\r\n        \"URL\": \"https://python-docx.readthedocs.io/en/stable/\",\r\n        \"folder\": \"python_docx\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"python-dateutil\": {\r\n        \"URL\": \"https://dateutil.readthedocs.io/en/stable/\",\r\n        \"folder\": \"python_dateutil\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"python-dotenv\": {\r\n        \"URL\": \"https://saurabh-kumar.com/python-dotenv/\",\r\n        \"folder\": \"python-dotenv\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"python-oxmsg\": {\r\n        \"URL\": \"https://scanny.github.io/python-oxmsg/\",\r\n        \"folder\": \"python-oxmsg\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"PyYAML\": {\r\n        \"URL\": \"https://pyyaml.org/wiki/PyYAMLDocumentation\",\r\n        \"folder\": \"pyyaml\",\r\n        \"scraper_class\": \"BodyScraper\"\r\n    },\r\n    \"Pyside 6\": {\r\n        \"URL\": \"https://doc.qt.io/qtforpython-6/\",\r\n        \"folder\": \"pyside6\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"pytz\": {\r\n        \"URL\": \"https://pythonhosted.org/pytz/\",\r\n        \"folder\": \"pytz\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"RapidFuzz\": {\r\n        \"URL\": \"https://rapidfuzz.github.io/RapidFuzz/\",\r\n        \"folder\": \"rapidfuzz\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"Referencing\": {\r\n        \"URL\": \"https://referencing.readthedocs.io/en/stable/\",\r\n        \"folder\": \"referencing\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"Requests\": {\r\n        \"URL\": \"https://requests.readthedocs.io/en/stable/\",\r\n        \"folder\": \"requests\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"requests_toolbelt\": {\r\n        \"URL\": \"https://toolbelt.readthedocs.io/en/latest/\",\r\n        \"folder\": \"requeststoolbelt\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Rich\": {\r\n        \"URL\": \"https://rich.readthedocs.io/en/stable/\",\r\n        \"folder\": \"rich\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"rpds-py\": {\r\n        \"URL\": \"https://rpds.readthedocs.io/en/stable/\",\r\n        \"folder\": \"rpds_py\",\r\n        \"scraper_class\": \"ArticleRoleMainScraper\"\r\n    },\r\n    \"ruamel.yaml\": {\r\n        \"URL\": \"https://yaml.dev/doc/ruamel.yaml/\",\r\n        \"folder\": \"ruamel_yaml\",\r\n        \"scraper_class\": \"DivIdContentSecondScraper\"\r\n    },\r\n    \"Safetensors (main)\": {\r\n        \"URL\": \"https://huggingface.co/docs/safetensors/main/en/\",\r\n        \"folder\": \"safetensors_main\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"scikit-learn\": {\r\n        \"URL\": \"https://scikit-learn.org/stable/\",\r\n        \"folder\": \"scikit_learn\",\r\n        \"scraper_class\": \"PydataThemeScraper\"\r\n    },\r\n    \"SciPy 1.16.2\": {\r\n        \"URL\": \"https://docs.scipy.org/doc/scipy-1.16.2/\",\r\n        \"folder\": \"scipy_1162\",\r\n        \"scraper_class\": \"PydataThemeScraper\",\r\n    },\r\n    \"Sentence-Transformers\": {\r\n        \"URL\": \"https://www.sbert.net/docs\",\r\n        \"folder\": \"sentence_transformers\",\r\n        \"scraper_class\": \"RtdThemeScraper\"\r\n    },\r\n    \"Six\": {\r\n        \"URL\": \"https://six.readthedocs.io/\",\r\n        \"folder\": \"six\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"sniffio\": {\r\n        \"URL\": \"https://sniffio.readthedocs.io/en/stable/\",\r\n        \"folder\": \"sniffio\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"SoundFile 0.13.1\": {\r\n        \"URL\": \"https://python-soundfile.readthedocs.io/en/0.13.1/\",\r\n        \"folder\": \"soundfile_0131\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"sounddevice 0.5.3\": {\r\n        \"URL\": \"https://python-sounddevice.readthedocs.io/en/0.5.3/\",\r\n        \"folder\": \"sounddevice_053\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Soupsieve\": {\r\n        \"URL\": \"https://facelessuser.github.io/soupsieve/\",\r\n        \"folder\": \"soupsieve\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"SpeechBrain (latest)\": {\r\n        \"URL\": \"https://speechbrain.readthedocs.io/en/latest/\",\r\n        \"folder\": \"speechbrain_latest\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"SQLAlchemy 20\": {\r\n        \"URL\": \"https://docs.sqlalchemy.org/en/20/\",\r\n        \"folder\": \"sqlalchemy_20\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"sympy\": {\r\n        \"URL\": \"https://docs.sympy.org/latest/\",\r\n        \"folder\": \"sympy\",\r\n        \"scraper_class\": \"PymupdfScraper\"\r\n    },\r\n    \"tenacity\": {\r\n        \"URL\": \"https://tenacity.readthedocs.io/en/stable/\",\r\n        \"folder\": \"tenacity\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"Tile DB\": {\r\n        \"URL\": \"https://tiledb-inc-tiledb.readthedocs-hosted.com/projects/tiledb-py/en/stable/\",\r\n        \"folder\": \"tiledb\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"tiledb-vector-search\": {\r\n        \"URL\": \"https://tiledb-inc.github.io/TileDB-Vector-Search/documentation/\",\r\n        \"folder\": \"tiledb_vector_search\",\r\n        \"scraper_class\": \"FastcoreScraper\"\r\n    },\r\n    \"tiledb-cloud\": {\r\n        \"URL\": \"https://tiledb-inc.github.io/TileDB-Cloud-Py/\",\r\n        \"folder\": \"tiledb_cloud\",\r\n        \"scraper_class\": \"FastcoreScraper\"\r\n    },\r\n    \"Timm 1.0.20\": {\r\n        \"URL\": \"https://huggingface.co/docs/timm/v1.0.20/en/\",\r\n        \"folder\": \"timm_1020\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"tokenizers 0.22.1\": {\r\n        \"URL\": \"https://huggingface.co/docs/tokenizers/v0.22.1/en\",\r\n        \"folder\": \"tokenizers_0221\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"torch 2.9\": {\r\n        \"URL\": \"https://docs.pytorch.org/docs/2.9/\",\r\n        \"folder\": \"torch_29\",\r\n        \"scraper_class\": \"PyTorchScraper\"\r\n    },\r\n    \"Torchaudio 2.9\": {\r\n        \"URL\": \"https://docs.pytorch.org/audio/2.9.0/\",\r\n        \"folder\": \"torchaudio_29\",\r\n        \"scraper_class\": \"PyTorchScraper\"\r\n    },\r\n    \"Torchvision 0.24\": {\r\n        \"URL\": \"https://docs.pytorch.org/vision/0.24/\",\r\n        \"folder\": \"torchvision_024\",\r\n        \"scraper_class\": \"PyTorchScraper\"\r\n    },\r\n    \"tqdm\": {\r\n        \"URL\": \"https://tqdm.github.io\",\r\n        \"folder\": \"tqdm\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"Transformers 4.57.5\": {\r\n        \"URL\": \"https://huggingface.co/docs/transformers/v4.57.5/en\",\r\n        \"folder\": \"transformers_4575\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"typing_extensions\": {\r\n        \"URL\": \"https://typing-extensions.readthedocs.io/en/stable/\",\r\n        \"folder\": \"typing_extensions\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"typing-inspection\": {\r\n        \"URL\": \"https://pydantic.github.io/typing-inspection/dev/\",\r\n        \"folder\": \"typing_extensions\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"tzdata\": {\r\n        \"URL\": \"https://tzdata.python.org/\",\r\n        \"folder\": \"tzdata\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"urllib3\": {\r\n        \"URL\": \"https://urllib3.readthedocs.io/en/stable/\",\r\n        \"folder\": \"urllib3\",\r\n        \"scraper_class\": \"FuroThemeScraper\"\r\n    },\r\n    \"uv\": {\r\n        \"URL\": \"https://docs.astral.sh/uv/\",\r\n        \"folder\": \"uv\",\r\n        \"scraper_class\": \"ArticleMdContentInnerMdTypesetScraper\"\r\n    },\r\n    \"Watchdog\": {\r\n        \"URL\": \"https://python-watchdog.readthedocs.io/en/stable/\",\r\n        \"folder\": \"watchdog\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"webdataset\": {\r\n        \"URL\": \"https://huggingface.co/docs/hub/en/datasets-webdataset\",\r\n        \"folder\": \"webdataset\",\r\n        \"scraper_class\": \"HuggingfaceScraper\"\r\n    },\r\n    \"webencodings\": {\r\n        \"URL\": \"https://pythonhosted.org/webencodings/\",\r\n        \"folder\": \"webencodings\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"Wrapt\": {\r\n        \"URL\": \"https://wrapt.readthedocs.io/en/master/\",\r\n        \"folder\": \"wrapt\",\r\n        \"scraper_class\": \"RstContentScraper\"\r\n    },\r\n    \"xlrd\": {\r\n        \"URL\": \"https://xlrd.readthedocs.io/en/stable/\",\r\n        \"folder\": \"xlrd\",\r\n        \"scraper_class\": \"DivClassDocumentScraper\"\r\n    },\r\n    \"yarl\": {\r\n        \"URL\": \"https://yarl.aio-libs.org/en/stable/\",\r\n        \"folder\": \"yarl\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n    \"zstandard\": {\r\n        \"URL\": \"https://python-zstandard.readthedocs.io/en/stable/\",\r\n        \"folder\": \"zstandard\",\r\n        \"scraper_class\": \"BodyRoleMainScraper\"\r\n    },\r\n}\r\n\r\nclass CustomButtonStyles:\r\n    LIGHT_GREY = \"#C8C8C8\"\r\n    DISABLED_TEXT = \"#969696\"\r\n    \r\n    COLORS = {\r\n        \"RED\": {\r\n            \"base\": \"#320A0A\",\r\n            \"hover\": \"#4B0F0F\",\r\n            \"pressed\": \"#290909\",\r\n            \"disabled\": \"#7D1919\"\r\n        },\r\n        \"BLUE\": {\r\n            \"base\": \"#0A0A32\",\r\n            \"hover\": \"#0F0F4B\",\r\n            \"pressed\": \"#09092B\",\r\n            \"disabled\": \"#19197D\"\r\n        },\r\n        \"GREEN\": {\r\n            \"base\": \"#0A320A\",\r\n            \"hover\": \"#0F4B0F\",\r\n            \"pressed\": \"#092909\",\r\n            \"disabled\": \"#197D19\"\r\n        },\r\n        \"YELLOW\": {\r\n            \"base\": \"#32320A\",\r\n            \"hover\": \"#4B4B0F\",\r\n            \"pressed\": \"#292909\",\r\n            \"disabled\": \"#7D7D19\"\r\n        },\r\n        \"PURPLE\": {\r\n            \"base\": \"#320A32\",\r\n            \"hover\": \"#4B0F4B\",\r\n            \"pressed\": \"#290929\",\r\n            \"disabled\": \"#7D197D\"\r\n        },\r\n        \"ORANGE\": {\r\n            \"base\": \"#321E0A\",\r\n            \"hover\": \"#4B2D0F\",\r\n            \"pressed\": \"#291909\",\r\n            \"disabled\": \"#7D5A19\"\r\n        },\r\n        \"TEAL\": {\r\n            \"base\": \"#0A3232\",\r\n            \"hover\": \"#0F4B4B\",\r\n            \"pressed\": \"#092929\",\r\n            \"disabled\": \"#197D7D\"\r\n        },\r\n        \"BROWN\": {\r\n            \"base\": \"#2B1E0A\",\r\n            \"hover\": \"#412D0F\",\r\n            \"pressed\": \"#231909\",\r\n            \"disabled\": \"#6B5A19\"\r\n        }\r\n    }\r\n\r\n    @classmethod\r\n    def _generate_button_style(cls, color_values):\r\n        return f\"\"\"\r\n            QPushButton {{\r\n                background-color: {color_values['base']};\r\n                color: {cls.LIGHT_GREY};\r\n                padding: 5px;\r\n                border: none;\r\n                border-radius: 3px;\r\n            }}\r\n            QPushButton:hover {{\r\n                background-color: {color_values['hover']};\r\n            }}\r\n            QPushButton:pressed {{\r\n                background-color: {color_values['pressed']};\r\n            }}\r\n            QPushButton:disabled {{\r\n                background-color: {color_values['disabled']};\r\n                color: {cls.DISABLED_TEXT};\r\n            }}\r\n        \"\"\"\r\n\r\nfor color_name, color_values in CustomButtonStyles.COLORS.items():\r\n    setattr(CustomButtonStyles, f\"{color_name}_BUTTON_STYLE\", \r\n            CustomButtonStyles._generate_button_style(color_values))\r\n\r\nGPUS_NVIDIA = {\r\n    \"GeForce GTX 1630\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 512\r\n    },\r\n    \"GeForce GTX 1650 (Apr 2019)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 896\r\n    },\r\n    \"GeForce GTX 1650 (Apr 2020)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 896\r\n    },\r\n    \"GeForce GTX 1650 (Jun 2020)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 896\r\n    },\r\n    \"GeForce GTX 1650 (Laptop)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 1024\r\n    },\r\n    \"GeForce GTX 1650 Max-Q\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 1024\r\n    },\r\n    \"GeForce GTX 1650 Ti Max-Q\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 1024\r\n    },\r\n    \"GeForce GTX 1650 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 1024\r\n    },\r\n    \"GeForce GTX 1650 Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 1280\r\n    },\r\n    \"GeForce GTX 1660\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1408\r\n    },\r\n    \"GeForce GTX 1660 (Laptop)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1408\r\n    },\r\n    \"GeForce GTX 1660 Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1408\r\n    },\r\n    \"GeForce GTX 1660 Ti Max-Q\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1536\r\n    },\r\n    \"GeForce GTX 1660 Ti (Laptop)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1536\r\n    },\r\n    \"GeForce GTX 1660 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1536\r\n    },\r\n    \"GeForce RTX 2060\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1920\r\n    },\r\n    \"GeForce RTX 2060 Max-Q\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1920\r\n    },\r\n    \"GeForce RTX 2060 (Jan 2019)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1920\r\n    },\r\n    \"GeForce RTX 2060 (Jan 2020)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 1920\r\n    },\r\n    \"GeForce RTX 3050 Mobile (4GB)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 2048\r\n    },\r\n    \"GeForce RTX 2060 (Dec 2021)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 2176\r\n    },\r\n    \"GeForce RTX 2060 Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 2176\r\n    },\r\n    \"GeForce RTX 2070\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 2304\r\n    },\r\n    \"GeForce RTX 2070 Max-Q\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 2304\r\n    },\r\n    \"GeForce RTX 3050 (GA107-325)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 2304\r\n    },\r\n    \"GeForce RTX 3050 (GA106-150)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 2304\r\n    },\r\n    \"GeForce RTX 3050 (GA107-150-A1)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 2560\r\n    },\r\n    \"GeForce RTX 4050 Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 2560\r\n    },\r\n    \"GeForce RTX 3050 Ti Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 4,\r\n        \"CUDA Cores\": 2560\r\n    },\r\n    \"GeForce RTX 3050 Mobile (6GB)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 2560\r\n    },\r\n    \"GeForce RTX 2070 Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 2560\r\n    },\r\n    \"GeForce RTX 2070 Super Max-Q\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 2560\r\n    },\r\n    \"GeForce RTX 4060\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 3072\r\n    },\r\n    \"GeForce RTX 2080 Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 3072\r\n    },\r\n    \"GeForce RTX 2080 Super Max-Q\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 3072\r\n    },\r\n    \"GeForce RTX 3060\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 3584\r\n    },\r\n    \"GeForce RTX 3060 Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 6,\r\n        \"CUDA Cores\": 3840\r\n    },\r\n    \"GeForce RTX 4060 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 4352\r\n    },\r\n    \"GeForce RTX 2080 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 11,\r\n        \"CUDA Cores\": 4352\r\n    },\r\n    \"GeForce RTX 4070 Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 4608\r\n    },\r\n    \"GeForce RTX 5070 (laptop)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 4608\r\n    },\r\n    \"Nvidia TITAN RTX\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 24,\r\n        \"CUDA Cores\": 4608\r\n    },\r\n    \"GeForce RTX 3060 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 4864\r\n    },\r\n    \"GeForce RTX 3070 Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 5120\r\n    },\r\n    \"GeForce RTX 3070\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 5888\r\n    },\r\n    \"GeForce RTX 4070\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 5888\r\n    },\r\n    \"GeForce RTX 5080 Ti (laptop)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 5888\r\n    },\r\n    \"GeForce RTX 3070 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 8,\r\n        \"CUDA Cores\": 6144\r\n    },\r\n    \"GeForce RTX 5070\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 6144\r\n    },\r\n    \"GeForce RTX 3070 Ti Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": \"8-16\",\r\n        \"CUDA Cores\": 6144\r\n    },\r\n    \"GeForce RTX 4070 Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 7168\r\n    },\r\n    \"GeForce RTX 4080 Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 7424\r\n    },\r\n    \"GeForce RTX 3080 Ti Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 7424\r\n    },\r\n    \"GeForce RTX 4070 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 7680\r\n    },\r\n    \"GeForce RTX 4080 (AD104-400)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 7680\r\n    },\r\n    \"GeForce RTX 5080 (laptop)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 7680\r\n    },\r\n    \"GeForce RTX 4070 Ti Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 8448\r\n    },\r\n    \"GeForce RTX 3080\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 10,\r\n        \"CUDA Cores\": 8704\r\n    },\r\n    \"GeForce RTX 3080 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 12,\r\n        \"CUDA Cores\": 8960\r\n    },\r\n    \"GeForce RTX 5070 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 8960\r\n    },\r\n    \"GeForce RTX 4080 (AD103-300)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 9728\r\n    },\r\n    \"GeForce RTX 4090 Mobile/Laptop\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 9728\r\n    },\r\n    \"GeForce RTX 4080 Super\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 10240\r\n    },\r\n    \"GeForce RTX 3090\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 24,\r\n        \"CUDA Cores\": 10496\r\n    },\r\n    \"GeForce RTX 5090 (laptop)\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 24,\r\n        \"CUDA Cores\": 10496\r\n    },\r\n    \"GeForce RTX 3090 Ti\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 24,\r\n        \"CUDA Cores\": 10752\r\n    },\r\n    \"GeForce RTX 5080\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 16,\r\n        \"CUDA Cores\": 10752\r\n    },\r\n    \"GeForce RTX 4090 D\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 24,\r\n        \"CUDA Cores\": 14592\r\n    },\r\n    \"GeForce RTX 4090\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 24,\r\n        \"CUDA Cores\": 16384\r\n    },\r\n    \"GeForce RTX 5090\": {\r\n        \"Brand\": \"NVIDIA\",\r\n        \"Size (GB)\": 32,\r\n        \"CUDA Cores\": 21760\r\n    }\r\n}\r\n\r\nGPUS_AMD = {\r\n    \"Radeon RX 9060 XT 16GB\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 9060 XT 8GB\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 7600\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 7600 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 7700 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 12,\r\n        \"Shaders\": 3456\r\n    },\r\n    \"Radeon RX 7800 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 3840\r\n    },\r\n    \"Radeon RX 9070 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 4096\r\n    },\r\n    \"Radeon RX 9070\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 3584\r\n    },\r\n    \"Radeon RX 7900 GRE\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 5120\r\n    },\r\n    \"Radeon RX 7900 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 20,\r\n        \"Shaders\": 5376\r\n    },\r\n    \"Radeon RX 7900 XTX\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 24,\r\n        \"Shaders\": 6144\r\n    },\r\n    \"Radeon RX 6300\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 2,\r\n        \"Shaders\": 768\r\n    },\r\n    \"Radeon RX 6400\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 1024\r\n    },\r\n    \"Radeon RX 6500 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1024\r\n    },\r\n    \"Radeon RX 6600\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1792\r\n    },\r\n    \"Radeon RX 6600 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 6650 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 6700\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 10,\r\n        \"Shaders\": 2304\r\n    },\r\n    \"Radeon RX 6750 GRE 10GB\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 10,\r\n        \"Shaders\": 2560\r\n    },\r\n    \"Radeon RX 6750 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 12,\r\n        \"Shaders\": 2560\r\n    },\r\n    \"Radeon RX 6800\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 3840\r\n    },\r\n    \"Radeon RX 6800 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 4608\r\n    },\r\n    \"Radeon RX 6900 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 5120\r\n    },\r\n    \"Radeon RX 6950 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 5120\r\n    },\r\n    \"Radeon RX 5300\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 3,\r\n        \"Shaders\": 1408\r\n    },\r\n    \"Radeon RX 5300 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 1408\r\n    },\r\n    \"Radeon RX 5500\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 1408\r\n    },\r\n    \"Radeon RX 5500 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 1408\r\n    },\r\n    \"Radeon RX 5600\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 6,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 5600 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 6,\r\n        \"Shaders\": 2304\r\n    },\r\n    \"Radeon RX 5700\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2304\r\n    },\r\n    \"Radeon RX 5700 XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2560\r\n    },\r\n    \"Radeon RX 5700 XT 50th Anniversary Edition\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2560\r\n    },\r\n    \"Radeon RX Vega 56\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 3584\r\n    },\r\n    \"Radeon RX Vega 64\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 4096\r\n    },\r\n    \"Radeon RX Vega 64 Liquid\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 4096\r\n    },\r\n    \"Radeon VII\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 3840\r\n    },\r\n    \"Radeon RX 7600S\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1792\r\n    },\r\n    \"Radeon RX 7600M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1792\r\n    },\r\n    \"Radeon RX 7600M XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 7700S\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 7900M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 16,\r\n        \"Shaders\": 4608\r\n    },\r\n    \"Radeon RX 6300M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 2,\r\n        \"Shaders\": 768\r\n    },\r\n    \"Radeon RX 6450M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 2,\r\n        \"Shaders\": 768\r\n    },\r\n    \"Radeon RX 6550S\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 768\r\n    },\r\n    \"Radeon RX 6500M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 1024\r\n    },\r\n    \"Radeon RX 6550M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 1024\r\n    },\r\n    \"Radeon RX 6600S\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1792\r\n    },\r\n    \"Radeon RX 6700S\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1792\r\n    },\r\n    \"Radeon RX 6600M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1792\r\n    },\r\n    \"Radeon RX 6650M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 1792\r\n    },\r\n    \"Radeon RX 6800S\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 6650M XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2048\r\n    },\r\n    \"Radeon RX 6700M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 10,\r\n        \"Shaders\": 2304\r\n    },\r\n    \"Radeon RX 6800M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 12,\r\n        \"Shaders\": 2560\r\n    },\r\n    \"Radeon RX 6850M XT\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 12,\r\n        \"Shaders\": 2560\r\n    },\r\n    \"Radeon RX 5300M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 3,\r\n        \"Shaders\": 1408\r\n    },\r\n    \"Radeon RX 5500M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 4,\r\n        \"Shaders\": 1408\r\n    },\r\n    \"Radeon RX 5600M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 6,\r\n        \"Shaders\": 2304\r\n    },\r\n    \"Radeon RX 5700M\": {\r\n        \"Brand\": \"AMD\",\r\n        \"Size (GB)\": 8,\r\n        \"Shaders\": 2304\r\n    }\r\n}\r\n\r\nGPUS_INTEL = {\r\n    \"Intel Arc A310\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 4,\r\n        \"Shading Cores\": 768\r\n    },\r\n    \"Intel Arc A380\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 6,\r\n        \"Shading Cores\": 1024\r\n    },\r\n    \"Intel Arc B570\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 10,\r\n        \"Shading Cores\": 2304\r\n    },\r\n    \"Intel Arc B580\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 12,\r\n        \"Shading Cores\": 2560\r\n    },\r\n    \"Intel Arc A580\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 8,\r\n        \"Shading Cores\": 3072\r\n    },\r\n    \"Intel Arc A750\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 8,\r\n        \"Shading Cores\": 3584\r\n    },\r\n    \"Intel Arc A770 8GB\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 8,\r\n        \"Shading Cores\": 4096\r\n    },\r\n    \"Intel Arc A770 16GB\": {\r\n        \"Brand\": \"Intel\",\r\n        \"Size (GB)\": 16,\r\n        \"Shading Cores\": 4096\r\n    }\r\n}\r\n\r\nmaster_questions = [\r\n    \"What is the VectorDB-Plugin and what can it do?\",\r\n    \"What are the system requirements and prerequisites?\",\r\n    \"Why is Visual Studio required to run this program?\",\r\n    \"How do I install and launch the VectorDB-Plugin?\",\r\n    \"How do I download or add embedding models?\",\r\n    \"How do I query the database for answers?\",\r\n    \"Which chat backend should I use?\",\r\n    \"What is LM Studio chat model backend?\",\r\n    \"What is Kobold chat model backend?\",\r\n    \"What is the OpenAI GPT Chat Model Backend?\",\r\n    \"What local chat models are available and how can I use them?\",\r\n    \"How do I get a huggingface access token?\",\r\n    \"What is a context limit or maximum sequence length?\",\r\n    \"What happens if I exceed the maximum sequence length of an embedding model?\",\r\n    \"How many contexts should I retrieve when querying the vector database?\",\r\n    \"What does the chunks only checkbox do?\",\r\n    \"What are embedding or vector models?\",\r\n    \"Which embedding or vector model should I choose?\",\r\n    \"What are the dimensions of a vector or embedding model?\",\r\n    \"What are some general tips for choosing an embedding model?\",\r\n    \"What Are Vision Models?\",\r\n    \"What vision models are available in this program?\",\r\n    \"Do you have any tips for choosing a vision model?\",\r\n    \"What is whisper and how does this program use voice recording or transcribing an audio file?\",\r\n    \"How can I record my question for the vector database query?\",\r\n    \"How can I transcribe an audio file to be put into the vector database?\",\r\n    \"What are the distil variants of the whisper models when transcribing and audio file?\",\r\n    \"What whisper model should I choose to transcribe a file?\",\r\n    \"What are floating point formats, precision, and quantization?\",\r\n    \"What are the common floating point formats?\",\r\n    \"What are precision and range regarding floating point formats and which should I use?\",\r\n    \"What is Quantization?\",\r\n    \"What are the aspects or effects of quantization?\",\r\n    \"What are the LM Studio Server settings?\",\r\n    \"What are the database creation settings?\",\r\n    \"What are the database query settings?\",\r\n    \"How does the Contexts setting work exactly?\",\r\n    \"What is the similarity setting?\",\r\n    \"What is the search term filter setting?\",\r\n    \"What is the File Type setting?\",\r\n    \"What are text to speech models (aks TTS models) and how are they used in this program?\",\r\n    \"What text to speech models are availble in this program to use?\",\r\n    \"What is the Bark text to speech?\",\r\n    \"What is the WhisperSpeech text to speech?\",\r\n    \"What is the ChatTTS text to speech?\",\r\n    \"What is the Google TTS text to speech?\",\r\n    \"What is the Chatterbox text to speech?\",\r\n    \"Which text to speech backend or models should I use\",\r\n    \"Can I back up or restore my databases and are they backed up automatically\",\r\n    \"What happens if I lose a configuration file and can I restore it?\",\r\n    \"What are some good tips for searching a vector database?\",\r\n    \"General VRAM Considerations\",\r\n    \"How can I manage vram?\",\r\n    \"What are the speed and VRAM requirements for the various chat models?\",\r\n    \"What are the speed and VRAM requirements for the various vision models?\",\r\n    \"What are maximunm context length and maximum sequence length and how to they relate?\",\r\n    \"What is the scrape documentaton feature?\",\r\n    \"Which vector or embedding models are available in this program?\",\r\n    \"What is the manage databaes tab?\",\r\n    \"How can I create a vector database?\",\r\n    \"Can I use images and audio files in my database?\",\r\n    \"What chat models are available with the local models option?\",\r\n    \"What are the Qwen 3 Chat Models?\",\r\n    \"What are the Granite 3.3 Chat Models?\",\r\n    \"What are the GLM-Z1 Chat Models?\",\r\n    \"What is the Mistral Small Chat Model?\",\r\n    \"What is the gte-Qwen2-1.5B-instruct embedding model?\",\r\n    \"What are the BGE Embedding Models?\",\r\n    \"What are the Granite Embedding Models?\",\r\n    \"What are the Intfloat Embedding Models?\",\r\n    \"What are the Arctic Embedding Models?\",\r\n    \"What is the Scrape Documentation tool?\",\r\n    \"How do I test vision models on images?\",\r\n    \"What is Optical Character Recognition?\",\r\n    \"How can I extract text from PDFs or images with OCR?\",\r\n    \"What other features does the Misc tab have?\",\r\n    \"What is Ask Jeeves and how do I use it?\",\r\n    \"What are the InternVL3 Vision Models?\",\r\n    \"What are the Ovis2 Vision Models?\",\r\n    \"What are the Florence-2 Vision Models?\",\r\n    \"What are the Granite Vision Models?\",\r\n    \"What are the Qwen2.5VL Vision Models?\",\r\n    \"What is the GLM-4V-9B Vision Model?\",\r\n    \"What is the Molmo-D-0924 Vision Model?\",\r\n]\r\n\r\njeeves_system_message = \"You are a helpful British butler who clearly and directly answers questions in a succinct fashion based on contexts provided to you. If you cannot find the answer within the contexts simply tell me that the contexts do not provide an answer. However, if the contexts partially address a question you answer based on what the contexts say and then briefly summarize the parts of the question that the contexts didn't provide an answer to.  Also, you should be very respectful to the person asking the question and frequently offer traditional butler services like various fancy drinks, snacks, various butler services like shining of shoes, pressing of suites, and stuff like that. Also, if you can't answer the question at all based on the provided contexts, you should apologize profusely and beg to keep your job.  Lastly, it is essential that if there are no contexts actually provided it means that a user's question wasn't relevant and you should state that you can't answer based off of the contexts because there are none.  And it goes without saying you should refuse to answer any questions that are not directly answerable by the provided contexts.  Moreover, some of the contexts might not have relevant information and you should simply ignore them and focus on only answering a user's question.  I cannot emphasize enough that you must gear your answer towards using this program and based your response off of the contexts you receive.  Lastly, in addition to offering to perform stereotypical butler services in the midst of your response, you must always always always end your response with some kind of offering of butler services even they don't want it.\"\r\nsystem_message = \"You are a helpful person who clearly and directly answers questions in a succinct fashion based on contexts provided to you. If you cannot find the answer within the contexts simply tell me that the contexts do not provide an answer. However, if the contexts partially address my question I still want you to answer based on what the contexts say and then briefly summarize the parts of my question that the contexts didn't provide an answer.\"\r\nrag_string = \"Here are the contexts to base your answer on.  However, I need to reiterate that I only want you to base your response on these contexts and do not use outside knowledge that you may have been trained with.\"\r\n"
  },
  {
    "path": "core/extract_metadata.py",
    "content": "import os\r\nimport datetime\r\nimport hashlib\r\nimport re\r\nfrom db.document_processor import Document\r\nfrom typing import List, Tuple\r\n\r\ndef compute_content_hash(content: str) -> str:\r\n    return hashlib.sha256(content.encode('utf-8')).hexdigest()\r\n\r\ndef compute_file_hash(file_path):\r\n    hash_sha256 = hashlib.sha256()\r\n    with open(file_path, \"rb\") as f:\r\n        for chunk in iter(lambda: f.read(4096), b\"\"):\r\n            hash_sha256.update(chunk)\r\n    return hash_sha256.hexdigest()\r\n\r\ndef extract_common_metadata(file_path, content_hash=None):\r\n    file_path = os.path.realpath(file_path)\r\n    file_name = os.path.basename(file_path)\r\n    file_type = os.path.splitext(file_path)[1]\r\n    creation_date = datetime.datetime.fromtimestamp(os.path.getctime(file_path)).isoformat()\r\n    modification_date = datetime.datetime.fromtimestamp(os.path.getmtime(file_path)).isoformat()\r\n\r\n    file_hash = content_hash if content_hash else compute_file_hash(file_path)\r\n\r\n    metadata = {\r\n        \"file_path\": file_path,\r\n        \"file_type\": file_type,\r\n        \"file_name\": file_name,\r\n        \"creation_date\": creation_date,\r\n        \"modification_date\": modification_date,\r\n        \"hash\": file_hash\r\n    }\r\n\r\n    clean_metadata = {}\r\n    for k, v in metadata.items():\r\n        if isinstance(v, (str, int, float, bool, type(None))):\r\n            clean_metadata[k] = v\r\n        else:\r\n            clean_metadata[k] = str(v)\r\n\r\n    return clean_metadata\r\n\r\ndef extract_typed_metadata(file_path, document_type, content_hash=None):\r\n    metadata = extract_common_metadata(file_path, content_hash)\r\n    metadata[\"document_type\"] = document_type\r\n    return metadata\r\n\r\ndef add_pymupdf_page_metadata(doc: Document, chunk_size: int = 1200, chunk_overlap: int = 600) -> List[Document]:\r\n    def split_text(text: str, chunk_size: int, chunk_overlap: int) -> List[Tuple[str, int]]:\r\n        page_markers = []\r\n        offset = 0\r\n        for m in re.finditer(r'\\[\\[page(\\d+)\\]\\]', text):\r\n            marker_len = len(m.group(0))\r\n            page_markers.append((m.start() - offset, int(m.group(1))))\r\n            offset += marker_len\r\n\r\n        clean_text = re.sub(r'\\[\\[page\\d+\\]\\]', '', text)\r\n\r\n        chunks = []\r\n        start = 0\r\n        while start < len(clean_text):\r\n            end = start + chunk_size\r\n            if end > len(clean_text):\r\n                end = len(clean_text)\r\n            chunk = clean_text[start:end].strip()\r\n\r\n            page_num = 1\r\n            for marker_pos, page in reversed(page_markers):\r\n                if marker_pos <= start:\r\n                    page_num = page\r\n                    break\r\n\r\n            if chunk:\r\n                chunks.append((chunk, page_num))\r\n            \r\n            start += chunk_size - chunk_overlap\r\n\r\n        return chunks\r\n\r\n    chunks = split_text(doc.page_content, chunk_size, chunk_overlap)\r\n\r\n    new_docs = []\r\n    for chunk, page_num in chunks:\r\n        new_metadata = {}\r\n        if doc.metadata:\r\n            for k, v in doc.metadata.items():\r\n                if k is not None and v is not None:\r\n                    key = str(k)\r\n                    if isinstance(v, (str, int, float, bool)):\r\n                        new_metadata[key] = v\r\n                    else:\r\n                        new_metadata[key] = str(v)\r\n\r\n        new_metadata['page_number'] = page_num\r\n\r\n        new_doc = Document(\r\n            page_content=str(chunk).strip(),\r\n            metadata=new_metadata\r\n        )\r\n        new_docs.append(new_doc)\r\n\r\n    return new_docs\r\n"
  },
  {
    "path": "core/initialize.py",
    "content": "import platform\r\nimport shutil\r\nfrom pathlib import Path\r\nimport logging\r\n\r\nimport torch\r\nimport yaml\r\nimport ctranslate2\r\n\r\nfrom core.constants import PROJECT_ROOT\r\n\r\n\r\ndef get_compute_device_info():\r\n    available_devices = [\"cpu\"]\r\n    gpu_brand = None\r\n    if torch.cuda.is_available():\r\n        available_devices.append('cuda')\r\n\r\n    return {\r\n        'available': available_devices,\r\n        'gpu_brand': gpu_brand\r\n    }\r\n\r\ndef get_platform_info():\r\n    return {'os': platform.system().lower()}\r\n\r\ndef get_supported_quantizations(device_type):\r\n    types = ctranslate2.get_supported_compute_types(device_type)\r\n    filtered_types = [q for q in types if q != 'int16']\r\n\r\n    desired_order = ['float32', 'float16', 'bfloat16', 'int8_float32', 'int8_float16', 'int8_bfloat16', 'int8']\r\n    return [q for q in desired_order if q in filtered_types]\r\n\r\n\r\ndef update_config_file(**system_info):\r\n    full_config_path = Path('config.yaml').resolve()\r\n\r\n    with open(full_config_path, 'r', encoding='utf-8') as stream:\r\n        config_data = yaml.safe_load(stream)\r\n\r\n    compute_device_info = system_info.get('Compute_Device', {})\r\n    config_data['Compute_Device']['available'] = compute_device_info.get('available', ['cpu'])\r\n\r\n    valid_devices = ['cpu', 'cuda', 'mps']\r\n    for key in ['database_creation', 'database_query']:\r\n        config_data['Compute_Device'][key] = config_data['Compute_Device'].get(key, 'cpu') if config_data['Compute_Device'].get(key) in valid_devices else 'cpu'\r\n\r\n    config_data['Supported_CTranslate2_Quantizations'] = {\r\n        'CPU': get_supported_quantizations('cpu'),\r\n        'GPU': get_supported_quantizations('cuda') if torch.cuda.is_available() else []\r\n    }\r\n\r\n    for key, value in system_info.items():\r\n        if key not in ('Compute_Device', 'Supported_CTranslate2_Quantizations'):\r\n            config_data[key] = value\r\n\r\n    with open(full_config_path, 'w', encoding='utf-8') as stream:\r\n        yaml.safe_dump(config_data, stream)\r\n\r\n\r\ndef check_for_necessary_folders():\r\n    folders = [\r\n        \"Assets\",\r\n        \"Docs_for_DB\",\r\n        \"Vector_DB_Backup\",\r\n        \"Vector_DB\",\r\n        \"Models\",\r\n        \"Models/vector\",\r\n        \"Models/chat\",\r\n        \"Models/tts\",\r\n        \"Models/vision\",\r\n        \"Models/whisper\",\r\n        \"Scraped_Documentation\",\r\n    ]\r\n    \r\n    for folder in folders:\r\n        Path(folder).mkdir(exist_ok=True)\r\n\r\n\r\ndef restore_vector_db_backup():\r\n    backup_folder = Path('Vector_DB_Backup')\r\n    destination_folder = Path('Vector_DB')\r\n\r\n    if not backup_folder.exists():\r\n        logging.error(\"Backup folder 'Vector_DB_Backup' does not exist.\")\r\n        return\r\n\r\n    try:\r\n        if destination_folder.exists():\r\n            shutil.rmtree(destination_folder)\r\n            logging.info(\"Deleted existing 'Vector_DB' folder.\")\r\n        destination_folder.mkdir()\r\n        logging.info(\"Created 'Vector_DB' folder.\")\r\n\r\n        for item in backup_folder.iterdir():\r\n            dest_path = destination_folder / item.name\r\n            if item.is_dir():\r\n                shutil.copytree(item, dest_path)\r\n                logging.info(f\"Copied directory: {item.name}\")\r\n            else:\r\n                shutil.copy2(item, dest_path)\r\n                logging.info(f\"Copied file: {item.name}\")\r\n        logging.info(\"Successfully restored Vector DB backup.\")\r\n    except Exception as e:\r\n        logging.error(f\"Error restoring Vector DB backup: {e}\")\r\n\r\n\r\ndef delete_chat_history():\r\n    chat_history_path = PROJECT_ROOT / 'chat_history.txt'\r\n    chat_history_path.unlink(missing_ok=True)\r\n\r\n\r\ndef main():\r\n    compute_device_info = get_compute_device_info()\r\n    platform_info = get_platform_info()\r\n    update_config_file(Compute_Device=compute_device_info, Platform_Info=platform_info)\r\n    check_for_necessary_folders()\r\n    delete_chat_history()\r\n\r\nif __name__ == \"__main__\":\r\n    main()\r\n"
  },
  {
    "path": "core/utilities.py",
    "content": "import importlib\r\nimport importlib.metadata\r\nimport importlib.util\r\nimport os\r\nimport threading\r\nimport logging\r\nimport platform\r\nimport shutil\r\nimport sys\r\nfrom pathlib import Path\r\nimport psutil\r\nimport subprocess\r\nimport re\r\nfrom string import Template\r\n\r\nimport torch\r\nimport yaml\r\nfrom packaging import version\r\nfrom PySide6.QtCore import QRunnable, QObject, Signal, QThreadPool\r\nfrom PySide6.QtWidgets import QApplication, QMessageBox\r\nfrom termcolor import cprint\r\n\r\nfrom core.constants import PROJECT_ROOT, THEMES\r\n\r\ndef set_cuda_paths():\r\n    import sys\r\n    import os\r\n    from pathlib import Path\r\n    venv_base = Path(sys.executable).parent.parent\r\n    nvidia_base_path = venv_base / 'Lib' / 'site-packages' / 'nvidia'\r\n    cuda_path_runtime = nvidia_base_path / 'cuda_runtime' / 'bin'\r\n    cuda_path_runtime_lib = nvidia_base_path / 'cuda_runtime' / 'lib' / 'x64'\r\n    cuda_path_runtime_include = nvidia_base_path / 'cuda_runtime' / 'include'\r\n    cublas_path = nvidia_base_path / 'cublas' / 'bin'\r\n    cudnn_path = nvidia_base_path / 'cudnn' / 'bin'\r\n    nvrtc_path = nvidia_base_path / 'cuda_nvrtc' / 'bin'\r\n    nvcc_path = nvidia_base_path / 'cuda_nvcc' / 'bin'\r\n    paths_to_add = [\r\n        str(cuda_path_runtime),\r\n        str(cuda_path_runtime_lib),\r\n        str(cuda_path_runtime_include),\r\n        str(cublas_path),\r\n        str(cudnn_path),\r\n        str(nvrtc_path),\r\n        str(nvcc_path),\r\n    ]\r\n    current_value = os.environ.get('PATH', '')\r\n    new_value = os.pathsep.join(paths_to_add + ([current_value] if current_value else []))\r\n    os.environ['PATH'] = new_value\r\n\r\n    triton_cuda_path = nvidia_base_path / 'cuda_runtime'\r\n    current_cuda_path = os.environ.get('CUDA_PATH', '')\r\n    new_cuda_path = os.pathsep.join([str(triton_cuda_path)] + ([current_cuda_path] if current_cuda_path else []))\r\n    os.environ['CUDA_PATH'] = new_cuda_path\r\n\r\n\r\ndef check_backend_dependencies(backend_name: str, interactive: bool = True) -> bool:\r\n    from core.constants import BACKEND_DEPENDENCIES\r\n\r\n    required_packages = BACKEND_DEPENDENCIES.get(backend_name, {})\r\n    \r\n    if not required_packages:\r\n        return True\r\n\r\n    return check_and_install_dependencies(\r\n        required_packages,\r\n        backend_name=backend_name.title(),\r\n        interactive=interactive\r\n    )\r\n\r\ndef is_package_available(pkg_name: str) -> tuple[bool, str]:\r\n    import importlib.util\r\n    import importlib.metadata\r\n    \r\n    package_exists = importlib.util.find_spec(pkg_name) is not None\r\n    package_version = \"N/A\"\r\n    if package_exists:\r\n        try:\r\n            package_version = importlib.metadata.version(pkg_name)\r\n        except importlib.metadata.PackageNotFoundError:\r\n            package_exists = False\r\n    return package_exists, package_version\r\n\r\ndef verify_installation(package_name: str, expected_version: str) -> bool:\r\n    try:\r\n        import importlib.metadata\r\n        installed_version = importlib.metadata.version(package_name)\r\n        return installed_version == expected_version\r\n    except importlib.metadata.PackageNotFoundError:\r\n        return False\r\n\r\ndef install_packages(packages: list[tuple[str, str]], no_deps: bool = True) -> bool:\r\n    import subprocess\r\n    import sys\r\n    \r\n    for package, version in packages:\r\n        my_cprint(f\"Installing {package}=={version}...\", \"yellow\")\r\n        try:\r\n            command = [sys.executable, \"-m\", \"pip\", \"install\", f\"{package}=={version}\"]\r\n            if no_deps:\r\n                command.append(\"--no-deps\")\r\n                \r\n            result = subprocess.run(command, capture_output=True, text=True, check=True)\r\n            my_cprint(f\"Successfully installed {package}=={version}\", \"green\")\r\n        except subprocess.CalledProcessError as e:\r\n            my_cprint(f\"Failed to install {package}: {e.stderr}\", \"red\")\r\n            return False\r\n\r\n    return True\r\n\r\ndef check_and_install_dependencies(required_packages: dict[str, str], \r\n                                 backend_name: str = \"backend\",\r\n                                 interactive: bool = True) -> bool:\r\n    import sys\r\n\r\n    missing_packages = []\r\n\r\n    for package, version in required_packages.items():\r\n        available, current_version = is_package_available(package)\r\n        if not available:\r\n            missing_packages.append((package, version))\r\n        elif current_version != version:\r\n            my_cprint(f\"Warning: {package} version {current_version} found, expected {version}\", \"yellow\")\r\n\r\n    if not missing_packages:\r\n        return True\r\n\r\n    if not interactive or not sys.stdin.isatty():\r\n\r\n        return False\r\n\r\n    return False\r\n\r\ndef get_platform_info():\r\n    import platform\r\n    \r\n    return {\r\n        \"system\": platform.system(),\r\n        \"platform\": platform.platform(),\r\n        \"architecture\": platform.machine()\r\n    }\r\n\r\n\r\ndef get_python_version():\r\n    import sys\r\n    \r\n    major = sys.version_info.major\r\n    minor = sys.version_info.minor\r\n    \r\n    return {\r\n        'major': major,\r\n        'minor': minor,\r\n        'version_string': f'{major}.{minor}'\r\n    }\r\n\r\n\r\ndef has_nvidia_gpu():\r\n    import subprocess\r\n    \r\n    try:\r\n        result = subprocess.run(\r\n            [\"nvidia-smi\"],\r\n            stdout=subprocess.PIPE,\r\n            stderr=subprocess.PIPE\r\n        )\r\n        return result.returncode == 0\r\n    except FileNotFoundError:\r\n        return False\r\n\r\n\r\n\r\ndef gpu_summary():\r\n    from pynvml import (\r\n        nvmlInit,\r\n        nvmlShutdown,\r\n        nvmlDeviceGetCount,\r\n        nvmlDeviceGetHandleByIndex,\r\n        nvmlDeviceGetName,\r\n        nvmlDeviceGetMemoryInfo,\r\n    )\r\n    from numba import cuda\r\n\r\n    cc_cores_per_SM = {\r\n        (2, 0): 32,  (2, 1): 48,\r\n        (3, 0): 192, (3, 5): 192, (3, 7): 192,\r\n        (5, 0): 128, (5, 2): 128,\r\n        (6, 0): 64,  (6, 1): 128,\r\n        (7, 0): 64,  (7, 5): 64,\r\n        (8, 0): 64,  (8, 6): 128, (8, 9): 128,\r\n        (9, 0): 128,\r\n        (10, 0): 128,\r\n        (12, 0): 128,\r\n    }\r\n\r\n    nvmlInit()\r\n    try:\r\n        gpu_count = nvmlDeviceGetCount()\r\n        summaries = []\r\n\r\n        for idx in range(gpu_count):\r\n            handle = nvmlDeviceGetHandleByIndex(idx)\r\n\r\n            name = nvmlDeviceGetName(handle)\r\n            vram_gb = nvmlDeviceGetMemoryInfo(handle).total / (1024 ** 3)\r\n\r\n            dev = cuda.select_device(idx)\r\n            cc_major, cc_minor = dev.compute_capability\r\n            sm_count = dev.MULTIPROCESSOR_COUNT\r\n\r\n            cores_per_sm = cc_cores_per_SM.get((cc_major, cc_minor), 128)\r\n            total_cores = cores_per_sm * sm_count\r\n\r\n            summaries.append(\r\n                {\r\n                    \"index\": idx,\r\n                    \"name\": name,\r\n                    \"cuda_compute\": f\"{cc_major}.{cc_minor}\",\r\n                    \"vram\": round(vram_gb, 2),\r\n                    \"cuda_cores\": total_cores,\r\n                }\r\n            )\r\n\r\n        return summaries\r\n    finally:\r\n        nvmlShutdown()\r\n\r\n\r\ndef _needs_ocr_worker(path: str) -> bool:\r\n    import fitz, logging\r\n    try:\r\n        with fitz.open(path) as doc:\r\n            for page in doc:\r\n                if page.get_text().strip():\r\n                    return False\r\n        return True\r\n    except Exception as e:\r\n        logging.error(f\"PDF check error {path}: {e}\")\r\n        return False\r\n\r\n\r\ndef clean_triton_cache():\r\n    import shutil\r\n    from pathlib import Path\r\n\r\n    triton_cache_dir = Path.home() / '.triton'\r\n\r\n    if triton_cache_dir.exists():\r\n        try:\r\n            print(f\"\\nRemoving Triton cache at {triton_cache_dir}...\")\r\n            shutil.rmtree(triton_cache_dir)\r\n            print(\"\\033[92mTriton cache successfully removed.\\033[0m\")\r\n            return True\r\n        except Exception as e:\r\n            print(f\"\\033[91mWarning: Failed to remove Triton cache: {e}\\033[0m\")\r\n            return False\r\n    else:\r\n        print(\"\\nNo Triton cache found to clean.\")\r\n        return True\r\n\r\n\r\ndef check_pdfs_for_ocr(script_dir):\r\n    import multiprocessing as mp\r\n    from pathlib import Path\r\n    import fitz, logging, tempfile, os, threading\r\n    from PySide6.QtWidgets import QMessageBox\r\n\r\n    try:\r\n        import psutil\r\n        physical = psutil.cpu_count(logical=False) or mp.cpu_count()\r\n    except ImportError:\r\n        logical = mp.cpu_count()\r\n        estimate = max(logical // 2, logical - 4)\r\n        physical = max(1, estimate)\r\n\r\n    n_procs = max(1, physical - 1)\r\n\r\n    docs_dir = Path(script_dir) / \"Docs_for_DB\"\r\n    pdf_paths = [p for p in docs_dir.iterdir() if p.suffix.lower() == \".pdf\"]\r\n    if not pdf_paths:\r\n        return True, \"\"\r\n\r\n    ctx = mp.get_context(\"spawn\")\r\n    with ctx.Pool(processes=n_procs) as pool:\r\n        mask = pool.map(_needs_ocr_worker, map(str, pdf_paths), chunksize=16)\r\n\r\n    non_ocr_pdfs = [p for p, flag in zip(pdf_paths, mask) if flag]\r\n    if non_ocr_pdfs:\r\n        message = \"The following PDF files appear to have no text content and likely need OCR done on them:\\n\\n\"\r\n        for pdf_path in non_ocr_pdfs:\r\n            message += f\"  - {pdf_path}\\n\"\r\n        message += \"\\nPlease perform OCR on these by going to the Tools Tab first or remove them from the files selected for processing.\"\r\n\r\n        msg_box = QMessageBox()\r\n        msg_box.setWindowTitle(\"PDFs Need OCR\")\r\n        msg_box.setText(message)\r\n        msg_box.setIcon(QMessageBox.Icon.Warning)\r\n        msg_box.addButton(QMessageBox.StandardButton.Ok)\r\n        view_report_button = msg_box.addButton(\"View Report\", QMessageBox.ButtonRole.ActionRole)\r\n        msg_box.exec()\r\n\r\n        if msg_box.clickedButton() == view_report_button:\r\n            with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=False) as tmp:\r\n                tmp.write(\"PDFs that need OCR:\\n\\n\")\r\n                for pdf_path in non_ocr_pdfs:\r\n                    tmp.write(f\"{pdf_path}\\n\")\r\n                temp_path = tmp.name\r\n            os.startfile(temp_path)\r\n\r\n            def cleanup():\r\n                try:\r\n                    os.unlink(temp_path)\r\n                except FileNotFoundError:\r\n                    pass\r\n            threading.Timer(1.0, cleanup).start()\r\n\r\n        return False, \"PDFs without text content detected.\"\r\n\r\n    return True, \"\"\r\n\r\n\r\nclass DownloadSignals(QObject):\r\n    finished = Signal(bool, str)\r\n    progress = Signal(str)\r\n\r\n\r\nclass DownloadRunnable(QRunnable):\r\n    def __init__(self, download_func, *args):\r\n        super().__init__()\r\n        self.download_func = download_func\r\n        self.args = args\r\n        self.signals = DownloadSignals()\r\n\r\n    def run(self):\r\n        try:\r\n            result = self.download_func(*self.args)\r\n            self.signals.finished.emit(result, \"Download completed successfully\")\r\n        except Exception as e:\r\n            self.signals.finished.emit(False, str(e))\r\n\r\n\r\ndef download_with_threadpool(download_func, *args, callback=None):\r\n    runnable = DownloadRunnable(download_func, *args)\r\n    if callback:\r\n        runnable.signals.finished.connect(callback)\r\n    QThreadPool.globalInstance().start(runnable)\r\n\r\n\r\ndef download_kokoro_tts():\r\n    from pathlib import Path\r\n    from huggingface_hub import snapshot_download\r\n    import shutil\r\n\r\n    repo_id = \"ctranslate2-4you/Kokoro-82M-light\"\r\n    tts_path = PROJECT_ROOT / \"Models\" / \"tts\" / \"ctranslate2-4you--Kokoro-82M-light\"\r\n\r\n    try:\r\n        tts_path.parent.mkdir(parents=True, exist_ok=True)\r\n        \r\n        print(f\"Downloading Kokoro TTS model from {repo_id}...\")\r\n        snapshot_download(\r\n            repo_id=repo_id,\r\n            local_dir=str(tts_path),\r\n            max_workers=4,\r\n            token=False\r\n        )\r\n        print(\"Kokoro TTS model downloaded successfully\")\r\n        return True\r\n\r\n    except Exception as e:\r\n        print(f\"Failed to download Kokoro TTS model: {e}\")\r\n        if tts_path.exists():\r\n            shutil.rmtree(tts_path)\r\n        return False\r\n\r\n\r\ndef normalize_chat_text(text):\r\n    def split_num(num):\r\n        num = num.group()\r\n        if '.' in num:\r\n            return num\r\n        elif ':' in num:\r\n            h, m = [int(n) for n in num.split(':')]\r\n            if m == 0:\r\n                return f\"{h} o'clock\"\r\n            elif m < 10:\r\n                return f'{h} oh {m}'\r\n            return f'{h} {m}'\r\n        year = int(num[:4])\r\n        if year < 1100 or year % 1000 < 10:\r\n            return num\r\n        left, right = num[:2], int(num[2:4])\r\n        s = 's' if num.endswith('s') else ''\r\n        if 100 <= year % 1000 <= 999:\r\n            if right == 0:\r\n                return f'{left} hundred{s}'\r\n            elif right < 10:\r\n                return f'{left} oh {right}{s}'\r\n        return f'{left} {right}{s}'\r\n\r\n    def flip_money(m):\r\n        m = m.group()\r\n        bill = 'dollar' if m[0] == '$' else 'pound'\r\n        if m[-1].isalpha():\r\n            return f'{m[1:]} {bill}s'\r\n        elif '.' not in m:\r\n            s = '' if m[1:] == '1' else 's'\r\n            return f'{m[1:]} {bill}{s}'\r\n        b, c = m[1:].split('.')\r\n        s = '' if b == '1' else 's'\r\n        c = int(c.ljust(2, '0'))\r\n        coins = f\"cent{'' if c == 1 else 's'}\" if m[0] == '$' else ('penny' if c == 1 else 'pence')\r\n        return f'{b} {bill}{s} and {c} {coins}'\r\n\r\n    def point_num(num):\r\n        a, b = num.group().split('.')\r\n        return ' point '.join([a, ' '.join(b)])\r\n\r\n    text = text.replace('§', ' section ')\r\n    \r\n    text = text.replace(chr(8216), \"'\").replace(chr(8217), \"'\")\r\n    text = text.replace('«', '\"').replace('»', '\"')\r\n    text = text.replace(chr(8220), '\"').replace(chr(8221), '\"')\r\n    \r\n    text = re.sub(r'\\bD[Rr]\\.(?= [A-Z])', 'Doctor', text)\r\n    text = re.sub(r'\\b(?:Mr\\.|MR\\.(?= [A-Z]))', 'Mister', text)\r\n    text = re.sub(r'\\b(?:Ms\\.|MS\\.(?= [A-Z]))', 'Miss', text)\r\n    text = re.sub(r'\\b(?:Mrs\\.|MRS\\.(?= [A-Z]))', 'Mrs', text)\r\n    \r\n    text = re.sub(r'\\d*\\.\\d+|\\b\\d{4}s?\\b|(?<!:)\\b(?:[1-9]|1[0-2]):[0-5]\\d\\b(?!:)', split_num, text)\r\n    text = re.sub(r'(?<=\\d),(?=\\d)', '', text)\r\n    text = re.sub(r'(?i)[$£]\\d+(?:\\.\\d+)?(?: hundred| thousand| (?:[bm]|tr)illion)*\\b|[$£]\\d+\\.\\d\\d?\\b', flip_money, text)\r\n    text = re.sub(r'\\d*\\.\\d+', point_num, text)\r\n    \r\n    text = re.sub(r'[^\\S \\n]', ' ', text)\r\n    text = re.sub(r'  +', ' ', text)\r\n\r\n    text = text.strip()\r\n    text = re.sub(r'^[^a-zA-Z]*', '', text)\r\n\r\n    return text.strip()\r\n\r\n\r\ndef supports_flash_attention():\r\n    logging.debug(\"Checking flash attention support\")\r\n    \r\n    if not torch.cuda.is_available():\r\n        logging.debug(\"CUDA not available, flash attention not supported\")\r\n        return False\r\n        \r\n    major, minor = torch.cuda.get_device_capability()\r\n    logging.debug(f\"CUDA compute capability: {major}.{minor}\")\r\n    \r\n    supports = major >= 8\r\n    logging.debug(f\"Flash attention {'supported' if supports else 'not supported'}\")\r\n    return supports\r\n\r\n\r\ndef check_cuda_re_triton():\r\n    logging.debug(\"Starting CUDA files check for Triton\")\r\n    venv_base = Path(sys.executable).parent.parent\r\n    nvidia_base_path = venv_base / 'Lib' / 'site-packages' / 'nvidia'\r\n    cuda_runtime = nvidia_base_path / 'cuda_runtime'\r\n    \r\n    logging.debug(f\"Virtual environment base path: {venv_base}\")\r\n    logging.debug(f\"NVIDIA base path: {nvidia_base_path}\")\r\n    logging.debug(f\"CUDA runtime path: {cuda_runtime}\")\r\n    \r\n    files_to_check = [\r\n        cuda_runtime / \"bin\" / \"cudart64_12.dll\",\r\n        cuda_runtime / \"bin\" / \"ptxas.exe\",\r\n        cuda_runtime / \"include\" / \"cuda.h\",\r\n        cuda_runtime / \"lib\" / \"x64\" / \"cuda.lib\"\r\n    ]\r\n    \r\n    logging.debug(\"Beginning file existence checks\")\r\n    print(\"Checking CUDA files:\")\r\n    for file_path in files_to_check:\r\n        exists = file_path.exists()\r\n        status = \"✓ Found\" if exists else \"✗ Missing\"\r\n        logging.debug(f\"Checking {file_path}: {'exists' if exists else 'missing'}\")\r\n        print(f\"{status}: {file_path}\")\r\n    print()\r\n    logging.debug(\"CUDA file check completed\")\r\n\r\n\r\ndef get_model_native_precision(embedding_model_name, vector_models=None):\r\n    logging.debug(f\"Looking for precision for model: {embedding_model_name}\")\r\n    if vector_models is None:\r\n        from core.constants import VECTOR_MODELS\r\n        vector_models = VECTOR_MODELS\r\n    model_name = os.path.basename(embedding_model_name)\r\n    repo_style_name = model_name.replace('--', '/')\r\n\r\n    for group_name, group_models in vector_models.items():\r\n        logging.debug(f\"Checking group: {group_name}\")\r\n        for model in group_models:\r\n            logging.debug(f\"Checking model: {model['repo_id']} / {model['name']}\")\r\n            if model['repo_id'] == repo_style_name or model['name'] in model_name:\r\n                logging.debug(f\"Found match! Using precision: {model['precision']}\")\r\n                return model['precision']\r\n    logging.debug(\"No match found, defaulting to float32\")\r\n    return 'float32'\r\n\r\n\r\ndef get_appropriate_dtype(compute_device, use_half, model_native_precision):\r\n    logging.debug(f\"compute_device: {compute_device}\")\r\n    logging.debug(f\"use_half: {use_half}\")\r\n    logging.debug(f\"model_native_precision: {model_native_precision}\")\r\n\r\n    compute_device = compute_device.lower()\r\n    model_native_precision = model_native_precision.lower()\r\n\r\n    if compute_device == 'cpu':\r\n        logging.debug(\"Using CPU, returning float32\")\r\n        return torch.float32\r\n\r\n    cuda_available = torch.cuda.is_available()\r\n    if cuda_available:\r\n        cuda_capability = torch.cuda.get_device_capability()\r\n        logging.debug(f\"CUDA is available. Capability: {cuda_capability}\")\r\n    else:\r\n        cuda_capability = (0, 0)\r\n        logging.debug(\"CUDA is not available.\")\r\n\r\n    if model_native_precision == 'bfloat16':\r\n        if use_half:\r\n            if cuda_available:\r\n                if cuda_capability[0] >= 8:\r\n                    logging.debug(\"Model native precision is bfloat16, GPU supports it, returning bfloat16\")\r\n                    return torch.bfloat16\r\n                else:\r\n                    logging.debug(\"GPU doesn't support bfloat16, falling back to float16\")\r\n                    return torch.float16\r\n            else:\r\n                logging.debug(\"No CUDA available for bfloat16, falling back to float32\")\r\n                return torch.float32\r\n        else:\r\n            logging.debug(\"Half checkbox not checked for bfloat16 model, returning float32\")\r\n            return torch.float32\r\n\r\n    elif model_native_precision == 'float16':\r\n        if use_half:\r\n            if cuda_available:\r\n                logging.debug(\"Model native precision is float16 and CUDA is available, returning float16\")\r\n                return torch.float16\r\n            else:\r\n                logging.debug(\"Model native precision is float16 but CUDA is not available, returning float32\")\r\n                return torch.float32\r\n        else:\r\n            logging.debug(\"Half checkbox not checked for float16 model, returning float32\")\r\n            return torch.float32\r\n\r\n    elif model_native_precision == 'float32':\r\n        if not use_half:\r\n            logging.debug(\"Model is float32 and use_half is False, returning float32\")\r\n            return torch.float32\r\n        else:\r\n            if cuda_available:\r\n                if cuda_capability[0] >= 8:\r\n                    logging.debug(\"Using bfloat16 due to Ampere+ GPU\")\r\n                    return torch.bfloat16\r\n                else:\r\n                    logging.debug(\"Using float16 due to pre-Ampere GPU\")\r\n                    return torch.float16\r\n            else:\r\n                logging.debug(\"No CUDA available, returning float32\")\r\n                return torch.float32\r\n\r\n    else:\r\n        logging.debug(f\"Unrecognized precision '{model_native_precision}', returning float32\")\r\n        return torch.float32\r\n\r\ndef format_citations(metadata_list):\r\n    def group_metadata(metadata_list):\r\n        grouped = {}\r\n        for metadata in metadata_list:\r\n            file_path = metadata['file_path']\r\n            grouped.setdefault(file_path, {\r\n                'name': Path(file_path).name,\r\n                'scores': [],\r\n                'pages': set(),\r\n                'file_type': metadata.get('file_type', '')\r\n            })\r\n            grouped[file_path]['scores'].append(metadata['similarity_score'])\r\n            if grouped[file_path]['file_type'] == '.pdf':\r\n                page_number = metadata.get('page_number')\r\n                if page_number is not None:\r\n                    grouped[file_path]['pages'].add(page_number)\r\n        return grouped\r\n\r\n    def format_pages(pages):\r\n        if not pages:\r\n            return ''\r\n        sorted_pages = sorted(pages)\r\n        ranges = []\r\n        start = prev = sorted_pages[0]\r\n        for page in sorted_pages[1:]:\r\n            if page == prev + 1:\r\n                prev = page\r\n            else:\r\n                ranges.append((start, prev))\r\n                start = prev = page\r\n        ranges.append((start, prev))\r\n        page_str = ', '.join(f\"{s}-{e}\" if s != e else f\"{s}\" for s, e in ranges)\r\n        return f'<span style=\"color:#666;\"> p.{page_str}</span>'\r\n\r\n    def create_citation(data, file_path):\r\n        min_score = min(data['scores'])\r\n        max_score = max(data['scores'])\r\n        score_range = f\"{min_score:.4f}\" if min_score == max_score else f\"{min_score:.4f}-{max_score:.4f}\"\r\n        pages_html = format_pages(data['pages']) if data['file_type'] == '.pdf' else ''\r\n        citation = (\r\n            f'<a href=\"file:{file_path}\" style=\"color:#DAA520;text-decoration:none;\">{data[\"name\"]}</a>'\r\n            f'<span style=\"color:#808080;font-size:0.9em;\"> ['\r\n            f'<span style=\"color:#4CAF50;\">{score_range}</span>]'\r\n            f'{pages_html}'\r\n            f'</span>'\r\n        )\r\n        return min_score, citation\r\n\r\n    grouped_citations = group_metadata(metadata_list)\r\n    citations_with_scores = [create_citation(data, file_path) for file_path, data in grouped_citations.items()]\r\n    sorted_citations = [citation for _, citation in sorted(citations_with_scores)]\r\n    list_items = \"\".join(f\"<li>{citation}</li>\" for citation in sorted_citations)\r\n\r\n    return f\"<ol>{list_items}</ol>\"\r\n\r\ndef list_theme_files():\r\n    return sorted(THEMES.keys())\r\n\r\ndef load_stylesheet(name):\r\n    if name not in THEMES:\r\n        name = 'default'\r\n    template_path = PROJECT_ROOT / 'CSS' / 'template.css'\r\n    with template_path.open('r') as f:\r\n        template = Template(f.read())\r\n    return template.substitute(THEMES[name])\r\n\r\ndef ensure_theme_config():\r\n    try:\r\n        with open('config.yaml', 'r') as f:\r\n            config = yaml.safe_load(f)\r\n\r\n        if config is None:\r\n            config = {}\r\n\r\n        if 'appearance' not in config:\r\n            config['appearance'] = {}\r\n\r\n        theme = config['appearance'].get('theme')\r\n        if not theme or theme not in THEMES:\r\n            config['appearance']['theme'] = 'default'\r\n\r\n        with open('config.yaml', 'w') as f:\r\n            yaml.safe_dump(config, f)\r\n\r\n        return config['appearance']['theme']\r\n    except Exception:\r\n        return 'default'\r\n\r\ndef update_theme_in_config(new_theme):\r\n    try:\r\n        with open('config.yaml', 'r') as f:\r\n            config = yaml.safe_load(f)\r\n\r\n        if config is None:\r\n            config = {}\r\n\r\n        if 'appearance' not in config:\r\n            config['appearance'] = {}\r\n\r\n        config['appearance']['theme'] = new_theme\r\n\r\n        with open('config.yaml', 'w') as f:\r\n            yaml.safe_dump(config, f)\r\n    except Exception:\r\n        pass\r\n\r\ndef make_theme_changer(theme_name):\r\n    def change_theme():\r\n        QApplication.instance().setStyleSheet(load_stylesheet(theme_name))\r\n        update_theme_in_config(theme_name)\r\n    return change_theme\r\n\r\ndef backup_database(database_name=None):\r\n   source_directory = Path('Vector_DB')\r\n   backup_directory = Path('Vector_DB_Backup')\r\n\r\n   if database_name:\r\n       logging.debug(\"Starting incremental database backup\")\r\n       backup_directory.mkdir(parents=True, exist_ok=True)\r\n       source_db_path = source_directory / database_name\r\n       backup_db_path = backup_directory / database_name\r\n       if backup_db_path.exists():\r\n           try:\r\n               shutil.rmtree(backup_db_path)\r\n           except Exception as e:\r\n               logging.debug(f\"Failed to remove existing backup: {e}\")\r\n               print(f\"Warning: Could not remove existing backup of {database_name}: {e}\")\r\n       try:\r\n           shutil.copytree(source_db_path, backup_db_path)\r\n           logging.debug(f\"Successfully created backup of {database_name}\")\r\n       except Exception as e:\r\n           logging.debug(f\"Backup failed: {e}\")\r\n           print(f\"Error backing up {database_name}: {e}\")\r\n   else:\r\n       logging.debug(\"Starting full database backup\")\r\n       if backup_directory.exists():\r\n           for item in backup_directory.iterdir():\r\n               if item.is_dir():\r\n                   shutil.rmtree(item)\r\n               else:\r\n                   item.unlink()\r\n       else:\r\n           backup_directory.mkdir(parents=True, exist_ok=True)\r\n       shutil.copytree(source_directory, backup_directory, dirs_exist_ok=True)\r\n       logging.debug(\"Database backup completed successfully\")\r\n\r\n\r\ndef open_file(file_path):\r\n    try:\r\n        if platform.system() == \"Windows\":\r\n            os.startfile(file_path)\r\n        elif platform.system() == \"Darwin\":\r\n            subprocess.Popen([\"open\", file_path])\r\n        else:\r\n            subprocess.Popen([\"xdg-open\", file_path])\r\n    except OSError:\r\n        QMessageBox.warning(None, \"Error\", \"No default viewer detected.\")\r\n\r\ndef delete_file(file_path):\r\n    try:\r\n        os.remove(file_path)\r\n    except OSError:\r\n        QMessageBox.warning(None, \"Unable to delete file(s), please delete manually.\")\r\n\r\ndef check_preconditions_for_db_creation(script_dir, database_name, skip_ocr=False):\r\n    if not database_name or len(database_name) < 3 or database_name.lower() in [\"null\", \"none\"]:\r\n        return False, \"Name must be at least 3 characters long and not be 'null' or 'none.'\"\r\n\r\n    vector_db_path = script_dir / \"Vector_DB\" / database_name\r\n    if vector_db_path.exists():\r\n        return False, (\r\n            f\"A vector database called '{database_name}' already exists—\"\r\n            \"choose a different name or delete the old one first.\"\r\n        )\r\n\r\n    config_path = script_dir / 'config.yaml'\r\n    if not config_path.exists():\r\n        return False, \"The configuration file (config.yaml) is missing.\"\r\n\r\n    with open(config_path, 'r') as file:\r\n        config = yaml.safe_load(file)\r\n\r\n    image_extensions = ['.png', '.jpg', '.jpeg', '.bmp', '.gif', '.tif', '.tiff']\r\n    documents_dir = script_dir / \"Docs_for_DB\"\r\n    if platform.system() == \"Darwin\" and any(file.suffix in image_extensions for file in documents_dir.iterdir() if file.is_file()):\r\n        return False, \"Image processing has been disabled for MacOS until a fix can be implemented. Please remove all image files and try again.\"\r\n\r\n    embedding_model_name = config.get('EMBEDDING_MODEL_NAME')\r\n    if not embedding_model_name:\r\n        return False, \"You must first download an embedding model, select it, and choose documents before proceeding.\"\r\n\r\n    if not any(file.is_file() for file in documents_dir.iterdir()):\r\n        return False, \"No documents are yet added to be processed.\"\r\n\r\n    compute_device = config.get('Compute_Device', {}).get('available', [])\r\n    database_creation = config.get('Compute_Device', {}).get('database_creation')\r\n    if (\"cuda\" in compute_device or \"mps\" in compute_device) and database_creation == \"cpu\":\r\n        return False, (\"GPU-acceleration is available and strongly recommended. \"\r\n                       \"Please switch the database creation device to 'cuda' or 'mps', \"\r\n                       \"or confirm your choice in the GUI.\")\r\n\r\n    if not torch.cuda.is_available():\r\n        if config.get('database', {}).get('half', False):\r\n            message = (\"CUDA is not available on your system, but half-precision (FP16) \"\r\n                       \"is selected for database creation. Half-precision requires CUDA. \"\r\n                       \"Please disable half-precision in the configuration or use a CUDA-enabled GPU.\")\r\n            return False, message\r\n\r\n    if not skip_ocr:\r\n        ocr_check, ocr_message = check_pdfs_for_ocr(script_dir)\r\n        if not ocr_check:\r\n            return False, ocr_message\r\n\r\n    return True, \"\"\r\n\r\n\r\ndef my_cprint(*args, **kwargs):\r\n    filename = os.path.basename(sys._getframe(1).f_code.co_filename)\r\n    modified_message = f\"{args[0]}\"\r\n    kwargs['flush'] = True\r\n    cprint(modified_message, *args[1:], **kwargs)\r\n\r\ndef has_bfloat16_support():\r\n   logging.debug(\"Checking bfloat16 support\")\r\n\r\n   if not torch.cuda.is_available():\r\n       logging.debug(\"CUDA not available, bfloat16 not supported\")\r\n       return False\r\n\r\n   capability = torch.cuda.get_device_capability()\r\n   logging.debug(f\"CUDA compute capability: {capability}\")\r\n\r\n   has_support = capability >= (8, 0)\r\n   logging.debug(f\"bfloat16 {'supported' if has_support else 'not supported'}\")\r\n   return has_support\r\n\r\ndef set_logging_level():\r\n    library_levels = {\r\n        \"accelerate\": logging.WARNING,\r\n        \"bitsandbytes\": logging.WARNING,\r\n        \"ctranslate2\": logging.WARNING,\r\n        \"datasets\": logging.WARNING,\r\n        \"einops\": logging.WARNING,\r\n        \"einx\": logging.WARNING,\r\n        \"flash_attn\": logging.WARNING,\r\n        \"huggingface-hub\": logging.WARNING,\r\n        \"numpy\": logging.WARNING,\r\n        \"openai\": logging.WARNING,\r\n        \"openai-whisper\": logging.WARNING,\r\n        \"optimum\": logging.WARNING,\r\n        \"pillow\": logging.WARNING,\r\n        \"requests\": logging.WARNING,\r\n        \"sentence-transformers\": logging.WARNING,\r\n        \"sounddevice\": logging.WARNING,\r\n        \"speechbrain\": logging.WARNING,\r\n        \"sympy\": logging.WARNING,\r\n        \"tiledb\": logging.WARNING,\r\n        \"tiledb-cloud\": logging.WARNING,\r\n        \"tiledb-vector-search\": logging.WARNING,\r\n        \"timm\": logging.WARNING,\r\n        \"tokenizers\": logging.WARNING,\r\n        \"torch\": logging.WARNING,\r\n        \"torchaudio\": logging.WARNING,\r\n        \"torchvision\": logging.WARNING,\r\n        \"transformers\": logging.WARNING,\r\n        \"unstructured\": logging.WARNING,\r\n        \"unstructured-client\": logging.WARNING,\r\n        \"vector-quantize-pytorch\": logging.WARNING,\r\n        \"vocos\": logging.WARNING,\r\n        \"xformers\": logging.WARNING\r\n    }\r\n\r\n    for lib, level in library_levels.items():\r\n        logging.getLogger(lib).setLevel(level)\r\n\r\ndef prepare_long_path(base_path: str, filename: str) -> str:\r\n    base_path = os.path.normpath(base_path)\r\n    full_path = os.path.join(base_path, filename)\r\n\r\n    if os.name == 'nt' and len(full_path) > 255:\r\n        full_path = \"\\\\\\\\?\\\\\" + os.path.abspath(full_path)\r\n\r\n    return full_path\r\n\r\n\r\ndef normalize_text(text, preserve_whitespace=False):\r\n    import unicodedata\r\n\r\n    if text is None:\r\n        return None\r\n\r\n    if isinstance(text, (list, tuple)):\r\n        text = \" \".join(str(item) for item in text if item is not None)\r\n\r\n    if not isinstance(text, str):\r\n        text = str(text)\r\n\r\n    text = unicodedata.normalize(\"NFKC\", text)\r\n\r\n    INVISIBLE_CHARS = {\r\n        '\\u00ad', '\\u200b', '\\u200c', '\\u200d', '\\u200e', '\\u200f',\r\n        '\\u2060', '\\u2061', '\\u2062', '\\u2063', '\\u2064', '\\ufeff',\r\n    }\r\n\r\n    cleaned = []\r\n    for char in text:\r\n        code = ord(char)\r\n        if char == '\\n' or char == '\\t':\r\n            if preserve_whitespace:\r\n                cleaned.append(char)\r\n            else:\r\n                cleaned.append(' ')\r\n        elif char == '\\r':\r\n            cleaned.append(' ')\r\n        elif code < 32:\r\n            continue\r\n        elif code == 127:\r\n            continue\r\n        elif code > 65535:\r\n            continue\r\n        elif char in INVISIBLE_CHARS:\r\n            continue\r\n        elif 128 <= code <= 159:\r\n            continue\r\n        elif code == 65533:\r\n            continue\r\n        elif 57344 <= code <= 63743:\r\n            continue\r\n        else:\r\n            cleaned.append(char)\r\n\r\n    result = \"\".join(cleaned)\r\n\r\n    if preserve_whitespace:\r\n        result = re.sub(r'[^\\S\\n\\t]+', ' ', result)\r\n        result = re.sub(r' *\\n *', '\\n', result)\r\n        result = re.sub(r'\\n{3,}', '\\n\\n', result)\r\n    else:\r\n        result = \" \".join(result.split())\r\n\r\n    result = result.strip()\r\n    return result if result else None\r\n\r\n\r\ndef get_embedding_batch_size(model_name: str, compute_device: str) -> int:\r\n    if compute_device.lower() == 'cpu':\r\n        return 2\r\n\r\n    batch_size_mapping = {\r\n        'inf-retriever-v1-7b': 2,\r\n        'Qwen3-Embedding-8B': 2,\r\n        'Qwen3-Embedding-4B': 3,\r\n        'inf-retriever-v1-1.5b': 3,\r\n        'Qwen3-Embedding-0.6B': 4,\r\n        'e5-base': 6,\r\n        'e5-large': 7,\r\n        'arctic-embed-l': 7,\r\n        'bge-large-en-v1.5': 6,\r\n        'e5-small': 10,\r\n        'gte-large': 12,\r\n        'Granite-30m-English': 12,\r\n        'bge-small': 12,\r\n        'bge-small-en-v1.5': 12,\r\n        'bge-base-en-v1.5': 8,\r\n        'gte-base': 14,\r\n        'arctic-embed-m': 14,\r\n    }\r\n\r\n    model_name_lower = model_name.lower()\r\n    for key, value in batch_size_mapping.items():\r\n        if key.lower() in model_name_lower:\r\n            return value\r\n\r\n    return 8\r\n\r\n\r\ndef get_embedding_dtype_and_batch(\r\n    compute_device: str,\r\n    use_half: bool,\r\n    model_native_precision: str,\r\n    model_name: str,\r\n    is_query: bool,\r\n):\r\n    dtype = get_appropriate_dtype(compute_device, use_half, model_native_precision)\r\n    batch = 1 if is_query else get_embedding_batch_size(model_name, compute_device)\r\n    return dtype, batch\r\n\r\n\r\ndef configure_logging(level: str = \"INFO\"):\r\n    root = logging.getLogger()\r\n    if root.handlers:\r\n        root.setLevel(level.upper())\r\n        return\r\n    root.setLevel(level.upper())\r\n    h = logging.StreamHandler()\r\n    fmt = logging.Formatter(\r\n        \"%(asctime)s %(levelname)s [%(name)s] %(message)s\"\r\n    )\r\n    h.setFormatter(fmt)\r\n    root.addHandler(h)\r\n"
  },
  {
    "path": "db/__init__.py",
    "content": ""
  },
  {
    "path": "db/choose_documents.py",
    "content": "from pathlib import Path\r\nfrom multiprocessing import Pool, cpu_count\r\n\r\nimport yaml\r\nfrom PySide6.QtCore import QElapsedTimer, QThread, Signal, Qt\r\nfrom PySide6.QtWidgets import (\r\n    QApplication,\r\n    QFileDialog,\r\n    QFileSystemModel,\r\n    QHBoxLayout,\r\n    QProgressDialog,\r\n    QVBoxLayout,\r\n    QDialog,\r\n    QTextEdit,\r\n    QPushButton,\r\n    QMessageBox,\r\n)\r\n\r\nfrom db.create_symlinks import _create_single_symlink\r\nfrom core.constants import PROJECT_ROOT\r\n\r\nALLOWED_EXTENSIONS = {\r\n    \".pdf\",\r\n    \".docx\",\r\n    \".txt\",\r\n    \".eml\",\r\n    \".msg\",\r\n    \".csv\",\r\n    \".xls\",\r\n    \".xlsx\",\r\n    \".xlsm\",\r\n    \".rtf\",\r\n    \".png\",\r\n    \".jpg\",\r\n    \".jpeg\",\r\n    \".bmp\",\r\n    \".gif\",\r\n    \".tif\",\r\n    \".tiff\",\r\n    \".html\",\r\n    \".htm\",\r\n    \".md\",\r\n}\r\n\r\nDOCS_FOLDER = \"Docs_for_DB\"\r\nCONFIG_FILE = \"config.yaml\"\r\n\r\n\r\nclass SymlinkWorker(QThread):\r\n    progress = Signal(int)\r\n    finished = Signal(int, list)\r\n\r\n    def __init__(self, source, target_dir, parent=None):\r\n        super().__init__(parent)\r\n        self.source = source\r\n        self.target_dir = Path(target_dir)\r\n\r\n    def run(self):\r\n        if isinstance(self.source, (str, Path)):\r\n            dir_path = Path(self.source)\r\n            try:\r\n                import os\r\n                filenames = os.listdir(str(dir_path))\r\n                files = [\r\n                    str(dir_path / filename)\r\n                    for filename in filenames\r\n                    if (dir_path / filename).is_file() \r\n                    and (dir_path / filename).suffix.lower() in ALLOWED_EXTENSIONS\r\n                ]\r\n            except OSError:\r\n                files = []\r\n                print(f\"Error accessing directory {dir_path}\")\r\n        else:\r\n            files = list(self.source)\r\n\r\n        total = len(files)\r\n        made = 0\r\n        errors = []\r\n        last_pct = -1\r\n        timer = QElapsedTimer()\r\n        timer.start()\r\n        step = max(1, total // 100) if total else 1\r\n\r\n        if total > 1000:\r\n            processes = min((total // 10000) + 1, cpu_count())\r\n            file_args = [(f, str(self.target_dir)) for f in files]\r\n            with Pool(processes=processes) as pool:\r\n                for i, (ok, err) in enumerate(\r\n                    pool.imap_unordered(_create_single_symlink, file_args), 1\r\n                ):\r\n                    if ok:\r\n                        made += 1\r\n                    if err:\r\n                        errors.append(err)\r\n                    if i % step == 0 or i == total:\r\n                        pct = int(i * 100 / total) if total else 100\r\n                        if pct != last_pct and timer.elapsed() > 500:\r\n                            self.progress.emit(pct)\r\n                            last_pct = pct\r\n                            timer.restart()\r\n        else:\r\n            for f in files:\r\n                if self.isInterruptionRequested():\r\n                    break\r\n\r\n                ok, err = _create_single_symlink((f, str(self.target_dir)))\r\n                if ok:\r\n                    made += 1\r\n                if err:\r\n                    errors.append(err)\r\n                if made % step == 0 or made == total:\r\n                    pct = int(made * 100 / total) if total else 100\r\n                    if pct != last_pct and timer.elapsed() > 500:\r\n                        self.progress.emit(pct)\r\n                        last_pct = pct\r\n                        timer.restart()\r\n\r\n        self.finished.emit(made, errors)\r\n\r\n\r\ndef choose_documents_directory():\r\n    current_dir = PROJECT_ROOT\r\n    target_dir = current_dir / DOCS_FOLDER\r\n    target_dir.mkdir(parents=True, exist_ok=True)\r\n\r\n    msg_box = QMessageBox()\r\n    msg_box.setWindowTitle(\"Selection Type\")\r\n    msg_box.setText(\"Would you like to select a directory or individual files?\")\r\n\r\n    dir_button = msg_box.addButton(\"Select Directory\", QMessageBox.ActionRole)\r\n    files_button = msg_box.addButton(\"Select Files\", QMessageBox.ActionRole)\r\n    cancel_button = msg_box.addButton(\"Cancel\", QMessageBox.RejectRole)\r\n\r\n    msg_box.exec()\r\n    clicked_button = msg_box.clickedButton()\r\n\r\n    if clicked_button == cancel_button:\r\n        return\r\n\r\n    file_dialog = QFileDialog()\r\n\r\n    def start_worker(source):\r\n        progress = QProgressDialog(\r\n            \"Creating symlinks...\", \"Cancel\", 0, 0\r\n        )\r\n        progress.setWindowModality(Qt.WindowModal)\r\n        progress.setMinimumDuration(0)\r\n\r\n        worker = SymlinkWorker(source, target_dir)\r\n        main_window = _get_main_window()\r\n        if main_window and hasattr(main_window, \"databases_tab\"):\r\n            db_tab = main_window.databases_tab\r\n            if hasattr(db_tab, \"docs_model\") and db_tab.docs_model:\r\n                if hasattr(QFileSystemModel, \"DontWatchForChanges\"):\r\n                    db_tab.docs_model.setOption(\r\n                        QFileSystemModel.DontWatchForChanges, True\r\n                    )\r\n                if hasattr(db_tab, \"docs_refresh\"):\r\n                    db_tab.docs_refresh.start()\r\n\r\n        progress.canceled.connect(worker.requestInterruption)\r\n\r\n        def update_progress(pct):\r\n            if progress.maximum() == 0:\r\n                progress.setRange(0, 100)\r\n            progress.setValue(pct)\r\n\r\n        worker.progress.connect(update_progress)\r\n\r\n        def _done(count, errs):\r\n            if main_window and hasattr(main_window, \"databases_tab\"):\r\n                db_tab = main_window.databases_tab\r\n                if hasattr(db_tab, \"docs_refresh\"):\r\n                    db_tab.docs_refresh.stop()\r\n                if hasattr(db_tab, \"docs_model\") and db_tab.docs_model:\r\n                    if hasattr(db_tab.docs_model, \"refresh\"):\r\n                        db_tab.docs_model.refresh()\r\n                    elif hasattr(db_tab.docs_model, \"reindex\"):\r\n                        db_tab.docs_model.reindex()\r\n                    if hasattr(QFileSystemModel, \"DontWatchForChanges\"):\r\n                        db_tab.docs_model.setOption(\r\n                            QFileSystemModel.DontWatchForChanges, False\r\n                        )\r\n\r\n            progress.reset()\r\n            msg = f\"Created {count} symlinks\"\r\n            if errs:\r\n                msg += f\" – {len(errs)} errors (see console)\"\r\n                print(*errs, sep=\"\\n\")\r\n            QMessageBox.information(None, \"Symlinks\", msg)\r\n\r\n        worker.finished.connect(_done)\r\n        worker.progress.connect(update_progress)\r\n        worker.start()\r\n\r\n        choose_documents_directory._symlink_thread = worker\r\n\r\n    if clicked_button == dir_button:\r\n        file_dialog.setFileMode(QFileDialog.Directory)\r\n        file_dialog.setOption(QFileDialog.ShowDirsOnly, True)\r\n        selected_dir = file_dialog.getExistingDirectory(\r\n            None, \"Choose Directory for Database\", str(current_dir)\r\n        )\r\n        if selected_dir:\r\n            selected_path = Path(selected_dir)\r\n\r\n            top_level_files = [\r\n                str(p) for p in selected_path.iterdir()\r\n                if p.is_file() and p.suffix.lower() in ALLOWED_EXTENSIONS\r\n            ]\r\n            subdirectory_files = [\r\n                str(p) for p in selected_path.rglob(\"*\")\r\n                if p.is_file()\r\n                and p.parent != selected_path\r\n                and p.suffix.lower() in ALLOWED_EXTENSIONS\r\n            ]\r\n\r\n            include_subdirs = False\r\n            if subdirectory_files:\r\n                reply = QMessageBox.question(\r\n                    None,\r\n                    \"Include Subdirectories?\",\r\n                    (\r\n                        f\"This folder contains {len(top_level_files)} compatible file(s) \"\r\n                        f\"at the top level and {len(subdirectory_files)} more in \"\r\n                        f\"subdirectories.\\n\\nInclude the subdirectory files as well?\"\r\n                    ),\r\n                    QMessageBox.Yes | QMessageBox.No,\r\n                    QMessageBox.No,\r\n                )\r\n                include_subdirs = (reply == QMessageBox.Yes)\r\n\r\n            files_to_symlink = (\r\n                top_level_files + subdirectory_files if include_subdirs else top_level_files\r\n            )\r\n\r\n            if files_to_symlink:\r\n                start_worker(files_to_symlink)\r\n            else:\r\n                QMessageBox.information(\r\n                    None, \"No Compatible Files\",\r\n                    \"No compatible files were found in the selected directory.\"\r\n                )\r\n    else:\r\n        file_dialog.setFileMode(QFileDialog.ExistingFiles)\r\n        file_paths = file_dialog.getOpenFileNames(\r\n            None, \"Choose Documents and Images for Database\", str(current_dir)\r\n        )[0]\r\n        if file_paths:\r\n            compatible_files = []\r\n            incompatible_files = []\r\n            for file_path in file_paths:\r\n                path = Path(file_path)\r\n                if path.suffix.lower() in ALLOWED_EXTENSIONS:\r\n                    compatible_files.append(str(path))\r\n                else:\r\n                    incompatible_files.append(path.name)\r\n\r\n            if incompatible_files and not show_incompatible_files_dialog(\r\n                incompatible_files\r\n            ):\r\n                return\r\n\r\n            if compatible_files:\r\n                start_worker(compatible_files)\r\n\r\n\r\ndef show_incompatible_files_dialog(incompatible_files):\r\n    dialog_text = (\r\n        \"The following files cannot be added here due to their file extension:\\n\\n\"\r\n        + \"\\n\".join(incompatible_files)\r\n        + \"\\n\\nHowever, if any of them are audio files you can still add them directly in the Tools Tab.\"\r\n        \"\\n\\nClick 'Ok' to add the compatible documents only (remembering to add audio files separately)\"\r\n        \" or 'Cancel' to back out completely.\"\r\n    )\r\n\r\n    incompatible_dialog = QDialog()\r\n    incompatible_dialog.resize(800, 600)\r\n    incompatible_dialog.setWindowTitle(\"Incompatible Files Detected\")\r\n\r\n    layout = QVBoxLayout()\r\n    text_edit = QTextEdit()\r\n    text_edit.setReadOnly(True)\r\n    text_edit.setText(dialog_text)\r\n    layout.addWidget(text_edit)\r\n\r\n    button_box = QHBoxLayout()\r\n    ok_button = QPushButton(\"OK\")\r\n    cancel_button = QPushButton(\"Cancel\")\r\n    button_box.addWidget(ok_button)\r\n    button_box.addWidget(cancel_button)\r\n\r\n    layout.addLayout(button_box)\r\n    incompatible_dialog.setLayout(layout)\r\n\r\n    ok_button.clicked.connect(incompatible_dialog.accept)\r\n    cancel_button.clicked.connect(incompatible_dialog.reject)\r\n\r\n    return incompatible_dialog.exec() == QDialog.Accepted\r\n\r\n\r\ndef load_config():\r\n    with open(CONFIG_FILE, \"r\", encoding=\"utf-8\") as stream:\r\n        return yaml.safe_load(stream)\r\n\r\n\r\ndef select_embedding_model_directory():\r\n    initial_dir = Path(\"Models\") if Path(\"Models\").exists() else Path.home()\r\n    chosen_directory = QFileDialog.getExistingDirectory(\r\n        None, \"Select Embedding Model Directory\", str(initial_dir)\r\n    )\r\n    if chosen_directory:\r\n        config_file_path = Path(CONFIG_FILE)\r\n        config_data = (\r\n            yaml.safe_load(config_file_path.read_text(encoding=\"utf-8\"))\r\n            if config_file_path.exists()\r\n            else {}\r\n        )\r\n        config_data[\"EMBEDDING_MODEL_NAME\"] = chosen_directory\r\n        config_file_path.write_text(yaml.dump(config_data), encoding=\"utf-8\")\r\n\r\n\r\ndef _get_main_window():\r\n    for widget in QApplication.topLevelWidgets():\r\n        if hasattr(widget, \"databases_tab\"):\r\n            return widget\r\n    return None\r\n"
  },
  {
    "path": "db/create_symlinks.py",
    "content": "import hashlib\r\nfrom multiprocessing import Pool, cpu_count\r\nfrom pathlib import Path\r\nfrom typing import Union, List, Tuple\r\n\r\n\r\ndef _points_to(link_path: Path, source_path) -> bool:\r\n    try:\r\n        return link_path.is_symlink() and link_path.resolve() == Path(source_path).resolve()\r\n    except Exception:\r\n        return False\r\n\r\n\r\ndef _create_single_symlink(args):\r\n    source_path, target_dir = args\r\n    try:\r\n        source = Path(source_path)\r\n        target = Path(target_dir)\r\n        link_path = target / source.name\r\n        if not link_path.exists():\r\n            link_path.symlink_to(source_path)\r\n            return True, None\r\n        if _points_to(link_path, source_path):\r\n            return False, None\r\n        suffix_hash = hashlib.md5(str(source).encode(\"utf-8\")).hexdigest()[:8]\r\n        disambiguated = target / f\"{source.stem}_{suffix_hash}{source.suffix}\"\r\n        if not disambiguated.exists():\r\n            disambiguated.symlink_to(source_path)\r\n            return True, None\r\n        if _points_to(disambiguated, source_path):\r\n            return False, None\r\n        return False, f\"Symlink collision could not be resolved for {source.name}\"\r\n    except Exception as e:\r\n        return False, f\"Error creating symlink for {Path(source_path).name}: {str(e)}\"\r\n\r\ndef create_symlinks_parallel(source: Union[str, Path, List[str], List[Path]], \r\n                           target_dir: Union[str, Path] = \"Docs_for_DB\") -> Tuple[int, list]:\r\n    target_dir = Path(target_dir)\r\n    if not target_dir.exists():\r\n        print(f\"Target directory does not exist: {target_dir}\")\r\n        return 0, []\r\n\r\n    try:\r\n        if isinstance(source, (str, Path)) and not isinstance(source, list):\r\n            source_dir = Path(source)\r\n            if not source_dir.exists():\r\n                raise ValueError(f\"Source directory does not exist: {source_dir}\")\r\n            files = [(str(p), str(target_dir)) for p in source_dir.iterdir() if p.is_file()]\r\n\r\n        elif isinstance(source, list):\r\n            files = [(str(Path(p)), str(target_dir)) for p in source]\r\n\r\n        else:\r\n            raise ValueError(\"Source must be either a directory path or a list of file paths\")\r\n\r\n        file_count = len(files)\r\n        if file_count <= 1000:\r\n            results = [_create_single_symlink(file) for file in files]\r\n        else:\r\n            if file_count <= 10000:\r\n                processes = 1\r\n            else:\r\n                processes = min((file_count // 10000) + 1, cpu_count())\r\n\r\n            print(f\"Processing {file_count} files using {processes} processes\")\r\n\r\n            with Pool(processes=processes) as pool:\r\n                results = pool.map(_create_single_symlink, files)\r\n\r\n        count = sum(1 for success, _ in results if success)\r\n        errors = [error for _, error in results if error is not None]\r\n        \r\n        print(f\"\\nComplete! Created {count} symbolic links\")\r\n        if errors:\r\n            print(\"\\nErrors occurred:\")\r\n            for error in errors:\r\n                print(error)\r\n\r\n        return count, errors\r\n\r\n    except Exception as e:\r\n        raise RuntimeError(f\"An error occurred: {str(e)}\")\r\n"
  },
  {
    "path": "db/cuda_manager.py",
    "content": "import threading\nimport logging\nimport torch\nfrom contextlib import contextmanager\n\nlogger = logging.getLogger(__name__)\n\n\nclass CUDAManager:\n    _instance = None\n    _lock = threading.Lock()\n\n    def __new__(cls):\n        if cls._instance is None:\n            with cls._lock:\n                if cls._instance is None:\n                    cls._instance = super().__new__(cls)\n                    cls._instance._initialized = False\n        return cls._instance\n\n    def __init__(self):\n        if self._initialized:\n            return\n        self.active_operations = 0\n        self.operation_lock = threading.Lock()\n        self._initialized = True\n\n    @contextmanager\n    def cuda_operation(self):\n        with self.operation_lock:\n            self.active_operations += 1\n        try:\n            yield\n        finally:\n            with self.operation_lock:\n                self.active_operations -= 1\n\n    def safe_empty_cache(self):\n        if not torch.cuda.is_available():\n            return\n\n        with self.operation_lock:\n            if self.active_operations > 0:\n                logger.debug(f\"Skipping cache clear: {self.active_operations} active operations\")\n                return\n\n        try:\n            torch.cuda.empty_cache()\n            logger.debug(\"CUDA cache cleared successfully\")\n        except Exception as e:\n            logger.warning(f\"Failed to clear CUDA cache: {e}\")\n\n    def force_empty_cache(self):\n        if not torch.cuda.is_available():\n            return\n\n        try:\n            torch.cuda.empty_cache()\n            logger.debug(\"CUDA cache forcibly cleared\")\n        except Exception as e:\n            logger.warning(f\"Failed to force clear CUDA cache: {e}\")\n\n\n_cuda_manager_instance = None\n\n\ndef get_cuda_manager() -> CUDAManager:\n    global _cuda_manager_instance\n    if _cuda_manager_instance is None:\n        _cuda_manager_instance = CUDAManager()\n    return _cuda_manager_instance\n"
  },
  {
    "path": "db/database_interactions.py",
    "content": "import faulthandler\nfaulthandler.enable()\n\n# Module-level TileDB DLL preload. Mirrors the approach in VectorDB-Light's\n# vector_db_query.py (lines 1-31). Critical for subprocesses spawned via\n# multiprocessing.Process (e.g. the chunks-only query path): when the\n# fresh interpreter imports this module, the DLLs load immediately —\n# before any other code can accidentally trigger a tiledb.vector_search\n# import without DLL registration, which on Windows causes the\n# _tiledbvspy native module to fail with\n#   ImportError: DLL load failed while importing _tiledbvspy\n# or an even worse silent hang. The standalone _setup_tiledb_dlls()\n# function below is kept for the creation subprocess path, where DLL\n# setup has to happen after configure_logging() / set_cuda_paths().\nimport os\nimport sys\nimport ctypes\n\ntry:\n    import tiledb as _tiledb_bootstrap  # noqa: F401\n\n    _venv_root = os.path.dirname(os.path.dirname(sys.executable))\n    _site_packages = os.path.join(_venv_root, \"Lib\", \"site-packages\")\n    _tiledb_libs = os.path.join(_site_packages, \"tiledb.libs\")\n    _vector_search_lib = os.path.join(_site_packages, \"tiledb\", \"vector_search\", \"lib\")\n\n    for _directory in (_tiledb_libs, _vector_search_lib):\n        if os.path.isdir(_directory):\n            try:\n                os.add_dll_directory(_directory)\n            except OSError:\n                pass\n\n    if os.path.isdir(_tiledb_libs):\n        for _filename in sorted(os.listdir(_tiledb_libs)):\n            if _filename.endswith(\".dll\"):\n                try:\n                    ctypes.CDLL(os.path.join(_tiledb_libs, _filename))\n                except Exception:\n                    pass\n\n    if os.path.isdir(_vector_search_lib):\n        _tiledb_dll = os.path.join(_vector_search_lib, \"tiledb.dll\")\n        if os.path.exists(_tiledb_dll):\n            try:\n                ctypes.CDLL(_tiledb_dll)\n            except Exception:\n                pass\nexcept ImportError:\n    # tiledb not installed — will fail later at actual use. Don't block\n    # the import itself in case this module is loaded for non-TileDB work\n    # (e.g. tests that only exercise pure helpers).\n    pass\n\nimport gc\nimport json\nimport logging\nimport pickle\nimport random\nimport re\nimport shutil\nimport subprocess\nimport tempfile\nimport threading\nimport time\nimport traceback\nfrom pathlib import Path\nfrom typing import Optional\n\nimport numpy as np\nimport torch\n\n# orjson is a Rust-based JSON encoder that's ~10x faster than stdlib json\n# and avoids the heap fragmentation that triggers OverflowError + access\n# violation when serializing millions of metadata dicts in tight loops.\ntry:\n    import orjson\n\n    def _json_dumps(obj) -> str:\n        return orjson.dumps(obj).decode(\"utf-8\")\nexcept ImportError:\n    def _json_dumps(obj) -> str:\n        return json.dumps(obj)\n\nfrom db.document_processor import Document\nfrom db.embedding_models import load_embedding_model\nfrom db.sqlite_operations import create_metadata_db\nfrom db.cuda_manager import get_cuda_manager\nfrom core.config import get_config\nfrom core.constants import PROJECT_ROOT, PIPELINE_PRESETS\nfrom core.utilities import my_cprint, set_cuda_paths, configure_logging\n\nlogger = logging.getLogger(__name__)\n\nos.environ.setdefault(\"TOKENIZERS_PARALLELISM\", \"false\")\nos.environ.setdefault(\"RUST_BACKTRACE\", \"1\")\n\nSTAGE_EXTRACT_PATH = PROJECT_ROOT / \"db\" / \"stage_extract.py\"\nSTAGE_SPLIT_PATH = PROJECT_ROOT / \"db\" / \"stage_split.py\"\n\nEXTRACT_MAX_RETRIES = 3\nSPLIT_MAX_WORKER_RETRIES = 3\nSPLIT_MAX_RETRIES = 5\nTILEDB_WRITE_BATCH_SIZE = 100000\n\nMAX_UINT64_SENTINEL = np.iinfo(np.uint64).max\n\n\ndef _get_split_params():\n    try:\n        preset_name = get_config().database.pipeline_preset\n    except Exception:\n        preset_name = \"normal\"\n    preset = PIPELINE_PRESETS.get(preset_name, PIPELINE_PRESETS[\"normal\"])\n    return preset[\"split_max_parallel_workers\"], preset[\"split_worker_batch_size\"]\n\n\ndef _run_subprocess_stage(name, cmd, timeout=3600):\n    logger.info(f\"Starting subprocess stage: {name}\")\n\n    process = subprocess.Popen(\n        cmd,\n        stdout=subprocess.PIPE,\n        stderr=subprocess.STDOUT,\n        text=True,\n        bufsize=1,\n        cwd=str(PROJECT_ROOT),\n        env={**os.environ, \"PYTHONUNBUFFERED\": \"1\"},\n    )\n\n    output_lines = []\n    for line in process.stdout:\n        line = line.rstrip(\"\\n\")\n        if line.strip():\n            logger.info(f\"  [{name}] {line}\")\n            output_lines.append(line)\n\n    process.wait(timeout=timeout)\n\n    if process.returncode != 0:\n        for line in output_lines[-10:]:\n            logger.error(f\"  {line}\")\n\n    return process.returncode, output_lines\n\n\ndef _run_extract_with_retry(source_dir, output_pkl):\n    python = sys.executable\n    cmd = [python, str(STAGE_EXTRACT_PATH), str(source_dir), str(output_pkl)]\n\n    for attempt in range(1, EXTRACT_MAX_RETRIES + 1):\n        logger.info(f\"Extract attempt {attempt}/{EXTRACT_MAX_RETRIES}\")\n        exit_code, _ = _run_subprocess_stage(f\"Extract (attempt {attempt})\", cmd)\n\n        if exit_code == 0 and output_pkl.exists():\n            logger.info(f\"Extract stage completed on attempt {attempt}\")\n            return\n\n        logger.error(f\"Extract attempt {attempt} failed (exit code {exit_code})\")\n\n        if attempt < EXTRACT_MAX_RETRIES:\n            logger.info(\"Waiting 3 seconds before retry...\")\n            time.sleep(3)\n            gc.collect()\n\n    raise RuntimeError(f\"Extract stage failed after {EXTRACT_MAX_RETRIES} attempts\")\n\n\ndef _run_split_with_retry(extracted_pkl, chunks_pkl, chunk_size, chunk_overlap, checkpoint_dir):\n    python = sys.executable\n    split_parallel, split_batch = _get_split_params()\n\n    for attempt in range(1, SPLIT_MAX_RETRIES + 1):\n        logger.info(f\"Split attempt {attempt}/{SPLIT_MAX_RETRIES}\")\n\n        split_cmd = [\n            python, str(STAGE_SPLIT_PATH),\n            str(extracted_pkl),\n            str(chunks_pkl),\n            str(chunk_size),\n            str(chunk_overlap),\n            \"--worker-batch-size\", str(split_batch),\n            \"--max-worker-retries\", str(SPLIT_MAX_WORKER_RETRIES),\n            \"--max-parallel-workers\", str(split_parallel),\n            \"--checkpoint-dir\", str(checkpoint_dir),\n            \"--checkpoint-interval\", \"5\",\n        ]\n\n        exit_code, _ = _run_subprocess_stage(f\"Split (attempt {attempt})\", split_cmd)\n\n        if exit_code == 0 and chunks_pkl.exists():\n            logger.info(f\"Split stage completed on attempt {attempt}\")\n            return\n\n        logger.error(f\"Split attempt {attempt} failed (exit code {exit_code})\")\n\n        if attempt < SPLIT_MAX_RETRIES:\n            logger.info(\"Waiting 3 seconds before retry...\")\n            time.sleep(3)\n            gc.collect()\n\n    raise RuntimeError(f\"Split stage failed after {SPLIT_MAX_RETRIES} attempts\")\n\n\ndef _setup_tiledb_dlls():\n    import ctypes\n    import tiledb\n\n    venv_root = os.path.dirname(os.path.dirname(sys.executable))\n    site_packages = os.path.join(venv_root, 'Lib', 'site-packages')\n\n    tiledb_libs = os.path.join(site_packages, 'tiledb.libs')\n    vector_search_lib = os.path.join(site_packages, 'tiledb', 'vector_search', 'lib')\n\n    for directory in [tiledb_libs, vector_search_lib]:\n        if os.path.isdir(directory):\n            try:\n                os.add_dll_directory(directory)\n            except OSError:\n                pass\n\n    if os.path.isdir(tiledb_libs):\n        for filename in sorted(os.listdir(tiledb_libs)):\n            if filename.endswith('.dll'):\n                try:\n                    ctypes.CDLL(os.path.join(tiledb_libs, filename))\n                except Exception:\n                    pass\n\n    if os.path.isdir(vector_search_lib):\n        tiledb_dll = os.path.join(vector_search_lib, 'tiledb.dll')\n        if os.path.exists(tiledb_dll):\n            try:\n                ctypes.CDLL(tiledb_dll)\n            except Exception:\n                pass\n\n\ndef create_vector_db_in_process(database_name):\n    faulthandler.enable()\n    configure_logging(\"INFO\")\n    set_cuda_paths()\n    _setup_tiledb_dlls()\n\n    os.environ[\"TOKENIZERS_PARALLELISM\"] = \"false\"\n    os.environ[\"RUST_BACKTRACE\"] = \"1\"\n\n    create_vector_db = None\n\n    try:\n        create_vector_db = CreateVectorDB(database_name=database_name)\n        create_vector_db.run()\n    except Exception:\n        traceback.print_exc()\n        raise\n    finally:\n        if create_vector_db:\n            del create_vector_db\n\n        gc.collect()\n\n        if torch.cuda.is_available():\n            try:\n                torch.cuda.empty_cache()\n                torch.cuda.synchronize()\n            except Exception:\n                pass\n\n        time.sleep(0.1)\n\n\ndef process_chunks_only_query(database_name, query, result_queue):\n    configure_logging(\"INFO\")\n    try:\n        query_db = QueryVectorDB(database_name)\n        try:\n            contexts, metadata_list = query_db.search(query)\n\n            if not contexts:\n                result_queue.put(\n                    \"No chunks passed the similarity threshold.\\n\\n\"\n                    \"Try lowering the 'Similarity' setting in the Database Query \"\n                    \"settings tab (e.g. from 0.7 to 0.4) and run the query again.\"\n                )\n                return\n\n            formatted_contexts = []\n            for index, (context, metadata) in enumerate(zip(contexts, metadata_list), start=1):\n                file_name = metadata.get('file_name', 'Unknown')\n                cleaned_context = re.sub(r'\\n[ \\t]+\\n', '\\n\\n', context)\n                cleaned_context = re.sub(r'\\n\\s*\\n\\s*\\n*', '\\n\\n', cleaned_context.strip())\n                formatted_context = (\n                    f\"{'-'*80}\\n\"\n                    f\"CONTEXT {index} | {file_name}\\n\"\n                    f\"{'-'*80}\\n\"\n                    f\"{cleaned_context}\\n\"\n                )\n                formatted_contexts.append(formatted_context)\n\n            result_queue.put(\"\\n\".join(formatted_contexts))\n        finally:\n            query_db.close()\n    except Exception as e:\n        result_queue.put(f\"Error querying database: {str(e)}\")\n\n\nclass CreateVectorDB:\n    def __init__(self, database_name):\n        self.config = get_config()\n        self.SOURCE_DIRECTORY = self.config.docs_dir\n        self.PERSIST_DIRECTORY = self.config.vector_db_dir / database_name\n\n    @torch.inference_mode()\n    def initialize_vector_model(self, embedding_model_name, config_data):\n        return load_embedding_model(\n            model_path=embedding_model_name,\n            compute_device=config_data.Compute_Device.database_creation,\n            use_half=config_data.database.half,\n            is_query=False,\n            verbose=True,\n        )\n\n    def _create_tiledb_array(self, texts, vectors_array, metadatas):\n        _setup_tiledb_dlls()\n\n        import tiledb\n        import tiledb.vector_search as vs\n        from tiledb.vector_search import _tiledbvspy as vspy\n\n        embedding_dim = vectors_array.shape[1]\n        num_vectors = vectors_array.shape[0]\n        MAX_UINT64 = 18446744073709551615\n\n        logger.info(f\"Creating TileDB array: {num_vectors:,} vectors of dimension {embedding_dim}\")\n\n        array_uri = str(self.PERSIST_DIRECTORY / \"vectors\")\n\n        dom = tiledb.Domain(\n            tiledb.Dim(name=\"id\", domain=(0, np.iinfo(np.uint64).max - 20000), tile=10000, dtype=np.uint64)\n        )\n\n        attrs = [\n            tiledb.Attr(name=\"vector\", dtype=np.dtype([(\"\", np.float32)] * embedding_dim)),\n            tiledb.Attr(name=\"text\", dtype=str, var=True),\n            tiledb.Attr(name=\"metadata\", dtype=str, var=True),\n        ]\n\n        schema = tiledb.ArraySchema(\n            domain=dom,\n            attrs=attrs,\n            sparse=True,\n            cell_order='row-major',\n            tile_order='row-major'\n        )\n\n        tiledb.Array.create(array_uri, schema)\n\n        num_batches = (num_vectors + TILEDB_WRITE_BATCH_SIZE - 1) // TILEDB_WRITE_BATCH_SIZE\n        logger.info(f\"Writing TileDB array in {num_batches} batch(es)\")\n\n        all_ids = np.empty(num_vectors, dtype=np.uint64)\n        hash_id_mappings = []\n        rng = np.random.default_rng()\n\n        for batch_idx in range(num_batches):\n            start = batch_idx * TILEDB_WRITE_BATCH_SIZE\n            end = min(start + TILEDB_WRITE_BATCH_SIZE, num_vectors)\n\n            # Use numpy's vectorized generator instead of a Python list\n            # comprehension over random.randint. The list-comprehension\n            # approach allocated end-start Python int objects per batch\n            # (~7+ GB total at the Caselaw scale), which triggered an\n            # OverflowError + access violation inside random.randint on\n            # Python 3.12. numpy's integers() runs entirely in C and\n            # returns a uint64 array directly.\n            batch_ids = rng.integers(\n                low=0,\n                high=np.iinfo(np.uint64).max,\n                size=end - start,\n                dtype=np.uint64,\n                endpoint=False,\n            )\n            all_ids[start:end] = batch_ids\n\n            for i in range(start, end):\n                file_hash = metadatas[i].get('hash', '')\n                hash_id_mappings.append((str(batch_ids[i - start]), file_hash))\n\n            batch_vectors = vectors_array[start:end]\n            batch_texts = np.array(texts[start:end], dtype=object)\n            # _json_dumps uses orjson when available (Rust-based, ~10x faster\n            # than stdlib json). The stdlib json.dumps loop here triggered an\n            # OverflowError + access violation at the Caselaw scale due to\n            # heap fragmentation from millions of small string allocations.\n            batch_metadata = np.array(\n                [_json_dumps(metadatas[i]) for i in range(start, end)],\n                dtype=object\n            )\n\n            batch_structured = np.array(\n                [tuple(vec) for vec in batch_vectors],\n                dtype=[(\"\", np.float32)] * embedding_dim\n            )\n\n            with tiledb.open(array_uri, mode='w') as A:\n                A[batch_ids] = {\n                    \"vector\": batch_structured,\n                    \"text\": batch_texts,\n                    \"metadata\": batch_metadata,\n                }\n\n            del batch_structured, batch_texts, batch_metadata, batch_vectors\n            gc.collect()\n\n        tiledb.consolidate(array_uri)\n        tiledb.vacuum(array_uri)\n\n        index_uri = str(self.PERSIST_DIRECTORY / \"vector_index\")\n\n        vs.ingest(\n            index_type=\"FLAT\",\n            index_uri=index_uri,\n            input_vectors=vectors_array,\n            external_ids=all_ids,\n            dimensions=embedding_dim,\n            distance_metric=vspy.DistanceMetric.COSINE\n        )\n\n        metadata_file = self.PERSIST_DIRECTORY / \"index_metadata.json\"\n        with open(metadata_file, 'w') as f:\n            json.dump({\n                'distance_metric': 'cosine',\n                'dimensions': embedding_dim,\n                'vector_type': 'float32',\n                'index_type': 'FLAT',\n                'num_vectors': num_vectors\n            }, f)\n\n        logger.info(f\"FLAT index created at: {index_uri}\")\n        return hash_id_mappings\n\n    def load_audio_documents(self, source_dir=None):\n        if source_dir is None:\n            source_dir = self.SOURCE_DIRECTORY\n        json_paths = [f for f in source_dir.iterdir() if f.suffix.lower() == '.json']\n        docs = []\n\n        for json_path in json_paths:\n            try:\n                with open(json_path, 'r', encoding='utf-8') as json_file:\n                    data = json.loads(json_file.read())\n                    doc = Document(\n                        page_content=data.get('page_content', ''),\n                        metadata=data.get('metadata', {})\n                    )\n                    docs.append(doc)\n            except Exception as e:\n                my_cprint(f\"Error loading {json_path}: {e}\", \"red\")\n\n        return docs\n\n    def clear_docs_for_db_folder(self):\n        for item in self.SOURCE_DIRECTORY.iterdir():\n            if item.is_file() or item.is_symlink():\n                try:\n                    item.unlink()\n                except Exception as e:\n                    logger.warning(f\"Failed to delete {item}: {e}\")\n\n    @torch.inference_mode()\n    def run(self):\n        cuda_mgr = get_cuda_manager()\n        pipeline_t0 = time.time()\n\n        config_data = get_config()\n        EMBEDDING_MODEL_NAME = config_data.EMBEDDING_MODEL_NAME\n        chunk_size = config_data.database.chunk_size\n        chunk_overlap = config_data.database.chunk_overlap\n\n        tmp_dir = tempfile.mkdtemp(prefix=\"vectordb_create_\")\n        tmp_path = Path(tmp_dir)\n        extracted_pkl = tmp_path / \"extracted.pkl\"\n        chunks_pkl = tmp_path / \"chunks.pkl\"\n        checkpoint_dir = tmp_path / \"checkpoints\"\n        checkpoint_dir.mkdir(exist_ok=True)\n\n        try:\n            # Stage 1: Extract documents via subprocess\n            my_cprint(\"Extracting documents (subprocess)...\", \"yellow\")\n            extract_t0 = time.time()\n            _run_extract_with_retry(self.SOURCE_DIRECTORY, extracted_pkl)\n            logger.info(f\"Extract stage: {time.time() - extract_t0:.1f}s\")\n\n            with open(extracted_pkl, \"rb\") as f:\n                doc_data = pickle.load(f)\n            logger.info(f\"Extracted {len(doc_data)} documents\")\n\n            json_docs_to_save = []\n            for content, metadata in doc_data:\n                json_docs_to_save.append(Document(page_content=content, metadata=metadata))\n\n            print(\"Processing any audio transcripts...\")\n            audio_documents = self.load_audio_documents()\n            if audio_documents:\n                for doc in audio_documents:\n                    doc_data.append((doc.page_content, doc.metadata))\n                    json_docs_to_save.append(doc)\n\n            print(\"Processing any images...\")\n            try:\n                from modules.process_images import choose_image_loader\n                image_documents = choose_image_loader()\n                if isinstance(image_documents, list) and image_documents:\n                    for doc in image_documents:\n                        content = doc.page_content if hasattr(doc, 'page_content') else str(doc)\n                        metadata = doc.metadata if hasattr(doc, 'metadata') else {}\n                        doc_data.append((content, metadata))\n                        json_docs_to_save.append(Document(page_content=content, metadata=metadata))\n            except Exception as e:\n                logger.warning(f\"Image processing skipped: {e}\")\n\n            if not doc_data:\n                my_cprint(\"No documents, audio transcripts, or images found to process.\", \"red\")\n                raise RuntimeError(\"No content found to ingest into the database.\")\n\n            # Re-write extracted.pkl with audio+image docs included\n            with open(extracted_pkl, \"wb\") as f:\n                pickle.dump(doc_data, f, protocol=pickle.HIGHEST_PROTOCOL)\n\n            del doc_data\n            gc.collect()\n\n            # Stage 2: Split documents via subprocess\n            my_cprint(\"Splitting documents into chunks (subprocess)...\", \"yellow\")\n            split_t0 = time.time()\n            _run_split_with_retry(extracted_pkl, chunks_pkl, chunk_size, chunk_overlap, checkpoint_dir)\n            logger.info(f\"Split stage: {time.time() - split_t0:.1f}s\")\n\n            try:\n                extracted_pkl.unlink()\n            except Exception:\n                pass\n\n            with open(chunks_pkl, \"rb\") as f:\n                split_output = pickle.load(f)\n\n            if isinstance(split_output, dict):\n                chunk_texts = split_output[\"texts\"]\n                chunks_with_meta = split_output.get(\"chunks\", [])\n                del split_output\n            else:\n                chunk_texts = split_output\n                chunks_with_meta = []\n                del split_output\n\n            gc.collect()\n            logger.info(f\"Split into {len(chunk_texts):,} chunks\")\n\n            if not chunk_texts:\n                my_cprint(\"No chunks produced after splitting.\", \"red\")\n                return\n\n            # Extract metadata dicts from chunks_with_meta, then free it\n            all_metadatas = []\n            for idx in range(len(chunk_texts)):\n                if idx < len(chunks_with_meta):\n                    _, meta = chunks_with_meta[idx]\n                else:\n                    meta = {}\n                all_metadatas.append(meta)\n\n            del chunks_with_meta\n            gc.collect()\n\n            # Stage 3+4: Tokenize + Embed via subprocess pipeline\n            with cuda_mgr.cuda_operation():\n                embeddings = self.initialize_vector_model(EMBEDDING_MODEL_NAME, config_data)\n\n            my_cprint(\"\\nComputing vectors...\", \"yellow\")\n            embed_t0 = time.time()\n\n            try:\n                self.PERSIST_DIRECTORY.mkdir(parents=True, exist_ok=False)\n                my_cprint(f\"Created directory: {self.PERSIST_DIRECTORY}\", \"green\")\n            except FileExistsError:\n                raise FileExistsError(\n                    f\"Vector database '{self.PERSIST_DIRECTORY.name}' already exists. \"\n                    \"Choose a different name or delete the existing DB first.\"\n                )\n\n            with cuda_mgr.cuda_operation():\n                vectors = embeddings.embed_documents(chunk_texts)\n\n            embed_elapsed = time.time() - embed_t0\n            my_cprint(f\"Embedding computation completed in {embed_elapsed:.2f} seconds.\", \"cyan\")\n\n            del embeddings\n            gc.collect()\n            cuda_mgr.force_empty_cache()\n\n            vectors_array = np.ascontiguousarray(vectors, dtype=np.float32)\n            del vectors\n            gc.collect()\n\n            # Stage 5: Write TileDB array + FLAT index (IDs generated per-batch)\n            try:\n                hash_id_mappings = self._create_tiledb_array(chunk_texts, vectors_array, all_metadatas)\n            except Exception as e:\n                logger.error(f\"Error creating TileDB database: {e}\")\n                traceback.print_exc()\n                if self.PERSIST_DIRECTORY.exists():\n                    try:\n                        shutil.rmtree(self.PERSIST_DIRECTORY)\n                    except Exception:\n                        pass\n                raise\n\n            my_cprint(\"Processed all chunks\", \"yellow\")\n\n            pipeline_elapsed = time.time() - pipeline_t0\n            my_cprint(f\"Database created. Total time: {pipeline_elapsed:.2f} seconds.\", \"green\")\n\n            # Stage 6: Write SQLite metadata DB\n            del chunk_texts, vectors_array, all_metadatas\n            gc.collect()\n\n            create_metadata_db(self.PERSIST_DIRECTORY, json_docs_to_save, hash_id_mappings)\n            del json_docs_to_save, hash_id_mappings\n            gc.collect()\n\n            self.clear_docs_for_db_folder()\n\n        except Exception:\n            traceback.print_exc()\n            raise\n        finally:\n            try:\n                shutil.rmtree(tmp_dir, ignore_errors=True)\n            except Exception:\n                pass\n\n\n_thread_local = threading.local()\n\n\ndef get_query_db(database_name: str) -> \"QueryVectorDB\":\n    \"\"\"Return a thread-local QueryVectorDB instance, creating it if needed.\n\n    Each thread gets its own cache of database name → QueryVectorDB, so\n    concurrent queries against different databases don't thrash singleton state.\n    \"\"\"\n    if not hasattr(_thread_local, \"query_db_cache\"):\n        _thread_local.query_db_cache = {}\n\n    if database_name in _thread_local.query_db_cache:\n        return _thread_local.query_db_cache[database_name]\n\n    instance = QueryVectorDB(database_name)\n    _thread_local.query_db_cache[database_name] = instance\n    return instance\n\n\ndef clear_query_cache(database_name: Optional[str] = None) -> None:\n    \"\"\"Clear the thread-local QueryVectorDB cache for the current thread.\"\"\"\n    if not hasattr(_thread_local, \"query_db_cache\"):\n        return\n\n    if database_name:\n        if database_name in _thread_local.query_db_cache:\n            _thread_local.query_db_cache[database_name].close()\n            del _thread_local.query_db_cache[database_name]\n    else:\n        for db_instance in _thread_local.query_db_cache.values():\n            db_instance.close()\n        _thread_local.query_db_cache.clear()\n\n\nclass QueryVectorDB:\n    def __init__(self, selected_database: str):\n        self.config = self.load_configuration()\n\n        if not selected_database:\n            raise ValueError(\"No vector database selected.\")\n        if selected_database not in self.config.created_databases:\n            raise ValueError(f'Database \"{selected_database}\" not found in config.')\n\n        db_path = self.config.vector_db_dir / selected_database\n        if not db_path.exists():\n            raise FileNotFoundError(f'Database folder \"{selected_database}\" is missing on disk.')\n\n        self.selected_database = selected_database\n        self.db_path = db_path\n        self.index_uri = str(db_path / \"vector_index\")\n        self.array_uri = str(db_path / \"vectors\")\n\n        self.embeddings = None\n        self.index = None\n        self.model_name = None\n        self._debug_id = id(self)\n\n        self.distance_metric = \"cosine\"\n        self.index_type = \"FLAT\"\n\n        try:\n            metadata_file = db_path / \"index_metadata.json\"\n            if metadata_file.exists():\n                with open(metadata_file, 'r') as f:\n                    metadata = json.load(f)\n                    self.distance_metric = metadata.get('distance_metric', 'cosine')\n                    self.index_type = metadata.get('index_type', 'FLAT')\n        except Exception as e:\n            logger.warning(f\"Could not load index metadata, using defaults: {e}\")\n\n    def load_configuration(self):\n        try:\n            return get_config()\n        except Exception as e:\n            logger.error(f\"Error loading configuration: {e}\")\n            raise\n\n    @torch.inference_mode()\n    def initialize_vector_model(self):\n        model_path = self.config.created_databases[self.selected_database].model\n        self.model_name = os.path.basename(model_path)\n\n        return load_embedding_model(\n            model_path=model_path,\n            compute_device=self.config.Compute_Device.database_query,\n            use_half=self.config.database.half,\n            is_query=True,\n        )\n\n    @torch.inference_mode()\n    def search(self, query, k: Optional[int] = None, score_threshold: Optional[float] = None):\n        _setup_tiledb_dlls()\n        import tiledb\n        import tiledb.vector_search as vs\n\n        cuda_mgr = get_cuda_manager()\n\n        if not self.embeddings:\n            logger.info(f\"Initializing embedding model for database {self.selected_database}\")\n            self.embeddings = self.initialize_vector_model()\n\n        if not self.index:\n            logger.info(f\"Loading TileDB FLAT index for {self.selected_database}\")\n            self.index = vs.FlatIndex(uri=self.index_uri)\n\n        self.config = self.load_configuration()\n        k = k if k is not None else self.config.database.contexts\n        score_threshold = score_threshold if score_threshold is not None else self.config.database.similarity\n\n        with cuda_mgr.cuda_operation():\n            query_vector = self.embeddings.embed_query(query)\n\n        query_vector_np = np.array([query_vector], dtype=np.float32)\n\n        logger.info(f\"Querying TileDB index: {self.index_uri}\")\n\n        result_distances, result_ids = self.index.query(query_vector_np, k=k)\n\n        if len(result_distances) == 0 or len(result_distances[0]) == 0:\n            logger.warning(\"No results returned from vector search\")\n            return [], []\n\n        distances = result_distances[0]\n        ids = result_ids[0]\n\n        if len(ids) > 0 and ids[0] == MAX_UINT64_SENTINEL:\n            logger.warning(\"TileDB returned sentinel value - no matches found in index\")\n            return [], []\n\n        valid_mask = ids != MAX_UINT64_SENTINEL\n        distances = distances[valid_mask]\n        ids = ids[valid_mask]\n\n        if len(ids) == 0:\n            logger.warning(\"All results were sentinel values - no valid matches\")\n            return [], []\n\n        logger.info(f\"Raw distances - min: {distances.min():.4f}, max: {distances.max():.4f}, mean: {distances.mean():.4f}\")\n\n        if self.distance_metric == \"cosine\":\n            similarities = np.clip(1.0 - distances, 0.0, 1.0)\n        else:\n            logger.warning(f\"Unknown distance metric '{self.distance_metric}', assuming cosine\")\n            similarities = np.clip(1.0 - distances, 0.0, 1.0)\n\n        logger.info(f\"Similarities - min: {similarities.min():.4f}, max: {similarities.max():.4f}\")\n        logger.info(f\"Score threshold: {score_threshold}, Results before filtering: {len(similarities)}\")\n\n        results = []\n\n        valid_indices = similarities >= score_threshold\n        num_passing = np.sum(valid_indices)\n        logger.info(f\"Results passing threshold: {num_passing}\")\n\n        if not np.any(valid_indices):\n            logger.warning(f\"No results passed the similarity threshold of {score_threshold}\")\n            return [], []\n\n        filtered_distances = distances[valid_indices]\n        filtered_ids = ids[valid_indices]\n        filtered_similarities = similarities[valid_indices]\n\n        with tiledb.open(self.array_uri, mode='r') as A:\n            data = A.multi_index[filtered_ids.astype(np.uint64)]\n\n            returned_ids = data['id']\n            texts_raw = data['text']\n            metadatas_raw = data['metadata']\n\n            id_to_idx = {int(rid): idx for idx, rid in enumerate(returned_ids)}\n\n            for distance, vec_id, similarity in zip(filtered_distances, filtered_ids, filtered_similarities):\n                try:\n                    idx = id_to_idx.get(int(vec_id))\n                    if idx is None:\n                        logger.warning(f\"Vector ID {vec_id} not found in TileDB result; skipping\")\n                        continue\n\n                    text_raw = texts_raw[idx]\n                    if isinstance(text_raw, np.ndarray):\n                        text = text_raw.item() if text_raw.size == 1 else str(text_raw[0])\n                    else:\n                        text = str(text_raw)\n\n                    metadata_raw = metadatas_raw[idx]\n                    if isinstance(metadata_raw, np.ndarray):\n                        metadata_str = metadata_raw.item() if metadata_raw.size == 1 else str(metadata_raw[0])\n                    else:\n                        metadata_str = str(metadata_raw)\n\n                    metadata = json.loads(metadata_str)\n                    metadata['similarity_score'] = float(similarity)\n                    metadata['distance'] = float(distance)\n                    results.append((text, metadata))\n\n                except json.JSONDecodeError as je:\n                    logger.warning(f\"Failed to parse JSON for vector ID {vec_id}: {je}\")\n                    continue\n                except Exception as e:\n                    logger.warning(f\"Failed to retrieve data for vector ID {vec_id}: {e}\")\n                    continue\n\n        search_term = self.config.database.search_term.lower()\n        if search_term:\n            filtered_results = [\n                (text, metadata) for text, metadata in results\n                if search_term in text.lower()\n            ]\n        else:\n            filtered_results = results\n\n        document_types = self.config.database.document_types\n        if document_types:\n            filtered_results = [\n                (text, metadata) for text, metadata in filtered_results\n                if metadata.get('document_type') == document_types\n            ]\n\n        contexts = [text for text, _ in filtered_results]\n        metadata_list = [metadata for _, metadata in filtered_results]\n\n        logger.info(f\"Final results returned: {len(contexts)}\")\n        return contexts, metadata_list\n\n    def cleanup(self):\n        if self.embeddings:\n            del self.embeddings\n            self.embeddings = None\n\n        if self.index:\n            del self.index\n            self.index = None\n\n        get_cuda_manager().safe_empty_cache()\n        gc.collect()\n\n    def close(self):\n        self.cleanup()\n"
  },
  {
    "path": "db/document_processor.py",
    "content": "import os\nimport csv\nimport logging\nimport warnings\nimport datetime\nimport hashlib\nimport re\nfrom pathlib import Path\nfrom dataclasses import dataclass, field\nfrom typing import List, Tuple, Optional\nfrom concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed\n\nimport fitz\nfrom bs4 import BeautifulSoup\n\nfrom core.utilities import normalize_text\nfrom core.constants import SUPPORTED_EXTENSIONS, PIPELINE_PRESETS\n\nwarnings.filterwarnings(\"ignore\", category=FutureWarning)\nwarnings.filterwarnings(\"ignore\", category=UserWarning)\n\nTHREADS_PER_PROCESS = 4\n\n\ndef _get_ingest_params():\n    try:\n        from core.config import get_config\n        preset_name = get_config().database.pipeline_preset\n    except Exception:\n        preset_name = \"normal\"\n    preset = PIPELINE_PRESETS.get(preset_name, PIPELINE_PRESETS[\"normal\"])\n    return preset[\"ingest_threads\"], preset[\"ingest_processes\"]\n\nlogger = logging.getLogger(__name__)\n\n\n@dataclass\nclass Document:\n    page_content: str = \"\"\n    metadata: dict = field(default_factory=dict)\n\n\ndef compute_content_hash(content: str) -> str:\n    return hashlib.sha256(content.encode('utf-8')).hexdigest()\n\n\ndef compute_file_hash(file_path):\n    hash_sha256 = hashlib.sha256()\n    with open(file_path, \"rb\") as f:\n        for chunk in iter(lambda: f.read(4096), b\"\"):\n            hash_sha256.update(chunk)\n    return hash_sha256.hexdigest()\n\n\ndef extract_document_metadata(file_path, content_hash=None):\n    file_path = os.path.realpath(file_path)\n    file_name = os.path.basename(file_path)\n    file_type = os.path.splitext(file_path)[1]\n    creation_date = datetime.datetime.fromtimestamp(os.path.getctime(file_path)).isoformat()\n    modification_date = datetime.datetime.fromtimestamp(os.path.getmtime(file_path)).isoformat()\n    file_hash = content_hash if content_hash else compute_file_hash(file_path)\n\n    return {\n        \"file_path\": file_path,\n        \"file_type\": file_type,\n        \"file_name\": file_name,\n        \"creation_date\": creation_date,\n        \"modification_date\": modification_date,\n        \"hash\": file_hash,\n        \"document_type\": \"document\",\n    }\n\n\ndef _load_pdf(file_path: Path) -> Optional[str]:\n    full_content = []\n    with fitz.open(str(file_path)) as doc:\n        for page in doc:\n            text = page.get_text()\n            if text.strip():\n                full_content.append(f\"[[page{page.number + 1}]]{text}\")\n    return \"\".join(full_content) if full_content else None\n\n\ndef _load_docx(file_path: Path) -> Optional[str]:\n    import docx2txt\n    text = docx2txt.process(str(file_path))\n    return text if text and text.strip() else None\n\n\ndef _load_txt(file_path: Path) -> Optional[str]:\n    encodings = [\"utf-8\", \"utf-8-sig\", \"latin-1\", \"cp1252\"]\n    for enc in encodings:\n        try:\n            with open(file_path, \"r\", encoding=enc) as f:\n                text = f.read()\n            return text if text and text.strip() else None\n        except UnicodeDecodeError:\n            continue\n    return None\n\n\ndef _load_csv(file_path: Path) -> Optional[str]:\n    rows = []\n    encodings = [\"utf-8\", \"utf-8-sig\", \"latin-1\", \"cp1252\"]\n    for enc in encodings:\n        try:\n            with open(file_path, \"r\", encoding=enc, newline=\"\") as f:\n                reader = csv.reader(f)\n                for row in reader:\n                    rows.append(\" \".join(row))\n            break\n        except UnicodeDecodeError:\n            continue\n    return \"\\n\".join(rows) if rows else None\n\n\ndef _load_html(file_path: Path) -> Optional[str]:\n    encodings = [\"utf-8\", \"utf-8-sig\", \"latin-1\", \"cp1252\"]\n    for enc in encodings:\n        try:\n            with open(file_path, \"r\", encoding=enc) as f:\n                soup = BeautifulSoup(f, \"lxml\")\n            text = soup.get_text(separator=\" \")\n            return text if text and text.strip() else None\n        except UnicodeDecodeError:\n            continue\n    return None\n\n\ndef _load_eml(file_path: Path) -> Optional[str]:\n    import email\n    from email import policy\n\n    with open(file_path, \"rb\") as f:\n        msg = email.message_from_binary_file(f, policy=policy.default)\n\n    parts = []\n    subject = msg.get(\"Subject\", \"\")\n    if subject:\n        parts.append(f\"Subject: {subject}\")\n\n    if msg.is_multipart():\n        for part in msg.walk():\n            content_type = part.get_content_type()\n            if content_type == \"text/plain\":\n                payload = part.get_content()\n                if isinstance(payload, str) and payload.strip():\n                    parts.append(payload)\n            elif content_type == \"text/html\":\n                payload = part.get_content()\n                if isinstance(payload, str):\n                    soup = BeautifulSoup(payload, \"lxml\")\n                    text = soup.get_text(separator=\" \")\n                    if text.strip():\n                        parts.append(text)\n    else:\n        payload = msg.get_content()\n        if isinstance(payload, str) and payload.strip():\n            parts.append(payload)\n\n    return \"\\n\".join(parts) if parts else None\n\n\ndef _load_msg(file_path: Path) -> Optional[str]:\n    import extract_msg\n\n    msg = extract_msg.Message(str(file_path))\n    parts = []\n    if msg.subject:\n        parts.append(f\"Subject: {msg.subject}\")\n    if msg.body:\n        parts.append(msg.body)\n    msg.close()\n    return \"\\n\".join(parts) if parts else None\n\n\ndef _load_xls(file_path: Path) -> Optional[str]:\n    import xlrd\n\n    workbook = xlrd.open_workbook(str(file_path))\n    parts = []\n    for sheet in workbook.sheets():\n        for row_idx in range(sheet.nrows):\n            row_values = []\n            for col_idx in range(sheet.ncols):\n                cell = sheet.cell(row_idx, col_idx)\n                if cell.value is not None and str(cell.value).strip():\n                    row_values.append(str(cell.value))\n            if row_values:\n                parts.append(\" \".join(row_values))\n    return \"\\n\".join(parts) if parts else None\n\n\ndef _load_xlsx(file_path: Path) -> Optional[str]:\n    from openpyxl import load_workbook\n\n    wb = load_workbook(str(file_path), data_only=True, read_only=True)\n    parts = []\n    for sheet in wb.sheetnames:\n        ws = wb[sheet]\n        for row in ws.iter_rows():\n            row_values = []\n            for cell in row:\n                if cell.value is not None and str(cell.value).strip():\n                    row_values.append(str(cell.value))\n            if row_values:\n                parts.append(\" \".join(row_values))\n    wb.close()\n    return \"\\n\".join(parts) if parts else None\n\n\ndef _load_rtf(file_path: Path) -> Optional[str]:\n    from striprtf.striprtf import rtf_to_text\n\n    encodings = [\"utf-8\", \"utf-8-sig\", \"latin-1\", \"cp1252\"]\n    for enc in encodings:\n        try:\n            with open(file_path, \"r\", encoding=enc) as f:\n                rtf_content = f.read()\n            text = rtf_to_text(rtf_content)\n            return text if text and text.strip() else None\n        except UnicodeDecodeError:\n            continue\n    return None\n\n\ndef _load_md(file_path: Path) -> Optional[str]:\n    encodings = [\"utf-8\", \"utf-8-sig\", \"latin-1\", \"cp1252\"]\n    for enc in encodings:\n        try:\n            with open(file_path, \"r\", encoding=enc) as f:\n                text = f.read()\n            return text if text and text.strip() else None\n        except UnicodeDecodeError:\n            continue\n    return None\n\n\nLOADER_MAP = {\n    \".pdf\": _load_pdf,\n    \".docx\": _load_docx,\n    \".txt\": _load_txt,\n    \".csv\": _load_csv,\n    \".html\": _load_html,\n    \".htm\": _load_html,\n    \".eml\": _load_eml,\n    \".msg\": _load_msg,\n    \".xls\": _load_xls,\n    \".xlsx\": _load_xlsx,\n    \".xlsm\": _load_xlsx,\n    \".rtf\": _load_rtf,\n    \".md\": _load_md,\n}\n\n\ndef load_single_document(file_path: Path) -> Optional[Document]:\n    file_extension = file_path.suffix.lower()\n    loader_fn = LOADER_MAP.get(file_extension)\n\n    if not loader_fn:\n        print(f\"\\033[91mFailed---> {file_path.name} (extension: {file_extension})\\033[0m\")\n        logger.error(f\"Unsupported file type: {file_path.name} (extension: {file_extension})\")\n        return None\n\n    try:\n        content = loader_fn(file_path)\n\n        if not content:\n            print(f\"\\033[91mFailed---> {file_path.name} (No content extracted)\\033[0m\")\n            logger.error(f\"No content extracted: {file_path.name}\")\n            return None\n\n        content_hash = compute_content_hash(content)\n        metadata = extract_document_metadata(file_path, content_hash)\n        print(f\"Loaded---> {file_path.name}\")\n        return Document(page_content=content, metadata=metadata)\n\n    except (OSError, UnicodeDecodeError) as e:\n        print(f\"\\033[91mFailed---> {file_path.name} (Access/encoding error)\\033[0m\")\n        logger.error(f\"File access/encoding error - File: {file_path.name} - Error: {str(e)}\")\n        return None\n    except Exception as e:\n        print(f\"\\033[91mFailed---> {file_path.name} (Unexpected error)\\033[0m\")\n        logger.error(f\"Unexpected error processing file: {file_path.name} - Error: {type(e).__name__}: {str(e)}\")\n        logging.exception(\"Full traceback:\")\n        return None\n\n\ndef _extraction_worker_batch(file_paths):\n    results = []\n\n    def _process_one(file_path):\n        return load_single_document(file_path)\n\n    n_threads = min(THREADS_PER_PROCESS, len(file_paths))\n    with ThreadPoolExecutor(n_threads) as pool:\n        futures = {pool.submit(_process_one, p): p for p in file_paths}\n        for future in as_completed(futures):\n            try:\n                doc = future.result()\n                if doc is not None:\n                    results.append((doc.page_content, doc.metadata))\n            except Exception as e:\n                path = futures[future]\n                logger.error(f\"Error processing document {path}: {e}\")\n\n    return results\n\n\ndef load_documents(source_dir: Path) -> list:\n    valid_extensions = set(SUPPORTED_EXTENSIONS)\n    doc_paths = [f for f in source_dir.iterdir() if f.suffix.lower() in valid_extensions]\n\n    docs = []\n\n    if not doc_paths:\n        return docs\n\n    ingest_threads, ingest_processes = _get_ingest_params()\n\n    if len(doc_paths) <= ingest_processes:\n        n_workers = min(ingest_threads, max(len(doc_paths), 1))\n\n        executor = None\n        try:\n            executor = ThreadPoolExecutor(n_workers)\n            futures = [executor.submit(load_single_document, path) for path in doc_paths]\n            for future in as_completed(futures):\n                try:\n                    result = future.result()\n                    if result is not None:\n                        docs.append(result)\n                except Exception as e:\n                    logger.error(f\"Error processing document: {e}\")\n        except Exception as e:\n            logger.error(f\"Error in document loading executor: {e}\")\n            raise\n        finally:\n            if executor:\n                executor.shutdown(wait=True, cancel_futures=True)\n    else:\n        n_procs = min(ingest_processes, len(doc_paths))\n        logger.info(f\"Loading {len(doc_paths)} documents with {n_procs} processes \\u00b7 {THREADS_PER_PROCESS} threads each\")\n\n        chunks = [[] for _ in range(n_procs)]\n        for i, chunk in enumerate(doc_paths):\n            chunks[i % n_procs].append(chunk)\n\n        try:\n            with ProcessPoolExecutor(n_procs) as executor:\n                futures = [executor.submit(_extraction_worker_batch, chunk) for chunk in chunks]\n                for future in as_completed(futures):\n                    try:\n                        batch_results = future.result()\n                        for content, metadata in batch_results:\n                            docs.append(Document(page_content=content, metadata=metadata))\n                    except Exception as e:\n                        logger.error(f\"Error in extraction worker: {e}\")\n        except Exception as e:\n            logger.error(f\"Error in multi-process document loading: {e}\")\n            raise\n\n    return docs\n\n\nclass FixedSizeTextSplitter:\n    def __init__(self, chunk_size: int, chunk_overlap: int = 0):\n        self.chunk_size = chunk_size\n        self.chunk_overlap = chunk_overlap\n\n    def split_documents(self, docs: List[Document]) -> List[Document]:\n        chunks: List[Document] = []\n        step = self.chunk_size - self.chunk_overlap\n        if step <= 0:\n            step = 1\n\n        for doc in docs:\n            text = doc.page_content\n\n            if text is None:\n                logger.warning(\"Skipping document with None page_content\")\n                continue\n\n            if isinstance(text, (list, tuple)):\n                text = \" \".join(str(item) for item in text if item)\n                logger.warning(\"Flattened list/tuple page_content to string\")\n\n            if not isinstance(text, str):\n                text = str(text)\n\n            text = text.strip()\n\n            if not text:\n                logger.warning(\"Skipping document with empty page_content\")\n                continue\n\n            for start in range(0, len(text), step):\n                piece = text[start:start + self.chunk_size].strip()\n\n                if not piece:\n                    continue\n\n                metadata = doc.metadata if doc.metadata else {}\n                chunks.append(Document(page_content=piece, metadata=dict(metadata)))\n\n        return chunks\n\n\ndef add_pymupdf_page_metadata(doc: Document, chunk_size: int = 1200, chunk_overlap: int = 600) -> List[Document]:\n    def split_text(text: str, chunk_size: int, chunk_overlap: int) -> List[Tuple[str, int]]:\n        if text is None:\n            return []\n\n        if isinstance(text, (list, tuple)):\n            text = \" \".join(str(item) for item in text if item)\n\n        if not isinstance(text, str):\n            text = str(text)\n\n        page_markers = []\n        offset = 0\n        for m in re.finditer(r'\\[\\[page(\\d+)\\]\\]', text):\n            marker_len = len(m.group(0))\n            page_markers.append((m.start() - offset, int(m.group(1))))\n            offset += marker_len\n\n        clean_text = re.sub(r'\\[\\[page\\d+\\]\\]', '', text)\n\n        chunks = []\n        start = 0\n        while start < len(clean_text):\n            end = start + chunk_size\n            if end > len(clean_text):\n                end = len(clean_text)\n            chunk = clean_text[start:end].strip()\n\n            page_num = None\n            for marker_pos, page in reversed(page_markers):\n                if marker_pos <= start:\n                    page_num = page\n                    break\n\n            if chunk and page_num is not None:\n                chunks.append((chunk, page_num))\n            elif chunk and page_num is None:\n                chunks.append((chunk, 1))\n\n            start += chunk_size - chunk_overlap\n\n        return chunks\n\n    text = doc.page_content\n\n    if text is None:\n        logger.warning(\"Skipping PDF document with None page_content\")\n        return []\n\n    chunks = split_text(text, chunk_size, chunk_overlap)\n\n    if not chunks:\n        logger.warning(\"No chunks created from PDF document\")\n        return []\n\n    new_docs = []\n    for chunk, page_num in chunks:\n        if not chunk or not chunk.strip():\n            continue\n\n        new_metadata = doc.metadata.copy() if doc.metadata else {}\n        new_metadata['page_number'] = page_num\n\n        new_doc = Document(page_content=chunk, metadata=new_metadata)\n        new_docs.append(new_doc)\n\n    return new_docs\n\n\ndef split_documents(documents=None, text_documents_pdf=None, chunk_size=None, chunk_overlap=None):\n    try:\n        print(\"\\nSplitting documents into chunks.\")\n\n        if chunk_size is None or chunk_overlap is None:\n            from core.config import get_config\n            config = get_config()\n            chunk_size = chunk_size if chunk_size is not None else config.database.chunk_size\n            chunk_overlap = chunk_overlap if chunk_overlap is not None else config.database.chunk_overlap\n\n        text_splitter = FixedSizeTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap)\n\n        texts = []\n\n        if documents:\n            texts = text_splitter.split_documents(documents)\n\n        if text_documents_pdf:\n            processed_pdf_docs = []\n            for doc in text_documents_pdf:\n                chunked_docs = add_pymupdf_page_metadata(\n                    doc,\n                    chunk_size=chunk_size,\n                    chunk_overlap=chunk_overlap,\n                )\n                processed_pdf_docs.extend(chunked_docs)\n            texts.extend(processed_pdf_docs)\n\n        normalized = []\n        for doc in texts:\n            cleaned = normalize_text(doc.page_content, preserve_whitespace=True)\n            if cleaned is None:\n                logger.warning(f\"Dropping chunk with empty content after normalization \"\n                               f\"(source: {doc.metadata.get('file_name', 'unknown')})\")\n                continue\n            doc.page_content = cleaned\n            normalized.append(doc)\n\n        texts = normalized\n        print(f\"Total chunks after splitting and normalization: {len(texts)}\")\n\n        return texts\n\n    except Exception as e:\n        logging.exception(\"Error during document splitting\")\n        logger.error(f\"Error type: {type(e)}\")\n        raise\n"
  },
  {
    "path": "db/embedding_models.py",
    "content": "import gc\nimport logging\nimport os\nimport pickle\nimport subprocess\nimport sys\nimport tempfile\nimport time\nimport unicodedata\nfrom pathlib import Path\n\nimport numpy as np\nimport torch\nfrom sentence_transformers import SentenceTransformer\nfrom sentence_transformers.util import batch_to_device\n\nfrom core.config import get_config\nfrom core.utilities import (\n    supports_flash_attention,\n    get_embedding_dtype_and_batch,\n    get_model_native_precision,\n)\n\nlogger = logging.getLogger(__name__)\n\nos.environ.setdefault(\"TOKENIZERS_PARALLELISM\", \"false\")\n\nPROJECT_ROOT = Path(__file__).resolve().parent.parent\nSTAGE_TOKENIZE_PATH = PROJECT_ROOT / \"db\" / \"stage_tokenize.py\"\n\nfrom core.constants import PIPELINE_PRESETS\n\nTOKENIZE_BATCH_SIZE = 100\nWORKER_BATCH_SIZE = 60000\nMAX_WORKER_RETRIES = 3\nTOKENIZE_MAX_RETRIES = 5\nTOKENIZE_CHECKPOINT_INTERVAL = 5\n\n\ndef _get_tokenize_parallel_workers():\n    try:\n        preset_name = get_config().database.pipeline_preset\n    except Exception:\n        preset_name = \"normal\"\n    preset = PIPELINE_PRESETS.get(preset_name, PIPELINE_PRESETS[\"normal\"])\n    return preset[\"tokenize_max_parallel_workers\"]\n\n\ndef _get_model_family(model_path: str) -> str:\n    model_path_lower = model_path.lower()\n    if \"qwen\" in model_path_lower or \"qwen3-embedding\" in model_path_lower:\n        return \"qwen\"\n    if \"bge\" in model_path_lower:\n        return \"bge\"\n    return \"generic\"\n\n\ndef _get_prompt_for_family(family: str, is_query: bool = False) -> str:\n    if family == \"qwen\" and is_query:\n        return \"Instruct: Given a web search query, retrieve relevant passages that answer the query\\nQuery:\"\n    if family == \"bge\" and is_query:\n        return \"Represent this sentence for searching relevant passages: \"\n    return \"\"\n\n\ndef _normalize_text(text: str) -> str:\n    text = unicodedata.normalize(\"NFKC\", text)\n\n    cleaned = []\n    for char in text:\n        if char in \"\\n\\t\\r\":\n            cleaned.append(\" \")\n        elif ord(char) < 32:\n            continue\n        elif ord(char) == 127:\n            continue\n        elif ord(char) > 65535:\n            continue\n        else:\n            cleaned.append(char)\n\n    result = \"\".join(cleaned)\n    result = \" \".join(result.split())\n\n    return result.strip() or \" \"\n\n\nENCODE_BATCH_SIZE_BY_MODEL = {\n    \"bge-small-en-v1.5\": 100,\n    \"bge-base-en-v1.5\": 80,\n    \"bge-large-en-v1.5\": 50,\n    \"Qwen3-Embedding-0.6B\": 10,\n    \"Qwen3-Embedding-4B\": 5,\n}\n\n\ndef _get_encode_batch_size(device: str, model_path: str = \"\") -> int:\n    model_name = os.path.basename(model_path).lower() if model_path else \"\"\n    for key, batch_size in ENCODE_BATCH_SIZE_BY_MODEL.items():\n        if key.lower() in model_name:\n            logger.info(f\"  ENCODE_BATCH_SIZE: {batch_size} (model-aware default for {key})\")\n            return batch_size\n\n    if device.startswith(\"cuda\"):\n        try:\n            gpu_props = torch.cuda.get_device_properties(0)\n            vram_gb = gpu_props.total_memory / (1024 ** 3)\n            batch_size = max(10, min(256, int(vram_gb * 4)))\n            logger.info(f\"  ENCODE_BATCH_SIZE: {batch_size} (VRAM fallback, \"\n                        f\"GPU: {gpu_props.name}, {vram_gb:.1f} GB)\")\n            return batch_size\n        except Exception as e:\n            logger.warning(f\"  Could not query GPU: {e}, defaulting to 10\")\n            return 10\n    else:\n        logger.info(f\"  ENCODE_BATCH_SIZE: 10 (CPU mode)\")\n        return 10\n\n\ndef _run_subprocess_stage(name, cmd, cwd, timeout=3600):\n    logger.info(f\"Starting subprocess stage: {name}\")\n\n    process = subprocess.Popen(\n        cmd,\n        stdout=subprocess.PIPE,\n        stderr=subprocess.STDOUT,\n        text=True,\n        bufsize=1,\n        cwd=str(cwd),\n        env={**os.environ, \"PYTHONUNBUFFERED\": \"1\"},\n    )\n\n    output_lines = []\n    for line in process.stdout:\n        line = line.rstrip(\"\\n\")\n        if line.strip():\n            logger.info(f\"  [{name}] {line}\")\n            output_lines.append(line)\n\n    process.wait(timeout=timeout)\n\n    if process.returncode != 0:\n        for line in output_lines[-10:]:\n            logger.error(f\"  {line}\")\n\n    return process.returncode, output_lines\n\n\ndef _run_tokenize_with_retry(\n    python_exe, model_path, texts_pkl, tokenized_pkl,\n    checkpoint_dir, max_seq_length, encode_batch_size,\n    use_fast=True, length_sort=True,\n):\n    all_batches = []\n    all_errors = []\n    total_real_tokens = 0\n    total_pad_tokens = 0\n    current_start_index = 0\n    total_texts = None\n    attempt = 0\n\n    while attempt < TOKENIZE_MAX_RETRIES:\n        attempt += 1\n\n        attempt_output = checkpoint_dir / f\"tokenized_attempt_{attempt}.pkl\"\n\n        logger.info(f\"Tokenize attempt {attempt}/{TOKENIZE_MAX_RETRIES} \"\n                    f\"(starting from text index {current_start_index})\")\n\n        tokenize_cmd = [\n            python_exe, str(STAGE_TOKENIZE_PATH),\n            str(texts_pkl),\n            str(attempt_output),\n            model_path,\n            str(TOKENIZE_BATCH_SIZE),\n            str(max_seq_length),\n            \"--checkpoint-dir\", str(checkpoint_dir),\n            \"--checkpoint-interval\", str(TOKENIZE_CHECKPOINT_INTERVAL),\n            \"--start-text-index\", str(current_start_index),\n            \"--worker-batch-size\", str(WORKER_BATCH_SIZE),\n            \"--max-worker-retries\", str(MAX_WORKER_RETRIES),\n            \"--max-parallel-workers\", str(_get_tokenize_parallel_workers()),\n            \"--encode-batch-size\", str(encode_batch_size),\n        ]\n        if use_fast:\n            tokenize_cmd.append(\"--use-fast\")\n        else:\n            tokenize_cmd.append(\"--no-use-fast\")\n        if length_sort:\n            tokenize_cmd.append(\"--length-sort\")\n        else:\n            tokenize_cmd.append(\"--no-length-sort\")\n\n        exit_code, _ = _run_subprocess_stage(\n            f\"Tokenize (attempt {attempt})\", tokenize_cmd, cwd=PROJECT_ROOT)\n\n        attempt_data = None\n        checkpoint_path = checkpoint_dir / \"tokenize_checkpoint.pkl\"\n\n        if exit_code == 0 and attempt_output.exists():\n            logger.info(f\"Attempt {attempt} completed successfully\")\n            with open(attempt_output, \"rb\") as f:\n                attempt_data = pickle.load(f)\n            try:\n                attempt_output.unlink()\n            except Exception:\n                pass\n\n        elif checkpoint_path.exists():\n            logger.warning(f\"Attempt {attempt} crashed (exit code {exit_code}), \"\n                           f\"loading checkpoint...\")\n            try:\n                with open(checkpoint_path, \"rb\") as f:\n                    attempt_data = pickle.load(f)\n                try:\n                    checkpoint_path.unlink()\n                except Exception:\n                    pass\n            except Exception as e:\n                logger.error(f\"Failed to read checkpoint: {e}\")\n\n            if attempt_output.exists():\n                try:\n                    attempt_output.unlink()\n                except Exception:\n                    pass\n\n        else:\n            logger.error(f\"Attempt {attempt} crashed with no recoverable data\")\n\n        if attempt_data is not None:\n            if total_texts is None:\n                total_texts = attempt_data.get(\"total_texts\", 0)\n\n            new_batches = attempt_data.get(\"batches\", [])\n            new_errors = attempt_data.get(\"errors\", [])\n            texts_processed = attempt_data.get(\"texts_processed\", 0)\n\n            all_batches.extend(new_batches)\n            all_errors.extend(new_errors)\n\n            ps = attempt_data.get(\"padding_stats\", {})\n            total_real_tokens += ps.get(\"total_real_tokens\", 0)\n            total_pad_tokens += ps.get(\"total_pad_tokens\", 0)\n\n            if \"next_text_index\" in attempt_data:\n                next_index = attempt_data[\"next_text_index\"]\n            else:\n                next_index = attempt_data.get(\"start_text_index\", current_start_index) + texts_processed\n\n            current_start_index = next_index\n\n            if total_texts is not None and current_start_index >= total_texts:\n                break\n\n            if exit_code == 0:\n                break\n        else:\n            logger.warning(f\"No data recovered from attempt {attempt}\")\n\n        if attempt >= TOKENIZE_MAX_RETRIES:\n            logger.error(f\"Exhausted all {TOKENIZE_MAX_RETRIES} retries!\")\n            break\n\n        logger.info(\"Waiting 3 seconds before retry...\")\n        time.sleep(3)\n        gc.collect()\n\n    total_tokens = total_real_tokens + total_pad_tokens\n    efficiency_pct = (total_real_tokens / total_tokens * 100) if total_tokens > 0 else 100.0\n\n    logger.info(f\"Tokenization complete: {len(all_batches)} batches, \"\n                f\"{len(all_errors)} errors, {efficiency_pct:.1f}% padding efficiency\")\n\n    return {\n        \"total_texts\": total_texts or 0,\n        \"batches\": all_batches,\n        \"errors\": all_errors,\n        \"padding_stats\": {\n            \"total_real_tokens\": total_real_tokens,\n            \"total_pad_tokens\": total_pad_tokens,\n            \"efficiency_pct\": efficiency_pct,\n        },\n    }\n\n\nclass DirectEmbeddingModel:\n    def __init__(\n        self,\n        model_path: str,\n        device: str = \"cpu\",\n        dtype: torch.dtype = None,\n        batch_size: int = 8,\n        max_seq_length: int = 512,\n        prompt: str = \"\",\n    ):\n        self.model_path = model_path\n        self.device = device\n        self.dtype = dtype\n        self.batch_size = batch_size\n        self.max_seq_length = max_seq_length\n        self.prompt = prompt\n        self.model = None\n        self.tokenizer = None\n\n        self._initialize_model()\n\n    def _initialize_model(self):\n        family = _get_model_family(self.model_path)\n\n        model_kwargs = {\n            \"torch_dtype\": self.dtype if self.dtype else torch.float32,\n        }\n\n        is_cuda = self.device.lower().startswith(\"cuda\")\n        if family == \"qwen\":\n            if is_cuda and supports_flash_attention():\n                model_kwargs[\"attn_implementation\"] = \"flash_attention_2\"\n            else:\n                model_kwargs[\"attn_implementation\"] = \"sdpa\"\n        else:\n            model_kwargs[\"attn_implementation\"] = \"sdpa\"\n\n        tokenizer_kwargs = {\n            \"model_max_length\": self.max_seq_length,\n        }\n\n        if family == \"qwen\":\n            tokenizer_kwargs[\"padding_side\"] = \"left\"\n\n        self.model = SentenceTransformer(\n            model_name_or_path=self.model_path,\n            device=self.device,\n            trust_remote_code=True,\n            model_kwargs=model_kwargs,\n            tokenizer_kwargs=tokenizer_kwargs,\n        )\n\n        self.model.max_seq_length = self.max_seq_length\n\n        if hasattr(self.model, \"tokenizer\") and self.model.tokenizer is not None:\n            self.tokenizer = self.model.tokenizer\n\n            if self.tokenizer.pad_token is None:\n                if self.tokenizer.eos_token is not None:\n                    self.tokenizer.pad_token = self.tokenizer.eos_token\n                    self.tokenizer.pad_token_id = self.tokenizer.eos_token_id\n                else:\n                    self.tokenizer.add_special_tokens({\"pad_token\": \"[PAD]\"})\n\n        self.model.to(self.device)\n\n    def _safe_encode(self, texts: list) -> np.ndarray:\n        bs = self.batch_size if self.batch_size else len(texts)\n        embeddings = self.model.encode(\n            texts,\n            batch_size=bs,\n            convert_to_tensor=True,\n            normalize_embeddings=True,\n            show_progress_bar=False,\n        )\n        if isinstance(embeddings, torch.Tensor):\n            return embeddings.float().cpu().numpy()\n        return np.asarray(embeddings, dtype=np.float32)\n\n    @torch.inference_mode()\n    def embed_documents(self, texts: list) -> np.ndarray:\n        if not texts:\n            return np.array([], dtype=np.float32)\n\n        total = len(texts)\n        logger.info(f\"Embedding {total} texts via subprocess tokenization pipeline\")\n\n        encode_batch_size = _get_encode_batch_size(self.device, self.model_path)\n\n        tmp_dir = tempfile.mkdtemp(prefix=\"vectordb_embed_\")\n        tmp_path = Path(tmp_dir)\n        texts_pkl = tmp_path / \"texts.pkl\"\n        tokenized_pkl = tmp_path / \"tokenized.pkl\"\n        checkpoint_dir = tmp_path / \"checkpoints\"\n        checkpoint_dir.mkdir(exist_ok=True)\n\n        try:\n            logger.info(f\"Writing {total} texts to temp pickle...\")\n            with open(texts_pkl, \"wb\") as f:\n                pickle.dump(texts, f, protocol=pickle.HIGHEST_PROTOCOL)\n\n            tokenized_data = _run_tokenize_with_retry(\n                python_exe=sys.executable,\n                model_path=self.model_path,\n                texts_pkl=texts_pkl,\n                tokenized_pkl=tokenized_pkl,\n                checkpoint_dir=checkpoint_dir,\n                max_seq_length=self.max_seq_length,\n                encode_batch_size=encode_batch_size,\n                use_fast=True,\n                length_sort=True,\n            )\n\n            batches = tokenized_data[\"batches\"]\n            errors = tokenized_data[\"errors\"]\n\n            if errors:\n                logger.warning(f\"{len(errors)} tokenization errors occurred\")\n\n            logger.info(f\"Running forward pass on {len(batches)} pre-padded batches...\")\n\n            self.model.eval()\n            all_embeddings = []\n            all_seq_indices = []\n            batch_count = 0\n\n            for batch_info in batches:\n                batch_count += 1\n                features_raw = batch_info[\"features\"]\n                if \"seq_indices\" not in batch_info:\n                    raise ValueError(\n                        f\"Batch {batch_count} missing required 'seq_indices' field. \"\n                        f\"The tokenize stage must emit seq_indices for every batch so \"\n                        f\"the embed stage can restore original chunk order.\"\n                    )\n                seq_indices = batch_info[\"seq_indices\"]\n\n                features = {}\n                for key, padded in features_raw.items():\n                    if isinstance(padded, np.ndarray):\n                        features[key] = torch.from_numpy(padded).long()\n                    else:\n                        features[key] = torch.tensor(padded, dtype=torch.long)\n\n                features = batch_to_device(features, self.model.device)\n\n                with torch.no_grad():\n                    out_features = self.model.forward(features)\n                    embeddings = out_features[\"sentence_embedding\"].detach()\n                    embeddings = torch.nn.functional.normalize(embeddings, p=2, dim=1)\n                    embeddings = embeddings.float().cpu().numpy()\n                    all_embeddings.append(embeddings)\n                    all_seq_indices.append(seq_indices)\n                    del out_features\n\n                del features\n\n                if batch_count % 50 == 0:\n                    gc.collect()\n                    if torch.cuda.is_available():\n                        torch.cuda.empty_cache()\n\n                if batch_count % 500 == 0:\n                    logger.info(f\"  Forward pass: {batch_count}/{len(batches)} batches\")\n\n            logger.info(f\"Forward pass complete: {batch_count} batches processed\")\n\n            if not all_embeddings:\n                return np.array([], dtype=np.float32)\n\n            sorted_embeddings = np.concatenate(all_embeddings, axis=0)\n            indices = np.concatenate(all_seq_indices, axis=0)\n            result = np.empty_like(sorted_embeddings)\n            result[indices] = sorted_embeddings\n            logger.info(f\"Unsorting embeddings: restored original order via seq_indices\")\n            return result\n\n        finally:\n            import shutil\n            try:\n                shutil.rmtree(tmp_dir, ignore_errors=True)\n            except Exception:\n                pass\n\n    def embed_query(self, text: str) -> list:\n        if self.prompt:\n            text = self.prompt + text\n\n        if not isinstance(text, str):\n            text = str(text)\n\n        text = _normalize_text(text)\n\n        embeddings = self._safe_encode([text])\n        return embeddings[0].tolist() if len(embeddings) else []\n\n    def __del__(self):\n        if self.model is not None:\n            del self.model\n            self.model = None\n        if self.tokenizer is not None:\n            del self.tokenizer\n            self.tokenizer = None\n\n\ndef create_embedding_model(\n    model_path: str,\n    compute_device: str = \"cpu\",\n    dtype: torch.dtype = None,\n    batch_size: int = None,\n    is_query: bool = False,\n) -> DirectEmbeddingModel:\n    config = get_config()\n    model_name = os.path.basename(model_path)\n\n    family = _get_model_family(model_path)\n    model_native_precision = get_model_native_precision(model_name)\n\n    use_half = config.database.half\n    _dtype, _batch_size = get_embedding_dtype_and_batch(\n        compute_device=compute_device,\n        use_half=use_half,\n        model_native_precision=model_native_precision,\n        model_name=model_name,\n        is_query=is_query,\n    )\n\n    final_dtype = dtype if dtype is not None else _dtype\n    final_batch_size = batch_size if batch_size is not None else _batch_size\n\n    if family == \"qwen\":\n        max_seq_length = 8192\n    else:\n        max_seq_length = 512\n\n    prompt = _get_prompt_for_family(family, is_query)\n\n    return DirectEmbeddingModel(\n        model_path=model_path,\n        device=compute_device,\n        dtype=final_dtype,\n        batch_size=final_batch_size,\n        max_seq_length=max_seq_length,\n        prompt=prompt,\n    )\n\n\ndef load_embedding_model(\n    model_path: str,\n    compute_device: str,\n    use_half: bool,\n    is_query: bool = False,\n    verbose: bool = False,\n) -> DirectEmbeddingModel:\n    model_name = os.path.basename(model_path)\n    model_native_precision = get_model_native_precision(model_name)\n\n    dtype, batch_size = get_embedding_dtype_and_batch(\n        compute_device=compute_device,\n        use_half=use_half,\n        model_native_precision=model_native_precision,\n        model_name=model_name,\n        is_query=is_query,\n    )\n\n    model = create_embedding_model(\n        model_path=model_path,\n        compute_device=compute_device,\n        dtype=dtype,\n        batch_size=batch_size,\n        is_query=is_query,\n    )\n\n    if verbose:\n        from core.utilities import my_cprint\n        precision = \"float32\" if dtype is None else str(dtype).split(\".\")[-1]\n        my_cprint(f\"{model_name} ({precision}) loaded using a batch size of {batch_size}.\", \"green\")\n\n    return model\n"
  },
  {
    "path": "db/process_manager.py",
    "content": "import logging\nimport threading\nimport multiprocessing\nfrom typing import List\n\nlogger = logging.getLogger(__name__)\n\n\nclass ProcessManager:\n    \"\"\"Singleton that tracks every multiprocessing.Process spawned by the app\n    and provides a graceful, time-bounded cleanup path on shutdown.\n\n    Cleanup escalates: terminate (with timeout) -> kill (with timeout) -> close.\n    Without this, an unclean GUI exit can leak Python child processes that hold\n    open TileDB arrays, model weights, or CUDA contexts.\n    \"\"\"\n\n    _instance = None\n    _lock = threading.Lock()\n\n    def __new__(cls):\n        if cls._instance is None:\n            with cls._lock:\n                if cls._instance is None:\n                    cls._instance = super().__new__(cls)\n                    cls._instance._initialized = False\n        return cls._instance\n\n    def __init__(self):\n        if self._initialized:\n            return\n        self.processes: List[multiprocessing.Process] = []\n        self.lock = threading.Lock()\n        self._initialized = True\n\n    def register(self, process: multiprocessing.Process):\n        with self.lock:\n            self.processes.append(process)\n            logger.debug(f\"Registered process {process.pid if process.pid else 'pending'}\")\n\n    def unregister(self, process: multiprocessing.Process):\n        with self.lock:\n            if process in self.processes:\n                self.processes.remove(process)\n                logger.debug(f\"Unregistered process {process.pid if process.pid else 'unknown'}\")\n\n    def cleanup_one(self, process: multiprocessing.Process, timeout: float = 5.0) -> bool:\n        if not process or not process.is_alive():\n            return True\n\n        try:\n            logger.debug(f\"Terminating process {process.pid}\")\n            process.terminate()\n            process.join(timeout=timeout)\n\n            if process.is_alive():\n                logger.warning(f\"Process {process.pid} did not terminate, killing\")\n                process.kill()\n                process.join(timeout=1.0)\n\n            if hasattr(process, 'close'):\n                try:\n                    process.close()\n                except Exception:\n                    pass\n\n            self.unregister(process)\n            return not process.is_alive()\n        except Exception as e:\n            logger.error(f\"Error cleaning up process: {e}\")\n            return False\n\n    def cleanup_all(self, timeout: float = 5.0):\n        with self.lock:\n            processes_copy = self.processes[:]\n\n        for process in processes_copy:\n            self.cleanup_one(process, timeout)\n\n        with self.lock:\n            remaining = len(self.processes)\n            if remaining > 0:\n                logger.warning(f\"{remaining} processes could not be cleaned up\")\n            self.processes.clear()\n\n    def get_active_count(self) -> int:\n        with self.lock:\n            return sum(1 for p in self.processes if p.is_alive())\n\n\n_manager_instance = None\n\n\ndef get_process_manager() -> ProcessManager:\n    global _manager_instance\n    if _manager_instance is None:\n        _manager_instance = ProcessManager()\n    return _manager_instance\n"
  },
  {
    "path": "db/sqlite_operations.py",
    "content": "import sqlite3\nfrom pathlib import Path\n\n\ndef create_metadata_db(persist_directory, documents, hash_id_mappings):\n    if not persist_directory.exists():\n        persist_directory.mkdir(parents=True, exist_ok=True)\n\n    sqlite_db_path = persist_directory / \"metadata.db\"\n    conn = sqlite3.connect(sqlite_db_path)\n    cursor = conn.cursor()\n\n    cursor.execute('''\n        CREATE TABLE IF NOT EXISTS document_metadata (\n            id INTEGER PRIMARY KEY AUTOINCREMENT,\n            file_name TEXT,\n            hash TEXT,\n            file_path TEXT,\n            page_content TEXT\n        )\n    ''')\n\n    cursor.execute('''\n        CREATE TABLE IF NOT EXISTS hash_chunk_ids (\n            tiledb_id TEXT PRIMARY KEY,\n            hash TEXT\n        )\n    ''')\n\n    try:\n        doc_rows = [\n            (\n                doc.metadata.get(\"file_name\", \"\"),\n                doc.metadata.get(\"hash\", \"\"),\n                doc.metadata.get(\"file_path\", \"\"),\n                doc.page_content\n            )\n            for doc in documents\n        ]\n        cursor.executemany('''\n            INSERT INTO document_metadata (file_name, hash, file_path, page_content)\n            VALUES (?, ?, ?, ?)\n        ''', doc_rows)\n\n        cursor.executemany('''\n            INSERT INTO hash_chunk_ids (tiledb_id, hash)\n            VALUES (?, ?)\n        ''', hash_id_mappings)\n\n        conn.commit()\n    finally:\n        conn.close()\n"
  },
  {
    "path": "db/stage_extract.py",
    "content": "import logging\nimport os\nimport pickle\nimport sys\nimport time\nfrom pathlib import Path\n\n# Ensure project root is on sys.path for imports\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\nlogging.basicConfig(\n    level=logging.INFO,\n    format=\"%(asctime)s %(levelname)s [%(name)s] %(message)s\",\n)\nlogger = logging.getLogger(\"stage_extract\")\n\n\ndef main():\n    if len(sys.argv) != 3:\n        print(f\"Usage: {sys.argv[0]} <source_dir> <output_pickle>\", file=sys.stderr)\n        sys.exit(1)\n\n    source_dir = Path(sys.argv[1])\n    output_path = Path(sys.argv[2])\n\n    if not source_dir.is_dir():\n        print(f\"ERROR: Source directory does not exist: {source_dir}\", file=sys.stderr)\n        sys.exit(1)\n\n    logger.info(f\"Stage 1: Extracting documents from {source_dir}\")\n    t0 = time.time()\n\n    from db.document_processor import load_documents\n\n    docs = load_documents(source_dir)\n\n    doc_data = []\n    for doc in docs:\n        clean_meta = {str(k): v for k, v in doc.metadata.items()}\n        doc_data.append((doc.page_content, clean_meta))\n\n    elapsed = time.time() - t0\n    logger.info(f\"Extracted {len(doc_data)} documents in {elapsed:.1f}s\")\n\n    with open(output_path, \"wb\") as f:\n        pickle.dump(doc_data, f, protocol=pickle.HIGHEST_PROTOCOL)\n\n    file_size_mb = output_path.stat().st_size / (1024 * 1024)\n    logger.info(f\"Wrote {output_path} ({file_size_mb:.1f} MB)\")\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "db/stage_split.py",
    "content": "import argparse\nimport concurrent.futures\nimport gc\nimport logging\nimport os\nimport pickle\nimport subprocess\nimport sys\nimport tempfile\nimport time\nfrom pathlib import Path\n\n# Ensure project root is on sys.path for imports\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\nlogging.basicConfig(\n    level=logging.INFO,\n    format=\"%(asctime)s %(levelname)s [%(name)s] %(message)s\",\n)\nlogger = logging.getLogger(\"stage_split\")\n\n\nWORKER_SCRIPT = r'''\nimport faulthandler\nfaulthandler.enable()\n\nimport gc\nimport os\nimport pickle\nimport sys\n\n# Ensure project root is on sys.path\nsys.path.insert(0, os.environ.get(\"VECTORDB_PROJECT_ROOT\", \"\"))\n\ndef main():\n    input_pkl = sys.argv[1]\n    output_pkl = sys.argv[2]\n    chunk_size = int(sys.argv[3])\n    chunk_overlap = int(sys.argv[4])\n\n    with open(input_pkl, \"rb\") as f:\n        doc_data = pickle.load(f)\n\n    from db.document_processor import FixedSizeTextSplitter, add_pymupdf_page_metadata, Document\n    from core.utilities import normalize_text\n\n    splitter = FixedSizeTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap)\n\n    chunks_with_meta = []\n    errors = []\n\n    for i, (content, metadata) in enumerate(doc_data):\n        try:\n            doc = Document(page_content=content, metadata=metadata)\n\n            if metadata.get(\"file_type\") == \".pdf\":\n                chunks = add_pymupdf_page_metadata(\n                    doc,\n                    chunk_size=chunk_size,\n                    chunk_overlap=chunk_overlap,\n                )\n            else:\n                chunks = splitter.split_documents([doc])\n\n            for chunk in chunks:\n                cleaned = normalize_text(chunk.page_content, preserve_whitespace=True)\n                if cleaned is not None:\n                    chunk_meta = chunk.metadata if chunk.metadata else {}\n                    chunks_with_meta.append((cleaned, chunk_meta))\n        except Exception as e:\n            file_name = metadata.get(\"file_name\", \"unknown\")\n            errors.append({\n                \"doc_index\": i,\n                \"file_name\": file_name,\n                \"error\": f\"{type(e).__name__}: {e}\",\n            })\n\n    valid = []\n    valid_with_meta = []\n    skipped = 0\n    for text, meta in chunks_with_meta:\n        if isinstance(text, str) and text.strip():\n            valid.append(text)\n            valid_with_meta.append((text, meta))\n        else:\n            skipped += 1\n\n    output = {\n        \"texts\": valid,\n        \"chunks\": valid_with_meta,\n        \"errors\": errors,\n        \"docs_processed\": len(doc_data),\n        \"skipped\": skipped,\n    }\n    with open(output_pkl, \"wb\") as f:\n        pickle.dump(output, f, protocol=pickle.HIGHEST_PROTOCOL)\n\nif __name__ == \"__main__\":\n    main()\n'''\n\n\ndef save_checkpoint(checkpoint_path, data):\n    tmp_path = checkpoint_path.with_suffix(\".tmp\")\n    with open(tmp_path, \"wb\") as f:\n        pickle.dump(data, f, protocol=pickle.HIGHEST_PROTOCOL)\n    for attempt in range(5):\n        try:\n            os.replace(tmp_path, checkpoint_path)\n            return\n        except PermissionError:\n            if attempt == 4:\n                raise\n            time.sleep(0.2)\n\n\ndef run_worker(python_exe: str, worker_script_path: str,\n               docs_pkl: str, output_pkl: str,\n               chunk_size: int, chunk_overlap: int,\n               timeout: int = 600) -> tuple:\n    cmd = [\n        python_exe, worker_script_path,\n        docs_pkl, output_pkl,\n        str(chunk_size), str(chunk_overlap),\n    ]\n\n    project_root = str(Path(__file__).resolve().parent.parent)\n\n    t0 = time.time()\n    with subprocess.Popen(\n        cmd,\n        stdout=subprocess.PIPE,\n        stderr=subprocess.STDOUT,\n        text=True,\n        bufsize=1,\n        env={**os.environ, \"PYTHONUNBUFFERED\": \"1\", \"VECTORDB_PROJECT_ROOT\": project_root},\n    ) as process:\n        output_lines = []\n        for line in process.stdout:\n            line = line.rstrip(\"\\n\")\n            if line.strip():\n                logger.warning(f\"  [worker] {line}\")\n                output_lines.append(line)\n\n        process.wait(timeout=timeout)\n        elapsed = time.time() - t0\n        returncode = process.returncode\n    return returncode, elapsed\n\n\ndef get_physical_core_count() -> int:\n    try:\n        import psutil\n        count = psutil.cpu_count(logical=False)\n        if count is not None and count > 0:\n            return count\n    except ImportError:\n        pass\n    logical = os.cpu_count() or 4\n    return max(1, logical // 2)\n\n\ndef run_worker_with_retries(worker_id: int, total_workers: int,\n                            python_exe: str, worker_script_path: str,\n                            chunk_docs: list, worker_dir: Path,\n                            chunk_size: int, chunk_overlap: int,\n                            max_retries: int) -> dict:\n    num_docs = len(chunk_docs)\n    docs_pkl = worker_dir / f\"_split_worker_input_{worker_id}.pkl\"\n    result_pkl = worker_dir / f\"_split_worker_output_{worker_id}.pkl\"\n\n    with open(docs_pkl, \"wb\") as f:\n        pickle.dump(chunk_docs, f, protocol=pickle.HIGHEST_PROTOCOL)\n\n    worker_t0 = time.time()\n    worker_success = False\n    texts = []\n    chunks = []\n    errors = []\n    skipped = 0\n\n    for retry in range(max_retries):\n        exit_code, elapsed = run_worker(\n            python_exe, str(worker_script_path),\n            str(docs_pkl), str(result_pkl),\n            chunk_size, chunk_overlap,\n            timeout=600,\n        )\n\n        if exit_code == 0 and result_pkl.exists():\n            try:\n                with open(result_pkl, \"rb\") as f:\n                    worker_data = pickle.load(f)\n                texts = worker_data.get(\"texts\", [])\n                chunks = worker_data.get(\"chunks\", [])\n                errors = worker_data.get(\"errors\", [])\n                skipped = worker_data.get(\"skipped\", 0)\n                worker_success = True\n                logger.info(f\"  Worker {worker_id}/{total_workers} completed in {elapsed:.1f}s \"\n                           f\"({len(texts)} chunks, {len(errors)} errors, {skipped} skipped)\")\n                break\n            except Exception as e:\n                logger.error(f\"  Worker {worker_id}: failed to read output: {e}\")\n        else:\n            logger.warning(f\"  Worker {worker_id} crashed (exit code {exit_code}, \"\n                         f\"{elapsed:.1f}s), retry {retry + 1}/{max_retries}\")\n            time.sleep(2)\n\n        try:\n            if result_pkl.exists():\n                result_pkl.unlink()\n        except Exception:\n            pass\n\n    try:\n        docs_pkl.unlink()\n    except Exception:\n        pass\n    try:\n        if result_pkl.exists():\n            result_pkl.unlink()\n    except Exception:\n        pass\n\n    if not worker_success:\n        logger.error(f\"  Worker {worker_id} FAILED after {max_retries} retries, \"\n                    f\"skipping {num_docs} documents\")\n        errors.append({\n            \"doc_index\": -1,\n            \"file_name\": \"BATCH_FAILURE\",\n            \"error\": f\"Worker crashed {max_retries} times\",\n        })\n\n    worker_elapsed = time.time() - worker_t0\n    return {\n        \"worker_id\": worker_id,\n        \"num_docs\": num_docs,\n        \"success\": worker_success,\n        \"texts\": texts,\n        \"chunks\": chunks,\n        \"errors\": errors,\n        \"skipped\": skipped,\n        \"elapsed\": worker_elapsed,\n    }\n\n\ndef main():\n    import faulthandler\n    faulthandler.enable()\n\n    parser = argparse.ArgumentParser(description=\"Stage 2: Text Splitting (subprocess-per-chunk)\")\n    parser.add_argument(\"input_pickle\", type=Path)\n    parser.add_argument(\"output_pickle\", type=Path)\n    parser.add_argument(\"chunk_size\", type=int)\n    parser.add_argument(\"chunk_overlap\", type=int)\n    parser.add_argument(\"--worker-batch-size\", type=int, default=2000)\n    parser.add_argument(\"--max-worker-retries\", type=int, default=3)\n    parser.add_argument(\"--max-parallel-workers\", type=int, default=0)\n    parser.add_argument(\"--checkpoint-dir\", type=Path, default=None)\n    parser.add_argument(\"--checkpoint-interval\", type=int, default=5)\n    args = parser.parse_args()\n\n    if not args.input_pickle.exists():\n        print(f\"ERROR: Input file does not exist: {args.input_pickle}\", file=sys.stderr)\n        sys.exit(1)\n\n    python_exe = sys.executable\n    checkpoint_dir = args.checkpoint_dir\n    checkpoint_path = None\n    if checkpoint_dir is not None:\n        checkpoint_dir.mkdir(parents=True, exist_ok=True)\n        checkpoint_path = checkpoint_dir / \"split_checkpoint.pkl\"\n\n    worker_dir = checkpoint_dir if checkpoint_dir else Path(tempfile.gettempdir())\n    worker_dir.mkdir(parents=True, exist_ok=True)\n    worker_script_path = worker_dir / \"_split_worker.py\"\n    with open(worker_script_path, \"w\", encoding=\"utf-8\") as f:\n        f.write(WORKER_SCRIPT)\n\n    with open(args.input_pickle, \"rb\") as f:\n        doc_data = pickle.load(f)\n\n    total_docs = len(doc_data)\n\n    MIN_DOCS_FOR_PARALLEL = 5000\n    if args.max_parallel_workers > 0:\n        max_parallel = args.max_parallel_workers\n    else:\n        physical_cores = get_physical_core_count()\n        max_parallel = max(1, physical_cores - 2)\n\n    if total_docs <= MIN_DOCS_FOR_PARALLEL:\n        effective_parallel = 1\n    else:\n        effective_parallel = max_parallel\n\n    logger.info(f\"Stage 2: Splitting documents (subprocess-per-chunk isolation)\")\n    logger.info(f\"  chunk_size={args.chunk_size}, chunk_overlap={args.chunk_overlap}\")\n    logger.info(f\"  worker_batch_size={args.worker_batch_size}\")\n    logger.info(f\"  parallel_workers={effective_parallel}\")\n    t0 = time.time()\n\n    logger.info(f\"Loaded {total_docs} documents from {args.input_pickle}\")\n\n    if total_docs == 0:\n        logger.info(\"No documents to process\")\n        with open(args.output_pickle, \"wb\") as f:\n            pickle.dump({\"texts\": [], \"chunks\": []}, f, protocol=pickle.HIGHEST_PROTOCOL)\n        return\n\n    worker_batch_size = args.worker_batch_size\n    worker_jobs = []\n    offset = 0\n    worker_id = 0\n    while offset < total_docs:\n        worker_id += 1\n        chunk_end = min(offset + worker_batch_size, total_docs)\n        chunk_docs = doc_data[offset:chunk_end]\n        worker_jobs.append((worker_id, chunk_docs))\n        offset = chunk_end\n\n    total_workers = len(worker_jobs)\n    logger.info(f\"Processing {total_docs} documents in {total_workers} worker subprocess(es)\")\n\n    all_texts = []\n    all_chunks = []\n    all_errors = []\n    total_skipped = 0\n    workers_completed = 0\n    workers_since_checkpoint = 0\n\n    if effective_parallel <= 1:\n        for wid, chunk_docs in worker_jobs:\n            logger.info(f\"Worker {wid}/{total_workers}: {len(chunk_docs)} documents\")\n            result = run_worker_with_retries(\n                wid, total_workers, python_exe, str(worker_script_path),\n                chunk_docs, worker_dir, args.chunk_size, args.chunk_overlap,\n                args.max_worker_retries,\n            )\n            all_texts.extend(result[\"texts\"])\n            all_chunks.extend(result.get(\"chunks\", []))\n            all_errors.extend(result[\"errors\"])\n            total_skipped += result[\"skipped\"]\n            workers_completed += 1\n            workers_since_checkpoint += 1\n\n            if checkpoint_path is not None and workers_since_checkpoint >= args.checkpoint_interval:\n                save_checkpoint(checkpoint_path, {\n                    \"texts\": all_texts, \"chunks\": all_chunks,\n                    \"errors\": all_errors, \"skipped\": total_skipped,\n                    \"workers_completed\": workers_completed,\n                })\n                workers_since_checkpoint = 0\n\n            gc.collect()\n    else:\n        for wave_start in range(0, total_workers, effective_parallel):\n            wave_end = min(wave_start + effective_parallel, total_workers)\n            wave_jobs = worker_jobs[wave_start:wave_end]\n\n            logger.info(f\"Launching parallel wave: workers {wave_jobs[0][0]}-{wave_jobs[-1][0]}\")\n\n            wave_results = {}\n            with concurrent.futures.ThreadPoolExecutor(max_workers=len(wave_jobs)) as executor:\n                future_to_wid = {}\n                for wid, chunk_docs in wave_jobs:\n                    future = executor.submit(\n                        run_worker_with_retries,\n                        wid, total_workers, python_exe, str(worker_script_path),\n                        chunk_docs, worker_dir, args.chunk_size, args.chunk_overlap,\n                        args.max_worker_retries,\n                    )\n                    future_to_wid[future] = wid\n\n                for future in concurrent.futures.as_completed(future_to_wid):\n                    wid = future_to_wid[future]\n                    try:\n                        result = future.result()\n                        wave_results[wid] = result\n                    except Exception as e:\n                        logger.error(f\"  Worker {wid} thread raised exception: {e}\")\n                        wave_results[wid] = {\n                            \"texts\": [], \"chunks\": [], \"errors\": [{\"doc_index\": -1,\n                            \"file_name\": \"THREAD_EXCEPTION\", \"error\": str(e)}], \"skipped\": 0,\n                        }\n\n            for wid, chunk_docs in wave_jobs:\n                result = wave_results.get(wid, {\"texts\": [], \"chunks\": [], \"errors\": [], \"skipped\": 0})\n                all_texts.extend(result[\"texts\"])\n                all_chunks.extend(result.get(\"chunks\", []))\n                all_errors.extend(result[\"errors\"])\n                total_skipped += result.get(\"skipped\", 0)\n                workers_completed += 1\n                workers_since_checkpoint += 1\n\n            if checkpoint_path is not None and workers_since_checkpoint >= args.checkpoint_interval:\n                save_checkpoint(checkpoint_path, {\n                    \"texts\": all_texts, \"chunks\": all_chunks,\n                    \"errors\": all_errors, \"skipped\": total_skipped,\n                    \"workers_completed\": workers_completed,\n                })\n                workers_since_checkpoint = 0\n\n            gc.collect()\n\n    elapsed = time.time() - t0\n    logger.info(f\"Split {total_docs} documents into {len(all_texts)} chunks in {elapsed:.1f}s \"\n                f\"({len(all_errors)} errors, {total_skipped} skipped)\")\n\n    output_data = {\"texts\": all_texts, \"chunks\": all_chunks}\n    with open(args.output_pickle, \"wb\") as f:\n        pickle.dump(output_data, f, protocol=pickle.HIGHEST_PROTOCOL)\n\n    try:\n        worker_script_path.unlink()\n    except Exception:\n        pass\n    if checkpoint_path is not None and checkpoint_path.exists():\n        try:\n            checkpoint_path.unlink()\n        except Exception:\n            pass\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "db/stage_tokenize.py",
    "content": "import argparse\nimport concurrent.futures\nimport gc\nimport logging\nimport os\nimport pickle\nimport subprocess\nimport sys\nimport tempfile\nimport time\nfrom pathlib import Path\n\n# Ensure project root is on sys.path for imports\nsys.path.insert(0, str(Path(__file__).resolve().parent.parent))\n\nlogging.basicConfig(\n    level=logging.INFO,\n    format=\"%(asctime)s %(levelname)s [%(name)s] %(message)s\",\n)\nlogger = logging.getLogger(\"stage_tokenize\")\n\n\nWORKER_SCRIPT = r'''\nimport faulthandler\nfaulthandler.enable()\n\nimport gc\nimport os\nimport pickle\nimport sys\n\nimport numpy as np\n\nos.environ[\"TOKENIZERS_PARALLELISM\"] = \"false\"\nos.environ[\"RUST_BACKTRACE\"] = \"1\"\n\ndef main():\n    input_pkl = sys.argv[1]\n    output_pkl = sys.argv[2]\n    model_path = sys.argv[3]\n    batch_size = int(sys.argv[4])\n    max_seq_length = int(sys.argv[5])\n    use_fast = sys.argv[6] == \"True\"\n    global_start_index = int(sys.argv[7])\n    encode_batch_size = int(sys.argv[8])\n    length_sort = sys.argv[9] == \"True\"\n\n    with open(input_pkl, \"rb\") as f:\n        texts = pickle.load(f)\n\n    from transformers import AutoTokenizer\n    tokenizer = AutoTokenizer.from_pretrained(\n        model_path,\n        trust_remote_code=True,\n        model_max_length=max_seq_length,\n        use_fast=use_fast,\n    )\n    if tokenizer.pad_token is None:\n        if tokenizer.eos_token is not None:\n            tokenizer.pad_token = tokenizer.eos_token\n            tokenizer.pad_token_id = tokenizer.eos_token_id\n        else:\n            tokenizer.add_special_tokens({\"pad_token\": \"[PAD]\"})\n\n    pad_token_id = tokenizer.pad_token_id or 0\n    padding_side = getattr(tokenizer, \"padding_side\", \"right\")\n\n    all_sequences = []\n    errors_result = []\n\n    for start in range(0, len(texts), batch_size):\n        end = min(start + batch_size, len(texts))\n        batch_texts = texts[start:end]\n        batch_id = start // batch_size + 1\n        global_start = global_start_index + start\n\n        try:\n            batch_raw = tokenizer(\n                batch_texts,\n                padding=False,\n                truncation=True,\n                max_length=max_seq_length,\n                return_tensors=None,\n                return_attention_mask=True,\n            )\n            num_texts_in_batch = len(batch_raw[\"input_ids\"])\n            keys = list(batch_raw.keys())\n            for i in range(num_texts_in_batch):\n                seq_dict = {\"seq_index\": global_start + i}\n                for key in keys:\n                    val = batch_raw[key][i]\n                    if not isinstance(val, list):\n                        seq_dict[key] = list(val)\n                    else:\n                        seq_dict[key] = val\n                all_sequences.append(seq_dict)\n        except Exception as e:\n            error_msg = f\"{type(e).__name__}: {e}\"\n            errors_result.append({\n                \"batch_id\": batch_id,\n                \"start_index\": global_start,\n                \"error\": error_msg,\n            })\n\n    if length_sort and all_sequences:\n        all_sequences.sort(key=lambda s: len(s[\"input_ids\"]), reverse=True)\n\n    feature_keys = [k for k in all_sequences[0].keys() if k != \"seq_index\"] if all_sequences else []\n\n    batches_result = []\n    total_real_tokens = 0\n    total_pad_tokens = 0\n\n    for b_start in range(0, len(all_sequences), encode_batch_size):\n        b_end = min(b_start + encode_batch_size, len(all_sequences))\n        batch_seqs = all_sequences[b_start:b_end]\n        batch_id = b_start // encode_batch_size + 1\n        start_index = batch_seqs[0][\"seq_index\"]\n        batch_size_actual = len(batch_seqs)\n        max_len = max(len(s[\"input_ids\"]) for s in batch_seqs)\n\n        result = {}\n        for key in feature_keys:\n            pad_val = pad_token_id if key == \"input_ids\" else 0\n            padded = np.full((batch_size_actual, max_len), pad_val, dtype=np.int64)\n\n            for i, seq in enumerate(batch_seqs):\n                seq_data = seq[key]\n                seq_len = len(seq_data)\n                if padding_side == \"left\":\n                    padded[i, max_len - seq_len:] = seq_data\n                else:\n                    padded[i, :seq_len] = seq_data\n\n                if key == \"input_ids\":\n                    total_real_tokens += seq_len\n                    total_pad_tokens += (max_len - seq_len)\n\n            result[key] = padded\n\n        seq_indices = np.array([s[\"seq_index\"] for s in batch_seqs], dtype=np.int64)\n\n        batches_result.append({\n            \"batch_id\": batch_id,\n            \"start_index\": start_index,\n            \"seq_indices\": seq_indices,\n            \"features\": result,\n        })\n\n    del all_sequences\n    gc.collect()\n\n    total_tokens = total_real_tokens + total_pad_tokens\n    efficiency_pct = (total_real_tokens / total_tokens * 100) if total_tokens > 0 else 100.0\n\n    output = {\n        \"batches\": batches_result,\n        \"errors\": errors_result,\n        \"texts_processed\": len(texts),\n        \"padding_stats\": {\n            \"total_real_tokens\": total_real_tokens,\n            \"total_pad_tokens\": total_pad_tokens,\n            \"efficiency_pct\": efficiency_pct,\n        },\n    }\n    with open(output_pkl, \"wb\") as f:\n        pickle.dump(output, f, protocol=pickle.HIGHEST_PROTOCOL)\n\nif __name__ == \"__main__\":\n    main()\n'''\n\n\ndef save_checkpoint(checkpoint_path, data):\n    tmp_path = checkpoint_path.with_suffix(\".tmp\")\n    with open(tmp_path, \"wb\") as f:\n        pickle.dump(data, f, protocol=pickle.HIGHEST_PROTOCOL)\n    for attempt in range(5):\n        try:\n            os.replace(tmp_path, checkpoint_path)\n            return\n        except PermissionError:\n            if attempt == 4:\n                raise\n            time.sleep(0.2)\n\n\ndef run_worker(python_exe: str, worker_script_path: str,\n               texts_pkl: str, output_pkl: str,\n               model_path: str, batch_size: int, max_seq_length: int,\n               use_fast: bool, global_start_index: int,\n               encode_batch_size: int, length_sort: bool,\n               timeout: int = 600) -> tuple:\n    cmd = [\n        python_exe, worker_script_path,\n        texts_pkl, output_pkl,\n        model_path, str(batch_size), str(max_seq_length),\n        str(use_fast), str(global_start_index),\n        str(encode_batch_size), str(length_sort),\n    ]\n\n    t0 = time.time()\n    with subprocess.Popen(\n        cmd,\n        stdout=subprocess.PIPE,\n        stderr=subprocess.STDOUT,\n        text=True,\n        bufsize=1,\n        env={**os.environ, \"PYTHONUNBUFFERED\": \"1\"},\n    ) as process:\n        output_lines = []\n        for line in process.stdout:\n            line = line.rstrip(\"\\n\")\n            if line.strip():\n                logger.warning(f\"  [worker] {line}\")\n                output_lines.append(line)\n\n        process.wait(timeout=timeout)\n        elapsed = time.time() - t0\n        returncode = process.returncode\n    return returncode, elapsed\n\n\ndef get_physical_core_count() -> int:\n    try:\n        import psutil\n        count = psutil.cpu_count(logical=False)\n        if count is not None and count > 0:\n            return count\n    except ImportError:\n        pass\n    logical = os.cpu_count() or 4\n    return max(1, logical // 2)\n\n\ndef run_worker_with_retries(worker_id, total_workers, python_exe, worker_script_path,\n                            chunk_texts, global_start, worker_dir, model_path,\n                            batch_size, max_seq_length, use_fast, max_retries,\n                            encode_batch_size, length_sort) -> dict:\n    num_texts = len(chunk_texts)\n    chunk_pkl = worker_dir / f\"_worker_input_{worker_id}.pkl\"\n    result_pkl = worker_dir / f\"_worker_output_{worker_id}.pkl\"\n\n    with open(chunk_pkl, \"wb\") as f:\n        pickle.dump(chunk_texts, f, protocol=pickle.HIGHEST_PROTOCOL)\n\n    worker_t0 = time.time()\n    worker_success = False\n    batches = []\n    errors = []\n    padding_stats = {}\n\n    for retry in range(max_retries):\n        exit_code, elapsed = run_worker(\n            python_exe, str(worker_script_path),\n            str(chunk_pkl), str(result_pkl),\n            model_path, batch_size, max_seq_length,\n            use_fast, global_start,\n            encode_batch_size, length_sort,\n            timeout=600,\n        )\n\n        if exit_code == 0 and result_pkl.exists():\n            try:\n                with open(result_pkl, \"rb\") as f:\n                    worker_data = pickle.load(f)\n                batches = worker_data.get(\"batches\", [])\n                errors = worker_data.get(\"errors\", [])\n                padding_stats = worker_data.get(\"padding_stats\", {})\n                worker_success = True\n                eff = padding_stats.get(\"efficiency_pct\", 0)\n                logger.info(f\"  Worker {worker_id}/{total_workers} completed in {elapsed:.1f}s \"\n                           f\"({len(batches)} batches, {eff:.1f}% pad efficiency)\")\n                break\n            except Exception as e:\n                logger.error(f\"  Worker {worker_id}: failed to read output: {e}\")\n        else:\n            logger.warning(f\"  Worker {worker_id} crashed (exit code {exit_code}, \"\n                         f\"{elapsed:.1f}s), retry {retry + 1}/{max_retries}\")\n            time.sleep(2)\n\n        try:\n            if result_pkl.exists():\n                result_pkl.unlink()\n        except Exception:\n            pass\n\n    try:\n        chunk_pkl.unlink()\n    except Exception:\n        pass\n    try:\n        if result_pkl.exists():\n            result_pkl.unlink()\n    except Exception:\n        pass\n\n    if not worker_success:\n        logger.error(f\"  Worker {worker_id} FAILED after {max_retries} retries\")\n        for batch_start in range(0, num_texts, batch_size):\n            errors.append({\n                \"batch_id\": -1,\n                \"start_index\": global_start + batch_start,\n                \"error\": f\"Worker crashed {max_retries} times\",\n            })\n\n    worker_elapsed = time.time() - worker_t0\n    return {\n        \"worker_id\": worker_id,\n        \"global_start\": global_start,\n        \"num_texts\": num_texts,\n        \"success\": worker_success,\n        \"batches\": batches,\n        \"errors\": errors,\n        \"padding_stats\": padding_stats,\n        \"elapsed\": worker_elapsed,\n    }\n\n\ndef main():\n    import faulthandler\n    faulthandler.enable()\n\n    parser = argparse.ArgumentParser(description=\"Stage 3: Tokenization (subprocess-per-chunk)\")\n    parser.add_argument(\"input_pickle\", type=Path)\n    parser.add_argument(\"output_pickle\", type=Path)\n    parser.add_argument(\"model_path\", type=str)\n    parser.add_argument(\"batch_size\", type=int)\n    parser.add_argument(\"max_seq_length\", type=int)\n    parser.add_argument(\"--use-fast\", action=\"store_true\", default=True)\n    parser.add_argument(\"--no-use-fast\", dest=\"use_fast\", action=\"store_false\")\n    parser.add_argument(\"--worker-batch-size\", type=int, default=20000)\n    parser.add_argument(\"--checkpoint-dir\", type=Path, default=None)\n    parser.add_argument(\"--checkpoint-interval\", type=int, default=5)\n    parser.add_argument(\"--start-text-index\", type=int, default=0)\n    parser.add_argument(\"--max-worker-retries\", type=int, default=3)\n    parser.add_argument(\"--max-parallel-workers\", type=int, default=0)\n    parser.add_argument(\"--encode-batch-size\", type=int, required=True)\n    parser.add_argument(\"--length-sort\", action=\"store_true\", default=False)\n    parser.add_argument(\"--no-length-sort\", dest=\"length_sort\", action=\"store_false\")\n    args = parser.parse_args()\n\n    if not args.input_pickle.exists():\n        print(f\"ERROR: Input file does not exist: {args.input_pickle}\", file=sys.stderr)\n        sys.exit(1)\n\n    python_exe = sys.executable\n    start_text_index = args.start_text_index\n    checkpoint_dir = args.checkpoint_dir\n    checkpoint_interval = args.checkpoint_interval\n    checkpoint_path = None\n    if checkpoint_dir is not None:\n        checkpoint_dir.mkdir(parents=True, exist_ok=True)\n        checkpoint_path = checkpoint_dir / \"tokenize_checkpoint.pkl\"\n\n    worker_dir = checkpoint_dir if checkpoint_dir else Path(tempfile.gettempdir())\n    worker_dir.mkdir(parents=True, exist_ok=True)\n    worker_script_path = worker_dir / \"_tokenize_worker.py\"\n    with open(worker_script_path, \"w\", encoding=\"utf-8\") as f:\n        f.write(WORKER_SCRIPT)\n\n    with open(args.input_pickle, \"rb\") as f:\n        _loaded = pickle.load(f)\n    if isinstance(_loaded, dict):\n        all_texts = _loaded[\"texts\"]\n    else:\n        all_texts = _loaded\n    del _loaded\n\n    total_all = len(all_texts)\n\n    if start_text_index > 0:\n        logger.info(f\"Resuming from text index {start_text_index}\")\n\n    texts = all_texts[start_text_index:]\n    total = len(texts)\n\n    MIN_TEXTS_FOR_PARALLEL = 5000\n    if args.max_parallel_workers > 0:\n        max_parallel = args.max_parallel_workers\n    else:\n        physical_cores = get_physical_core_count()\n        max_parallel = max(1, physical_cores - 4)\n\n    if total <= MIN_TEXTS_FOR_PARALLEL:\n        effective_parallel = 1\n    else:\n        effective_parallel = max_parallel\n\n    logger.info(f\"Stage 3: Tokenizing (subprocess-per-chunk isolation)\")\n    logger.info(f\"  batch_size={args.batch_size}, max_seq_length={args.max_seq_length}\")\n    logger.info(f\"  encode_batch_size={args.encode_batch_size}, length_sort={args.length_sort}\")\n    logger.info(f\"  parallel_workers={effective_parallel}\")\n    t0 = time.time()\n\n    if total == 0:\n        logger.info(\"No texts to process\")\n        output = {\n            \"total_texts\": total_all, \"batch_size\": args.batch_size,\n            \"encode_batch_size\": args.encode_batch_size,\n            \"start_text_index\": start_text_index, \"texts_processed\": 0,\n            \"batches\": [], \"errors\": [],\n            \"padding_stats\": {\"total_real_tokens\": 0, \"total_pad_tokens\": 0, \"efficiency_pct\": 100.0},\n        }\n        with open(args.output_pickle, \"wb\") as f:\n            pickle.dump(output, f, protocol=pickle.HIGHEST_PROTOCOL)\n        return\n\n    worker_batch_size = args.worker_batch_size\n    worker_jobs = []\n    offset = 0\n    worker_id = 0\n    while offset < total:\n        worker_id += 1\n        chunk_end = min(offset + worker_batch_size, total)\n        chunk_texts = texts[offset:chunk_end]\n        global_start = start_text_index + offset\n        worker_jobs.append((worker_id, global_start, chunk_texts))\n        offset = chunk_end\n\n    total_workers = len(worker_jobs)\n    logger.info(f\"Processing {total} texts in {total_workers} worker subprocess(es)\")\n\n    all_batches = []\n    all_errors = []\n    total_real_tokens = 0\n    total_pad_tokens = 0\n    workers_completed = 0\n    workers_since_checkpoint = 0\n\n    if effective_parallel <= 1:\n        for wid, gstart, chunk in worker_jobs:\n            logger.info(f\"Worker {wid}/{total_workers}: {len(chunk)} texts\")\n            result = run_worker_with_retries(\n                wid, total_workers, python_exe, str(worker_script_path),\n                chunk, gstart, worker_dir, args.model_path,\n                args.batch_size, args.max_seq_length, args.use_fast,\n                args.max_worker_retries,\n                args.encode_batch_size, args.length_sort,\n            )\n            all_batches.extend(result[\"batches\"])\n            all_errors.extend(result[\"errors\"])\n            ps = result.get(\"padding_stats\", {})\n            total_real_tokens += ps.get(\"total_real_tokens\", 0)\n            total_pad_tokens += ps.get(\"total_pad_tokens\", 0)\n            workers_completed += 1\n            workers_since_checkpoint += 1\n\n            if checkpoint_path is not None and workers_since_checkpoint >= checkpoint_interval:\n                current_offset = gstart + result[\"num_texts\"] - start_text_index\n                save_checkpoint(checkpoint_path, {\n                    \"total_texts\": total_all, \"start_text_index\": start_text_index,\n                    \"texts_processed\": current_offset,\n                    \"batches\": all_batches, \"errors\": all_errors,\n                    \"next_text_index\": start_text_index + current_offset,\n                    \"padding_stats\": {\"total_real_tokens\": total_real_tokens, \"total_pad_tokens\": total_pad_tokens},\n                })\n                workers_since_checkpoint = 0\n\n            gc.collect()\n    else:\n        for wave_start in range(0, total_workers, effective_parallel):\n            wave_end = min(wave_start + effective_parallel, total_workers)\n            wave_jobs = worker_jobs[wave_start:wave_end]\n\n            logger.info(f\"Launching parallel wave: workers {wave_jobs[0][0]}-{wave_jobs[-1][0]}\")\n\n            wave_results = {}\n            with concurrent.futures.ThreadPoolExecutor(max_workers=len(wave_jobs)) as executor:\n                future_to_wid = {}\n                for wid, gstart, chunk in wave_jobs:\n                    future = executor.submit(\n                        run_worker_with_retries,\n                        wid, total_workers, python_exe, str(worker_script_path),\n                        chunk, gstart, worker_dir, args.model_path,\n                        args.batch_size, args.max_seq_length, args.use_fast,\n                        args.max_worker_retries,\n                        args.encode_batch_size, args.length_sort,\n                    )\n                    future_to_wid[future] = wid\n\n                for future in concurrent.futures.as_completed(future_to_wid):\n                    wid = future_to_wid[future]\n                    try:\n                        result = future.result()\n                        wave_results[wid] = result\n                    except Exception as e:\n                        logger.error(f\"  Worker {wid} thread raised exception: {e}\")\n                        wave_results[wid] = {\n                            \"batches\": [], \"errors\": [{\"batch_id\": -1, \"start_index\": -1,\n                            \"error\": str(e)}], \"padding_stats\": {},\n                        }\n\n            for wid, gstart, chunk in wave_jobs:\n                result = wave_results.get(wid, {\"batches\": [], \"errors\": [], \"num_texts\": len(chunk), \"padding_stats\": {}})\n                all_batches.extend(result[\"batches\"])\n                all_errors.extend(result[\"errors\"])\n                ps = result.get(\"padding_stats\", {})\n                total_real_tokens += ps.get(\"total_real_tokens\", 0)\n                total_pad_tokens += ps.get(\"total_pad_tokens\", 0)\n                workers_completed += 1\n                workers_since_checkpoint += 1\n\n            if checkpoint_path is not None and workers_since_checkpoint >= checkpoint_interval:\n                last_wid, last_gstart, last_chunk = wave_jobs[-1]\n                current_offset = last_gstart + len(last_chunk) - start_text_index\n                save_checkpoint(checkpoint_path, {\n                    \"total_texts\": total_all, \"start_text_index\": start_text_index,\n                    \"texts_processed\": current_offset,\n                    \"batches\": all_batches, \"errors\": all_errors,\n                    \"next_text_index\": start_text_index + current_offset,\n                    \"padding_stats\": {\"total_real_tokens\": total_real_tokens, \"total_pad_tokens\": total_pad_tokens},\n                })\n                workers_since_checkpoint = 0\n\n            gc.collect()\n\n    elapsed = time.time() - t0\n\n    total_tokens = total_real_tokens + total_pad_tokens\n    efficiency_pct = (total_real_tokens / total_tokens * 100) if total_tokens > 0 else 100.0\n\n    logger.info(f\"Tokenized {len(all_batches)} batches in {elapsed:.1f}s \"\n                f\"({len(all_errors)} errors, {efficiency_pct:.1f}% pad efficiency)\")\n\n    output = {\n        \"total_texts\": total_all,\n        \"batch_size\": args.batch_size,\n        \"encode_batch_size\": args.encode_batch_size,\n        \"start_text_index\": start_text_index,\n        \"texts_processed\": total,\n        \"batches\": all_batches,\n        \"errors\": all_errors,\n        \"padding_stats\": {\n            \"total_real_tokens\": total_real_tokens,\n            \"total_pad_tokens\": total_pad_tokens,\n            \"efficiency_pct\": efficiency_pct,\n        },\n    }\n\n    with open(args.output_pickle, \"wb\") as f:\n        pickle.dump(output, f, protocol=pickle.HIGHEST_PROTOCOL)\n\n    try:\n        worker_script_path.unlink()\n    except Exception:\n        pass\n    if checkpoint_path is not None and checkpoint_path.exists():\n        try:\n            checkpoint_path.unlink()\n        except Exception:\n            pass\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "gui/__init__.py",
    "content": ""
  },
  {
    "path": "gui/credentials.py",
    "content": "from pathlib import Path\r\nfrom PySide6.QtWidgets import (QDialog, QDialogButtonBox, QVBoxLayout,\r\n                              QLabel, QLineEdit, QPushButton, QMessageBox)\r\nimport yaml\r\nimport logging\r\nimport traceback\r\nfrom core.utilities import my_cprint\r\nfrom core.constants import PROJECT_ROOT\r\nfrom abc import ABC, abstractmethod\r\nfrom typing import Optional, Dict, Any\r\n\r\nclass CredentialManager(ABC):\r\n    def __init__(self, parent_widget):\r\n        self.parent_widget = parent_widget\r\n        self.config_file_path = PROJECT_ROOT / 'config.yaml'\r\n        self.config = self._load_config()\r\n\r\n    def _load_config(self) -> dict:\r\n        if self.config_file_path.exists():\r\n            with open(self.config_file_path, 'r', encoding='utf-8') as file:\r\n                return yaml.safe_load(file) or {}\r\n        return {}\r\n\r\n    def _save_config(self) -> None:\r\n        with open(self.config_file_path, 'w', encoding='utf-8') as file:\r\n            yaml.safe_dump(self.config, file, allow_unicode=True)\r\n\r\n    @property\r\n    @abstractmethod\r\n    def dialog_title(self) -> str:\r\n        pass\r\n\r\n    @property\r\n    @abstractmethod\r\n    def dialog_label(self) -> str:\r\n        pass\r\n\r\n    @property\r\n    @abstractmethod\r\n    def clear_button_text(self) -> str:\r\n        pass\r\n\r\n    @property\r\n    @abstractmethod\r\n    def credential_name(self) -> str:\r\n        pass\r\n\r\n    @abstractmethod\r\n    def get_current_credential(self) -> Optional[str]:\r\n        pass\r\n\r\n    @abstractmethod\r\n    def update_credential(self, value: Optional[str]) -> None:\r\n        pass\r\n\r\n    def show_dialog(self) -> None:\r\n        try:\r\n            dialog = QDialog(self.parent_widget)\r\n            dialog.setWindowTitle(self.dialog_title)\r\n\r\n            layout = QVBoxLayout(dialog)\r\n            \r\n            label = QLabel(self.dialog_label, dialog)\r\n            layout.addWidget(label)\r\n\r\n            credential_input = QLineEdit(dialog)\r\n            current_value = self.get_current_credential()\r\n            if current_value:\r\n                credential_input.setText(current_value)\r\n            layout.addWidget(credential_input)\r\n\r\n            button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)\r\n            clear_button = QPushButton(self.clear_button_text)\r\n            button_box.addButton(clear_button, QDialogButtonBox.ActionRole)\r\n            layout.addWidget(button_box)\r\n\r\n            def save_credential():\r\n                if credential := credential_input.text():\r\n                    self.update_credential(credential)\r\n                    self._save_config()\r\n                    QMessageBox.information(self.parent_widget, \"Success\", \r\n                                         f\"{self.credential_name} saved successfully.\")\r\n                    my_cprint(f\"{self.credential_name} updated successfully.\", \"green\")\r\n                dialog.accept()\r\n\r\n            def clear_credential():\r\n                self.update_credential(None)\r\n                self._save_config()\r\n                QMessageBox.information(self.parent_widget, \"Success\", \r\n                                      f\"{self.credential_name} cleared successfully.\")\r\n                my_cprint(f\"{self.credential_name} cleared.\", \"green\")\r\n                dialog.accept()\r\n\r\n            button_box.accepted.connect(save_credential)\r\n            button_box.rejected.connect(dialog.reject)\r\n            clear_button.clicked.connect(clear_credential)\r\n\r\n            dialog.exec()\r\n\r\n        except Exception as e:\r\n            logging.error(f\"Error managing {self.credential_name}: {str(e)}\")\r\n            logging.debug(traceback.format_exc())\r\n            QMessageBox.critical(self.parent_widget, \"Error\", \r\n                               f\"Failed to manage {self.credential_name}: {str(e)}\")\r\n\r\nclass HuggingFaceCredentialManager(CredentialManager):\r\n    @property\r\n    def dialog_title(self) -> str:\r\n        return \"Hugging Face Access Token\"\r\n\r\n    @property\r\n    def dialog_label(self) -> str:\r\n        return \"Enter a new Hugging Face access token or clear the current one:\"\r\n\r\n    @property\r\n    def clear_button_text(self) -> str:\r\n        return \"Clear Token\"\r\n\r\n    @property\r\n    def credential_name(self) -> str:\r\n        return \"Hugging Face access token\"\r\n\r\n    def get_current_credential(self) -> Optional[str]:\r\n        return self.config.get('hf_access_token')\r\n\r\n    def update_credential(self, value: Optional[str]) -> None:\r\n        self.config['hf_access_token'] = value\r\n\r\nclass MiniMaxCredentialManager(CredentialManager):\r\n    @property\r\n    def dialog_title(self) -> str:\r\n        return \"MiniMax API Key\"\r\n\r\n    @property\r\n    def dialog_label(self) -> str:\r\n        return \"Enter a new MiniMax API key or clear the current one:\"\r\n\r\n    @property\r\n    def clear_button_text(self) -> str:\r\n        return \"Clear Key\"\r\n\r\n    @property\r\n    def credential_name(self) -> str:\r\n        return \"MiniMax API key\"\r\n\r\n    def get_current_credential(self) -> Optional[str]:\r\n        return self.config.get('minimax', {}).get('api_key')\r\n\r\n    def update_credential(self, value: Optional[str]) -> None:\r\n        if 'minimax' not in self.config:\r\n            self.config['minimax'] = {}\r\n        self.config['minimax']['api_key'] = value\r\n\r\ndef manage_credentials(parent_widget, credential_type: str) -> None:\r\n    managers = {\r\n        'hf': HuggingFaceCredentialManager,\r\n        'minimax': MiniMaxCredentialManager,\r\n    }\r\n    \r\n    if manager_class := managers.get(credential_type):\r\n        manager = manager_class(parent_widget)\r\n        manager.show_dialog()\r\n    else:\r\n        raise ValueError(f\"Unknown credential type: {credential_type}\")\r\n"
  },
  {
    "path": "gui/dialogs/__init__.py",
    "content": ""
  },
  {
    "path": "gui/dialogs/ai_backends_dialog.py",
    "content": "from pathlib import Path\n\nimport yaml\nfrom PySide6.QtWidgets import (\n    QDialog,\n    QVBoxLayout,\n    QHBoxLayout,\n    QPushButton,\n    QTabWidget,\n    QMessageBox,\n)\n\nfrom core.constants import PROJECT_ROOT\nfrom gui.dialogs.chatgpt_tab import ChatGPTTab\nfrom gui.dialogs.lm_studio_tab import LMStudioTab\nfrom gui.dialogs.minimax_tab import MiniMaxTab\nfrom gui.dialogs.kobold_tab import KoboldTab\n\n\nclass AIBackendsDialog(QDialog):\n    TAB_REGISTRY = [\n        (\"ChatGPT\", ChatGPTTab),\n        (\"LM Studio\", LMStudioTab),\n        (\"MiniMax\", MiniMaxTab),\n        (\"Kobold\", KoboldTab),\n    ]\n\n    def __init__(self, parent=None, initial_tab=0):\n        super().__init__(parent)\n        self.setWindowTitle(\"Chat Backend Settings\")\n        self.resize(620, 540)\n\n        self.config_path = PROJECT_ROOT / \"config.yaml\"\n        config = self._load_config()\n\n        self.tab_widget = QTabWidget()\n        self.tabs = []\n\n        for label, tab_class in self.TAB_REGISTRY:\n            tab = tab_class()\n            tab.load_from_config(config)\n            self.tab_widget.addTab(tab, label)\n            self.tabs.append(tab)\n\n        if 0 <= initial_tab < self.tab_widget.count():\n            self.tab_widget.setCurrentIndex(initial_tab)\n\n        button_row = QHBoxLayout()\n        button_row.addStretch(1)\n        ok_btn = QPushButton(\"OK\")\n        cancel_btn = QPushButton(\"Cancel\")\n        ok_btn.clicked.connect(self._on_accept)\n        cancel_btn.clicked.connect(self.reject)\n        button_row.addWidget(ok_btn)\n        button_row.addWidget(cancel_btn)\n\n        layout = QVBoxLayout(self)\n        layout.addWidget(self.tab_widget)\n        layout.addLayout(button_row)\n\n    def _load_config(self) -> dict:\n        if not self.config_path.exists():\n            return {}\n        try:\n            with open(self.config_path, \"r\", encoding=\"utf-8\") as f:\n                return yaml.safe_load(f) or {}\n        except Exception as e:\n            QMessageBox.critical(self, \"Error\", f\"Failed to load config.yaml: {e}\")\n            return {}\n\n    def _save_config(self, config: dict) -> bool:\n        try:\n            with open(self.config_path, \"w\", encoding=\"utf-8\") as f:\n                yaml.safe_dump(config, f, allow_unicode=True)\n            return True\n        except Exception as e:\n            QMessageBox.critical(self, \"Error\", f\"Failed to save config.yaml: {e}\")\n            return False\n\n    def _on_accept(self) -> None:\n        for idx, tab in enumerate(self.tabs):\n            ok, error = tab.validate()\n            if not ok:\n                self.tab_widget.setCurrentIndex(idx)\n                QMessageBox.warning(self, \"Invalid Setting\", error or \"Validation failed.\")\n                return\n\n        config = self._load_config()\n        for tab in self.tabs:\n            tab.save_to_config(config)\n\n        if self._save_config(config):\n            self.accept()\n"
  },
  {
    "path": "gui/dialogs/chatgpt_tab.py",
    "content": "from PySide6.QtWidgets import (\n    QWidget,\n    QVBoxLayout,\n    QHBoxLayout,\n    QLabel,\n    QComboBox,\n    QPushButton,\n    QLineEdit,\n    QGroupBox,\n    QFrame,\n)\n\nfrom core.chatgpt_settings import (\n    AVAILABLE_OPENAI_MODELS,\n    REASONING_EFFORT_OPTIONS,\n    VERBOSITY_OPTIONS,\n    DEFAULT_OPENAI_MODEL,\n    DEFAULT_VERBOSITY,\n    DEFAULT_REASONING_EFFORT,\n    get_display_name,\n    get_model_pricing,\n    supports_reasoning_effort,\n    supports_verbosity,\n    migrate_legacy_model,\n)\n\n\nclass CostPanel(QFrame):\n    def __init__(self, parent=None):\n        super().__init__(parent)\n        self.setFrameStyle(QFrame.StyledPanel | QFrame.Sunken)\n        self.setStyleSheet(\"\"\"\n            CostPanel {\n                background-color: #2D2D2D;\n                border: 1px solid #404040;\n                border-radius: 4px;\n                padding: 8px;\n            }\n            QLabel { color: #E8E8E8; }\n            QLabel#costHeader { font-weight: bold; color: #2196F3; }\n            QLabel#costValue { font-family: monospace; color: #4CAF50; }\n        \"\"\")\n\n        layout = QVBoxLayout(self)\n        layout.setContentsMargins(10, 8, 10, 8)\n        layout.setSpacing(4)\n\n        header = QLabel(\"API Cost (per million tokens)\")\n        header.setObjectName(\"costHeader\")\n        layout.addWidget(header)\n\n        cost_row = QHBoxLayout()\n        cost_row.setSpacing(20)\n\n        self.input_value = self._build_cost_column(cost_row, \"Input:\")\n        self.cached_value = self._build_cost_column(cost_row, \"Cached:\")\n        self.output_value = self._build_cost_column(cost_row, \"Output:\")\n        cost_row.addStretch()\n\n        layout.addLayout(cost_row)\n\n    def _build_cost_column(self, parent_layout: QHBoxLayout, label_text: str) -> QLabel:\n        column = QVBoxLayout()\n        label = QLabel(label_text)\n        label.setStyleSheet(\"font-size: 9pt; color: #B0B0B0;\")\n        value = QLabel(\"$0.00\")\n        value.setObjectName(\"costValue\")\n        value.setStyleSheet(\"font-size: 11pt; font-weight: bold;\")\n        column.addWidget(label)\n        column.addWidget(value)\n        parent_layout.addLayout(column)\n        return value\n\n    def update_for_model(self, model_name: str) -> None:\n        input_cost, cached_cost, output_cost = get_model_pricing(model_name)\n        paid_style = \"font-size: 11pt; font-weight: bold; color: #FFA726;\"\n        muted_style = \"font-size: 11pt; font-weight: bold; color: #B0B0B0;\"\n\n        self.input_value.setText(f\"${input_cost:.2f}\")\n        self.input_value.setStyleSheet(paid_style)\n\n        self.output_value.setText(f\"${output_cost:.2f}\")\n        self.output_value.setStyleSheet(paid_style)\n\n        if cached_cost > 0:\n            self.cached_value.setText(f\"${cached_cost:.3f}\")\n            self.cached_value.setStyleSheet(paid_style)\n        else:\n            self.cached_value.setText(\"—\")\n            self.cached_value.setStyleSheet(muted_style)\n\n\nclass ChatGPTTab(QWidget):\n    def __init__(self, parent=None):\n        super().__init__(parent)\n\n        layout = QVBoxLayout(self)\n\n        api_group = QGroupBox(\"API Key\")\n        api_layout = QVBoxLayout()\n        api_help = QLabel(\n            \"<small>Required for ChatGPT. Get a key from \"\n            \"<a href='https://platform.openai.com/api-keys'>platform.openai.com/api-keys</a>.</small>\"\n        )\n        api_help.setOpenExternalLinks(True)\n        api_help.setStyleSheet(\"color: gray;\")\n        api_layout.addWidget(api_help)\n\n        api_row = QHBoxLayout()\n        self.api_key_edit = QLineEdit()\n        self.api_key_edit.setEchoMode(QLineEdit.Password)\n        self.api_key_edit.setPlaceholderText(\"sk-proj-...\")\n        self.show_key_btn = QPushButton(\"Show / Hide\")\n        self.show_key_btn.setMaximumWidth(110)\n        self.show_key_btn.clicked.connect(self._toggle_api_key_visibility)\n        api_row.addWidget(self.api_key_edit)\n        api_row.addWidget(self.show_key_btn)\n        api_layout.addLayout(api_row)\n        api_group.setLayout(api_layout)\n        layout.addWidget(api_group)\n\n        model_group = QGroupBox(\"Model\")\n        model_layout = QVBoxLayout()\n\n        model_row = QHBoxLayout()\n        model_row.addWidget(QLabel(\"Model:\"))\n        self.model_combo = QComboBox()\n        for model in AVAILABLE_OPENAI_MODELS:\n            self.model_combo.addItem(get_display_name(model), model)\n        model_row.addWidget(self.model_combo, 1)\n        model_layout.addLayout(model_row)\n\n        self.cost_panel = CostPanel()\n        model_layout.addWidget(self.cost_panel)\n\n        verbosity_row = QHBoxLayout()\n        self.verbosity_label = QLabel(\"Verbosity:\")\n        self.verbosity_combo = QComboBox()\n        self.verbosity_combo.addItems(VERBOSITY_OPTIONS)\n        verbosity_row.addWidget(self.verbosity_label)\n        verbosity_row.addWidget(self.verbosity_combo, 1)\n        model_layout.addLayout(verbosity_row)\n\n        reasoning_row = QHBoxLayout()\n        self.reasoning_label = QLabel(\"Reasoning Effort:\")\n        self.reasoning_combo = QComboBox()\n        self.reasoning_combo.addItems(REASONING_EFFORT_OPTIONS)\n        reasoning_row.addWidget(self.reasoning_label)\n        reasoning_row.addWidget(self.reasoning_combo, 1)\n        model_layout.addLayout(reasoning_row)\n\n        model_group.setLayout(model_layout)\n        layout.addWidget(model_group)\n\n        layout.addStretch(1)\n\n        self.model_combo.currentIndexChanged.connect(self._on_model_changed)\n\n    def _toggle_api_key_visibility(self) -> None:\n        if self.api_key_edit.echoMode() == QLineEdit.Password:\n            self.api_key_edit.setEchoMode(QLineEdit.Normal)\n        else:\n            self.api_key_edit.setEchoMode(QLineEdit.Password)\n\n    def _on_model_changed(self) -> None:\n        model = self.model_combo.currentData() or self.model_combo.currentText()\n        self.cost_panel.update_for_model(model)\n        self._update_capability_visibility(model)\n\n    def _update_capability_visibility(self, model: str) -> None:\n        show_v = supports_verbosity(model)\n        show_r = supports_reasoning_effort(model)\n        self.verbosity_label.setVisible(show_v)\n        self.verbosity_combo.setVisible(show_v)\n        self.reasoning_label.setVisible(show_r)\n        self.reasoning_combo.setVisible(show_r)\n\n    def _set_combo_to_model(self, model: str) -> None:\n        for i in range(self.model_combo.count()):\n            if self.model_combo.itemData(i) == model:\n                self.model_combo.setCurrentIndex(i)\n                return\n        self.model_combo.setCurrentIndex(0)\n\n    def load_from_config(self, config: dict) -> None:\n        openai_cfg = (config.get(\"openai\") or {})\n        api_key = openai_cfg.get(\"api_key\") or \"\"\n        self.api_key_edit.setText(api_key)\n\n        model = migrate_legacy_model(openai_cfg.get(\"model\") or DEFAULT_OPENAI_MODEL)\n        self._set_combo_to_model(model)\n\n        verbosity = openai_cfg.get(\"verbosity\") or DEFAULT_VERBOSITY\n        if verbosity in VERBOSITY_OPTIONS:\n            self.verbosity_combo.setCurrentText(verbosity)\n        else:\n            self.verbosity_combo.setCurrentText(DEFAULT_VERBOSITY)\n\n        reasoning = openai_cfg.get(\"reasoning_effort\") or DEFAULT_REASONING_EFFORT\n        if reasoning in REASONING_EFFORT_OPTIONS:\n            self.reasoning_combo.setCurrentText(reasoning)\n        else:\n            self.reasoning_combo.setCurrentText(DEFAULT_REASONING_EFFORT)\n\n        self.cost_panel.update_for_model(model)\n        self._update_capability_visibility(model)\n\n    def save_to_config(self, config: dict) -> None:\n        openai_cfg = config.setdefault(\"openai\", {})\n        openai_cfg[\"api_key\"] = self.api_key_edit.text().strip() or None\n        openai_cfg[\"model\"] = self.model_combo.currentData() or self.model_combo.currentText()\n        openai_cfg[\"verbosity\"] = self.verbosity_combo.currentText()\n        openai_cfg[\"reasoning_effort\"] = self.reasoning_combo.currentText()\n\n    def validate(self) -> tuple[bool, str | None]:\n        return True, None\n"
  },
  {
    "path": "gui/dialogs/kobold_tab.py",
    "content": "from PySide6.QtCore import Qt\nfrom PySide6.QtWidgets import QWidget, QVBoxLayout, QLabel\n\n\nclass KoboldTab(QWidget):\n    def __init__(self, parent=None):\n        super().__init__(parent)\n\n        layout = QVBoxLayout(self)\n\n        notice = QLabel(\n            \"Kobold settings will appear here in a future release.\\n\\n\"\n            \"Kobold currently uses its default connection settings.\"\n        )\n        notice.setAlignment(Qt.AlignCenter)\n        notice.setWordWrap(True)\n        notice.setStyleSheet(\"color: #B0B0B0; font-style: italic; padding: 24px;\")\n\n        layout.addStretch(1)\n        layout.addWidget(notice)\n        layout.addStretch(2)\n\n    def load_from_config(self, config: dict) -> None:\n        return\n\n    def save_to_config(self, config: dict) -> None:\n        return\n\n    def validate(self) -> tuple[bool, str | None]:\n        return True, None\n"
  },
  {
    "path": "gui/dialogs/lm_studio_tab.py",
    "content": "import re\n\nfrom PySide6.QtGui import QIntValidator\nfrom PySide6.QtWidgets import (\n    QWidget,\n    QVBoxLayout,\n    QHBoxLayout,\n    QLabel,\n    QLineEdit,\n    QCheckBox,\n    QGroupBox,\n)\n\nfrom core.constants import TOOLTIPS\n\nDEFAULT_CONNECTION_STR = \"http://localhost:1234/v1\"\nPORT_RE = re.compile(r\":(\\d{1,5})(?=/)\")\n\n\nclass LMStudioTab(QWidget):\n    def __init__(self, parent=None):\n        super().__init__(parent)\n\n        self._original_connection_str = DEFAULT_CONNECTION_STR\n        self._original_port = \"\"\n\n        layout = QVBoxLayout(self)\n\n        server_group = QGroupBox(\"LM Studio Server\")\n        server_layout = QVBoxLayout()\n\n        port_row = QHBoxLayout()\n        self.port_label = QLabel(\"Port:\")\n        self.port_label.setToolTip(TOOLTIPS.get(\"PORT\", \"\"))\n        self.port_edit = QLineEdit()\n        self.port_edit.setPlaceholderText(\"Port\")\n        self.port_edit.setValidator(QIntValidator(1, 65535))\n        self.port_edit.setToolTip(TOOLTIPS.get(\"PORT\", \"\"))\n        port_row.addWidget(self.port_label)\n        port_row.addWidget(self.port_edit, 1)\n        server_layout.addLayout(port_row)\n\n        self.thinking_checkbox = QCheckBox(\"Show thinking process?\")\n        self.thinking_checkbox.setToolTip(TOOLTIPS.get(\"SHOW_THINKING_CHECKBOX\", \"\"))\n        server_layout.addWidget(self.thinking_checkbox)\n\n        server_group.setLayout(server_layout)\n        layout.addWidget(server_group)\n        layout.addStretch(1)\n\n    def load_from_config(self, config: dict) -> None:\n        server_cfg = config.get(\"server\") or {}\n        self._original_connection_str = server_cfg.get(\"connection_str\") or DEFAULT_CONNECTION_STR\n\n        match = PORT_RE.search(self._original_connection_str)\n        self._original_port = match.group(1) if match else \"\"\n\n        self.port_label.setText(f\"Port: {self._original_port}\" if self._original_port else \"Port:\")\n        self.port_edit.setText(self._original_port)\n\n        self.thinking_checkbox.setChecked(bool(server_cfg.get(\"show_thinking\", False)))\n\n    def save_to_config(self, config: dict) -> None:\n        server_cfg = config.setdefault(\"server\", {})\n\n        new_port_text = self.port_edit.text().strip()\n        if new_port_text:\n            new_connection_str = self._update_port_in_connection_str(\n                self._original_connection_str, new_port_text\n            )\n            server_cfg[\"connection_str\"] = new_connection_str\n        else:\n            server_cfg.setdefault(\"connection_str\", self._original_connection_str)\n\n        server_cfg[\"show_thinking\"] = bool(self.thinking_checkbox.isChecked())\n\n    def validate(self) -> tuple[bool, str | None]:\n        new_port_text = self.port_edit.text().strip()\n        if not new_port_text:\n            return True, None\n        try:\n            port = int(new_port_text)\n        except ValueError:\n            return False, \"Port must be a number between 1 and 65535.\"\n        if not (1 <= port <= 65535):\n            return False, \"Port must be between 1 and 65535.\"\n\n        if not PORT_RE.search(self._original_connection_str):\n            return False, (\n                \"Existing LM Studio connection string is malformed and the port \"\n                \"cannot be replaced. Edit config.yaml directly to fix it.\"\n            )\n        return True, None\n\n    @staticmethod\n    def _update_port_in_connection_str(connection_str: str, port: str) -> str:\n        match = PORT_RE.search(connection_str)\n        if not match:\n            return connection_str\n        return connection_str[: match.start(1)] + str(port) + connection_str[match.end(1):]\n"
  },
  {
    "path": "gui/dialogs/minimax_tab.py",
    "content": "from PySide6.QtCore import Qt\nfrom PySide6.QtWidgets import QWidget, QVBoxLayout, QLabel\n\n\nclass MiniMaxTab(QWidget):\n    def __init__(self, parent=None):\n        super().__init__(parent)\n\n        layout = QVBoxLayout(self)\n\n        notice = QLabel(\n            \"MiniMax settings will appear here in a future release.\\n\\n\"\n            \"For now, the MiniMax API key is managed via the File menu's \"\n            \"MiniMax API Key entry.\"\n        )\n        notice.setAlignment(Qt.AlignCenter)\n        notice.setWordWrap(True)\n        notice.setStyleSheet(\"color: #B0B0B0; font-style: italic; padding: 24px;\")\n\n        layout.addStretch(1)\n        layout.addWidget(notice)\n        layout.addStretch(2)\n\n    def load_from_config(self, config: dict) -> None:\n        return\n\n    def save_to_config(self, config: dict) -> None:\n        return\n\n    def validate(self) -> tuple[bool, str | None]:\n        return True, None\n"
  },
  {
    "path": "gui/download_model.py",
    "content": "from pathlib import Path\r\nfrom huggingface_hub import snapshot_download, HfApi\r\nfrom huggingface_hub.utils import disable_progress_bars, RepositoryNotFoundError, GatedRepoError\r\nfrom huggingface_hub.hf_api import RepoFile\r\nfrom PySide6.QtCore import QObject, Signal\r\nimport fnmatch\r\nimport humanfriendly\r\nimport atexit\r\nimport yaml\r\n\r\nclass ModelDownloadedSignal(QObject):\r\n    downloaded = Signal(str, str)\r\n    failed = Signal(str)\r\n\r\nmodel_downloaded_signal = ModelDownloadedSignal()\r\n\r\nMODEL_DIRECTORIES = {\r\n    \"vector\": \"vector\",\r\n    \"chat\": \"chat\",\r\n    \"tts\": \"tts\",\r\n    \"jeeves\": \"jeeves\",\r\n    \"ocr\": \"ocr\"\r\n}\r\n\r\ndef get_hf_token():\r\n    config_path = Path(\"config.yaml\")\r\n    if config_path.exists():\r\n        try:\r\n            with open(config_path, \"r\", encoding=\"utf-8\") as f:\r\n                data = yaml.safe_load(f) or {}\r\n            token = (data.get(\"hf_access_token\") or \"\").strip()\r\n            return token or None\r\n        except Exception:\r\n            return None\r\n    return None\r\n\r\nclass ModelDownloader(QObject):\r\n    def __init__(self, model_info, model_type):\r\n        super().__init__()\r\n        self.model_info = model_info\r\n        self.model_type = model_type\r\n        self._model_directory = None\r\n        self.hf_token = get_hf_token()\r\n        self.api = HfApi(token=False)\r\n        self.api.timeout = 60\r\n        disable_progress_bars()\r\n        self.local_dir = self.get_model_directory()\r\n\r\n    def cleanup_incomplete_download(self):\r\n        try:\r\n            if hasattr(self, \"local_dir\") and self.local_dir and self.local_dir.exists():\r\n                if not any(self.local_dir.iterdir()):\r\n                    import shutil\r\n                    shutil.rmtree(self.local_dir)\r\n        except Exception:\r\n            pass\r\n\r\n    def get_model_directory_name(self):\r\n        repo_id = self.get_model_url()\r\n        if isinstance(repo_id, str):\r\n            return repo_id.replace(\"/\", \"--\")\r\n        return str(repo_id)\r\n\r\n    def get_model_directory(self):\r\n        base = Path(\"Models\")\r\n        sub = MODEL_DIRECTORIES.get(self.model_type, self.model_type)\r\n        return base / sub / self.get_model_directory_name()\r\n\r\n    def get_model_url(self):\r\n        if isinstance(self.model_info, dict):\r\n            return self.model_info.get(\"repo_id\") or self.model_info.get(\"url\") or self.model_info.get(\"name\")\r\n        return self.model_info\r\n\r\n    def check_repo_type(self, repo_id):\r\n        try:\r\n            repo_info = self.api.repo_info(repo_id, timeout=60, token=False)\r\n            if getattr(repo_info, \"private\", False):\r\n                return \"private\"\r\n            if getattr(repo_info, \"gated\", False):\r\n                return \"gated\"\r\n            return \"public\"\r\n        except RepositoryNotFoundError:\r\n            return \"not_found\"\r\n        except GatedRepoError:\r\n            return \"gated\"\r\n        except Exception as e:\r\n            msg = str(e).lower()\r\n            if \"401\" in msg or \"403\" in msg or \"gated\" in msg:\r\n                try:\r\n                    api_with_token = HfApi(token=self.hf_token or False)\r\n                    _ = api_with_token.repo_info(repo_id, timeout=60)\r\n                    return \"public\"\r\n                except GatedRepoError:\r\n                    return \"gated\"\r\n                except Exception:\r\n                    return \"gated\" if not self.hf_token else \"error\"\r\n            return \"error\"\r\n\r\n    def _list_repo_files(self, repo_id, use_token):\r\n        api = self.api if not use_token else HfApi(token=self.hf_token)\r\n        return list(api.list_repo_tree(repo_id, recursive=True))\r\n\r\n    def _select_patterns(self, repo_files, allow_patterns, ignore_patterns):\r\n        final_ignore = [\r\n            \"*.ckpt\",\r\n            \"*.onnx\",\r\n            \"*.h5\",\r\n            \"*.tflite\",\r\n            \"*.pb\",\r\n            \"*.msgpack\",\r\n            \"*.safetensors.index.json\",\r\n            \"*.bin.index.json\",\r\n            \"*.flax\",\r\n            \"*.npz\",\r\n            \"*.tar\",\r\n            \"*.tar.gz\",\r\n            \"*.zip\",\r\n            \"*.rar\",\r\n            \"*.7z\",\r\n            \"*.gz\",\r\n            \"*.bz2\",\r\n            \"*.xz\",\r\n            \"*.md\",\r\n            \"README*\",\r\n            \"LICENSE*\",\r\n            \".*\",\r\n            \".gitattributes\",\r\n            \".git*\",\r\n        ]\r\n        if ignore_patterns:\r\n            final_ignore.extend(ignore_patterns)\r\n        safetensors_files = [f.rfilename for f in repo_files if isinstance(f, RepoFile) and f.rfilename.endswith(\".safetensors\")]\r\n        bin_files = [f.rfilename for f in repo_files if isinstance(f, RepoFile) and f.rfilename.endswith(\".bin\")]\r\n        if safetensors_files and bin_files:\r\n            final_ignore.append(\"*.bin\")\r\n        if safetensors_files or bin_files:\r\n            final_ignore.append(\"*consolidated*\")\r\n        if allow_patterns is None:\r\n            allow_patterns = [\"*.json\", \"*.safetensors\", \"*.bin\", \"*.model\", \"tokenizer*\", \"vocab*\", \"merges.txt\", \"config.yaml\", \"modules.json\", \"1_Pooling/*\", \"sentencepiece.*\", \"spiece.*\"]\r\n        return allow_patterns, final_ignore\r\n\r\n    def _filter_and_size(self, repo_files, allow_patterns, ignore_patterns):\r\n        included_files = []\r\n        ignored_files = []\r\n        total_size = 0\r\n        for file in repo_files:\r\n            if not isinstance(file, RepoFile):\r\n                continue\r\n            path = file.rfilename\r\n            if any(fnmatch.fnmatch(path, pat) for pat in ignore_patterns):\r\n                ignored_files.append(path)\r\n                continue\r\n            if allow_patterns and not any(fnmatch.fnmatch(path, pat) for pat in allow_patterns):\r\n                ignored_files.append(path)\r\n                continue\r\n            included_files.append(path)\r\n            try:\r\n                if file.size is not None:\r\n                    total_size += int(file.size)\r\n            except Exception:\r\n                pass\r\n        return included_files, ignored_files, total_size\r\n\r\n    def download(self, allow_patterns=None, ignore_patterns=None):\r\n        repo_id = self.get_model_url()\r\n        repo_type = self.check_repo_type(repo_id)\r\n        if repo_type not in [\"public\", \"gated\"]:\r\n            if repo_type == \"private\":\r\n                msg = f\"Repository {repo_id} is private and requires a token.\"\r\n                if not self.hf_token:\r\n                    msg += \"\\n\\nNo Hugging Face token found. Set one via the File menu.\"\r\n                print(msg)\r\n                model_downloaded_signal.failed.emit(msg)\r\n                return\r\n            if repo_type == \"not_found\":\r\n                msg = f\"Repository {repo_id} not found.\"\r\n                print(msg)\r\n                model_downloaded_signal.failed.emit(msg)\r\n                return\r\n            msg = f\"Error checking repository {repo_id}.\"\r\n            print(msg)\r\n            model_downloaded_signal.failed.emit(msg)\r\n            return\r\n        if repo_type == \"gated\" and not self.hf_token:\r\n            msg = (\r\n                f\"Repository {repo_id} is gated and requires access and a token.\\n\\n\"\r\n                f\"Visit https://huggingface.co/{repo_id} to request access, then set your \"\r\n                f\"Hugging Face token via the File menu.\"\r\n            )\r\n            print(msg)\r\n            model_downloaded_signal.failed.emit(msg)\r\n            return\r\n        local_dir = self.get_model_directory()\r\n        local_dir.mkdir(parents=True, exist_ok=True)\r\n        atexit.register(self.cleanup_incomplete_download)\r\n        try:\r\n            repo_files = self._list_repo_files(repo_id, use_token=(repo_type == \"gated\"))\r\n            allow_patterns, final_ignore_patterns = self._select_patterns(repo_files, allow_patterns, ignore_patterns)\r\n            included_files, ignored_files, total_size = self._filter_and_size(repo_files, allow_patterns, final_ignore_patterns)\r\n            readable_total_size = humanfriendly.format_size(total_size, binary=True)\r\n            print(f\"\\nTotal size to be downloaded: {readable_total_size}\")\r\n            print(\"\\nFiles to be downloaded:\")\r\n            for f in included_files:\r\n                print(f\"- {f}\")\r\n            print(f\"\\nDownloading to {local_dir}...\")\r\n            download_kwargs = {\r\n                \"repo_id\": repo_id,\r\n                \"local_dir\": str(local_dir),\r\n                \"max_workers\": 8,\r\n                \"local_dir_use_symlinks\": False,\r\n                \"ignore_patterns\": final_ignore_patterns,\r\n                \"allow_patterns\": allow_patterns,\r\n                \"etag_timeout\": 60\r\n            }\r\n            if repo_type == \"gated\" and self.hf_token:\r\n                download_kwargs[\"token\"] = self.hf_token\r\n            else:\r\n                download_kwargs[\"token\"] = False\r\n            snapshot_download(**download_kwargs)\r\n            print(\"\\033[92mModel downloaded and ready to use.\\033[0m\")\r\n            atexit.unregister(self.cleanup_incomplete_download)\r\n            model_downloaded_signal.downloaded.emit(self.get_model_directory_name(), self.model_type)\r\n        except Exception as e:\r\n            msg = f\"An error occurred during download: {str(e)}\"\r\n            print(msg)\r\n            if local_dir.exists():\r\n                import shutil\r\n                shutil.rmtree(local_dir)\r\n            model_downloaded_signal.failed.emit(msg)\r\n\r\ndef download_embedding_model(repo_id, local_dir=None):\r\n    info = {\"repo_id\": repo_id}\r\n    downloader = ModelDownloader(info, \"vector\")\r\n    if local_dir:\r\n        downloader._model_directory = Path(local_dir)\r\n        downloader.local_dir = downloader.get_model_directory()\r\n    downloader.download()\r\n\r\ndef download_chat_model(repo_id, local_dir=None):\r\n    info = {\"repo_id\": repo_id}\r\n    downloader = ModelDownloader(info, \"chat\")\r\n    if local_dir:\r\n        downloader._model_directory = Path(local_dir)\r\n        downloader.local_dir = downloader.get_model_directory()\r\n    downloader.download()\r\n"
  },
  {
    "path": "gui/main_window.py",
    "content": "import sys\n\nfrom ctypes import windll, byref, sizeof, c_int\nfrom ctypes.wintypes import BOOL, HWND, DWORD\n\nfrom PySide6.QtCore import QTimer\n\nfrom PySide6.QtWidgets import (\n    QApplication, QWidget, QVBoxLayout, QTabWidget,\n    QMenuBar, QHBoxLayout, QMessageBox\n)\nfrom core.initialize import main as initialize_system\nfrom gui.metrics_bar import MetricsWidget as MetricsBar\nfrom gui.tabs import create_tabs\nfrom core.utilities import (\n    list_theme_files,\n    load_stylesheet,\n    ensure_theme_config,\n    update_theme_in_config,\n    make_theme_changer,\n    download_kokoro_tts,\n    download_with_threadpool,\n)\nfrom gui.credentials import manage_credentials\nfrom chat.jeeves import launch_jeeves_process\nfrom core.constants import PROJECT_ROOT\n\nscript_dir = PROJECT_ROOT\n\nclass DocQA_GUI(QWidget):\n    def __init__(self):\n        super().__init__()\n        initialize_system()\n        self.metrics_bar = MetricsBar()\n        self.tab_widget = create_tabs()\n        self.init_ui()\n        self.init_menu()\n        self.jeeves_process = None\n        self.set_dark_titlebar()\n\n    def set_dark_titlebar(self):\n        DWMWA_USE_IMMERSIVE_DARK_MODE = DWORD(20)\n        set_window_attribute = windll.dwmapi.DwmSetWindowAttribute\n        hwnd = HWND(int(self.winId()))\n        rendering_policy = BOOL(True)\n        set_window_attribute(\n            hwnd,\n            DWMWA_USE_IMMERSIVE_DARK_MODE,\n            byref(rendering_policy), \n            sizeof(rendering_policy)\n        )\n\n        DWMWA_BORDER_COLOR = DWORD(34)\n        black_color = c_int(0xFF000000)\n        set_window_attribute(\n            hwnd,\n            DWMWA_BORDER_COLOR,\n            byref(black_color),\n            sizeof(black_color)\n        )\n\n    def init_ui(self):\n        self.setWindowTitle('VectorDB Plugin')\n        self.setGeometry(300, 300, 820, 1000)\n        self.setMinimumSize(350, 410)\n\n        main_layout = QVBoxLayout(self)\n\n        main_layout.addWidget(self.tab_widget)\n\n        metrics_layout = QHBoxLayout()\n        metrics_layout.addWidget(self.metrics_bar)\n\n        self.metrics_bar.setMaximumHeight(80)\n\n        main_layout.addLayout(metrics_layout)\n\n    def init_menu(self):\n        self.menu_bar = QMenuBar(self)\n        self.layout().setMenuBar(self.menu_bar)\n\n        self.file_menu = self.menu_bar.addMenu('File')\n\n        self.theme_menu = self.file_menu.addMenu('Themes')\n        for theme in list_theme_files():\n            self.theme_menu.addAction(theme).triggered.connect(make_theme_changer(theme))\n\n        self.hf_token_menu = self.file_menu.addAction('Hugging Face Access Token')\n        self.hf_token_menu.triggered.connect(lambda: manage_credentials(self, 'hf'))\n\n        self.minimax_key_menu = self.file_menu.addAction('MiniMax API Key')\n        self.minimax_key_menu.triggered.connect(lambda: manage_credentials(self, 'minimax'))\n\n        self.file_menu.addSeparator()\n\n        self.chat_backends_menu = self.file_menu.addAction('Chat Backend Settings…')\n        self.chat_backends_menu.triggered.connect(self.open_chat_backends_dialog)\n\n        self.jeeves_action = self.menu_bar.addAction('Jeeves')\n        self.jeeves_action.triggered.connect(self.open_chat_window)\n\n    def open_chat_backends_dialog(self):\n        from gui.dialogs.ai_backends_dialog import AIBackendsDialog\n        AIBackendsDialog(self).exec()\n\n    def open_chat_window(self):\n        import multiprocessing\n\n        self.jeeves_action.setEnabled(False)\n        QTimer.singleShot(5000, lambda: self.jeeves_action.setEnabled(True))\n\n        required_folder = script_dir / 'Models' / 'vector' / 'BAAI--bge-small-en-v1.5'\n        if not required_folder.exists() or not required_folder.is_dir():\n            QMessageBox.warning(\n                self,\n                \"Ask Jeeves\",\n                \"Before using Jeeves you must download the bge-small-en-v1.5 embedding model, which you can do from the Models tab. Jeeves is waiting.\"\n            )\n            return\n\n        tts_path = script_dir / \"Models\" / \"tts\" / \"ctranslate2-4you--Kokoro-82M-light\"\n        if not tts_path.exists() or not tts_path.is_dir():\n            ret = QMessageBox.question(\n                self,\n                \"Kokoro TTS Model Not Found\",\n                \"The Kokoro TTS model is missing!\\n\\nWould you like to download it now?\",\n                QMessageBox.Yes | QMessageBox.No,\n                QMessageBox.Yes\n            )\n            if ret == QMessageBox.Yes:\n                def on_kokoro_download_complete(success, message):\n                    if success:\n                        QMessageBox.information(\n                            self,\n                            \"Download Complete\",\n                            \"Kokoro TTS model has been downloaded successfully.\"\n                        )\n                    else:\n                        QMessageBox.critical(\n                            self,\n                            \"Download Error\",\n                            f\"Failed to download Kokoro TTS model: {message}\"\n                        )\n                download_with_threadpool(download_kokoro_tts, callback=on_kokoro_download_complete)\n                return\n\n        if self.jeeves_process and self.jeeves_process.is_alive():\n            self.jeeves_process.terminate()\n            self.jeeves_process.join(timeout=3)\n            if self.jeeves_process.is_alive():\n                self.jeeves_process.kill()\n                self.jeeves_process.join()\n            self.jeeves_process.close()\n\n        if sys.platform == 'win32':\n            multiprocessing.freeze_support()\n        \n        self.jeeves_process = multiprocessing.Process(target=launch_jeeves_process)\n        self.jeeves_process.start()\n\n    def closeEvent(self, event):\n        if self.jeeves_process and self.jeeves_process.is_alive():\n            self.jeeves_process.terminate()\n            self.jeeves_process.join(timeout=3)\n            if self.jeeves_process.is_alive():\n                self.jeeves_process.kill()\n                self.jeeves_process.join()\n            self.jeeves_process.close()\n\n        try:\n            from db.process_manager import get_process_manager\n            get_process_manager().cleanup_all(timeout=5.0)\n        except Exception:\n            pass\n\n        docs_dir = PROJECT_ROOT / 'Docs_for_DB'\n        for item in docs_dir.glob('*'):\n            if item.is_file():\n                item.unlink()\n        self.metrics_bar.stop_metrics_collector()\n\n        for i in range(self.tab_widget.count()):\n            tab = self.tab_widget.widget(i)\n            if hasattr(tab, 'cleanup') and callable(tab.cleanup):\n                tab.cleanup()\n\n        super().closeEvent(event)\n\ndef main():\n    from PySide6.QtCore import Qt\n\n    if hasattr(QApplication, 'setHighDpiScaleFactorRoundingPolicy'):\n        QApplication.setHighDpiScaleFactorRoundingPolicy(Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)\n    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)\n    QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)\n\n    app = QApplication(sys.argv)\n\n    theme = ensure_theme_config()\n    app.setStyleSheet(load_stylesheet(theme))\n\n    ex = DocQA_GUI()\n    ex.show()\n\n    sys.exit(app.exec())\n"
  },
  {
    "path": "gui/metrics_bar.py",
    "content": "from dataclasses import dataclass\r\nfrom collections import deque\r\nfrom datetime import datetime\r\nfrom enum import IntEnum\r\nfrom functools import lru_cache\r\nfrom typing import Optional, List\r\nimport csv\r\nimport subprocess\r\nimport psutil\r\nfrom PySide6.QtCore import Qt, QObject, QPointF, QTimer, QThread, Signal\r\nfrom PySide6.QtWidgets import QWidget, QVBoxLayout, QGridLayout, QLabel, QProgressBar, QMenu\r\nfrom PySide6.QtGui import QPainter, QColor, QPolygon, QPainterPath, QPen, QPixmap, QLinearGradient\r\nfrom math import sin, cos, pi\r\n\r\nPALETTE = {\r\n    \"CPU\": \"#FF4136\",\r\n    \"RAM\": \"#B10DC9\",\r\n    \"GPU\": \"#0074D9\",\r\n    \"VRAM\": \"#2ECC40\",\r\n    \"GPU_POWER\": \"#FFD700\"\r\n}\r\n\r\n@dataclass\r\nclass SystemMetrics:\r\n    timestamp: datetime\r\n    cpu_usage: float\r\n    ram_usage_percent: float\r\n    gpu_utilization: Optional[float] = None\r\n    vram_usage_percent: Optional[float] = None\r\n    power_usage_percent: Optional[float] = None\r\n    power_limit_percent: Optional[float] = None\r\n\r\ndef is_nvidia_gpu_available():\r\n    try:\r\n        subprocess.check_output([\"nvidia-smi\"], stderr=subprocess.STDOUT)\r\n        return True\r\n    except (FileNotFoundError, subprocess.CalledProcessError):\r\n        return False\r\n\r\nHAS_NVIDIA_GPU = is_nvidia_gpu_available()\r\nif HAS_NVIDIA_GPU:\r\n    import pynvml\r\n    pynvml.nvmlInit()\r\n    HANDLE = pynvml.nvmlDeviceGetHandleByIndex(0)\r\n    def _shutdown_nvml():\r\n        try:\r\n            pynvml.nvmlShutdown()\r\n        except Exception:\r\n            pass\r\nelse:\r\n    HANDLE = None\r\n\r\nclass MetricsStore(QObject):\r\n    metrics_added = Signal(object)\r\n    def __init__(self, buffer_size: int = 100):\r\n        super().__init__()\r\n        self._history: deque[SystemMetrics] = deque(maxlen=buffer_size)\r\n    def add_metrics(self, metrics: SystemMetrics) -> None:\r\n        self._history.append(metrics)\r\n        self.metrics_added.emit(metrics)\r\n    def subscribe(self, callback):\r\n        self.metrics_added.connect(callback)\r\n    def unsubscribe(self, callback):\r\n        try:\r\n            self.metrics_added.disconnect(callback)\r\n        except Exception:\r\n            pass\r\n    @property\r\n    def history(self) -> List[SystemMetrics]:\r\n        return list(self._history)\r\n\r\nclass BatchCSVLogger(QObject):\r\n    def __init__(self, filepath: str, flush_interval: int = 5000):\r\n        super().__init__()\r\n        self.filepath = filepath\r\n        self.flush_interval = flush_interval\r\n        self.buffer = []\r\n        self.file = open(self.filepath, 'w', newline='')\r\n        self.writer = csv.writer(self.file)\r\n        self.writer.writerow(['timestamp', 'cpu_usage', 'ram_usage_percent', 'gpu_utilization', 'vram_usage_percent', 'power_usage_percent'])\r\n        self.timer = QTimer(self)\r\n        self.timer.setInterval(self.flush_interval)\r\n        self.timer.timeout.connect(self.flush)\r\n        self.timer.start()\r\n    def __enter__(self):\r\n        return self\r\n    def __exit__(self, exc_type, exc_val, exc_tb):\r\n        self.close()\r\n    def log(self, metrics):\r\n        self.buffer.append(metrics)\r\n    def flush(self):\r\n        if not self.buffer:\r\n            return\r\n        for m in self.buffer:\r\n            self.writer.writerow([m.timestamp.isoformat(), m.cpu_usage, m.ram_usage_percent, m.gpu_utilization if m.gpu_utilization is not None else '', m.vram_usage_percent if m.vram_usage_percent is not None else '', m.power_usage_percent if m.power_usage_percent is not None else ''])\r\n        self.file.flush()\r\n        self.buffer.clear()\r\n    def close(self):\r\n        self.timer.stop()\r\n        self.flush()\r\n        self.file.close()\r\n    def __del__(self):\r\n        try:\r\n            self.close()\r\n        except Exception:\r\n            pass\r\n\r\ndef collect_cpu_metrics():\r\n    cpu_times = psutil.cpu_times_percent(interval=None, percpu=True)\r\n    cpu_percentages = []\r\n    for cpu in cpu_times:\r\n        total_active = sum(v for f, v in cpu._asdict().items() if f not in ('idle', 'iowait'))\r\n        cpu_percentages.append(total_active)\r\n    return sum(cpu_percentages) / len(cpu_percentages)\r\n\r\ndef collect_ram_metrics():\r\n    ram = psutil.virtual_memory()\r\n    return ram.percent, ram.used\r\n\r\ndef collect_gpu_metrics(handle):\r\n    if handle is None:\r\n        return None, None\r\n    memory_info = pynvml.nvmlDeviceGetMemoryInfo(handle)\r\n    gpu_utilization = pynvml.nvmlDeviceGetUtilizationRates(handle).gpu\r\n    vram_usage_percent = (memory_info.used / memory_info.total) * 100 if memory_info.total else 0\r\n    return gpu_utilization, vram_usage_percent\r\n\r\ndef collect_power_metrics(handle):\r\n    if handle is None:\r\n        return None, None\r\n    try:\r\n        power_usage = pynvml.nvmlDeviceGetPowerUsage(handle) / 1000.0\r\n    except pynvml.NVMLError:\r\n        return None, None\r\n    try:\r\n        power_limit = pynvml.nvmlDeviceGetPowerManagementLimit(handle) / 1000.0\r\n    except pynvml.NVMLError_NotSupported:\r\n        try:\r\n            power_limit = pynvml.nvmlDeviceGetEnforcedPowerLimit(handle) / 1000.0\r\n        except pynvml.NVMLError:\r\n            power_limit = None\r\n    if power_limit and power_limit > 0:\r\n        power_percentage = (power_usage / power_limit) * 100\r\n    else:\r\n        power_percentage = 0\r\n    return power_percentage, power_limit\r\n\r\nclass MetricsCollectorThread(QThread):\r\n    metrics_updated = Signal(object)\r\n    def __init__(self, interval: int = 200):\r\n        super().__init__()\r\n        self.interval = interval\r\n        self.gpu_available = HAS_NVIDIA_GPU\r\n    def _collect_once(self):\r\n        try:\r\n            cpu_usage = collect_cpu_metrics()\r\n            ram_usage_percent, _ = collect_ram_metrics()\r\n            if self.gpu_available:\r\n                gpu_util, vram_usage = collect_gpu_metrics(HANDLE)\r\n                power_usage, power_limit = collect_power_metrics(HANDLE)\r\n            else:\r\n                gpu_util = vram_usage = power_usage = power_limit = None\r\n            metrics = SystemMetrics(timestamp=datetime.now(), cpu_usage=cpu_usage, ram_usage_percent=ram_usage_percent, gpu_utilization=gpu_util, vram_usage_percent=vram_usage, power_usage_percent=power_usage, power_limit_percent=power_limit)\r\n            self.metrics_updated.emit(metrics)\r\n        except Exception as e:\r\n            print(f\"Error collecting metrics: {e}\")\r\n    def run(self):\r\n        timer = QTimer()\r\n        timer.setInterval(self.interval)\r\n        timer.timeout.connect(self._collect_once)\r\n        timer.start()\r\n        self.exec()\r\n    def stop(self):\r\n        self.quit()\r\n        self.wait()\r\n\r\nclass BaseVisualization(QWidget):\r\n    _metric_mappings = []\r\n    _gpu_metric_mappings = []\r\n    def __init__(self, metrics_store: MetricsStore):\r\n        super().__init__()\r\n        self.metrics_store = metrics_store\r\n        self.metrics_store.subscribe(self.update_metrics)\r\n        self.has_nvidia_gpu = HAS_NVIDIA_GPU\r\n    def _update_widget(self, widget, value):\r\n        raise NotImplementedError\r\n    def _format_label(self, prefix, value):\r\n        return f\"{prefix} {value:.1f}%\"\r\n    def update_metrics(self, m: SystemMetrics):\r\n        for attr_name, widget_attr, label_attr, prefix in self._metric_mappings:\r\n            value = getattr(m, attr_name)\r\n            self._update_widget(getattr(self, widget_attr), value)\r\n            getattr(self, label_attr).setText(self._format_label(prefix, value))\r\n        if self.has_nvidia_gpu:\r\n            for attr_name, widget_attr, label_attr, prefix in self._gpu_metric_mappings:\r\n                value = getattr(m, attr_name)\r\n                if value is not None:\r\n                    self._update_widget(getattr(self, widget_attr), value)\r\n                    getattr(self, label_attr).setText(self._format_label(prefix, value))\r\n    def cleanup(self):\r\n        self.metrics_store.unsubscribe(self.update_metrics)\r\n\r\ndef color_for(name: str) -> str:\r\n    return PALETTE[name]\r\n\r\nclass BarVisualization(BaseVisualization):\r\n    def __init__(self, metrics_store: MetricsStore):\r\n        super().__init__(metrics_store)\r\n        self.initUI()\r\n        self._metric_mappings = [\r\n            (\"cpu_usage\", \"cpu_bar\", \"cpu_percent_label\", \"CPU\"),\r\n            (\"ram_usage_percent\", \"ram_bar\", \"ram_percent_label\", \"RAM\"),\r\n        ]\r\n        if self.has_nvidia_gpu:\r\n            self._gpu_metric_mappings = [\r\n                (\"gpu_utilization\", \"gpu_bar\", \"gpu_percent_label\", \"GPU\"),\r\n                (\"vram_usage_percent\", \"vram_bar\", \"vram_percent_label\", \"VRAM\"),\r\n                (\"power_usage_percent\", \"power_bar\", \"power_percent_label\", \"GPU Power\"),\r\n            ]\r\n    def _update_widget(self, widget, value):\r\n        widget.setValue(int(value))\r\n    def _format_label(self, prefix, value):\r\n        return f\"{int(value)}%\"\r\n    def initUI(self):\r\n        grid_layout = QGridLayout(self)\r\n        grid_layout.setSpacing(0)\r\n        grid_layout.setContentsMargins(0, 0, 0, 0)\r\n        self.cpu_bar, self.cpu_percent_label = self.add_metric_to_grid(\"CPU Usage:\", color_for(\"CPU\"), grid_layout, 0)\r\n        self.ram_bar, self.ram_percent_label = self.add_metric_to_grid(\"RAM Usage:\", color_for(\"RAM\"), grid_layout, 1)\r\n        if self.has_nvidia_gpu:\r\n            self.gpu_bar, self.gpu_percent_label = self.add_metric_to_grid(\"GPU Usage:\", color_for(\"GPU\"), grid_layout, 2)\r\n            self.vram_bar, self.vram_percent_label = self.add_metric_to_grid(\"VRAM Usage:\", color_for(\"VRAM\"), grid_layout, 3)\r\n            self.power_bar, self.power_percent_label = self.add_metric_to_grid(\"GPU Power:\", color_for(\"GPU_POWER\"), grid_layout, 4)\r\n    def add_metric_to_grid(self, label_text, color, grid_layout, row):\r\n        label = QLabel(label_text)\r\n        grid_layout.addWidget(label, row, 0)\r\n        percent_label = QLabel(\"0%\")\r\n        grid_layout.addWidget(percent_label, row, 1)\r\n        progress_bar = self.create_progress_bar(color)\r\n        grid_layout.addWidget(progress_bar, row, 2)\r\n        return progress_bar, percent_label\r\n    def create_progress_bar(self, color):\r\n        bar = QProgressBar()\r\n        bar.setMaximum(100)\r\n        bar.setMaximumHeight(11)\r\n        bar.setStyleSheet(f\"QProgressBar {{ background-color: #1e2126; border: none; }}QProgressBar::chunk {{ background-color: {color}; }}\")\r\n        bar.setTextVisible(False)\r\n        return bar\r\n\r\n@lru_cache(maxsize=8)\r\ndef gradient_pixmap(color: str, height: int) -> QPixmap:\r\n    pixmap = QPixmap(1, height)\r\n    pixmap.fill(Qt.transparent)\r\n    painter = QPainter(pixmap)\r\n    gradient = QLinearGradient(0, 0, 0, height)\r\n    fill_color = QColor(color)\r\n    fill_color.setAlpha(60)\r\n    gradient.setColorAt(0, fill_color)\r\n    gradient.setColorAt(1, QColor(0, 0, 0, 0))\r\n    painter.fillRect(pixmap.rect(), gradient)\r\n    painter.end()\r\n    return pixmap\r\n\r\nclass Sparkline(QWidget):\r\n    def __init__(self, max_values=125, color=\"#0074D9\"):\r\n        super().__init__()\r\n        self.values = deque(maxlen=max_values)\r\n        self.setFixedSize(125, 65)\r\n        self.color = QColor(color)\r\n    def add_value(self, value):\r\n        self.values.append(value)\r\n        self.update()\r\n    def paintEvent(self, event):\r\n        if not self.values:\r\n            return\r\n        painter = QPainter(self)\r\n        painter.setRenderHint(QPainter.Antialiasing)\r\n        width = self.width()\r\n        height = self.height()\r\n        margin = 5\r\n        min_value = 0\r\n        max_value = 100\r\n        value_range = max_value - min_value\r\n        path = QPainterPath()\r\n        x_step = (width - 2 * margin) / (len(self.values) - 1) if len(self.values) > 1 else 0\r\n        points = []\r\n        for i, value in enumerate(self.values):\r\n            x = margin + i * x_step\r\n            y = height - margin - (value / value_range) * (height - 2 * margin)\r\n            points.append(QPointF(x, y))\r\n            if i == 0:\r\n                path.moveTo(x, y)\r\n            else:\r\n                path.lineTo(x, y)\r\n        fill_path = QPainterPath(path)\r\n        fill_path.lineTo(points[-1].x(), height - margin)\r\n        fill_path.lineTo(points[0].x(), height - margin)\r\n        fill_path.closeSubpath()\r\n        painter.save()\r\n        painter.setClipPath(fill_path)\r\n        grad_pm = gradient_pixmap(self.color.name(), height)\r\n        for x in range(0, width, grad_pm.width()):\r\n            painter.drawPixmap(x, 0, grad_pm)\r\n        painter.restore()\r\n        painter.setPen(QPen(self.color, 1))\r\n        painter.setBrush(Qt.NoBrush)\r\n        painter.drawPath(path)\r\n\r\nclass SparklineVisualization(BaseVisualization):\r\n    def __init__(self, metrics_store: MetricsStore):\r\n        super().__init__(metrics_store)\r\n        self.initUI()\r\n        self._metric_mappings = [\r\n            (\"cpu_usage\", \"cpu_spark\", \"cpu_lbl\", \"CPU\"),\r\n            (\"ram_usage_percent\", \"ram_spark\", \"ram_lbl\", \"RAM\"),\r\n        ]\r\n        if self.has_nvidia_gpu:\r\n            self._gpu_metric_mappings = [\r\n                (\"gpu_utilization\", \"gpu_spark\", \"gpu_lbl\", \"GPU\"),\r\n                (\"vram_usage_percent\", \"vram_spark\", \"vram_lbl\", \"VRAM\"),\r\n                (\"power_usage_percent\", \"power_spark\", \"power_lbl\", \"GPU Power\"),\r\n            ]\r\n    def _update_widget(self, widget, value):\r\n        widget.add_value(value)\r\n    def initUI(self):\r\n        main_layout = QGridLayout(self)\r\n        main_layout.setSpacing(1)\r\n        main_layout.setContentsMargins(1, 1, 1, 1)\r\n        def create_group(name, color_key):\r\n            w = QWidget()\r\n            l = QVBoxLayout(w)\r\n            l.setSpacing(1)\r\n            l.setContentsMargins(0, 0, 0, 0)\r\n            s = Sparkline(color=color_for(color_key))\r\n            l.addWidget(s, alignment=Qt.AlignCenter)\r\n            lbl = QLabel(f\"{name} 0.0%\")\r\n            lbl.setAlignment(Qt.AlignCenter)\r\n            l.addWidget(lbl, alignment=Qt.AlignCenter)\r\n            return w, s, lbl\r\n        cpu_group, self.cpu_spark, self.cpu_lbl = create_group(\"CPU\", \"CPU\")\r\n        main_layout.addWidget(cpu_group, 0, 0)\r\n        ram_group, self.ram_spark, self.ram_lbl = create_group(\"RAM\", \"RAM\")\r\n        main_layout.addWidget(ram_group, 0, 1)\r\n        if self.has_nvidia_gpu:\r\n            gpu_group, self.gpu_spark, self.gpu_lbl = create_group(\"GPU\", \"GPU\")\r\n            main_layout.addWidget(gpu_group, 0, 2)\r\n            vram_group, self.vram_spark, self.vram_lbl = create_group(\"VRAM\", \"VRAM\")\r\n            main_layout.addWidget(vram_group, 0, 3)\r\n            power_group, self.power_spark, self.power_lbl = create_group(\"GPU Power\", \"GPU_POWER\")\r\n            main_layout.addWidget(power_group, 0, 4)\r\n        for i in range(main_layout.columnCount()):\r\n            main_layout.setColumnStretch(i, 1)\r\n\r\nclass Speedometer(QWidget):\r\n    def __init__(self, min_value=0, max_value=100, colors=None):\r\n        super().__init__()\r\n        self.min_value = min_value\r\n        self.max_value = max_value\r\n        self.current_value = 0\r\n        self.colors = colors or [\"#00FF00\", \"#FFFF00\", \"#FF0000\"]\r\n        self.setFixedSize(105, 105)\r\n    def set_value(self, value):\r\n        self.current_value = max(self.min_value, min(self.max_value, value))\r\n        self.update()\r\n    def get_color_at_angle(self, angle):\r\n        t = angle / 180\r\n        if t <= 0:\r\n            return QColor(self.colors[0])\r\n        if t >= 1:\r\n            return QColor(self.colors[-1])\r\n        segment = t * (len(self.colors) - 1)\r\n        idx = int(segment)\r\n        t = segment - idx\r\n        idx = min(idx, len(self.colors) - 2)\r\n        c1 = QColor(self.colors[idx])\r\n        c2 = QColor(self.colors[idx + 1])\r\n        r = int(c1.red() * (1 - t) + c2.red() * t)\r\n        g = int(c1.green() * (1 - t) + c2.green() * t)\r\n        b = int(c1.blue() * (1 - t) + c2.blue() * t)\r\n        return QColor(r, g, b)\r\n    def paintEvent(self, event):\r\n        painter = QPainter(self)\r\n        painter.setRenderHint(QPainter.Antialiasing)\r\n        w = self.width()\r\n        h = self.height()\r\n        cx = w / 2\r\n        cy = h / 2\r\n        r = min(w, h) / 2 * 0.7\r\n        start_angle = 180 * 16\r\n        for i in range(180):\r\n            painter.setPen(self.get_color_at_angle(i))\r\n            painter.drawArc(cx - r, cy - r, r * 2, r * 2, start_angle - i * 16, -16)\r\n        angle = 180 - (self.current_value - self.min_value) / (self.max_value - self.min_value) * 180\r\n        n_len = r * 0.9\r\n        n_w = 5\r\n        rad = angle * (pi / 180)\r\n        tip_x = cx + n_len * cos(rad)\r\n        tip_y = cy - n_len * sin(rad)\r\n        perp = rad + pi / 2\r\n        hw = n_w / 2\r\n        p1 = QPointF(cx + hw * cos(perp), cy - hw * sin(perp))\r\n        p2 = QPointF(cx - hw * cos(perp), cy + hw * sin(perp))\r\n        needle = QPolygon([p1.toPoint(), p2.toPoint(), QPointF(tip_x, tip_y).toPoint()])\r\n        painter.setPen(Qt.NoPen)\r\n        painter.setBrush(Qt.white)\r\n        painter.drawPolygon(needle)\r\n\r\nclass SpeedometerVisualization(BaseVisualization):\r\n    def __init__(self, metrics_store: MetricsStore):\r\n        super().__init__(metrics_store)\r\n        self.initUI()\r\n        self._metric_mappings = [\r\n            (\"cpu_usage\", \"cpu_sm\", \"cpu_lbl\", \"CPU\"),\r\n            (\"ram_usage_percent\", \"ram_sm\", \"ram_lbl\", \"RAM\"),\r\n        ]\r\n        if self.has_nvidia_gpu:\r\n            self._gpu_metric_mappings = [\r\n                (\"gpu_utilization\", \"gpu_sm\", \"gpu_lbl\", \"GPU\"),\r\n                (\"vram_usage_percent\", \"vram_sm\", \"vram_lbl\", \"VRAM\"),\r\n                (\"power_usage_percent\", \"power_sm\", \"power_lbl\", \"GPU Power\"),\r\n            ]\r\n    def _update_widget(self, widget, value):\r\n        widget.set_value(value)\r\n    def initUI(self):\r\n        main_layout = QGridLayout(self)\r\n        main_layout.setSpacing(1)\r\n        main_layout.setContentsMargins(1, 1, 1, 1)\r\n        def create_group(name, color_key=None):\r\n            l = QVBoxLayout()\r\n            l.setSpacing(2)\r\n            sm = Speedometer(colors=[\"#00FF00\", \"#FFFF00\", \"#FF0000\"])\r\n            sm.setFixedSize(105, 105)\r\n            l.addWidget(sm, alignment=Qt.AlignCenter)\r\n            lbl = QLabel(f\"{name} 0.0%\")\r\n            lbl.setAlignment(Qt.AlignCenter)\r\n            l.addWidget(lbl, alignment=Qt.AlignCenter)\r\n            return l, sm, lbl\r\n        cpu_group, self.cpu_sm, self.cpu_lbl = create_group(\"CPU\")\r\n        main_layout.addLayout(cpu_group, 0, 0)\r\n        ram_group, self.ram_sm, self.ram_lbl = create_group(\"RAM\")\r\n        main_layout.addLayout(ram_group, 0, 1)\r\n        if self.has_nvidia_gpu:\r\n            gpu_group, self.gpu_sm, self.gpu_lbl = create_group(\"GPU\")\r\n            main_layout.addLayout(gpu_group, 0, 2)\r\n            vram_group, self.vram_sm, self.vram_lbl = create_group(\"VRAM\")\r\n            main_layout.addLayout(vram_group, 0, 3)\r\n            power_group, self.power_sm, self.power_lbl = create_group(\"GPU Power\")\r\n            main_layout.addLayout(power_group, 0, 4)\r\n        for i in range(main_layout.columnCount()):\r\n            main_layout.setColumnStretch(i, 1)\r\n\r\n@lru_cache(maxsize=8)\r\ndef arc_background(w: int, h: int) -> QPixmap:\r\n    pm = QPixmap(w, h)\r\n    pm.fill(Qt.transparent)\r\n    painter = QPainter(pm)\r\n    painter.setRenderHint(QPainter.Antialiasing)\r\n    r = min(w, h) / 2 - 10\r\n    c = QPointF(w / 2, h / 2)\r\n    painter.setPen(QPen(QColor(\"#1e2126\"), 8))\r\n    painter.drawArc(int(c.x() - r), int(c.y() - r), int(r * 2), int(r * 2), 180 * 16, -180 * 16)\r\n    painter.end()\r\n    return pm\r\n\r\nclass ArcGraph(QWidget):\r\n    def __init__(self, color=\"#0074D9\"):\r\n        super().__init__()\r\n        self.color = QColor(color)\r\n        self.value = 0\r\n        self.setFixedSize(100, 100)\r\n    def set_value(self, value):\r\n        self.value = min(100, max(0, value))\r\n        self.update()\r\n    def paintEvent(self, event):\r\n        bg = arc_background(self.width(), self.height())\r\n        painter = QPainter(self)\r\n        painter.drawPixmap(0, 0, bg)\r\n        painter.setRenderHint(QPainter.Antialiasing)\r\n        w = self.width()\r\n        h = self.height()\r\n        r = min(w, h) / 2 - 10\r\n        c = QPointF(w / 2, h / 2)\r\n        painter.setPen(QPen(self.color, 8))\r\n        span = -(self.value / 100.0) * 180\r\n        painter.drawArc(int(c.x() - r), int(c.y() - r), int(r * 2), int(r * 2), 180 * 16, span * 16)\r\n        painter.setPen(Qt.white)\r\n        f = painter.font()\r\n        f.setPointSize(14)\r\n        painter.setFont(f)\r\n        painter.drawText(self.rect(), Qt.AlignCenter, f\"{int(self.value)}%\")\r\n\r\nclass ArcGraphVisualization(BaseVisualization):\r\n    def __init__(self, metrics_store: MetricsStore):\r\n        super().__init__(metrics_store)\r\n        self.initUI()\r\n        self._metric_mappings = [\r\n            (\"cpu_usage\", \"cpu_arc\", \"cpu_lbl\", \"CPU\"),\r\n            (\"ram_usage_percent\", \"ram_arc\", \"ram_lbl\", \"RAM\"),\r\n        ]\r\n        if self.has_nvidia_gpu:\r\n            self._gpu_metric_mappings = [\r\n                (\"gpu_utilization\", \"gpu_arc\", \"gpu_lbl\", \"GPU\"),\r\n                (\"vram_usage_percent\", \"vram_arc\", \"vram_lbl\", \"VRAM\"),\r\n                (\"power_usage_percent\", \"power_arc\", \"power_lbl\", \"GPU Power\"),\r\n            ]\r\n    def _update_widget(self, widget, value):\r\n        widget.set_value(value)\r\n    def initUI(self):\r\n        main_layout = QGridLayout(self)\r\n        main_layout.setSpacing(1)\r\n        main_layout.setContentsMargins(1, 1, 1, 1)\r\n        def create_group(name, color_key):\r\n            l = QVBoxLayout()\r\n            l.setSpacing(2)\r\n            arc = ArcGraph(color=color_for(color_key))\r\n            l.addWidget(arc, alignment=Qt.AlignCenter)\r\n            lbl = QLabel(name)\r\n            lbl.setAlignment(Qt.AlignCenter)\r\n            l.addWidget(lbl, alignment=Qt.AlignCenter)\r\n            return l, arc, lbl\r\n        cpu_group, self.cpu_arc, self.cpu_lbl = create_group(\"CPU\", \"CPU\")\r\n        main_layout.addLayout(cpu_group, 0, 0)\r\n        ram_group, self.ram_arc, self.ram_lbl = create_group(\"RAM\", \"RAM\")\r\n        main_layout.addLayout(ram_group, 0, 1)\r\n        if self.has_nvidia_gpu:\r\n            gpu_group, self.gpu_arc, self.gpu_lbl = create_group(\"GPU\", \"GPU\")\r\n            main_layout.addLayout(gpu_group, 0, 2)\r\n            vram_group, self.vram_arc, self.vram_lbl = create_group(\"VRAM\", \"VRAM\")\r\n            main_layout.addLayout(vram_group, 0, 3)\r\n            power_group, self.power_arc, self.power_lbl = create_group(\"GPU Power\", \"GPU_POWER\")\r\n            main_layout.addLayout(power_group, 0, 4)\r\n        for i in range(main_layout.columnCount()):\r\n            main_layout.setColumnStretch(i, 1)\r\n\r\nclass VizType(IntEnum):\r\n    BAR = 0\r\n    SPARKLINE = 1\r\n    SPEEDO = 2\r\n    ARC = 3\r\n\r\nVIZ_FACTORY = {\r\n    VizType.BAR: BarVisualization,\r\n    VizType.SPARKLINE: SparklineVisualization,\r\n    VizType.SPEEDO: SpeedometerVisualization,\r\n    VizType.ARC: ArcGraphVisualization\r\n}\r\n\r\nclass MetricsWidget(QWidget):\r\n    def __init__(self, parent=None):\r\n        super().__init__(parent)\r\n        self.metrics_store = MetricsStore(buffer_size=100)\r\n        self.init_ui()\r\n        self.current_visualization_type = VizType.SPARKLINE\r\n        self.setToolTip(\"Right click for display options\")\r\n        self.collector_thread = MetricsCollectorThread()\r\n        self.collector_thread.metrics_updated.connect(self.metrics_store.add_metrics)\r\n        self.start_metrics_collector()\r\n    def init_ui(self):\r\n        self.layout = QVBoxLayout(self)\r\n        self.layout.setContentsMargins(0, 0, 0, 0)\r\n        self.current_visualization = VIZ_FACTORY[VizType.SPARKLINE](self.metrics_store)\r\n        self.layout.addWidget(self.current_visualization)\r\n    def contextMenuEvent(self, event):\r\n        menu = QMenu(self)\r\n        visual_menu = menu.addMenu(\"Visualization\")\r\n        bar_action = visual_menu.addAction(\"Bar\")\r\n        spark_action = visual_menu.addAction(\"Sparkline\")\r\n        speed_action = visual_menu.addAction(\"Speedometer\")\r\n        arc_action = visual_menu.addAction(\"Arc\")\r\n        actions_map = {bar_action: VizType.BAR, spark_action: VizType.SPARKLINE, speed_action: VizType.SPEEDO, arc_action: VizType.ARC}\r\n        actions_map_inv = {v: k for k, v in actions_map.items()}\r\n        actions_map_inv[self.current_visualization_type].setCheckable(True)\r\n        actions_map_inv[self.current_visualization_type].setChecked(True)\r\n        menu.addSeparator()\r\n        running = self.collector_thread and self.collector_thread.isRunning()\r\n        control_action = menu.addAction(\"Stop Monitoring\" if running else \"Start Monitoring\")\r\n        action = menu.exec_(event.globalPos())\r\n        if action in actions_map:\r\n            self.change_visualization(actions_map[action])\r\n        elif action == control_action:\r\n            if running:\r\n                self.stop_metrics_collector()\r\n            else:\r\n                self.start_metrics_collector()\r\n\r\n    def change_visualization(self, kind: VizType):\r\n        if kind == self.current_visualization_type:\r\n            return\r\n        self.current_visualization_type = kind\r\n        self.current_visualization.cleanup()\r\n        self.layout.removeWidget(self.current_visualization)\r\n        self.current_visualization.deleteLater()\r\n        self.current_visualization = VIZ_FACTORY[kind](self.metrics_store)\r\n        self.current_visualization.setToolTip(\"Right click for display options\")\r\n        self.layout.addWidget(self.current_visualization)\r\n\r\n    def start_metrics_collector(self):\r\n        if not self.collector_thread.isRunning():\r\n            self.collector_thread.start()\r\n\r\n    def stop_metrics_collector(self):\r\n        if self.collector_thread.isRunning():\r\n            self.collector_thread.stop()\r\n\r\n    def cleanup(self):\r\n        if self.collector_thread.isRunning():\r\n            self.collector_thread.stop()\r\n        self.current_visualization.cleanup()\r\n\r\n        if HAS_NVIDIA_GPU:\r\n            try:\r\n                import pynvml\r\n                pynvml.nvmlShutdown()\r\n            except Exception:\r\n                pass\r\n\r\n    def closeEvent(self, event):\r\n        self.cleanup()\r\n        super().closeEvent(event)\r\n"
  },
  {
    "path": "gui/tabs.py",
    "content": "from PySide6.QtWidgets import QTabWidget\r\nfrom gui.tabs_settings.settings import GuiSettingsTab\r\nfrom gui.tabs_tools.tools import GuiSettingsTab as ToolsSettingsTab\r\nfrom gui.tabs_databases.create import DatabasesTab\r\nfrom gui.tabs_models.models import VectorModelsTab\r\nfrom gui.tabs_databases.query import DatabaseQueryTab\r\nfrom gui.tabs_databases.manage import ManageDatabasesTab\r\n\r\ndef create_tabs():\r\n    tab_widget = QTabWidget()\r\n    tab_widget.setTabPosition(QTabWidget.South)\r\n    \r\n    tab_font = tab_widget.font()\r\n    tab_font.setPointSize(13)\r\n    tab_widget.setFont(tab_font)\r\n    \r\n    tabs = [\r\n        (GuiSettingsTab(), 'Settings'),\r\n        (VectorModelsTab(), 'Models'),\r\n        (ToolsSettingsTab(), 'Tools'),\r\n        (DatabasesTab(), 'Create Database'),\r\n        (ManageDatabasesTab(), 'Manage Databases'),\r\n        (DatabaseQueryTab(), 'Query Database')\r\n    ]\r\n    \r\n    for tab, name in tabs:\r\n        tab_widget.addTab(tab, name)\r\n    \r\n    return tab_widget\r\n"
  },
  {
    "path": "gui/tabs_databases/__init__.py",
    "content": ""
  },
  {
    "path": "gui/tabs_databases/create.py",
    "content": "import os\r\nimport sys\r\nimport time\r\nimport gc\r\nimport json\r\nimport shutil\r\nimport subprocess\r\nfrom pathlib import Path\r\nimport yaml\r\nfrom PySide6.QtCore import QDir, QRegularExpression, QThread, QTimer, Qt, Signal\r\nfrom PySide6.QtGui import QAction, QRegularExpressionValidator\r\nfrom PySide6.QtWidgets import QWidget, QPushButton, QVBoxLayout, QHBoxLayout, QMessageBox, QTreeView, QFileSystemModel, QMenu, QGroupBox, QLabel, QLineEdit, QGridLayout, QSizePolicy, QComboBox\r\n\r\nfrom db.database_interactions import create_vector_db_in_process\r\nfrom db.choose_documents import choose_documents_directory\r\nfrom core.utilities import check_preconditions_for_db_creation, open_file, delete_file, backup_database, my_cprint\r\nfrom gui.download_model import model_downloaded_signal\r\nfrom core.constants import TOOLTIPS, PROJECT_ROOT\r\n\r\n\r\nclass VectorDBWorker(QThread):\r\n    \"\"\"Runs DB creation in a completely separate Python interpreter via\r\n    subprocess.Popen, with stdout drained inside the thread's run() and progress\r\n    emitted via Qt signals.\r\n\r\n    subprocess.Popen (as opposed to multiprocessing.Process) is critical on\r\n    Windows with PySide6: multiprocessing's 'spawn' inherits DLL state from the\r\n    GUI process (TileDB, CUDA, torch) which causes access violations\r\n    (0xC0000005) in the child. See dev/production_integration_log.md (Phase 6).\r\n    \"\"\"\r\n\r\n    progress = Signal(str)\r\n    finished = Signal(bool, int, str)\r\n\r\n    def __init__(self, database_name, parent=None):\r\n        super().__init__(parent)\r\n        self.database_name = database_name\r\n        self._process = None\r\n        self._cancelled = False\r\n\r\n    def run(self):\r\n        try:\r\n            cmd = [\r\n                sys.executable, \"-c\",\r\n                \"from db.database_interactions import create_vector_db_in_process; \"\r\n                f\"create_vector_db_in_process({self.database_name!r})\"\r\n            ]\r\n\r\n            env = {**os.environ, \"PYTHONUNBUFFERED\": \"1\"}\r\n\r\n            self.progress.emit(\"Initializing database creation...\")\r\n\r\n            self._process = subprocess.Popen(\r\n                cmd,\r\n                stdout=subprocess.PIPE,\r\n                stderr=subprocess.STDOUT,\r\n                text=True,\r\n                bufsize=1,\r\n                cwd=str(PROJECT_ROOT),\r\n                env=env,\r\n            )\r\n\r\n            for line in self._process.stdout:\r\n                line = line.rstrip(\"\\n\")\r\n                if line.strip():\r\n                    print(f\"  [DB Creation] {line}\", flush=True)\r\n                    self.progress.emit(line)\r\n\r\n            self._process.wait()\r\n            exit_code = self._process.returncode\r\n\r\n            if self._cancelled:\r\n                self.finished.emit(False, exit_code, \"Cancelled by user.\")\r\n            elif exit_code == 0:\r\n                self.finished.emit(True, exit_code, \"Database created successfully!\")\r\n            else:\r\n                self.finished.emit(\r\n                    False, exit_code,\r\n                    f\"Database build failed (exit code {exit_code}). \"\r\n                    \"Check the log window for details.\"\r\n                )\r\n\r\n        except Exception as e:\r\n            import traceback\r\n            traceback.print_exc()\r\n            self.finished.emit(False, -1, f\"Database creation failed: {e}\")\r\n\r\n    def cancel(self):\r\n        self._cancelled = True\r\n        if self._process and self._process.poll() is None:\r\n            self._process.terminate()\r\n\r\n\r\nclass CustomFileSystemModel(QFileSystemModel):\r\n    def __init__(self, parent=None):\r\n        super().__init__(parent)\r\n        self.setFilter(QDir.Files)\r\n\r\n\r\nclass DatabasesTab(QWidget):\r\n    CREATE_DB_BUTTON_LABEL = \"Create Vector Database\"\r\n    CREATE_DB_BUTTON_BUSY_LABEL = \"Creating...\"\r\n\r\n    def __init__(self):\r\n        super().__init__()\r\n        model_downloaded_signal.downloaded.connect(self.update_model_combobox)\r\n        self.layout = QVBoxLayout(self)\r\n        self.documents_group_box = self.create_group_box(\"Files To Add to Database\", \"Docs_for_DB\")\r\n        self.groups = {self.documents_group_box: 1}\r\n\r\n        self.info_label = QLabel()\r\n        self.info_label.setTextFormat(Qt.RichText)\r\n        self.info_label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)\r\n        self.info_label.setStyleSheet(\"padding: 4px 6px;\")\r\n        self.layout.addWidget(self.info_label)\r\n\r\n        grid_layout_top_buttons = QGridLayout()\r\n        self.choose_docs_button = QPushButton(\"Choose Files\")\r\n        self.choose_docs_button.setToolTip(TOOLTIPS[\"CHOOSE_FILES\"])\r\n        self.choose_docs_button.clicked.connect(choose_documents_directory)\r\n        self.model_combobox = QComboBox()\r\n        self.model_combobox.setToolTip(TOOLTIPS[\"SELECT_VECTOR_MODEL\"])\r\n        self.populate_model_combobox()\r\n        self.model_combobox.currentIndexChanged.connect(self.on_model_selected)\r\n        self.model_combobox.activated.connect(self.refresh_model_combobox)\r\n        self.create_db_button = QPushButton(self.CREATE_DB_BUTTON_LABEL)\r\n        self.create_db_button.setToolTip(TOOLTIPS[\"CREATE_VECTOR_DB\"])\r\n        self.create_db_button.clicked.connect(self.on_create_db_clicked)\r\n        self.create_db_button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)\r\n        self.cancel_db_button = QPushButton(\"Cancel\")\r\n        self.cancel_db_button.setToolTip(\"Cancel an in-progress database creation and remove any partial files.\")\r\n        self.cancel_db_button.clicked.connect(self.on_cancel_db_clicked)\r\n        self.cancel_db_button.setEnabled(False)\r\n        create_cancel_box = QHBoxLayout()\r\n        create_cancel_box.addWidget(self.create_db_button)\r\n        create_cancel_box.addWidget(self.cancel_db_button)\r\n        grid_layout_top_buttons.addWidget(self.choose_docs_button, 0, 0)\r\n        grid_layout_top_buttons.addWidget(self.model_combobox, 0, 1)\r\n        grid_layout_top_buttons.addLayout(create_cancel_box, 0, 2)\r\n        number_of_columns = 3\r\n        for column_index in range(number_of_columns):\r\n            grid_layout_top_buttons.setColumnStretch(column_index, 1)\r\n        hbox2 = QHBoxLayout()\r\n        self.database_name_input = QLineEdit()\r\n        self.database_name_input.setToolTip(TOOLTIPS[\"DATABASE_NAME_INPUT\"])\r\n        self.database_name_input.setPlaceholderText(\"Enter database name\")\r\n        self.database_name_input.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)\r\n        regex = QRegularExpression(\"^[a-z0-9_-]*$\")\r\n        validator = QRegularExpressionValidator(regex, self.database_name_input)\r\n        self.database_name_input.setValidator(validator)\r\n        hbox2.addWidget(self.database_name_input)\r\n        self.layout.addLayout(grid_layout_top_buttons)\r\n        self.layout.addLayout(hbox2)\r\n        self.sync_combobox_with_config()\r\n        \r\n        self.db_worker = None\r\n        self.current_model_name = None\r\n        self.current_database_name = None\r\n\r\n        self._refresh_info_label()\r\n        self.info_refresh_timer = QTimer(self)\r\n        self.info_refresh_timer.setInterval(1000)\r\n        self.info_refresh_timer.timeout.connect(self._refresh_info_label)\r\n        self.info_refresh_timer.start()\r\n\r\n    def _validation_failed(self, message: str):\r\n        QMessageBox.warning(self, \"Validation Failed\", message)\r\n        self.reenable_create_db_button()\r\n\r\n    def refresh_model_combobox(self, index):\r\n        current_text = self.model_combobox.currentText()\r\n        self.populate_model_combobox()\r\n        idx = self.model_combobox.findText(current_text)\r\n        if idx >= 0:\r\n            self.model_combobox.setCurrentIndex(idx)\r\n\r\n    def update_model_combobox(self, model_name, model_type):\r\n        if model_type == \"vector\":\r\n            self.populate_model_combobox()\r\n            self.sync_combobox_with_config()\r\n\r\n    def populate_model_combobox(self):\r\n        self.model_combobox.clear()\r\n        self.model_combobox.addItem(\"Select a model\", None)\r\n        script_dir = PROJECT_ROOT\r\n        vector_dir = script_dir / \"Models\" / \"vector\"\r\n        if not vector_dir.exists():\r\n            return\r\n        for folder in vector_dir.iterdir():\r\n            if folder.is_dir():\r\n                display_name = folder.name\r\n                full_path = str(folder)\r\n                self.model_combobox.addItem(display_name, full_path)\r\n\r\n    def sync_combobox_with_config(self):\r\n        config_path = PROJECT_ROOT / \"config.yaml\"\r\n        if config_path.exists():\r\n            with open(config_path, 'r', encoding='utf-8') as file:\r\n                config_data = yaml.safe_load(file) or {}\r\n            current_model = config_data.get(\"EMBEDDING_MODEL_NAME\")\r\n            if current_model:\r\n                model_index = self.model_combobox.findData(current_model)\r\n                if model_index != -1:\r\n                    self.model_combobox.setCurrentIndex(model_index)\r\n                else:\r\n                    self.model_combobox.setCurrentIndex(0)\r\n            else:\r\n                self.model_combobox.setCurrentIndex(0)\r\n        else:\r\n            self.model_combobox.setCurrentIndex(0)\r\n\r\n    def on_model_selected(self, index):\r\n        selected_path = self.model_combobox.itemData(index)\r\n        config_path = PROJECT_ROOT / \"config.yaml\"\r\n        config_data = {}\r\n        if config_path.exists():\r\n            with open(config_path, 'r', encoding='utf-8') as file:\r\n                config_data = yaml.safe_load(file) or {}\r\n        if selected_path:\r\n            config_data[\"EMBEDDING_MODEL_NAME\"] = selected_path\r\n            if \"stella\" in selected_path.lower() or \"static-retrieval\" in selected_path.lower():\r\n                config_data[\"EMBEDDING_MODEL_DIMENSIONS\"] = 1024\r\n            else:\r\n                config_json_path = Path(selected_path) / \"config.json\"\r\n                if config_json_path.exists():\r\n                    with open(config_json_path, 'r', encoding='utf-8') as json_file:\r\n                        model_config = json.load(json_file)\r\n                    embedding_dimensions = model_config.get(\"hidden_size\") or model_config.get(\"d_model\")\r\n                    if embedding_dimensions and isinstance(embedding_dimensions, int):\r\n                        config_data[\"EMBEDDING_MODEL_DIMENSIONS\"] = embedding_dimensions\r\n        else:\r\n            config_data.pop(\"EMBEDDING_MODEL_NAME\", None)\r\n            config_data.pop(\"EMBEDDING_MODEL_DIMENSIONS\", None)\r\n        with open(config_path, 'w', encoding='utf-8') as file:\r\n            yaml.safe_dump(config_data, file, allow_unicode=True)\r\n\r\n    def create_group_box(self, title, directory_name):\r\n        group_box = QGroupBox(title)\r\n        layout = QVBoxLayout()\r\n        tree_view = self.setup_directory_view(directory_name)\r\n        layout.addWidget(tree_view)\r\n        group_box.setLayout(layout)\r\n        self.layout.addWidget(group_box)\r\n        group_box.toggled.connect(lambda checked, gb=group_box: self.toggle_group_box(gb, checked))\r\n        return group_box\r\n\r\n    def _refresh_docs_model(self):\r\n        if hasattr(self.docs_model, 'refresh'):\r\n            self.docs_model.refresh()\r\n        elif hasattr(self.docs_model, 'reindex'):\r\n            self.docs_model.reindex()\r\n\r\n    def _refresh_info_label(self):\r\n        script_dir = PROJECT_ROOT\r\n        docs_dir = script_dir / \"Docs_for_DB\"\r\n\r\n        try:\r\n            file_count = sum(1 for p in docs_dir.iterdir() if p.is_file()) if docs_dir.exists() else 0\r\n        except OSError:\r\n            file_count = 0\r\n\r\n        config_path = script_dir / \"config.yaml\"\r\n        config = {}\r\n        if config_path.exists():\r\n            try:\r\n                with open(config_path, \"r\", encoding=\"utf-8\") as f:\r\n                    config = yaml.safe_load(f) or {}\r\n            except Exception:\r\n                config = {}\r\n\r\n        db_cfg = (config.get(\"database\") or {})\r\n        chunk_size = db_cfg.get(\"chunk_size\", \"—\")\r\n        chunk_overlap = db_cfg.get(\"chunk_overlap\", \"—\")\r\n        use_half = bool(db_cfg.get(\"half\", False))\r\n\r\n        precision_str = self._compute_precision_str(config, use_half)\r\n\r\n        text = (\r\n            f\"<b>Files queued:</b> {file_count}\"\r\n            f\"&nbsp;&nbsp;|&nbsp;&nbsp;<b>Chunk size:</b> {chunk_size}\"\r\n            f\"&nbsp;&nbsp;|&nbsp;&nbsp;<b>Overlap:</b> {chunk_overlap}\"\r\n            f\"&nbsp;&nbsp;|&nbsp;&nbsp;<b>Embedding precision:</b> {precision_str}\"\r\n        )\r\n        self.info_label.setText(text)\r\n\r\n    def _compute_precision_str(self, config, use_half):\r\n        from core.constants import VECTOR_MODELS\r\n\r\n        model_path = config.get(\"EMBEDDING_MODEL_NAME\")\r\n        if not model_path:\r\n            return \"—\"\r\n\r\n        cache_dir_name = Path(model_path).name\r\n        native_precision = None\r\n        for vendor_models in VECTOR_MODELS.values():\r\n            for model_info in vendor_models:\r\n                if model_info.get(\"cache_dir\") == cache_dir_name:\r\n                    native_precision = model_info.get(\"precision\", \"float32\")\r\n                    break\r\n            if native_precision:\r\n                break\r\n\r\n        if not native_precision:\r\n            return \"unknown\"\r\n\r\n        try:\r\n            import torch\r\n            device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\r\n        except Exception:\r\n            device = \"cpu\"\r\n\r\n        try:\r\n            from core.utilities import get_appropriate_dtype\r\n            dtype = get_appropriate_dtype(device, use_half, native_precision)\r\n            return str(dtype).split(\".\")[-1]\r\n        except Exception:\r\n            return native_precision\r\n\r\n    def setup_directory_view(self, directory_name):\r\n        tree_view = QTreeView()\r\n        model = CustomFileSystemModel()\r\n        tree_view.setModel(model)\r\n        tree_view.setSelectionMode(QTreeView.ExtendedSelection)\r\n        script_dir = PROJECT_ROOT\r\n        directory_path = script_dir / directory_name\r\n        model.setRootPath(str(directory_path))\r\n        tree_view.setRootIndex(model.index(str(directory_path)))\r\n        tree_view.hideColumn(1)\r\n        tree_view.hideColumn(2)\r\n        tree_view.hideColumn(3)\r\n        tree_view.doubleClicked.connect(self.on_double_click)\r\n        tree_view.setContextMenuPolicy(Qt.CustomContextMenu)\r\n        tree_view.customContextMenuRequested.connect(self.on_context_menu)\r\n        if directory_name == \"Docs_for_DB\":\r\n            self.docs_model = model\r\n            self.docs_refresh = QTimer(self)\r\n            self.docs_refresh.setInterval(500)\r\n            self.docs_refresh.timeout.connect(self._refresh_docs_model)\r\n        return tree_view\r\n\r\n    def on_double_click(self, index):\r\n        tree_view = self.sender()\r\n        model = tree_view.model()\r\n        file_path = model.filePath(index)\r\n        open_file(file_path)\r\n\r\n    def on_context_menu(self, point):\r\n        tree_view = self.sender()\r\n        context_menu = QMenu(self)\r\n        delete_action = QAction(\"Delete File\", self)\r\n        context_menu.addAction(delete_action)\r\n        delete_action.triggered.connect(lambda: self.on_delete_file(tree_view))\r\n        context_menu.exec_(tree_view.viewport().mapToGlobal(point))\r\n\r\n    def on_delete_file(self, tree_view):\r\n        selected_indexes = tree_view.selectedIndexes()\r\n        model = tree_view.model()\r\n        for index in selected_indexes:\r\n            if index.column() == 0:\r\n                file_path = model.filePath(index)\r\n                delete_file(file_path)\r\n\r\n    def on_create_db_clicked(self):\r\n        if self.model_combobox.currentIndex() == 0:\r\n            QMessageBox.warning(self, \"No Model Selected\", \"Please select a model before creating a database.\")\r\n            return\r\n\r\n        database_name = self.database_name_input.text().strip()\r\n        if not database_name:\r\n            QMessageBox.warning(self, \"Database Name Required\", \"Please enter a database name before creating a database.\")\r\n            return\r\n\r\n        docs_dir = PROJECT_ROOT / \"Docs_for_DB\"\r\n        if not docs_dir.exists() or not any(p for p in docs_dir.iterdir() if p.is_file()):\r\n            QMessageBox.warning(\r\n                self,\r\n                \"No Files To Add\",\r\n                \"The Docs_for_DB folder is empty. Add at least one file before creating a database.\"\r\n            )\r\n            return\r\n\r\n        self.create_db_button.setDisabled(True)\r\n        self.create_db_button.setText(self.CREATE_DB_BUTTON_BUSY_LABEL)\r\n        self.choose_docs_button.setDisabled(True)\r\n        self.model_combobox.setDisabled(True)\r\n        self.database_name_input.setDisabled(True)\r\n        self.cancel_db_button.setEnabled(True)\r\n\r\n        model_name = self.model_combobox.currentText()\r\n\r\n        self.current_database_name = database_name\r\n        self.current_model_name = model_name\r\n\r\n        docs_dir = PROJECT_ROOT / \"Docs_for_DB\"\r\n        has_pdfs = any(p.suffix.lower() == \".pdf\" for p in docs_dir.iterdir() if p.is_file())\r\n        skip_ocr = False\r\n        if has_pdfs:\r\n            reply = QMessageBox.question(self, \"OCR Check\",\r\n                                         \"PDF files detected. Do you want to check if any of the PDFs need OCR? \"\r\n                                         \"If there are a lot of PDFs, it is time-consuming but strongly recommended.\",\r\n                                         QMessageBox.Yes | QMessageBox.No,\r\n                                         QMessageBox.Yes)\r\n            skip_ocr = (reply == QMessageBox.No)\r\n\r\n        self.start_database_creation(database_name, model_name, skip_ocr)\r\n\r\n    def start_database_creation(self, database_name, model_name, skip_ocr):\r\n        try:\r\n            script_dir = PROJECT_ROOT\r\n            ok, msg = check_preconditions_for_db_creation(script_dir, database_name, skip_ocr=skip_ocr)\r\n            if not ok:\r\n                self._validation_failed(msg)\r\n                return\r\n\r\n            self.db_worker = VectorDBWorker(database_name, parent=self)\r\n            self.db_worker.finished.connect(self.on_worker_finished)\r\n            self.db_worker.start()\r\n\r\n            my_cprint(f\"Started database creation for: {database_name}\", \"green\")\r\n\r\n        except Exception as e:\r\n            self._validation_failed(f\"Failed to start database creation: {str(e)}\")\r\n\r\n    def on_cancel_db_clicked(self):\r\n        if self.db_worker is None or not self.db_worker.isRunning():\r\n            return\r\n        self.cancel_db_button.setEnabled(False)\r\n        self.cancel_db_button.setText(\"Cancelling...\")\r\n        self.db_worker.cancel()\r\n\r\n    def on_worker_finished(self, success: bool, exit_code: int, message: str):\r\n        was_cancelled = (not success) and message == \"Cancelled by user.\"\r\n        try:\r\n            if was_cancelled:\r\n                if self.current_database_name:\r\n                    partial_dir = PROJECT_ROOT / \"Vector_DB\" / self.current_database_name\r\n                    if partial_dir.exists():\r\n                        shutil.rmtree(partial_dir, ignore_errors=True)\r\n                QMessageBox.information(\r\n                    self,\r\n                    \"Cancelled\",\r\n                    \"Database creation was cancelled and any partial files were removed.\"\r\n                )\r\n            elif success:\r\n                my_cprint(f\"{self.current_model_name} removed from memory.\", \"red\")\r\n                self.update_config_with_database_name()\r\n                backup_database(self.current_database_name)\r\n                QMessageBox.information(self, \"Success\", message)\r\n            else:\r\n                QMessageBox.critical(self, \"Error\", message)\r\n        except Exception as e:\r\n            QMessageBox.critical(self, \"Error\", f\"Error handling completion: {e}\")\r\n        finally:\r\n            if self.db_worker is not None:\r\n                self.db_worker.deleteLater()\r\n                self.db_worker = None\r\n            self.reenable_create_db_button()\r\n\r\n    def update_config_with_database_name(self):\r\n        config_path = PROJECT_ROOT / \"config.yaml\"\r\n        if config_path.exists():\r\n            with open(config_path, 'r', encoding='utf-8') as file:\r\n                config = yaml.safe_load(file) or {}\r\n            model = config.get('EMBEDDING_MODEL_NAME')\r\n            chunk_size = config.get('database', {}).get('chunk_size')\r\n            chunk_overlap = config.get('database', {}).get('chunk_overlap')\r\n            if 'created_databases' not in config or not isinstance(config['created_databases'], dict):\r\n                config['created_databases'] = {}\r\n            config['created_databases'][self.current_database_name] = {\r\n                'model': model,\r\n                'chunk_size': chunk_size,\r\n                'chunk_overlap': chunk_overlap\r\n            }\r\n            with open(config_path, 'w', encoding='utf-8') as file:\r\n                yaml.safe_dump(config, file, allow_unicode=True)\r\n\r\n    def reenable_create_db_button(self):\r\n        self.create_db_button.setDisabled(False)\r\n        self.create_db_button.setText(self.CREATE_DB_BUTTON_LABEL)\r\n        self.choose_docs_button.setDisabled(False)\r\n        self.model_combobox.setDisabled(False)\r\n        self.database_name_input.setDisabled(False)\r\n        self.cancel_db_button.setEnabled(False)\r\n        self.cancel_db_button.setText(\"Cancel\")\r\n        \r\n        self.current_database_name = None\r\n        self.current_model_name = None\r\n        \r\n        gc.collect()\r\n\r\n    def closeEvent(self, event):\r\n        if self.db_worker is not None and self.db_worker.isRunning():\r\n            self.db_worker.cancel()\r\n            self.db_worker.wait(5000)\r\n        event.accept()\r\n\r\n    def toggle_group_box(self, group_box, checked):\r\n        self.groups[group_box] = 1 if checked else 0\r\n        self.adjust_stretch()\r\n\r\n    def adjust_stretch(self):\r\n        for group, stretch in self.groups.items():\r\n            self.layout.setStretchFactor(group, stretch if group.isChecked() else 0)\r\n"
  },
  {
    "path": "gui/tabs_databases/manage.py",
    "content": "import shutil\r\nimport sqlite3\r\nfrom pathlib import Path\r\n\r\nimport yaml\r\nfrom PySide6.QtCore import Qt, QAbstractTableModel\r\nfrom PySide6.QtGui import QAction, QColor\r\nfrom PySide6.QtWidgets import (\r\n    QWidget, QPushButton, QVBoxLayout, QHBoxLayout, QTableView, QMenu,\r\n    QGroupBox, QLabel, QComboBox, QMessageBox, QHeaderView\r\n)\r\n\r\nfrom core.utilities import open_file\r\nfrom core.constants import PROJECT_ROOT\r\n\r\n\r\nclass SQLiteTableModel(QAbstractTableModel):\r\n    def __init__(self, data=None):\r\n        super().__init__()\r\n        self._data = data or []\r\n        self._headers = [\"File Name\"]\r\n\r\n    def data(self, index, role):\r\n        if role == Qt.DisplayRole:\r\n            return self._data[index.row()][0]\r\n        elif role == Qt.ForegroundRole:\r\n            return QColor('white')\r\n        return None\r\n\r\n    def rowCount(self, index):\r\n        return len(self._data)\r\n\r\n    def columnCount(self, index):\r\n        return 1\r\n\r\n    def headerData(self, section, orientation, role):\r\n        if role == Qt.DisplayRole and orientation == Qt.Horizontal:\r\n            return self._headers[section]\r\n        return None\r\n\r\n\r\nclass RefreshingComboBox(QComboBox):\r\n    def __init__(self, parent=None):\r\n        super().__init__(parent)\r\n        self.addItem(\"Select a database...\")\r\n        self.setItemData(0, QColor('gray'), Qt.ForegroundRole)\r\n        self.setCurrentIndex(0)\r\n\r\n    def showPopup(self):\r\n        current_text = self.currentText()\r\n        self.blockSignals(True)\r\n        self.clear()\r\n        self.addItem(\"Select a database...\")\r\n        self.setItemData(0, QColor('gray'), Qt.ForegroundRole)\r\n        databases = self.parent().load_created_databases()\r\n        self.addItems(databases)\r\n        if current_text and current_text in databases:\r\n            index = self.findText(current_text)\r\n            if index >= 0:\r\n                self.setCurrentIndex(index)\r\n            else:\r\n                self.setCurrentIndex(0)\r\n        else:\r\n            self.setCurrentIndex(0)\r\n        self.blockSignals(False)\r\n        super().showPopup()\r\n\r\n\r\nclass ManageDatabasesTab(QWidget):\r\n    def __init__(self):\r\n        super().__init__()\r\n        self.config_path = PROJECT_ROOT / \"config.yaml\"\r\n        self.created_databases = self.load_created_databases()\r\n\r\n        self.layout = QVBoxLayout(self)\r\n\r\n        self.documents_group_box = self.create_group_box_with_table_view(\"Files in Selected Database\")\r\n        self.layout.addWidget(self.documents_group_box)\r\n\r\n        self.database_info_layout = QHBoxLayout()\r\n        self.database_info_label = QLabel(\"No database selected.\")\r\n        self.database_info_label.setTextFormat(Qt.RichText)\r\n        self.database_info_layout.addWidget(self.database_info_label)\r\n        self.layout.addLayout(self.database_info_layout)\r\n\r\n        self.buttons_layout = QHBoxLayout()\r\n        self.pull_down_menu = RefreshingComboBox(self)\r\n        self.pull_down_menu.activated.connect(self.update_table_view_and_info_label)\r\n        self.buttons_layout.addWidget(self.pull_down_menu)\r\n        self.create_buttons()\r\n        self.layout.addLayout(self.buttons_layout)\r\n\r\n    def load_created_databases(self):\r\n        if self.config_path.exists():\r\n            with open(self.config_path, 'r', encoding='utf-8') as file:\r\n                config = yaml.safe_load(file)\r\n                databases = list(config.get('created_databases', {}).keys())\r\n                return [db for db in databases if db != \"user_manual\"]\r\n        return []\r\n\r\n    def display_no_databases_message(self):\r\n        self.model._data = []\r\n        self.model.layoutChanged.emit()\r\n        self.documents_group_box.hide()\r\n        self.database_info_label.setText(\"No database selected.\")\r\n\r\n    def create_group_box_with_table_view(self, title):\r\n        group_box = QGroupBox(title)\r\n        layout = QVBoxLayout()\r\n        self.table_view = QTableView()\r\n        self.model = SQLiteTableModel()\r\n        self.table_view.setModel(self.model)\r\n        self.table_view.setSelectionMode(QTableView.SingleSelection)\r\n        self.table_view.setSelectionBehavior(QTableView.SelectRows)\r\n        self.table_view.doubleClicked.connect(self.on_double_click)\r\n        self.table_view.setContextMenuPolicy(Qt.CustomContextMenu)\r\n        self.table_view.customContextMenuRequested.connect(self.show_context_menu)\r\n\r\n        self.table_view.horizontalHeader().setStretchLastSection(True)\r\n        self.table_view.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)\r\n\r\n        layout.addWidget(self.table_view)\r\n        group_box.setLayout(layout)\r\n        return group_box\r\n\r\n    def update_table_view_and_info_label(self, index):\r\n        selected_database = self.pull_down_menu.currentText()\r\n        if selected_database == \"Select a database...\":\r\n            self.display_no_databases_message()\r\n            return\r\n\r\n        if selected_database:\r\n            self.documents_group_box.show()\r\n            db_path = PROJECT_ROOT / \"Vector_DB\" / selected_database / \"metadata.db\"\r\n            if db_path.exists():\r\n                try:\r\n                    conn = sqlite3.connect(str(db_path))\r\n                    cursor = conn.cursor()\r\n                    cursor.execute(\"SELECT file_name, file_path FROM document_metadata\")\r\n                    data = cursor.fetchall()\r\n                    conn.close()\r\n\r\n                    self.model._data = [(row[0], row[1]) for row in data]\r\n                    self.model.layoutChanged.emit()\r\n\r\n                    if self.config_path.exists():\r\n                        with open(self.config_path, 'r', encoding='utf-8') as file:\r\n                            config = yaml.safe_load(file)\r\n                            db_config = config.get('created_databases', {}).get(selected_database, {})\r\n                            model_path = db_config.get('model', '')\r\n                            model_name = Path(model_path).name\r\n                            chunk_size = db_config.get('chunk_size', '')\r\n                            chunk_overlap = db_config.get('chunk_overlap', '')\r\n                            info_text = (\r\n                                f'<span style=\"color: #4CAF50;\"><b>Name:</b></span> \"{selected_database}\" '\r\n                                f'<span style=\"color: #888;\">|</span> '\r\n                                f'<span style=\"color: #2196F3;\"><b>Model:</b></span> \"{model_name}\" '\r\n                                f'<span style=\"color: #888;\">|</span> '\r\n                                f'<span style=\"color: #FF9800;\"><b>Chunk size/overlap:</b></span> {chunk_size} / {chunk_overlap}'\r\n                            )\r\n                            self.database_info_label.setText(info_text)\r\n                    else:\r\n                        self.database_info_label.setText(\"Configuration missing.\")\r\n                except sqlite3.Error as e:\r\n                    QMessageBox.warning(self, \"Database Error\", f\"An error occurred while accessing the database: {e}\")\r\n                    self.display_no_databases_message()\r\n            else:\r\n                self.display_no_databases_message()\r\n        else:\r\n            self.display_no_databases_message()\r\n\r\n    def on_double_click(self, index):\r\n        selected_database = self.pull_down_menu.currentText()\r\n        if selected_database and selected_database != \"Select a database...\":\r\n            file_path = self.model._data[index.row()][1]\r\n            if Path(file_path).exists():\r\n                open_file(file_path)\r\n            else:\r\n                QMessageBox.warning(self, \"Error\", f\"File not found at the specified path: {file_path}\")\r\n        else:\r\n            QMessageBox.warning(self, \"Error\", \"No database selected.\")\r\n\r\n    def create_buttons(self):\r\n        self.delete_database_button = QPushButton(\"Delete Database\")\r\n        self.buttons_layout.addWidget(self.delete_database_button)\r\n        self.delete_database_button.clicked.connect(self.delete_selected_database)\r\n\r\n    def delete_selected_database(self):\r\n        selected_database = self.pull_down_menu.currentText()\r\n        if not selected_database or selected_database == \"Select a database...\":\r\n            QMessageBox.warning(self, \"Delete Database\", \"No database selected.\")\r\n            return\r\n\r\n        reply = QMessageBox.question(\r\n            self, 'Delete Database',\r\n            \"This cannot be undone.\\nClick OK to proceed or Cancel to back out.\",\r\n            QMessageBox.Ok | QMessageBox.Cancel, QMessageBox.Cancel\r\n        )\r\n\r\n        if reply == QMessageBox.Ok:\r\n            self.model.beginResetModel()\r\n            self.model._data = []\r\n            self.model.endResetModel()\r\n\r\n            if self.config_path.exists():\r\n                try:\r\n                    with open(self.config_path, 'r', encoding='utf-8') as file:\r\n                        config = yaml.safe_load(file)\r\n\r\n                    if 'created_databases' in config and selected_database in config['created_databases']:\r\n                        del config['created_databases'][selected_database]\r\n\r\n                    config.setdefault('database', {})['database_to_search'] = ''\r\n\r\n                    with open(self.config_path, 'w', encoding='utf-8') as file:\r\n                        yaml.safe_dump(config, file)\r\n\r\n                    base_dir = PROJECT_ROOT\r\n                    deletion_failed = False\r\n                    for folder_name in [\"Vector_DB\", \"Vector_DB_Backup\"]:\r\n                        dir_path = base_dir / folder_name / selected_database\r\n                        if dir_path.exists():\r\n                            shutil.rmtree(dir_path, ignore_errors=True)\r\n                            if dir_path.exists():\r\n                                deletion_failed = True\r\n                                print(f\"Failed to delete: {dir_path}\")\r\n\r\n                    if deletion_failed:\r\n                        QMessageBox.warning(\r\n                            self, \"Delete Database\",\r\n                            \"Some files/folders could not be deleted. Please check manually.\"\r\n                        )\r\n                    else:\r\n                        QMessageBox.information(\r\n                            self, \"Delete Database\",\r\n                            f\"Database '{selected_database}' and associated files have been deleted.\"\r\n                        )\r\n\r\n                    self.refresh_pull_down_menu()\r\n                    self.update_table_view_and_info_label(-1)\r\n                except Exception as e:\r\n                    QMessageBox.warning(self, \"Delete Database\", f\"An error occurred: {e}\")\r\n            else:\r\n                QMessageBox.warning(self, \"Delete Database\", \"Configuration file missing or corrupted.\")\r\n\r\n    def refresh_pull_down_menu(self):\r\n        self.created_databases = self.load_created_databases()\r\n        self.pull_down_menu.blockSignals(True)\r\n        self.pull_down_menu.clear()\r\n        self.pull_down_menu.addItem(\"Select a database...\")\r\n        self.pull_down_menu.setItemData(0, QColor('gray'), Qt.ForegroundRole)\r\n        self.pull_down_menu.addItems(self.created_databases)\r\n        if self.created_databases:\r\n            self.pull_down_menu.setCurrentIndex(0)\r\n        else:\r\n            self.display_no_databases_message()\r\n        self.pull_down_menu.blockSignals(False)\r\n\r\n    def show_context_menu(self, position):\r\n        context_menu = QMenu(self)\r\n        delete_action = QAction(\"Delete File\", self)\r\n        delete_action.triggered.connect(self.delete_selected_file)\r\n        context_menu.addAction(delete_action)\r\n\r\n        context_menu.exec_(self.table_view.viewport().mapToGlobal(position))\r\n\r\n    def delete_selected_file(self):\r\n        print(\"Delete file functionality will be implemented here.\")\r\n"
  },
  {
    "path": "gui/tabs_databases/query.py",
    "content": "import logging\r\nimport queue\r\nimport threading\r\nfrom pathlib import Path\r\nimport multiprocessing\r\nimport re\r\nimport html\r\n\r\nimport torch\r\nimport yaml\r\nfrom PySide6.QtCore import QThread, Signal, QObject, Qt, QUrl\r\nfrom PySide6.QtGui import QDesktopServices\r\nfrom PySide6.QtWidgets import (QWidget, QVBoxLayout, QTextEdit, QPushButton, QCheckBox, QHBoxLayout, QMessageBox,\r\n                               QApplication, QComboBox, QLabel, QTextBrowser, QProgressBar, QSizePolicy)\r\n\r\nfrom abc import ABC, abstractmethod\r\nfrom chat.lm_studio import LMStudioChatThread\r\nfrom chat.local_model import LocalModelChat\r\nfrom chat.openai import ChatGPTThread\r\nfrom chat.minimax import MiniMaxThread\r\nfrom chat.kobold import KoboldThread\r\nfrom core.constants import CHAT_MODELS, CustomButtonStyles\r\nfrom modules.voice_recorder import VoiceRecorder\r\nfrom core.utilities import my_cprint, normalize_chat_text\r\nfrom core.constants import TOOLTIPS, PROJECT_ROOT\r\nfrom db.database_interactions import process_chunks_only_query\r\nfrom db.process_manager import get_process_manager\r\n\r\nlogger = logging.getLogger(__name__)\r\n\r\ncurrent_dir = PROJECT_ROOT\r\ninput_text_file = str(current_dir / 'chat_history.txt')\r\n\r\nclass SubmitStrategy(ABC):\r\n    def __init__(self, tab):\r\n        self.tab = tab\r\n\r\n    @abstractmethod\r\n    def submit(self, question: str, db_name: str) -> None: ...\r\n\r\nclass LocalModelStrategy(SubmitStrategy):\r\n    def submit(self, question, db_name):\r\n        selected_model = self.tab.model_combo_box.currentText()\r\n        lm = self.tab.local_model_chat\r\n        if selected_model != lm.current_model:\r\n            if lm.is_model_loaded():\r\n                lm.terminate_current_process()\r\n            lm.start_model_process(selected_model)\r\n        lm.start_chat(question, selected_model, db_name)\r\n\r\nclass LMStudioStrategy(SubmitStrategy):\r\n    def submit(self, question, db_name):\r\n        t = self.tab.lm_studio_chat_thread = LMStudioChatThread(question, db_name)\r\n        s = t.lm_studio_chat.signals\r\n        s.response_signal.connect(self.tab.update_response_lm_studio)\r\n        s.error_signal.connect(self.tab.show_error_message)\r\n        s.finished_signal.connect(self.tab.on_submission_finished)\r\n        s.citations_signal.connect(self.tab.display_citations_in_widget)\r\n        t.start()\r\n\r\nclass ChatGPTStrategy(SubmitStrategy):\r\n    def submit(self, question, db_name):\r\n        t = self.tab.chatgpt_thread = ChatGPTThread(question, db_name)\r\n        t.response_signal.connect(self.tab.update_response_lm_studio)\r\n        t.error_signal.connect(self.tab.show_error_message)\r\n        t.finished_signal.connect(self.tab.on_submission_finished)\r\n        t.citations_signal.connect(self.tab.display_citations_in_widget)\r\n        t.start()\r\n\r\nclass MiniMaxStrategy(SubmitStrategy):\r\n    def submit(self, question, db_name):\r\n        model_name = self.tab.model_source_combo.currentText()\r\n        t = self.tab.minimax_thread = MiniMaxThread(question, db_name, model_name=model_name)\r\n        t.response_signal.connect(self.tab.update_response_lm_studio)\r\n        t.error_signal.connect(self.tab.show_error_message)\r\n        t.finished_signal.connect(self.tab.on_submission_finished)\r\n        t.citations_signal.connect(self.tab.display_citations_in_widget)\r\n        t.start()\r\n\r\nclass KoboldStrategy(SubmitStrategy):\r\n    def submit(self, question, db_name):\r\n        t = self.tab.kobold_thread = KoboldThread(question, db_name)\r\n        t.response_signal.connect(self.tab.update_response_lm_studio)\r\n        t.error_signal.connect(self.tab.show_error_message)\r\n        t.finished_signal.connect(self.tab.on_submission_finished)\r\n        t.citations_signal.connect(self.tab.display_citations_in_widget)\r\n        t.start()\r\n\r\nclass ChunksOnlyStrategy(SubmitStrategy):\r\n    def submit(self, question, db_name):\r\n        t = self.tab.database_query_thread = ChunksOnlyThread(question, db_name)\r\n        t.chunks_ready.connect(self.tab.display_chunks)\r\n        t.finished.connect(self.tab.on_database_query_finished)\r\n        t.start()\r\n\r\nclass ThinkingIndicator(QProgressBar):\r\n    def __init__(self, parent=None):\r\n        super().__init__(parent)\r\n        self.setRange(0, 0)\r\n        self.setTextVisible(False)\r\n        self.setFixedHeight(12)\r\n        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)\r\n\r\n\r\nclass ChunksOnlyThread(QThread):\r\n    chunks_ready = Signal(str)\r\n\r\n    def __init__(self, query, database_name):\r\n        super().__init__()\r\n        self.query = query\r\n        self.database_name = database_name\r\n        self.process = None\r\n        self.process_lock = threading.Lock()\r\n\r\n    def run(self):\r\n        ctx = multiprocessing.get_context('spawn')\r\n        result_queue = ctx.Queue()\r\n\r\n        try:\r\n            with self.process_lock:\r\n                self.process = ctx.Process(\r\n                    target=process_chunks_only_query,\r\n                    args=(self.database_name, self.query, result_queue)\r\n                )\r\n                get_process_manager().register(self.process)\r\n                self.process.start()\r\n\r\n            try:\r\n                result = result_queue.get(timeout=120)\r\n                self.chunks_ready.emit(result)\r\n            except queue.Empty:\r\n                logger.error(\"Query timed out after 120 seconds\")\r\n                self.chunks_ready.emit(\r\n                    \"Error: Query timed out after 120 seconds. \"\r\n                    \"Please try a simpler query or check your database.\"\r\n                )\r\n            except Exception as e:\r\n                logger.error(f\"Error getting result from queue: {e}\")\r\n                self.chunks_ready.emit(f\"Error: Failed to retrieve database response - {e}\")\r\n\r\n            with self.process_lock:\r\n                if self.process and self.process.is_alive():\r\n                    self.process.join(timeout=2)\r\n                    if self.process.is_alive():\r\n                        self.process.terminate()\r\n                        self.process.join(timeout=1)\r\n                        if self.process.is_alive():\r\n                            try:\r\n                                self.process.kill()\r\n                                self.process.join(timeout=1)\r\n                            except Exception as e:\r\n                                logger.error(f\"Failed to kill process: {e}\")\r\n\r\n                if self.process:\r\n                    get_process_manager().unregister(self.process)\r\n                    self.process = None\r\n\r\n        except Exception as e:\r\n            logger.exception(f\"Error in chunks only thread: {e}\")\r\n            self.chunks_ready.emit(f\"Error querying database: {e}\")\r\n            with self.process_lock:\r\n                if self.process:\r\n                    try:\r\n                        if self.process.is_alive():\r\n                            self.process.terminate()\r\n                            self.process.join(timeout=1)\r\n                            if self.process.is_alive():\r\n                                self.process.kill()\r\n                                self.process.join(timeout=1)\r\n                        get_process_manager().unregister(self.process)\r\n                    except Exception as cleanup_error:\r\n                        logger.error(f\"Error during cleanup: {cleanup_error}\")\r\n                    finally:\r\n                        self.process = None\r\n\r\n    def stop(self):\r\n        with self.process_lock:\r\n            if self.process:\r\n                try:\r\n                    if self.process.is_alive():\r\n                        self.process.terminate()\r\n                        self.process.join(timeout=2)\r\n                        if self.process.is_alive():\r\n                            self.process.kill()\r\n                            self.process.join(timeout=1)\r\n                    get_process_manager().unregister(self.process)\r\n                except Exception as e:\r\n                    logger.warning(f\"Error stopping process: {e}\")\r\n                finally:\r\n                    self.process = None\r\n\r\n\r\ndef run_tts_in_process(config_path, input_text_file):\r\n    from modules.tts import run_tts\r\n    run_tts(config_path, input_text_file)\r\n    my_cprint(\"TTS models removed from memory.\", \"red\")\r\n\r\n\r\nclass RefreshingComboBox(QComboBox):\r\n    def __init__(self, parent=None):\r\n        super(RefreshingComboBox, self).__init__(parent)\r\n\r\n    def showPopup(self):\r\n        new_items = self.parent().load_created_databases()\r\n        current_items = [self.itemText(i) for i in range(self.count())]\r\n        if new_items != current_items:\r\n            current_text = self.currentText()\r\n            self.clear()\r\n            self.addItems(new_items)\r\n            idx = self.findText(current_text)\r\n            if idx >= 0:\r\n                self.setCurrentIndex(idx)\r\n        super(RefreshingComboBox, self).showPopup()\r\n\r\n\r\nclass GuiSignals(QObject):\r\n    response_signal = Signal(str)\r\n    citations_signal = Signal(str)\r\n    error_signal = Signal(str)\r\n    finished_signal = Signal()\r\n\r\n\r\nclass CustomTextBrowser(QTextBrowser):\r\n    def __init__(self, parent=None):\r\n        super().__init__(parent)\r\n        self.setOpenExternalLinks(False)\r\n\r\n    def doSetSource(self, name, type):\r\n        if name.scheme() == 'file':\r\n            QDesktopServices.openUrl(QUrl.fromLocalFile(name.toLocalFile()))\r\n        elif name.scheme() in ['http', 'https']:\r\n            QDesktopServices.openUrl(name)\r\n        else:\r\n            super().doSetSource(name, type)\r\n\r\n\r\nclass DatabaseQueryTab(QWidget):\r\n    def __init__(self):\r\n        super(DatabaseQueryTab, self).__init__()\r\n        self.config_path = PROJECT_ROOT / 'config.yaml'\r\n        self.lm_studio_chat_thread = None\r\n        self.local_model_chat = LocalModelChat()\r\n        self.chatgpt_thread = None\r\n        self.kobold_thread = None\r\n        self.minimax_thread = None\r\n        self.gui_signals = GuiSignals()\r\n        self.current_model_name = None\r\n        self.database_query_thread = None\r\n        self.raw_response = \"\"\r\n        self.citations_block = \"\"\r\n        self.in_think_block = False\r\n        self.initWidgets()\r\n        self.setup_signals()\r\n\r\n    def initWidgets(self):\r\n        layout = QVBoxLayout(self)\r\n\r\n        self.response_widget = CustomTextBrowser()\r\n        self.response_widget.setOpenExternalLinks(True)\r\n        layout.addWidget(self.response_widget, 5)\r\n\r\n        self.token_count_label = QLabel(\"\")\r\n        layout.addWidget(self.token_count_label)\r\n\r\n        self.thinking_indicator = ThinkingIndicator()\r\n        self.thinking_label = QLabel(\"Thinking…\")\r\n        self.thinking_label.setAlignment(Qt.AlignLeft)\r\n\r\n        indicator_layout = QHBoxLayout()\r\n        indicator_layout.setContentsMargins(0, 0, 0, 0)\r\n        indicator_layout.addWidget(self.thinking_label)\r\n        indicator_layout.addWidget(self.thinking_indicator)\r\n\r\n        self.thinking_label.hide()\r\n        self.thinking_indicator.hide()\r\n        layout.addLayout(indicator_layout)\r\n\r\n        hbox1_layout = QHBoxLayout()\r\n\r\n        self.database_pulldown = RefreshingComboBox(self)\r\n        self.database_pulldown.setToolTip(TOOLTIPS[\"DATABASE_SELECT\"])\r\n        self.database_pulldown.addItems(self.load_created_databases())\r\n        hbox1_layout.addWidget(self.database_pulldown)\r\n\r\n        self.model_source_combo = QComboBox()\r\n        self.model_source_combo.setToolTip(TOOLTIPS[\"MODEL_BACKEND_SELECT\"])\r\n        self.model_source_combo.addItems([\r\n            \"Local Model\",\r\n            \"Kobold\",\r\n            \"LM Studio\",\r\n            \"ChatGPT\",\r\n            \"MiniMax-M2.7\",\r\n            \"MiniMax-M2.7-highspeed\",\r\n        ])\r\n\r\n        chatgpt_idx = self.model_source_combo.findText(\"ChatGPT\")\r\n        if chatgpt_idx >= 0:\r\n            self.model_source_combo.setItemData(\r\n                chatgpt_idx,\r\n                \"Configure model, API key, verbosity, and reasoning effort via File → Chat Backend Settings…\",\r\n                Qt.ToolTipRole,\r\n            )\r\n\r\n        self.model_source_combo.setCurrentText(\"Local Model\")\r\n        self.model_source_combo.currentTextChanged.connect(self.on_model_source_changed)\r\n        hbox1_layout.addWidget(self.model_source_combo)\r\n\r\n        self.model_combo_box = QComboBox()\r\n        self.model_combo_box.setToolTip(TOOLTIPS[\"LOCAL_MODEL_SELECT\"])\r\n        if torch.cuda.is_available():\r\n            for model_info in CHAT_MODELS.values():\r\n                idx = self.model_combo_box.count()\r\n                self.model_combo_box.addItem(model_info[\"model\"])\r\n                gb = round(model_info[\"vram\"] / 1024, 1)\r\n                self.model_combo_box.setItemData(idx, f\"Uses ~{gb} GB memory\", Qt.ToolTipRole)\r\n            self.model_combo_box.setEnabled(True)\r\n        else:\r\n            for key in [\r\n                \"LiquidAI - .35b\",\r\n                \"Qwen 3 - 0.6b (Thinking)\",\r\n                \"LiquidAI - 1.2b\",\r\n                \"Qwen 3 - 1.7b (Thinking)\",\r\n                \"Granite - 2b\",\r\n            ]:\r\n                self.model_combo_box.addItem(CHAT_MODELS[key][\"model\"])\r\n            self.model_combo_box.setToolTip(\"Choose a local model. It will be downloaded.\")\r\n        if self.model_combo_box.count() > 0:\r\n            self.model_combo_box.setCurrentIndex(0)\r\n        hbox1_layout.addWidget(self.model_combo_box)\r\n\r\n        self.eject_button = QPushButton(\"Eject Local Model\")\r\n        self.eject_button.setToolTip(TOOLTIPS[\"EJECT_LOCAL_MODEL\"])\r\n        self.eject_button.clicked.connect(self.eject_model)\r\n        self.eject_button.setEnabled(False)\r\n        hbox1_layout.addWidget(self.eject_button)\r\n\r\n        if not torch.cuda.is_available():\r\n            self.model_source_combo.setItemData(0, 0, Qt.UserRole - 1)\r\n            tooltip = \"The Local Model option requires GPU-acceleration.\"\r\n            self.model_source_combo.setItemData(0, tooltip, Qt.ToolTipRole)\r\n            self.model_combo_box.setEnabled(False)\r\n            self.model_combo_box.setToolTip(tooltip)\r\n            self.model_combo_box.setStyleSheet(\"QComboBox:disabled { color: #707070; }\")\r\n\r\n        layout.addLayout(hbox1_layout)\r\n\r\n        self.text_input = QTextEdit()\r\n        self.text_input.setToolTip(TOOLTIPS[\"QUESTION_INPUT\"])\r\n        self.text_input.setMaximumHeight(80)\r\n        layout.addWidget(self.text_input, 1)\r\n\r\n        toggles_row = QHBoxLayout()\r\n\r\n        self.show_thinking_checkbox = QCheckBox(\"Show Thinking\")\r\n        self.show_thinking_checkbox.setChecked(False)\r\n        self.show_thinking_checkbox.stateChanged.connect(self.toggle_thinking_visibility)\r\n        toggles_row.addWidget(self.show_thinking_checkbox)\r\n\r\n        self.chunks_only_checkbox = QCheckBox(\"Chunks Only\")\r\n        self.chunks_only_checkbox.setToolTip(TOOLTIPS[\"CHUNKS_ONLY\"])\r\n        toggles_row.addWidget(self.chunks_only_checkbox)\r\n\r\n        toggles_row.addStretch(1)\r\n\r\n        layout.addLayout(toggles_row)\r\n\r\n        actions_row = QHBoxLayout()\r\n\r\n        self.copy_response_button = QPushButton(\"Copy Response\")\r\n        self.copy_response_button.setToolTip(TOOLTIPS[\"COPY_RESPONSE\"])\r\n        self.copy_response_button.clicked.connect(self.on_copy_response_clicked)\r\n        actions_row.addWidget(self.copy_response_button)\r\n\r\n        self.bark_button = QPushButton(\"Speak Response\")\r\n        self.bark_button.setToolTip(TOOLTIPS[\"SPEAK_RESPONSE\"])\r\n        self.bark_button.clicked.connect(self.on_bark_button_clicked)\r\n        actions_row.addWidget(self.bark_button)\r\n\r\n        self.record_button = QPushButton(\"Voice Recorder\")\r\n        self.record_button.setToolTip(TOOLTIPS[\"VOICE_RECORDER\"])\r\n        self.record_button.clicked.connect(self.toggle_recording)\r\n        actions_row.addWidget(self.record_button)\r\n\r\n        self.submit_button = QPushButton(\"Submit Question\")\r\n        self.submit_button.clicked.connect(self.on_submit_button_clicked)\r\n        self.submit_button.setStyleSheet(CustomButtonStyles.GREEN_BUTTON_STYLE)\r\n        self.submit_button.setDefault(True)\r\n        actions_row.addWidget(self.submit_button)\r\n\r\n        layout.addLayout(actions_row)\r\n\r\n        self.is_recording = False\r\n        self.voice_recorder = VoiceRecorder(self)\r\n\r\n    def _strategy_for_source(self, source: str) -> SubmitStrategy:\r\n        STRATEGIES = {\r\n            \"Local Model\": LocalModelStrategy(self),\r\n            \"LM Studio\": LMStudioStrategy(self),\r\n            \"Kobold\": KoboldStrategy(self),\r\n            \"ChatGPT\": ChatGPTStrategy(self),\r\n            \"MiniMax-M2.7\": MiniMaxStrategy(self),\r\n            \"MiniMax-M2.7-highspeed\": MiniMaxStrategy(self),\r\n        }\r\n        try:\r\n            return STRATEGIES[source]\r\n        except KeyError:\r\n            raise ValueError(f\"Unknown model source: {source}\")\r\n\r\n    def setup_signals(self):\r\n        self.local_model_chat.signals.response_signal.connect(self.update_response_local_model)\r\n        self.local_model_chat.signals.citations_signal.connect(self.display_citations_in_widget)\r\n        self.local_model_chat.signals.error_signal.connect(self.show_error_message)\r\n        self.local_model_chat.signals.finished_signal.connect(self.on_submission_finished)\r\n        self.local_model_chat.signals.model_loaded_signal.connect(self.on_model_loaded)\r\n        self.local_model_chat.signals.model_unloaded_signal.connect(self.on_model_unloaded)\r\n        self.local_model_chat.signals.token_count_signal.connect(self.update_token_count_label)\r\n\r\n    def _render_html(self):\r\n        if self.show_thinking_checkbox.isChecked():\r\n            visible_text = self.raw_response\r\n        else:\r\n            txt = self.raw_response\r\n            txt = re.sub(r\"<think>.*?</think>\", \"\", txt, flags=re.DOTALL | re.IGNORECASE)\r\n            txt = re.sub(r\"<think>.*$\", \"\", txt, flags=re.DOTALL | re.IGNORECASE)\r\n            txt = re.sub(r\"\\n\\s*\\n\", \"\\n\", txt).lstrip()\r\n            visible_text = txt\r\n\r\n        body = html.escape(visible_text).replace(\"\\n\", \"<br>\")\r\n        body += self.citations_block\r\n\r\n        self.response_widget.setHtml(body)\r\n        self.response_widget.verticalScrollBar().setValue(\r\n            self.response_widget.verticalScrollBar().maximum())\r\n\r\n    def toggle_thinking_visibility(self):\r\n        self._render_html()\r\n\r\n    def update_token_count_label(self, token_count_string):\r\n        self.token_count_label.setText(token_count_string)\r\n\r\n    def on_model_source_changed(self, text):\r\n        is_local = text == \"Local Model\"\r\n        self.model_combo_box.setVisible(is_local)\r\n        self.eject_button.setVisible(is_local)\r\n        if is_local:\r\n            self.model_combo_box.setEnabled(torch.cuda.is_available())\r\n            self.eject_button.setEnabled(self.local_model_chat.is_model_loaded())\r\n        else:\r\n            self.model_combo_box.setEnabled(False)\r\n            self.eject_button.setEnabled(False)\r\n\r\n    def load_created_databases(self):\r\n        if self.config_path.exists():\r\n            with open(self.config_path, 'r', encoding='utf-8') as file:\r\n                config = yaml.safe_load(file)\r\n                databases = list(config.get('created_databases', {}).keys())\r\n                return [db for db in databases if db != \"user_manual\"]\r\n        return []\r\n\r\n    def on_submit_button_clicked(self):\r\n        script_dir = PROJECT_ROOT\r\n        selected_database = self.database_pulldown.currentText()\r\n        if not selected_database or not (script_dir / \"Vector_DB\" / selected_database).exists():\r\n            QMessageBox.warning(self, \"No Database Selected\", \"Select a vector database to query first.\")\r\n            return\r\n\r\n        self.response_widget.clear()\r\n        self.token_count_label.clear()\r\n        cursor = self.response_widget.textCursor()\r\n        cursor.clearSelection()\r\n        self.response_widget.setTextCursor(cursor)\r\n\r\n        self.raw_response = \"\"\r\n        self.citations_block = \"\"\r\n        self.submit_button.setDisabled(True)\r\n        user_question = self.text_input.toPlainText()\r\n\r\n        if self.chunks_only_checkbox.isChecked():\r\n            strategy = ChunksOnlyStrategy(self)\r\n        else:\r\n            strategy = self._strategy_for_source(self.model_source_combo.currentText())\r\n\r\n        try:\r\n            strategy.submit(user_question, selected_database)\r\n        except Exception as e:\r\n            logging.exception(\"Submission failed: %s\", e)\r\n            self.show_error_message(str(e))\r\n            self.submit_button.setDisabled(False)\r\n\r\n    def display_chunks(self, chunks):\r\n        self.response_widget.setPlainText(chunks)\r\n\r\n    def on_database_query_finished(self):\r\n        self.submit_button.setDisabled(False)\r\n\r\n    def eject_model(self):\r\n        if self.local_model_chat.is_model_loaded():\r\n            try:\r\n                self.local_model_chat.eject_model()\r\n            except Exception as e:\r\n                logging.exception(f\"Error during model ejection: {e}\")\r\n            finally:\r\n                self.eject_button.setEnabled(False)\r\n                self.model_combo_box.setEnabled(True)\r\n        else:\r\n            logging.warning(\"No model is currently loaded.\")\r\n\r\n    def on_model_loaded(self):\r\n        self.eject_button.setEnabled(True)\r\n        self.eject_button.setText(f\"Eject {self.local_model_chat.current_model}\")\r\n\r\n    def on_model_unloaded(self):\r\n        self.eject_button.setEnabled(False)\r\n        self.eject_button.setText(\"Eject Local Model\")\r\n\r\n    def display_citations_in_widget(self, citations):\r\n        if citations:\r\n            self.citations_block = f\"<br><br>Citation Links:{citations}\"\r\n        else:\r\n            self.citations_block = \"<br><br>No citations found.\"\r\n        self._render_html()\r\n\r\n    def on_copy_response_clicked(self):\r\n        clipboard = QApplication.clipboard()\r\n        response_text = self.response_widget.toPlainText()\r\n        if response_text:\r\n            clipboard.setText(response_text)\r\n            QMessageBox.information(self, \"Information\", \"Response copied to clipboard.\")\r\n        else:\r\n            QMessageBox.warning(self, \"Warning\", \"No response to copy.\")\r\n\r\n    def on_bark_button_clicked(self):\r\n        script_dir = PROJECT_ROOT\r\n        config_path = script_dir / 'config.yaml'\r\n\r\n        with open(config_path, 'r', encoding='utf-8') as config_file:\r\n            config = yaml.safe_load(config_file)\r\n            tts_config = config.get('tts', {})\r\n\r\n        tts_model = tts_config.get('model', '').lower()\r\n\r\n        if tts_model not in ['googletts', 'chattts', 'kyutaipocket', 'chatterbox'] and not torch.cuda.is_available():\r\n            QMessageBox.warning(self, \"Error\", \"The Text to Speech backend you selected requires GPU-acceleration.\")\r\n            return\r\n\r\n        from core.utilities import check_backend_dependencies, install_packages\r\n        from core.constants import BACKEND_DEPENDENCIES\r\n        \r\n        if not check_backend_dependencies(tts_model, interactive=False):\r\n            required_packages = BACKEND_DEPENDENCIES.get(tts_model, {})\r\n            if required_packages:\r\n                packages_str = \", \".join([f\"{pkg}=={ver}\" for pkg, ver in required_packages.items()])\r\n\r\n                reply = QMessageBox.question(\r\n                    self, \r\n                    \"Missing Dependencies\",\r\n                    f\"{tts_model.title()} backend requires additional packages:\\n\\n{packages_str}\\n\\nInstall now?\",\r\n                    QMessageBox.Yes | QMessageBox.No,\r\n                    QMessageBox.Yes\r\n                )\r\n\r\n                if reply == QMessageBox.Yes:\r\n                    missing_packages = [(pkg, ver) for pkg, ver in required_packages.items()]\r\n                    if install_packages(missing_packages):\r\n                        QMessageBox.information(self, \"Success\", \"Dependencies installed successfully!\")\r\n                    else:\r\n                        QMessageBox.warning(self, \"Installation Failed\", \"Failed to install dependencies. Please install manually.\")\r\n                        return\r\n                else:\r\n                    return\r\n\r\n        if not (script_dir / 'chat_history.txt').exists():\r\n            QMessageBox.warning(self, \"Error\", \"No response to play.\")\r\n            return\r\n\r\n        self.run_tts_module()\r\n\r\n    def run_tts_module(self):\r\n        process = multiprocessing.Process(target=run_tts_in_process, args=(str(self.config_path), input_text_file))\r\n        process.start()\r\n\r\n    def toggle_recording(self):\r\n        if self.is_recording:\r\n            self.voice_recorder.stop_recording()\r\n            self.record_button.setText(\"Voice Recorder\")\r\n        else:\r\n            self.voice_recorder.start_recording()\r\n            self.record_button.setText(\"Stop Recording\")\r\n        self.is_recording = not self.is_recording\r\n\r\n    def update_response_lm_studio(self, response_chunk):\r\n        self.raw_response += response_chunk\r\n        self._render_html()\r\n        self.response_widget.verticalScrollBar().setValue(\r\n            self.response_widget.verticalScrollBar().maximum()\r\n        )\r\n\r\n    def update_response_local_model(self, chunk: str):\r\n        chunk_lower = chunk.lower()\r\n        open_pos = chunk_lower.rfind(\"<think>\")\r\n        close_pos = chunk_lower.rfind(\"</think>\")\r\n        \r\n        if open_pos != -1 or close_pos != -1:\r\n            self.in_think_block = open_pos > close_pos\r\n\r\n        visible = self.in_think_block and not self.show_thinking_checkbox.isChecked()\r\n        self.thinking_indicator.setVisible(visible)\r\n        self.thinking_label.setVisible(visible)\r\n\r\n        self.raw_response += chunk\r\n        self._render_html()\r\n\r\n    def show_error_message(self, error_message):\r\n        if \"exceed the chat model's context limit\" in error_message:\r\n            msg_box = QMessageBox()\r\n            msg_box.setIcon(QMessageBox.Warning)\r\n            msg_box.setText(error_message)\r\n            msg_box.setWindowTitle(\"Context Limit Exceeded\")\r\n            msg_box.setStandardButtons(QMessageBox.Ok)\r\n            msg_box.exec()\r\n        else:\r\n            QMessageBox.warning(self, \"Error\", error_message)\r\n        self.submit_button.setDisabled(False)\r\n\r\n    def on_submission_finished(self):\r\n        self.submit_button.setDisabled(False)\r\n\r\n        ix = self.raw_response.lower().rfind(\"</think>\")\r\n        answer_only = self.raw_response[ix + len(\"</think>\"):] if ix != -1 else self.raw_response\r\n        answer_only = answer_only.lstrip(\"\\n\")\r\n\r\n        try:\r\n            with open(input_text_file, \"w\", encoding=\"utf-8\") as f:\r\n                f.write(normalize_chat_text(answer_only))\r\n        except OSError as e:\r\n            logging.exception(f\"Could not write chat_history.txt: {e}\")\r\n\r\n    def update_transcription(self, transcription_text):\r\n        self.text_input.setPlainText(transcription_text)\r\n\r\n    def cleanup(self):\r\n        if self.local_model_chat.is_model_loaded():\r\n            self.local_model_chat.eject_model()\r\n        if self.database_query_thread and self.database_query_thread.isRunning():\r\n            self.database_query_thread.stop()\r\n            self.database_query_thread.wait()\r\n        if self.chatgpt_thread and self.chatgpt_thread.isRunning():\r\n            self.chatgpt_thread.wait()\r\n        if self.minimax_thread and self.minimax_thread.isRunning():\r\n            self.minimax_thread.wait()\r\n        if self.kobold_thread and self.kobold_thread.isRunning():\r\n            self.kobold_thread.stop()\r\n            self.kobold_thread.wait(timeout=5000)\r\n        print(\"Cleanup completed\")\r\n"
  },
  {
    "path": "gui/tabs_models/__init__.py",
    "content": ""
  },
  {
    "path": "gui/tabs_models/models.py",
    "content": "import threading\r\nfrom pathlib import Path\r\n\r\nfrom PySide6.QtCore import Qt, QUrl\r\nfrom PySide6.QtGui import QDesktopServices\r\nfrom PySide6.QtWidgets import (\r\n   QWidget, QLabel, QGridLayout, QVBoxLayout, QGroupBox, QPushButton, QRadioButton, QButtonGroup, QMessageBox\r\n)\r\n\r\nfrom core.constants import VECTOR_MODELS, TOOLTIPS\r\nfrom gui.download_model import ModelDownloader, model_downloaded_signal\r\n\r\nclass VectorModelsTab(QWidget):\r\n    DOWNLOAD_BUTTON_LABEL = \"Download Selected Model\"\r\n    DOWNLOAD_BUTTON_BUSY_LABEL = \"Downloading...\"\r\n\r\n    def __init__(self, parent=None):\r\n       super().__init__(parent)\r\n       self.main_layout = QVBoxLayout()\r\n       self.setLayout(self.main_layout)\r\n\r\n       self.group_boxes = {}\r\n       self.downloaded_labels = {}\r\n       self.model_radiobuttons = QButtonGroup(self)\r\n       self.model_radiobuttons.setExclusive(True)\r\n       self.stretch_factors = {\r\n           'BAAI': 4,\r\n           'intfloat': 4,\r\n           'IBM': 3,\r\n           'infly': 3,\r\n           'Snowflake': 3,\r\n           'Qwen': 4,\r\n           'Google': 2,\r\n       }\r\n\r\n       models_dir = Path('Models')\r\n       if not models_dir.exists():\r\n           models_dir.mkdir(parents=True)\r\n\r\n       vector_models_dir = models_dir / \"vector\"\r\n       if not vector_models_dir.exists():\r\n           vector_models_dir.mkdir(parents=True)\r\n\r\n       existing_vector_directories = {d.name for d in vector_models_dir.iterdir() if d.is_dir()}\r\n\r\n       headers = [\"Select\", \"Model Name\", \"Original Precision\", \"Parameters\", \"Dimensions\", \"Max Sequence\", \"Size (MB)\", \"Downloaded\"]\r\n       column_stretch_factors = [1, 2, 2, 1, 1, 1, 1, 1]\r\n\r\n       def add_centered_widget(grid, widget, row, col):\r\n           grid.addWidget(widget, row, col, alignment=Qt.AlignCenter)\r\n\r\n       row_counter = 1\r\n       for vendor, models in VECTOR_MODELS.items():\r\n           group_box = QGroupBox(vendor)\r\n\r\n           group_box.setStyleSheet(\"\"\"\r\n               QGroupBox::title {\r\n                   subcontrol-origin: margin;\r\n                   padding: 0 5px;\r\n                   font-weight: bold;\r\n                   color: #00bf9e;\r\n               }\r\n           \"\"\")\r\n\r\n           group_layout = QGridLayout()\r\n           group_layout.setVerticalSpacing(0)\r\n           group_layout.setHorizontalSpacing(0)\r\n           group_box.setLayout(group_layout)\r\n           group_layout.setContentsMargins(0, 10, 0, 0)\r\n           \r\n           size_policy = group_box.sizePolicy()\r\n           size_policy.setVerticalStretch(self.stretch_factors.get(vendor, 1))\r\n           group_box.setSizePolicy(size_policy)\r\n           \r\n           self.group_boxes[vendor] = group_box\r\n\r\n           for col, header in enumerate(headers):\r\n               header_label = QLabel(header)\r\n               header_label.setAlignment(Qt.AlignCenter)\r\n               header_label.setStyleSheet(\"text-decoration: underline;\")\r\n               header_label.setToolTip(TOOLTIPS.get(f\"VECTOR_MODEL_{header.upper().replace(' ', '_')}\", \"\"))\r\n               group_layout.addWidget(header_label, 0, col)\r\n\r\n           for col, stretch_factor in enumerate(column_stretch_factors):\r\n               group_layout.setColumnStretch(col, stretch_factor)\r\n\r\n           for model in models:\r\n               model_info = model\r\n               grid = group_box.layout()\r\n               row = grid.rowCount()\r\n\r\n               radiobutton = QRadioButton()\r\n               radiobutton.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_SELECT\", \"\"))\r\n               radiobutton.setProperty(\"model_info\", model_info)\r\n               radiobutton.setProperty(\"downloaded_key\", f\"{vendor}/{model['name']}\")\r\n               self.model_radiobuttons.addButton(radiobutton, row_counter)\r\n               add_centered_widget(grid, radiobutton, row, 0)\r\n\r\n               model_name_label = QLabel()\r\n               model_name_label.setTextFormat(Qt.RichText)\r\n               model_name_label.setText(f'<a style=\"color: #00bf9e\" href=\"https://huggingface.co/{model[\"repo_id\"]}\">{model[\"name\"]}</a>')\r\n               model_name_label.setOpenExternalLinks(False)\r\n               model_name_label.linkActivated.connect(self.open_link)\r\n               model_name_label.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_NAME\", \"\"))\r\n               add_centered_widget(grid, model_name_label, row, 1)\r\n\r\n               precision_label = QLabel(str(model.get('precision', 'N/A')))\r\n               precision_label.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_PRECISION\", \"\"))\r\n               add_centered_widget(grid, precision_label, row, 2)\r\n\r\n               parameters_label = QLabel(str(model.get('parameters', 'N/A')))\r\n               parameters_label.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_PARAMETERS\", \"\"))\r\n               add_centered_widget(grid, parameters_label, row, 3)\r\n\r\n               dimensions_label = QLabel(str(model['dimensions']))\r\n               dimensions_label.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_DIMENSIONS\", \"\"))\r\n               add_centered_widget(grid, dimensions_label, row, 4)\r\n\r\n               max_sequence_label = QLabel(str(model['max_sequence']))\r\n               max_sequence_label.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_MAX_SEQUENCE\", \"\"))\r\n               add_centered_widget(grid, max_sequence_label, row, 5)\r\n\r\n               size_label = QLabel(str(model['size_mb']))\r\n               size_label.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_SIZE\", \"\"))\r\n               add_centered_widget(grid, size_label, row, 6)\r\n\r\n               if 'cache_dir' in model:\r\n                   expected_dir_name = model['cache_dir']\r\n               else:\r\n                   expected_dir_name = ModelDownloader(model_info, model['type']).get_model_directory_name()\r\n               \r\n               is_downloaded = expected_dir_name in existing_vector_directories\r\n               downloaded_label = QLabel('Yes' if is_downloaded else 'No')\r\n               downloaded_label.setToolTip(TOOLTIPS.get(\"VECTOR_MODEL_DOWNLOADED\", \"\"))\r\n               add_centered_widget(grid, downloaded_label, row, 7)\r\n\r\n               self.downloaded_labels[f\"{vendor}/{model['name']}\"] = (downloaded_label, model_info, radiobutton)\r\n\r\n               row_counter += 1\r\n\r\n       for vendor, group_box in self.group_boxes.items():\r\n           self.main_layout.addWidget(group_box)\r\n\r\n       self.download_button = QPushButton(self.DOWNLOAD_BUTTON_LABEL)\r\n       self.download_button.setToolTip(TOOLTIPS.get(\"DOWNLOAD_MODEL\", \"\"))\r\n       self.download_button.clicked.connect(self.initiate_model_download)\r\n       self.main_layout.addWidget(self.download_button)\r\n\r\n       model_downloaded_signal.downloaded.connect(self.update_model_downloaded_status)\r\n       model_downloaded_signal.failed.connect(self._on_download_failed)\r\n\r\n    def initiate_model_download(self):\r\n       selected_button = self.model_radiobuttons.checkedButton()\r\n       if selected_button is None:\r\n           return\r\n\r\n       model_info = selected_button.property(\"model_info\")\r\n       downloaded_key = selected_button.property(\"downloaded_key\")\r\n       downloaded_label = self.downloaded_labels[downloaded_key][0]\r\n\r\n       if downloaded_label.text() == 'Yes':\r\n           reply = QMessageBox.question(\r\n               self,\r\n               \"Model Already Downloaded\",\r\n               f\"'{model_info['name']}' is already downloaded.\\n\\nRe-download it?\",\r\n               QMessageBox.Yes | QMessageBox.No,\r\n               QMessageBox.No\r\n           )\r\n           if reply != QMessageBox.Yes:\r\n               return\r\n\r\n       self.download_button.setEnabled(False)\r\n       self.download_button.setText(self.DOWNLOAD_BUTTON_BUSY_LABEL)\r\n\r\n       model_downloader = ModelDownloader(model_info, model_info['type'])\r\n       threading.Thread(target=model_downloader.download, daemon=True).start()\r\n\r\n    def _reset_download_button(self):\r\n       self.download_button.setEnabled(True)\r\n       self.download_button.setText(self.DOWNLOAD_BUTTON_LABEL)\r\n\r\n    def _on_download_failed(self, message):\r\n       self._reset_download_button()\r\n       QMessageBox.critical(self, \"Download Failed\", message)\r\n\r\n    def update_model_downloaded_status(self, model_name, model_type):\r\n       self._reset_download_button()\r\n\r\n       models_dir = Path('Models')\r\n       vector_models_dir = models_dir / \"vector\"\r\n\r\n       existing_vector_directories = {d.name for d in vector_models_dir.iterdir() if d.is_dir()}\r\n\r\n       for vendor, models in VECTOR_MODELS.items():\r\n           for model in models:\r\n               cache_dir = model.get('cache_dir', '')\r\n               generated_dir = model['repo_id'].replace('/', '--')\r\n\r\n               if cache_dir == model_name or generated_dir == model_name:\r\n                   key = f\"{vendor}/{model['name']}\"\r\n                   if key in self.downloaded_labels:\r\n                       downloaded_label, _, _ = self.downloaded_labels[key]\r\n                       downloaded_label.setText('Yes')\r\n                   self.refresh_gui()\r\n                   return\r\n\r\n       print(f\"Model {model_name} not found in VECTOR_MODELS\")\r\n\r\n    def refresh_gui(self):\r\n       for group_box in self.group_boxes.values():\r\n           group_box.repaint()\r\n       self.repaint()\r\n\r\n    def open_link(self, url):\r\n        QDesktopServices.openUrl(QUrl(url))\r\n\r\nif __name__ == \"__main__\":\r\n    from PySide6.QtWidgets import QApplication\r\n    app = QApplication([])\r\n    window = VectorModelsTab()\r\n    window.show()\r\n    app.exec()\r\n"
  },
  {
    "path": "gui/tabs_settings/__init__.py",
    "content": ""
  },
  {
    "path": "gui/tabs_settings/database_create.py",
    "content": "import yaml\r\nfrom PySide6.QtGui import QIntValidator\r\nfrom PySide6.QtWidgets import QWidget, QLabel, QLineEdit, QGridLayout, QHBoxLayout, QComboBox, QCheckBox, QMessageBox\r\n\r\nfrom core.constants import TOOLTIPS\r\n\r\n\r\nclass ChunkSettingsTab(QWidget):\r\n    def __init__(self):\r\n        super(ChunkSettingsTab, self).__init__()\r\n        with open(\"config.yaml\", \"r\", encoding=\"utf-8\") as f:\r\n            config_data = yaml.safe_load(f)\r\n            self.database_config = config_data[\"database\"]\r\n            self.compute_device_options = config_data[\"Compute_Device\"][\"available\"]\r\n            self.database_creation_device = config_data[\"Compute_Device\"][\"database_creation\"]\r\n\r\n        preset_tooltip = (\r\n            \"Controls CPU parallelism during database creation.\\n\"\r\n            \"Minimal: sequential processing (1 thread/process)\\n\"\r\n            \"Low: light parallelism (2-4 workers)\\n\"\r\n            \"Normal: moderate parallelism (default)\\n\"\r\n            \"High: aggressive parallelism\\n\"\r\n            \"Maximum: all available CPU cores\"\r\n        )\r\n\r\n        current_size = self.database_config.get(\"chunk_size\", \"\")\r\n        current_overlap = self.database_config.get(\"chunk_overlap\", \"\")\r\n        current_preset = self.database_config.get(\"pipeline_preset\", \"normal\")\r\n\r\n        self.device_label = QLabel(\"Device:\")\r\n        self.device_label.setToolTip(TOOLTIPS[\"CREATE_DEVICE_DB\"])\r\n        self.device_combo = QComboBox()\r\n        self.device_combo.addItems(self.compute_device_options)\r\n        self.device_combo.setToolTip(TOOLTIPS[\"CREATE_DEVICE_DB\"])\r\n        if self.database_creation_device in self.compute_device_options:\r\n            self.device_combo.setCurrentIndex(\r\n                self.compute_device_options.index(self.database_creation_device)\r\n            )\r\n        self.device_combo.setMinimumWidth(100)\r\n\r\n        self.half_precision_label = QLabel(\"Half-Precision (2x speedup - GPU only):\")\r\n        self.half_precision_label.setToolTip(TOOLTIPS[\"HALF_PRECISION\"])\r\n        self.half_precision_checkbox = QCheckBox()\r\n        self.half_precision_checkbox.setChecked(self.database_config.get(\"half\", False))\r\n        self.half_precision_checkbox.setToolTip(TOOLTIPS[\"HALF_PRECISION\"])\r\n\r\n        self.preset_label = QLabel(\"Pipeline Performance:\")\r\n        self.preset_label.setToolTip(preset_tooltip)\r\n        self.preset_combo = QComboBox()\r\n        self.preset_combo.addItems([\"minimal\", \"low\", \"normal\", \"high\", \"maximum\"])\r\n        self.preset_combo.setCurrentText(current_preset)\r\n        self.preset_combo.setToolTip(preset_tooltip)\r\n        self.preset_combo.setMinimumWidth(100)\r\n\r\n        self.chunk_size_label = QLabel(\"Chunk Size (# characters):\")\r\n        self.chunk_size_label.setToolTip(TOOLTIPS[\"CHUNK_SIZE\"])\r\n        self.current_size_label = QLabel(f\"{current_size}\")\r\n        self.current_size_label.setToolTip(TOOLTIPS[\"CHUNK_SIZE\"])\r\n        self.chunk_size_edit = QLineEdit()\r\n        self.chunk_size_edit.setPlaceholderText(\"Enter new chunk_size...\")\r\n        self.chunk_size_edit.setValidator(QIntValidator(1, 1000000))\r\n        self.chunk_size_edit.setToolTip(TOOLTIPS[\"CHUNK_SIZE\"])\r\n\r\n        self.chunk_overlap_label = QLabel(\"Chunk Overlap (# characters):\")\r\n        self.chunk_overlap_label.setToolTip(TOOLTIPS[\"CHUNK_OVERLAP\"])\r\n        self.current_overlap_label = QLabel(f\"{current_overlap}\")\r\n        self.current_overlap_label.setToolTip(TOOLTIPS[\"CHUNK_OVERLAP\"])\r\n        self.chunk_overlap_edit = QLineEdit()\r\n        self.chunk_overlap_edit.setPlaceholderText(\"Enter new chunk_overlap...\")\r\n        self.chunk_overlap_edit.setValidator(QIntValidator(0, 1000000))\r\n        self.chunk_overlap_edit.setToolTip(TOOLTIPS[\"CHUNK_OVERLAP\"])\r\n\r\n        def labeled(label, current, editor, editor_stretch=1):\r\n            box = QHBoxLayout()\r\n            box.addWidget(label)\r\n            box.addWidget(current)\r\n            box.addWidget(editor, editor_stretch)\r\n            return box\r\n\r\n        device_cell = QHBoxLayout()\r\n        device_cell.addWidget(self.device_label)\r\n        device_cell.addWidget(self.device_combo, 1)\r\n\r\n        half_cell = QHBoxLayout()\r\n        half_cell.addWidget(self.half_precision_label)\r\n        half_cell.addWidget(self.half_precision_checkbox)\r\n        half_cell.addStretch(1)\r\n\r\n        preset_cell = QHBoxLayout()\r\n        preset_cell.addWidget(self.preset_label)\r\n        preset_cell.addWidget(self.preset_combo, 1)\r\n\r\n        size_cell = labeled(self.chunk_size_label, self.current_size_label, self.chunk_size_edit)\r\n        overlap_cell = labeled(self.chunk_overlap_label, self.current_overlap_label, self.chunk_overlap_edit)\r\n\r\n        grid_layout = QGridLayout()\r\n        for col in range(6):\r\n            grid_layout.setColumnStretch(col, 1)\r\n\r\n        grid_layout.addLayout(device_cell, 0, 0, 1, 2)\r\n        grid_layout.addLayout(preset_cell, 0, 2, 1, 2)\r\n        grid_layout.addLayout(half_cell,   0, 4, 1, 2)\r\n        grid_layout.addLayout(size_cell,    1, 0, 1, 3)\r\n        grid_layout.addLayout(overlap_cell, 1, 3, 1, 3)\r\n\r\n        self.setLayout(grid_layout)\r\n\r\n    def update_config(self):\r\n        try:\r\n            with open(\"config.yaml\", \"r\", encoding=\"utf-8\") as f:\r\n                config_data = yaml.safe_load(f)\r\n        except Exception as e:\r\n            QMessageBox.critical(\r\n                self,\r\n                \"Error Loading Configuration\",\r\n                f\"An error occurred while loading the configuration: {e}\",\r\n            )\r\n            return False\r\n\r\n        settings_changed = False\r\n        errors = []\r\n\r\n        new_device = self.device_combo.currentText()\r\n        device_changed = new_device != self.database_creation_device\r\n\r\n        new_chunk_size_text = self.chunk_size_edit.text().strip()\r\n        if new_chunk_size_text:\r\n            try:\r\n                new_chunk_size = int(new_chunk_size_text)\r\n                if new_chunk_size <= 0:\r\n                    raise ValueError(\"Chunk size must be a positive integer.\")\r\n            except ValueError as ve:\r\n                errors.append(f\"Chunk size must be a positive integer: {str(ve)}\")\r\n        else:\r\n            new_chunk_size = self.database_config.get(\"chunk_size\", 0)\r\n\r\n        new_chunk_overlap_text = self.chunk_overlap_edit.text().strip()\r\n        if new_chunk_overlap_text:\r\n            try:\r\n                new_chunk_overlap = int(new_chunk_overlap_text)\r\n                if new_chunk_overlap < 0:\r\n                    raise ValueError(\"Chunk overlap cannot be negative.\")\r\n            except ValueError as ve:\r\n                errors.append(\r\n                    f\"Chunk overlap must be a non-negative integer: {str(ve)}\"\r\n                )\r\n        else:\r\n            new_chunk_overlap = self.database_config.get(\"chunk_overlap\", 0)\r\n\r\n        if new_chunk_size and new_chunk_overlap >= new_chunk_size:\r\n            errors.append(\"Chunk overlap must be less than chunk size.\")\r\n\r\n        if errors:\r\n            error_message = \"\\n\".join(errors)\r\n            QMessageBox.warning(\r\n                self, \"Invalid Input\", f\"The following errors occurred:\\n{error_message}\"\r\n            )\r\n            return False\r\n\r\n        if device_changed:\r\n            config_data[\"Compute_Device\"][\"database_creation\"] = new_device\r\n            self.database_creation_device = new_device\r\n            settings_changed = True\r\n\r\n        if new_chunk_size_text and new_chunk_size != self.database_config.get(\r\n            \"chunk_size\", 0\r\n        ):\r\n            config_data[\"database\"][\"chunk_size\"] = new_chunk_size\r\n            self.current_size_label.setText(f\"{new_chunk_size}\")\r\n            settings_changed = True\r\n\r\n        if new_chunk_overlap_text and new_chunk_overlap != self.database_config.get(\r\n            \"chunk_overlap\", 0\r\n        ):\r\n            config_data[\"database\"][\"chunk_overlap\"] = new_chunk_overlap\r\n            self.current_overlap_label.setText(f\"{new_chunk_overlap}\")\r\n            settings_changed = True\r\n\r\n        new_half_precision = self.half_precision_checkbox.isChecked()\r\n        if new_half_precision != self.database_config.get(\"half\", False):\r\n            config_data[\"database\"][\"half\"] = new_half_precision\r\n            settings_changed = True\r\n\r\n        new_preset = self.preset_combo.currentText()\r\n        if new_preset != self.database_config.get(\"pipeline_preset\", \"normal\"):\r\n            config_data[\"database\"][\"pipeline_preset\"] = new_preset\r\n            settings_changed = True\r\n\r\n        if settings_changed:\r\n            try:\r\n                with open(\"config.yaml\", \"w\", encoding=\"utf-8\") as f:\r\n                    yaml.safe_dump(config_data, f)\r\n\r\n                self.database_config[\"chunk_size\"] = config_data[\"database\"][\"chunk_size\"]\r\n                self.database_config[\"chunk_overlap\"] = config_data[\"database\"][\"chunk_overlap\"]\r\n                self.database_config[\"half\"] = config_data[\"database\"][\"half\"]\r\n                self.database_config[\"pipeline_preset\"] = config_data[\"database\"].get(\"pipeline_preset\", \"normal\")\r\n\r\n                self.database_creation_device = config_data[\"Compute_Device\"][\r\n                    \"database_creation\"\r\n                ]\r\n\r\n                self.chunk_overlap_edit.clear()\r\n                self.chunk_size_edit.clear()\r\n            except Exception as e:\r\n                QMessageBox.critical(\r\n                    self,\r\n                    \"Error Saving Configuration\",\r\n                    f\"An error occurred while saving the configuration: {e}\",\r\n                )\r\n                return False\r\n        else:\r\n            return False\r\n\r\n        return settings_changed\r\n"
  },
  {
    "path": "gui/tabs_settings/database_query.py",
    "content": "import yaml\r\nfrom PySide6.QtGui import QIntValidator, QDoubleValidator\r\nfrom PySide6.QtWidgets import (\r\n    QWidget,\r\n    QLabel,\r\n    QLineEdit,\r\n    QGridLayout,\r\n    QHBoxLayout,\r\n    QSizePolicy,\r\n    QComboBox,\r\n    QPushButton,\r\n    QMessageBox,\r\n)\r\n\r\nfrom core.constants import TOOLTIPS\r\n\r\n\r\nclass DatabaseSettingsTab(QWidget):\r\n    def __init__(self):\r\n        super(DatabaseSettingsTab, self).__init__()\r\n\r\n        try:\r\n            with open(\"config.yaml\", \"r\", encoding=\"utf-8\") as f:\r\n                config_data = yaml.safe_load(f)\r\n                self.database_config = config_data[\"database\"]\r\n                self.compute_device_options = config_data[\"Compute_Device\"][\"available\"]\r\n                self.database_query_device = config_data[\"Compute_Device\"][\"database_query\"]\r\n                self.search_term = self.database_config.get(\"search_term\", \"\")\r\n                self.document_type = self.database_config.get(\"document_types\", \"\")\r\n        except Exception as e:\r\n            QMessageBox.critical(\r\n                self,\r\n                \"Error Loading Configuration\",\r\n                f\"An error occurred while loading the configuration: {e}\",\r\n            )\r\n            self.database_config = {}\r\n            self.compute_device_options = []\r\n            self.database_query_device = \"\"\r\n            self.search_term = \"\"\r\n            self.document_type = \"\"\r\n\r\n        self.field_data = {}\r\n        self.label_data = {}\r\n\r\n        self.query_device_label = QLabel(\"Device:\")\r\n        self.query_device_label.setToolTip(TOOLTIPS[\"CREATE_DEVICE_QUERY\"])\r\n        self.query_device_combo = QComboBox()\r\n        self.query_device_combo.addItems(self.compute_device_options)\r\n        self.query_device_combo.setToolTip(TOOLTIPS[\"CREATE_DEVICE_QUERY\"])\r\n        if self.database_query_device in self.compute_device_options:\r\n            self.query_device_combo.setCurrentIndex(\r\n                self.compute_device_options.index(self.database_query_device)\r\n            )\r\n\r\n        similarity_value = self.database_config.get(\"similarity\", \"\")\r\n        self.similarity_edit = QLineEdit()\r\n        self.similarity_edit.setPlaceholderText(\"Similarity (0.0 - 1.0)...\")\r\n        self.similarity_edit.setValidator(QDoubleValidator(0.0, 1.0, 4))\r\n        self.similarity_edit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)\r\n        self.similarity_edit.setToolTip(TOOLTIPS[\"SIMILARITY\"])\r\n        self.similarity_label = QLabel(f\"Similarity: {similarity_value}\")\r\n        self.similarity_label.setToolTip(TOOLTIPS[\"SIMILARITY\"])\r\n        self.field_data[\"similarity\"] = self.similarity_edit\r\n        self.label_data[\"similarity\"] = self.similarity_label\r\n\r\n        contexts_value = self.database_config.get(\"contexts\", \"\")\r\n        self.contexts_edit = QLineEdit()\r\n        self.contexts_edit.setPlaceholderText(\"# Contexts to return...\")\r\n        self.contexts_edit.setValidator(QIntValidator(1, 1000000))\r\n        self.contexts_edit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)\r\n        self.contexts_edit.setToolTip(TOOLTIPS[\"CONTEXTS\"])\r\n        self.contexts_label = QLabel(f\"Contexts: {contexts_value}\")\r\n        self.contexts_label.setToolTip(TOOLTIPS[\"CONTEXTS\"])\r\n        self.field_data[\"contexts\"] = self.contexts_edit\r\n        self.label_data[\"contexts\"] = self.contexts_label\r\n\r\n        self.search_term_edit = QLineEdit()\r\n        self.search_term_edit.setPlaceholderText(\"Term to require...\")\r\n        self.search_term_edit.setText(self.search_term)\r\n        self.search_term_edit.setToolTip(TOOLTIPS[\"SEARCH_TERM_FILTER\"])\r\n        self.search_term_label = QLabel(f\"Search Term Filter: {self.search_term}\")\r\n        self.search_term_label.setToolTip(TOOLTIPS[\"SEARCH_TERM_FILTER\"])\r\n        self.filter_button = QPushButton(\"Clear Filter\")\r\n        self.filter_button.clicked.connect(self.reset_search_term)\r\n\r\n        self.file_type_combo = QComboBox()\r\n        file_type_items = [\"All Files\", \"Images Only\", \"Documents Only\", \"Audio Only\"]\r\n        self.file_type_combo.addItems(file_type_items)\r\n        self.file_type_combo.setToolTip(TOOLTIPS[\"FILE_TYPE_FILTER\"])\r\n\r\n        if self.document_type == \"image\":\r\n            default_index = file_type_items.index(\"Images Only\")\r\n        elif self.document_type == \"document\":\r\n            default_index = file_type_items.index(\"Documents Only\")\r\n        elif self.document_type == \"audio\":\r\n            default_index = file_type_items.index(\"Audio Only\")\r\n        else:\r\n            default_index = file_type_items.index(\"All Files\")\r\n        self.file_type_combo.setCurrentIndex(default_index)\r\n\r\n        self.file_type_label = QLabel(\"File Type:\")\r\n        self.file_type_label.setToolTip(TOOLTIPS[\"FILE_TYPE_FILTER\"])\r\n\r\n        device_cell = QHBoxLayout()\r\n        device_cell.addWidget(self.query_device_label)\r\n        device_cell.addWidget(self.query_device_combo, 1)\r\n\r\n        similarity_cell = QHBoxLayout()\r\n        similarity_cell.addWidget(self.similarity_label)\r\n        similarity_cell.addWidget(self.similarity_edit, 1)\r\n\r\n        contexts_cell = QHBoxLayout()\r\n        contexts_cell.addWidget(self.contexts_label)\r\n        contexts_cell.addWidget(self.contexts_edit, 1)\r\n\r\n        search_cell = QHBoxLayout()\r\n        search_cell.addWidget(self.search_term_label)\r\n        search_cell.addWidget(self.search_term_edit, 1)\r\n        search_cell.addWidget(self.filter_button)\r\n\r\n        file_type_cell = QHBoxLayout()\r\n        file_type_cell.addWidget(self.file_type_label)\r\n        file_type_cell.addWidget(self.file_type_combo, 1)\r\n\r\n        grid_layout = QGridLayout()\r\n        for col in range(6):\r\n            grid_layout.setColumnStretch(col, 1)\r\n\r\n        grid_layout.addLayout(device_cell,     0, 0, 1, 2)\r\n        grid_layout.addLayout(similarity_cell, 0, 2, 1, 2)\r\n        grid_layout.addLayout(contexts_cell,   0, 4, 1, 2)\r\n        grid_layout.addLayout(search_cell,     1, 0, 1, 4)\r\n        grid_layout.addLayout(file_type_cell,  1, 4, 1, 2)\r\n\r\n        self.setLayout(grid_layout)\r\n\r\n    def update_config(self):\r\n        try:\r\n            with open(\"config.yaml\", \"r\", encoding=\"utf-8\") as f:\r\n                config_data = yaml.safe_load(f)\r\n        except Exception as e:\r\n            QMessageBox.critical(\r\n                self,\r\n                \"Error Loading Configuration\",\r\n                f\"An error occurred while loading the configuration: {e}\",\r\n            )\r\n            return False\r\n\r\n        settings_changed = False\r\n        errors = []\r\n\r\n        new_query_device = self.query_device_combo.currentText()\r\n        device_changed = new_query_device != config_data[\"Compute_Device\"].get(\r\n            \"database_query\", \"\"\r\n        )\r\n\r\n        new_similarity_text = self.similarity_edit.text().strip()\r\n        if new_similarity_text:\r\n            try:\r\n                new_similarity = float(new_similarity_text)\r\n                if not (0.0 <= new_similarity <= 1.0):\r\n                    raise ValueError(\"Similarity must be between 0.0 and 1.0.\")\r\n            except ValueError:\r\n                errors.append(\"Similarity must be a number between 0.0 and 1.0.\")\r\n        else:\r\n            new_similarity = self.database_config.get(\"similarity\", 0.0)\r\n\r\n        new_contexts_text = self.contexts_edit.text().strip()\r\n        if new_contexts_text:\r\n            try:\r\n                new_contexts = int(new_contexts_text)\r\n                if new_contexts < 1:\r\n                    raise ValueError(\"Contexts must be a positive integer.\")\r\n            except ValueError:\r\n                errors.append(\"Contexts must be a positive integer.\")\r\n        else:\r\n            new_contexts = self.database_config.get(\"contexts\", 1)\r\n\r\n        new_search_term = self.search_term_edit.text().strip()\r\n\r\n        file_type_map = {\r\n            \"All Files\": \"\",\r\n            \"Images Only\": \"image\",\r\n            \"Documents Only\": \"document\",\r\n            \"Audio Only\": \"audio\",\r\n        }\r\n\r\n        file_type_selection = self.file_type_combo.currentText()\r\n        document_type_value = file_type_map.get(file_type_selection, \"\")\r\n\r\n        if errors:\r\n            error_message = \"\\n\".join(errors)\r\n            QMessageBox.warning(\r\n                self, \"Invalid Input\", f\"The following errors occurred:\\n{error_message}\"\r\n            )\r\n            return False\r\n\r\n        if device_changed:\r\n            config_data[\"Compute_Device\"][\"database_query\"] = new_query_device\r\n            settings_changed = True\r\n\r\n        if new_similarity_text and new_similarity != config_data[\"database\"].get(\r\n            \"similarity\", 0.0\r\n        ):\r\n            config_data[\"database\"][\"similarity\"] = new_similarity\r\n            settings_changed = True\r\n\r\n        if new_contexts_text and new_contexts != config_data[\"database\"].get(\r\n            \"contexts\", 1\r\n        ):\r\n            config_data[\"database\"][\"contexts\"] = new_contexts\r\n            settings_changed = True\r\n\r\n        if new_search_term and new_search_term != config_data[\"database\"].get(\r\n            \"search_term\", \"\"\r\n        ):\r\n            config_data[\"database\"][\"search_term\"] = new_search_term\r\n            settings_changed = True\r\n\r\n        if document_type_value != config_data[\"database\"].get(\"document_types\", \"\"):\r\n            config_data[\"database\"][\"document_types\"] = document_type_value\r\n            settings_changed = True\r\n\r\n        if settings_changed:\r\n            try:\r\n                with open(\"config.yaml\", \"w\", encoding=\"utf-8\") as f:\r\n                    yaml.safe_dump(config_data, f)\r\n            except Exception as e:\r\n                QMessageBox.critical(\r\n                    self,\r\n                    \"Error Saving Configuration\",\r\n                    f\"An error occurred while saving the configuration: {e}\",\r\n                )\r\n                return False\r\n\r\n            if device_changed:\r\n                self.database_query_device = new_query_device\r\n\r\n            if new_similarity_text:\r\n                self.database_config[\"similarity\"] = new_similarity\r\n                self.similarity_label.setText(f\"Similarity: {new_similarity}\")\r\n\r\n            if new_contexts_text:\r\n                self.database_config[\"contexts\"] = new_contexts\r\n                self.contexts_label.setText(f\"Contexts: {new_contexts}\")\r\n\r\n            if new_search_term:\r\n                self.search_term = new_search_term\r\n                self.database_config[\"search_term\"] = new_search_term\r\n                self.search_term_label.setText(f\"Search Term Filter: {new_search_term}\")\r\n\r\n            self.document_type = document_type_value\r\n            self.database_config[\"document_types\"] = document_type_value\r\n\r\n            self.similarity_edit.clear()\r\n            self.contexts_edit.clear()\r\n            self.search_term_edit.clear()\r\n\r\n        return settings_changed\r\n\r\n    def reset_search_term(self):\r\n        try:\r\n            with open(\"config.yaml\", \"r\", encoding=\"utf-8\") as f:\r\n                config_data = yaml.safe_load(f)\r\n        except Exception as e:\r\n            QMessageBox.critical(\r\n                self,\r\n                \"Error Loading Configuration\",\r\n                f\"An error occurred while loading the configuration: {e}\",\r\n            )\r\n            return\r\n\r\n        config_data[\"database\"][\"search_term\"] = \"\"\r\n\r\n        try:\r\n            with open(\"config.yaml\", \"w\", encoding=\"utf-8\") as f:\r\n                yaml.safe_dump(config_data, f)\r\n        except Exception as e:\r\n            QMessageBox.critical(\r\n                self,\r\n                \"Error Saving Configuration\",\r\n                f\"An error occurred while saving the configuration: {e}\",\r\n            )\r\n            return\r\n\r\n        self.search_term = \"\"\r\n        self.database_config[\"search_term\"] = \"\"\r\n        self.search_term_label.setText(\"Search Term Filter: \")\r\n        self.search_term_edit.clear()\r\n"
  },
  {
    "path": "gui/tabs_settings/settings.py",
    "content": "import logging\r\nfrom functools import partial\r\nfrom PySide6.QtWidgets import (\r\n    QVBoxLayout,\r\n    QGroupBox,\r\n    QPushButton,\r\n    QHBoxLayout,\r\n    QWidget,\r\n    QMessageBox,\r\n)\r\nfrom gui.tabs_settings.database_create import ChunkSettingsTab\r\nfrom gui.tabs_settings.database_query import DatabaseSettingsTab\r\nfrom gui.tabs_settings.tts import TTSSettingsTab\r\nfrom gui.tabs_settings.vision import VisionSettingsTab\r\n\r\n\r\ndef update_all_configs(configs):\r\n    updated = False\r\n    for config in configs.values():\r\n        updated = config.update_config() or updated\r\n    if updated:\r\n        logging.info(\"config.yaml file updated\")\r\n\r\n    message = \"Settings Updated\" if updated else \"No Updates\"\r\n    details = (\r\n        \"One or more settings have been updated.\"\r\n        if updated\r\n        else \"No new settings were entered.\"\r\n    )\r\n\r\n    QMessageBox.information(None, message, details)\r\n\r\n\r\ndef adjust_stretch(groups, layout):\r\n    for group, factor in groups.items():\r\n        layout.setStretchFactor(group, factor if group.isChecked() else 0)\r\n\r\n\r\nclass GuiSettingsTab(QWidget):\r\n    def __init__(self):\r\n        super(GuiSettingsTab, self).__init__()\r\n        self.layout = QVBoxLayout()\r\n        classes = {\r\n            \"Database Query\": (DatabaseSettingsTab, 4),\r\n            \"Database Creation\": (ChunkSettingsTab, 3),\r\n        }\r\n        self.groups = {}\r\n        self.configs = {}\r\n\r\n        for title, (TabClass, stretch) in classes.items():\r\n            settings = TabClass()\r\n            group = QGroupBox(title)\r\n            layout = QVBoxLayout()\r\n            layout.addWidget(settings)\r\n            group.setLayout(layout)\r\n            group.setCheckable(True)\r\n            group.setChecked(True)\r\n            self.groups[group] = stretch\r\n            self.configs[title] = settings\r\n            self.layout.addWidget(group, stretch)\r\n            group.toggled.connect(partial(self.toggle_group, group))\r\n\r\n        ttsSettings = TTSSettingsTab()\r\n        ttsGroup = QGroupBox(\"Text to Speech\")\r\n        ttsLayout = QVBoxLayout()\r\n        ttsLayout.addWidget(ttsSettings)\r\n        ttsGroup.setLayout(ttsLayout)\r\n        ttsGroup.setCheckable(True)\r\n        ttsGroup.setChecked(True)\r\n        self.layout.addWidget(ttsGroup, 3)\r\n        self.groups[ttsGroup] = 3\r\n        ttsGroup.toggled.connect(partial(self.toggle_tts_group, ttsSettings))\r\n\r\n        visionSettings = VisionSettingsTab()\r\n        visionGroup = QGroupBox(\"Vision Models\")\r\n        visionLayout = QVBoxLayout()\r\n        visionLayout.addWidget(visionSettings)\r\n        visionGroup.setLayout(visionLayout)\r\n        visionGroup.setCheckable(True)\r\n        visionGroup.setChecked(True)\r\n        self.layout.addWidget(visionGroup, 2)\r\n        self.groups[visionGroup] = 2\r\n        visionGroup.toggled.connect(partial(self.toggle_vision_group, visionSettings))\r\n\r\n        self.update_all_button = QPushButton(\"Update Settings\")\r\n        self.update_all_button.setStyleSheet(\"min-width: 200px;\")\r\n        self.update_all_button.clicked.connect(self.update_all_settings)\r\n        center_button_layout = QHBoxLayout()\r\n        center_button_layout.addStretch(1)\r\n        center_button_layout.addWidget(self.update_all_button)\r\n        center_button_layout.addStretch(1)\r\n        self.layout.addLayout(center_button_layout)\r\n\r\n        self.setLayout(self.layout)\r\n        adjust_stretch(self.groups, self.layout)\r\n\r\n    def toggle_group(self, group, checked):\r\n        if group.title() in self.configs:\r\n            self.configs[group.title()].setVisible(checked)\r\n        adjust_stretch(self.groups, self.layout)\r\n\r\n    def toggle_tts_group(self, ttsSettings, checked):\r\n        ttsSettings.setVisible(checked)\r\n        adjust_stretch(self.groups, self.layout)\r\n\r\n    def toggle_vision_group(self, visionSettings, checked):\r\n        visionSettings.setVisible(checked)\r\n        adjust_stretch(self.groups, self.layout)\r\n\r\n    def update_all_settings(self):\r\n        update_all_configs(self.configs)\r\n"
  },
  {
    "path": "gui/tabs_settings/tts.py",
    "content": "import yaml\r\nfrom pathlib import Path\r\nfrom PySide6.QtCore import Qt\r\nfrom PySide6.QtWidgets import (\r\n    QLabel, QComboBox, QWidget, QGridLayout, QMessageBox, QHBoxLayout, QCheckBox\r\n)\r\n\r\nfrom core.constants import WHISPER_SPEECH_MODELS\r\n\r\nWHISPER_SPEECH_SPEAKERS = [\"default\", \"classic\", \"voice_b\"]\r\nWHISPER_SPEECH_VOICE_CLONING_LABEL = \"Voice Cloning (Coming Soon)\"\r\n\r\nKYUTAI_POCKET_VOICES = [\r\n    \"alba\", \"anna\", \"azelma\", \"bill_boerst\", \"caro_davy\", \"charles\", \"cosette\",\r\n    \"eponine\", \"eve\", \"fantine\", \"george\", \"jane\", \"javert\", \"jean\", \"marius\",\r\n    \"mary\", \"michael\", \"paul\", \"peter_yearsley\", \"stuart_bell\", \"vera\",\r\n]\r\nKYUTAI_POCKET_QUANTIZE_TOOLTIP = (\r\n    \"Apply int8 quantization. The developers claim no loss of quality \"\r\n    \"(WER unchanged) with ~48% less RAM and ~27% faster inference. \"\r\n    \"Feel free to test and decide for yourself.\"\r\n)\r\n\r\n\r\nclass TTSSettingsTab(QWidget):\r\n    BACKENDS = {\r\n        \"bark\": {\r\n            \"label\": \"Bark (GPU)\",\r\n            \"extras\": {\r\n                \"size\": {\r\n                    \"label\": \"Model\",\r\n                    \"options\": [\"normal\", \"small\"],\r\n                    \"default\": \"small\",\r\n                },\r\n                \"speaker\": {\r\n                    \"label\": \"Speaker\",\r\n                    \"options\": [\r\n                        \"v2/en_speaker_0\", \"v2/en_speaker_1\", \"v2/en_speaker_2\",\r\n                        \"v2/en_speaker_3\", \"v2/en_speaker_4\", \"v2/en_speaker_5\",\r\n                        \"v2/en_speaker_6\", \"v2/en_speaker_7\", \"v2/en_speaker_8\",\r\n                        \"v2/en_speaker_9\",\r\n                    ],\r\n                    \"default\": \"v2/en_speaker_6\",\r\n                },\r\n            },\r\n        },\r\n        \"whisperspeech\": {\r\n            \"label\": \"WhisperSpeech (GPU)\",\r\n            \"extras\": {\r\n                \"s2a\": {\r\n                    \"label\": \"S2A Model\",\r\n                    \"options\": list(WHISPER_SPEECH_MODELS[\"s2a\"].keys()),\r\n                    \"default\": list(WHISPER_SPEECH_MODELS[\"s2a\"].keys())[0],\r\n                },\r\n                \"t2s\": {\r\n                    \"label\": \"T2S Model\",\r\n                    \"options\": list(WHISPER_SPEECH_MODELS[\"t2s\"].keys()),\r\n                    \"default\": list(WHISPER_SPEECH_MODELS[\"t2s\"].keys())[0],\r\n                },\r\n                \"speaker\": {\r\n                    \"label\": \"Speaker\",\r\n                    \"options\": WHISPER_SPEECH_SPEAKERS + [WHISPER_SPEECH_VOICE_CLONING_LABEL],\r\n                    \"default\": WHISPER_SPEECH_SPEAKERS[0],\r\n                },\r\n            },\r\n        },\r\n        \"chattts\": {\r\n            \"label\": \"ChatTTS (CPU/CPU)\",\r\n            \"extras\": {},\r\n        },\r\n        \"chatterbox\": {\r\n            \"label\": \"Chatterbox (CPU/GPU)\",\r\n            \"extras\": {},\r\n        },\r\n        \"googletts\": {\r\n            \"label\": \"Google TTS (CPU)\",\r\n            \"extras\": {},\r\n        },\r\n        \"kyutaipocket\": {\r\n            \"label\": \"Kyutai Pocket (CPU)\",\r\n            \"extras\": {\r\n                \"voice\": {\r\n                    \"label\": \"Voice\",\r\n                    \"options\": KYUTAI_POCKET_VOICES,\r\n                    \"default\": \"alba\",\r\n                },\r\n            },\r\n        },\r\n        \"kyutai\": {\r\n            \"label\": \"Kyutai (GPU)\",\r\n            \"extras\": {\r\n                \"model\": {\r\n                    \"label\": \"Model\",\r\n                    \"options\": [\"1.6B (EN+FR, ~4.2GB VRAM)\", \"0.75B (EN, ~2GB VRAM)\"],\r\n                    \"default\": \"1.6B (EN+FR, ~4.2GB VRAM)\",\r\n                },\r\n                \"voice\": {\r\n                    \"label\": \"Voice\",\r\n                    \"options\": [\r\n                        \"Default Male\", \"Fast Male 1\", \"Fast Female\", \"Fast Male 2\", \r\n                        \"Happy Male\", \"Happy Female 1\", \"Happy Female 2\", \"Enunciated Female\"\r\n                    ],\r\n                    \"default\": \"Happy Male\",\r\n                },\r\n            },\r\n        },\r\n    }\r\n\r\n    def __init__(self):\r\n        super().__init__()\r\n        self.widgets_for_backend: dict[str, dict[str, QWidget]] = {}\r\n        self._build_ui()\r\n        self._load_from_yaml()\r\n        self._update_visible_extras()\r\n\r\n    def _build_ui(self):\r\n        layout = QGridLayout(self)\r\n\r\n        layout.setColumnStretch(0, 0)\r\n        layout.setColumnStretch(1, 0)\r\n        layout.setColumnStretch(2, 1)\r\n\r\n        layout.addWidget(QLabel(\"TTS Backend:\"), 0, 0)\r\n        self.backend_combo = QComboBox()\r\n        for key, spec in self.BACKENDS.items():\r\n            self.backend_combo.addItem(spec[\"label\"], userData=key)\r\n        layout.addWidget(self.backend_combo, 0, 1)\r\n\r\n        self._extras_box = QWidget()\r\n        self._extras_layout = QHBoxLayout(self._extras_box)\r\n        self._extras_layout.setContentsMargins(0, 0, 0, 0)\r\n        self._extras_layout.setSpacing(10)\r\n        layout.addWidget(self._extras_box, 0, 2)\r\n\r\n        self.widgets_for_backend: dict[str, dict[str, tuple[QLabel, QComboBox]]] = {}\r\n        for key, spec in self.BACKENDS.items():\r\n            wdict = {}\r\n            for extra_key, meta in spec[\"extras\"].items():\r\n                lbl = QLabel(meta[\"label\"])\r\n                cmb = QComboBox()\r\n                cmb.setObjectName(extra_key)\r\n                cmb.addItems(meta[\"options\"])\r\n                if key == \"whisperspeech\" and extra_key == \"speaker\":\r\n                    self._disable_voice_cloning_item(cmb)\r\n                cmb.currentTextChanged.connect(self._save_to_yaml)\r\n                wdict[extra_key] = (lbl, cmb)\r\n            self.widgets_for_backend[key] = wdict\r\n\r\n        self.backend_combo.currentIndexChanged.connect(self._update_visible_extras)\r\n        self.widgets_for_backend[\"kyutai\"][\"model\"][1].currentTextChanged.connect(\r\n            self._update_kyutai_voice_visibility\r\n        )\r\n\r\n        self._pocket_quantize_checkbox = QCheckBox(\"Quantize (int8)\")\r\n        self._pocket_quantize_checkbox.setChecked(True)\r\n        self._pocket_quantize_checkbox.setToolTip(KYUTAI_POCKET_QUANTIZE_TOOLTIP)\r\n        self._pocket_quantize_checkbox.toggled.connect(self._save_to_yaml)\r\n\r\n    def _config_path(self) -> Path:\r\n        return Path(\"config.yaml\")\r\n\r\n    def _load_from_yaml(self):\r\n        cfg = self._try_read_yaml()\r\n\r\n        tts_cfg = cfg.get(\"tts\", {}) if cfg else {}\r\n        backend = tts_cfg.get(\"model\", \"whisperspeech\")\r\n        idx = self.backend_combo.findData(backend)\r\n        self.backend_combo.setCurrentIndex(idx if idx != -1 else 0)\r\n\r\n        bark_cfg = cfg.get(\"bark\", {}) if cfg else {}\r\n        for (lbl, cmb) in self.widgets_for_backend[\"bark\"].values():\r\n            if cmb.objectName() == \"size\":\r\n                cmb.setCurrentText(bark_cfg.get(\"size\", \"small\"))\r\n            else:\r\n                cmb.setCurrentText(bark_cfg.get(\"speaker\", \"v2/en_speaker_6\"))\r\n\r\n        if tts_cfg.get(\"model\") == \"whisperspeech\":\r\n            self.widgets_for_backend[\"whisperspeech\"][\"s2a\"][1].setCurrentText(\r\n                self._find_key_by_value(\r\n                    WHISPER_SPEECH_MODELS[\"s2a\"], tts_cfg.get(\"s2a\")\r\n                )\r\n            )\r\n            self.widgets_for_backend[\"whisperspeech\"][\"t2s\"][1].setCurrentText(\r\n                self._find_key_by_value(\r\n                    WHISPER_SPEECH_MODELS[\"t2s\"], tts_cfg.get(\"t2s\")\r\n                )\r\n            )\r\n            speaker = tts_cfg.get(\"speaker\", WHISPER_SPEECH_SPEAKERS[0])\r\n            if speaker not in WHISPER_SPEECH_SPEAKERS:\r\n                speaker = WHISPER_SPEECH_SPEAKERS[0]\r\n            self.widgets_for_backend[\"whisperspeech\"][\"speaker\"][1].setCurrentText(speaker)\r\n\r\n        pocket_cfg = cfg.get(\"kyutaipocket\", {}) if cfg else {}\r\n        for extra_key, (lbl, cmb) in self.widgets_for_backend[\"kyutaipocket\"].items():\r\n            if extra_key == \"voice\":\r\n                voice = pocket_cfg.get(\"voice\", \"alba\")\r\n                if voice not in KYUTAI_POCKET_VOICES:\r\n                    voice = \"alba\"\r\n                cmb.setCurrentText(voice)\r\n        self._pocket_quantize_checkbox.setChecked(\r\n            bool(pocket_cfg.get(\"quantize\", True))\r\n        )\r\n\r\n        kyutai_cfg = cfg.get(\"kyutai\", {}) if cfg else {}\r\n        for extra_key, (lbl, cmb) in self.widgets_for_backend[\"kyutai\"].items():\r\n            if extra_key == \"model\":\r\n                cmb.setCurrentText(kyutai_cfg.get(\"model_display_name\", \"1.6B (EN+FR, ~4.2GB VRAM)\"))\r\n            elif extra_key == \"voice\":\r\n                cmb.setCurrentText(kyutai_cfg.get(\"voice_display_name\", \"Happy Male\"))\r\n\r\n    def _save_to_yaml(self):\r\n        cfg = self._try_read_yaml()\r\n\r\n        backend_key = self.backend_combo.currentData()\r\n        tts_cfg = cfg.setdefault(\"tts\", {})\r\n        tts_cfg[\"model\"] = backend_key\r\n\r\n        if backend_key == \"bark\":\r\n            bark = cfg.setdefault(\"bark\", {})\r\n            bark[\"size\"] = self.widgets_for_backend[\"bark\"][\"size\"][1].currentText()\r\n            bark[\"speaker\"] = (\r\n                self.widgets_for_backend[\"bark\"][\"speaker\"][1].currentText()\r\n            )\r\n        elif backend_key == \"whisperspeech\":\r\n            tts_cfg[\"s2a\"] = WHISPER_SPEECH_MODELS[\"s2a\"][\r\n                self.widgets_for_backend[\"whisperspeech\"][\"s2a\"][1].currentText()\r\n            ][0]\r\n            tts_cfg[\"t2s\"] = WHISPER_SPEECH_MODELS[\"t2s\"][\r\n                self.widgets_for_backend[\"whisperspeech\"][\"t2s\"][1].currentText()\r\n            ][0]\r\n            speaker_choice = self.widgets_for_backend[\"whisperspeech\"][\"speaker\"][1].currentText()\r\n            if speaker_choice in WHISPER_SPEECH_SPEAKERS:\r\n                tts_cfg[\"speaker\"] = speaker_choice\r\n\r\n        elif backend_key == \"kyutaipocket\":\r\n            pocket = cfg.setdefault(\"kyutaipocket\", {})\r\n            pocket[\"language\"] = \"english\"\r\n            pocket[\"voice\"] = self.widgets_for_backend[\"kyutaipocket\"][\"voice\"][1].currentText()\r\n            pocket[\"quantize\"] = bool(self._pocket_quantize_checkbox.isChecked())\r\n            pocket[\"temp\"] = 0.7\r\n\r\n        elif backend_key == \"kyutai\":\r\n            kyutai = cfg.setdefault(\"kyutai\", {})\r\n\r\n            model_mapping = {\r\n                \"1.6B (EN+FR, ~4.2GB VRAM)\": (\"kyutai/tts-1.6b-en_fr\", 32),\r\n                \"0.75B (EN, ~2GB VRAM)\": (\"kyutai/tts-0.75b-en-public\", 16),\r\n            }\r\n            selected_model_display = self.widgets_for_backend[\"kyutai\"][\"model\"][1].currentText()\r\n            hf_repo, n_q = model_mapping[selected_model_display]\r\n            kyutai[\"model_display_name\"] = selected_model_display\r\n            kyutai[\"hf_repo\"] = hf_repo\r\n            kyutai[\"n_q\"] = n_q\r\n\r\n            voice_mapping = {\r\n                \"Default Male\": \"expresso/ex04-ex03_default_002_channel2_239s.wav\",\r\n                \"Fast Male 1\": \"expresso/ex01-ex02_fast_001_channel1_104s.wav\", \r\n                \"Fast Female\": \"expresso/ex01-ex02_fast_001_channel2_73s.wav\",\r\n                \"Fast Male 2\": \"expresso/ex04-ex03_fast_001_channel2_25s.wav\",\r\n                \"Happy Male\": \"expresso/ex03-ex01_happy_001_channel1_334s.wav\",\r\n                \"Happy Female 1\": \"expresso/ex04-ex02_happy_001_channel1_118s.wav\",\r\n                \"Happy Female 2\": \"expresso/ex04-ex02_happy_001_channel2_140s.wav\",\r\n                \"Enunciated Female\": \"expresso/ex04-ex03_enunciated_001_channel2_342s.wav\",\r\n            }\r\n\r\n            selected_voice_display = self.widgets_for_backend[\"kyutai\"][\"voice\"][1].currentText()\r\n            kyutai[\"voice\"] = voice_mapping[selected_voice_display]\r\n            kyutai[\"voice_display_name\"] = selected_voice_display\r\n\r\n            kyutai[\"temp\"] = 0.6\r\n            kyutai[\"cfg_coef\"] = 2.0\r\n\r\n        with self._config_path().open(\"w\") as f:\r\n            yaml.dump(cfg, f, sort_keys=False)\r\n\r\n    def _try_read_yaml(self):\r\n        try:\r\n            with self._config_path().open() as f:\r\n                return yaml.safe_load(f) or {}\r\n        except FileNotFoundError:\r\n            return {}\r\n        except Exception as e:\r\n            QMessageBox.warning(self, \"Configuration Error\", str(e))\r\n            return {}\r\n\r\n    def _update_visible_extras(self):\r\n        while self._extras_layout.count():\r\n            item = self._extras_layout.takeAt(0)\r\n            if (w := item.widget()):\r\n                w.setParent(None)\r\n\r\n        chosen = self.backend_combo.currentData()\r\n        for lbl, cmb in self.widgets_for_backend[chosen].values():\r\n            self._extras_layout.addWidget(lbl)\r\n            self._extras_layout.addWidget(cmb)\r\n            lbl.show()\r\n            cmb.show()\r\n\r\n        if chosen == \"kyutai\":\r\n            self._update_kyutai_voice_visibility()\r\n        elif chosen == \"kyutaipocket\":\r\n            self._extras_layout.addWidget(self._pocket_quantize_checkbox)\r\n            self._pocket_quantize_checkbox.show()\r\n\r\n        self._save_to_yaml()\r\n\r\n    def _update_kyutai_voice_visibility(self):\r\n        model_text = self.widgets_for_backend[\"kyutai\"][\"model\"][1].currentText()\r\n        voice_lbl, voice_cmb = self.widgets_for_backend[\"kyutai\"][\"voice\"]\r\n        supports_voices = model_text.startswith(\"1.6B\")\r\n        voice_lbl.setVisible(supports_voices)\r\n        voice_cmb.setVisible(supports_voices)\r\n\r\n    @staticmethod\r\n    def _find_key_by_value(d: dict, value: str | None):\r\n        for k, v in d.items():\r\n            if v[0] == value:\r\n                return k\r\n        return next(iter(d))\r\n\r\n    @staticmethod\r\n    def _disable_voice_cloning_item(cmb: QComboBox):\r\n        idx = cmb.findText(WHISPER_SPEECH_VOICE_CLONING_LABEL)\r\n        if idx == -1:\r\n            return\r\n        model = cmb.model()\r\n        item = model.item(idx)\r\n        if item is not None:\r\n            item.setFlags(item.flags() & ~Qt.ItemIsEnabled & ~Qt.ItemIsSelectable)\r\n            item.setToolTip(\"Coming soon\")\r\n"
  },
  {
    "path": "gui/tabs_settings/vision.py",
    "content": "import yaml\r\nfrom pathlib import Path\r\nimport torch\r\nfrom PySide6.QtCore import Qt\r\nfrom PySide6.QtWidgets import QLabel, QGridLayout, QVBoxLayout, QComboBox, QWidget\r\nfrom core.constants import VISION_MODELS\r\n\r\nCONFIG_FILE = \"config.yaml\"\r\n\r\n\r\ndef _read_cfg() -> dict:\r\n    p = Path(CONFIG_FILE)\r\n    if not p.exists():\r\n        return {}\r\n    try:\r\n        with p.open(\"r\", encoding=\"utf-8\") as f:\r\n            return yaml.safe_load(f) or {}\r\n    except Exception:\r\n        return {}\r\n\r\n\r\ndef _write_cfg(cfg: dict) -> None:\r\n    with Path(CONFIG_FILE).open(\"w\", encoding=\"utf-8\") as f:\r\n        yaml.safe_dump(cfg, f, sort_keys=True)\r\n\r\n\r\ndef is_cuda_available():\r\n    return torch.cuda.is_available()\r\n\r\n\r\ndef get_cuda_capability():\r\n    if is_cuda_available():\r\n        return torch.cuda.get_device_capability(0)\r\n    return (0, 0)\r\n\r\n\r\nclass VisionSettingsTab(QWidget):\r\n\r\n    def __init__(self):\r\n        super().__init__()\r\n        mainVLayout = QVBoxLayout()\r\n        self.setLayout(mainVLayout)\r\n\r\n        gridLayout = QGridLayout()\r\n        for col, stretch in enumerate((3, 1, 1, 4, 2, 1)):\r\n            gridLayout.setColumnStretch(col, stretch)\r\n        mainVLayout.addLayout(gridLayout)\r\n\r\n        for col, text in enumerate((\"Model\", \"Size\", \"VRAM\", \"Vision Component\", \"Chat Component\", \"Avg Length\")):\r\n            header = QLabel(text)\r\n            header.setAlignment(Qt.AlignCenter)\r\n            gridLayout.addWidget(header, 0, col)\r\n\r\n        self.modelComboBox = QComboBox()\r\n        self.populate_model_combobox()\r\n        self.modelComboBox.setMinimumWidth(175)\r\n        gridLayout.addWidget(self.modelComboBox, 1, 0)\r\n\r\n        self.sizeLabel = QLabel(\"—\")\r\n        self.sizeLabel.setAlignment(Qt.AlignCenter)\r\n        gridLayout.addWidget(self.sizeLabel, 1, 1)\r\n\r\n        self.vramLabel = QLabel(\"—\")\r\n        self.vramLabel.setAlignment(Qt.AlignCenter)\r\n        gridLayout.addWidget(self.vramLabel, 1, 2)\r\n\r\n        self.visionComponentLabel = QLabel(\"—\")\r\n        self.visionComponentLabel.setAlignment(Qt.AlignCenter)\r\n        self.visionComponentLabel.setWordWrap(True)\r\n        gridLayout.addWidget(self.visionComponentLabel, 1, 3)\r\n\r\n        self.chatComponentLabel = QLabel(\"—\")\r\n        self.chatComponentLabel.setAlignment(Qt.AlignCenter)\r\n        self.chatComponentLabel.setWordWrap(True)\r\n        gridLayout.addWidget(self.chatComponentLabel, 1, 4)\r\n\r\n        self.avgLenLabel = QLabel(\"—\")\r\n        self.avgLenLabel.setAlignment(Qt.AlignCenter)\r\n        gridLayout.addWidget(self.avgLenLabel, 1, 5)\r\n\r\n        cfg = _read_cfg()\r\n        saved = (cfg.get(\"vision\") or {}).get(\"chosen_model\")\r\n        if saved and saved in VISION_MODELS:\r\n            self.modelComboBox.setCurrentText(saved)\r\n\r\n        self.modelComboBox.currentTextChanged.connect(self._apply_model_to_labels)\r\n\r\n        self._apply_model_to_labels(self.modelComboBox.currentText())\r\n\r\n    def populate_model_combobox(self):\r\n        self.modelComboBox.clear()\r\n        self.modelComboBox.addItems(VISION_MODELS.keys())\r\n\r\n    def _apply_model_to_labels(self, model_name: str):\r\n        info = VISION_MODELS.get(model_name, {}) or {}\r\n\r\n        size = info.get(\"size\", \"—\")\r\n        vram = info.get(\"vram\", \"—\")\r\n        vision_component = info.get(\"vision_component\", \"—\")\r\n        chat_component = info.get(\"chat_component\", \"—\")\r\n        avg_length = info.get(\"avg_length\", \"—\")\r\n\r\n        self.sizeLabel.setText(str(size))\r\n        self.vramLabel.setText(str(vram))\r\n        self.visionComponentLabel.setText(str(vision_component))\r\n        self.chatComponentLabel.setText(str(chat_component))\r\n        self.avgLenLabel.setText(str(avg_length))\r\n\r\n        cfg = _read_cfg()\r\n        cfg.setdefault(\"vision\", {})\r\n        if cfg[\"vision\"].get(\"chosen_model\") != model_name:\r\n            cfg[\"vision\"][\"chosen_model\"] = model_name\r\n            _write_cfg(cfg)\r\n"
  },
  {
    "path": "gui/tabs_tools/__init__.py",
    "content": ""
  },
  {
    "path": "gui/tabs_tools/misc.py",
    "content": "from PySide6.QtWidgets import QVBoxLayout, QHBoxLayout, QPushButton, QWidget, QMessageBox, QSpinBox\r\nfrom PySide6.QtCore import QThread, Signal, QTimer\r\nfrom core.initialize import restore_vector_db_backup\r\nfrom core.utilities import backup_database\r\n\r\nfrom core.constants import CustomButtonStyles\r\n\r\nclass WorkerThread(QThread):\r\n   finished = Signal(bool)\r\n\r\n   def __init__(self, function, *args, **kwargs):\r\n       super().__init__()\r\n       self.function = function\r\n       self.args = args\r\n       self.kwargs = kwargs\r\n\r\n   def run(self):\r\n       try:\r\n           self.function(*self.args, **self.kwargs)\r\n           self.finished.emit(True)\r\n       except Exception as e:\r\n           print(f\"Error during {self.function.__name__}: {e}\")\r\n           self.finished.emit(False)\r\n\r\nclass MiscTab(QWidget):\r\n   def __init__(self):\r\n       super().__init__()\r\n       self.layout = QVBoxLayout(self)\r\n       \r\n       self.backup_all_button = QPushButton(\"Backup Databases\")\r\n       self.backup_all_button.clicked.connect(self.backup_all_databases)\r\n       self.backup_all_button.setToolTip(\"Create a backup of all databases in the Vector_DB folder\")\r\n       \r\n       self.restore_backup_button = QPushButton(\"Restore Databases\")\r\n       self.restore_backup_button.clicked.connect(self.restore_backup)\r\n       self.restore_backup_button.setToolTip(\"Restore databases from the most recent backup\")\r\n       \r\n       self.chart_gpus_button = QPushButton(\"GPUs\")\r\n       self.chart_gpus_button.clicked.connect(self.chart_gpus)\r\n       self.chart_gpus_button.setToolTip(\"Compare GPUs by V-RAM\")\r\n       \r\n       self.chart_chat_models_button = QPushButton(\"Chat Models\")\r\n       self.chart_chat_models_button.clicked.connect(self.chart_chat_models)\r\n       self.chart_chat_models_button.setToolTip(\"Compare various chat models.\")\r\n\r\n       self.chart_vision_models_button = QPushButton(\"Vision Models\")\r\n       self.chart_vision_models_button.clicked.connect(self.chart_vision_models)\r\n       self.chart_vision_models_button.setToolTip(\"Compare various vision models.\")\r\n\r\n       self.chart_vector_models_button = QPushButton(\"Vector Models\")\r\n       self.chart_vector_models_button.clicked.connect(self.chart_vector_models)\r\n       self.chart_vector_models_button.setToolTip(\"Compare various vector/embedding models.\")\r\n\r\n       self.min_vram_spin = QSpinBox()\r\n       self.min_vram_spin.setRange(1, 128)\r\n       self.min_vram_spin.setValue(8)\r\n       self.min_vram_spin.setPrefix(\"Min \")\r\n       self.min_vram_spin.setSuffix(\" GB\")\r\n       self.min_vram_spin.setToolTip(\"Minimum GPU V-RAM (in GB)\")\r\n\r\n       self.max_vram_spin = QSpinBox()\r\n       self.max_vram_spin.setRange(1, 128)\r\n       self.max_vram_spin.setValue(16)\r\n       self.max_vram_spin.setPrefix(\"Max \")\r\n       self.max_vram_spin.setSuffix(\" GB\")\r\n       self.max_vram_spin.setToolTip(\"Maximum GPU V-RAM (in GB)\")\r\n       \r\n       self.backup_all_button.setStyleSheet(CustomButtonStyles.RED_BUTTON_STYLE)\r\n       self.restore_backup_button.setStyleSheet(CustomButtonStyles.RED_BUTTON_STYLE)\r\n       self.chart_gpus_button.setStyleSheet(CustomButtonStyles.GREEN_BUTTON_STYLE)\r\n       self.chart_chat_models_button.setStyleSheet(CustomButtonStyles.BLUE_BUTTON_STYLE)\r\n       self.chart_vision_models_button.setStyleSheet(CustomButtonStyles.TEAL_BUTTON_STYLE)\r\n       self.chart_vector_models_button.setStyleSheet(CustomButtonStyles.PURPLE_BUTTON_STYLE)\r\n\r\n       backup_row = QHBoxLayout()\r\n       backup_row.addStretch(1)\r\n       backup_row.addWidget(self.backup_all_button)\r\n       backup_row.addWidget(self.restore_backup_button)\r\n       backup_row.addStretch(1)\r\n\r\n       charts_row = QHBoxLayout()\r\n       charts_row.addStretch(1)\r\n       charts_row.addWidget(self.chart_gpus_button)\r\n       charts_row.addWidget(self.min_vram_spin)\r\n       charts_row.addWidget(self.max_vram_spin)\r\n       charts_row.addWidget(self.chart_chat_models_button)\r\n       charts_row.addWidget(self.chart_vision_models_button)\r\n       charts_row.addWidget(self.chart_vector_models_button)\r\n       charts_row.addStretch(1)\r\n\r\n       self.layout.addLayout(backup_row)\r\n       self.layout.addLayout(charts_row)\r\n       \r\n       self.backup_thread = None\r\n       self.restore_thread = None\r\n\r\n   def set_buttons_enabled(self, enabled, buttons):\r\n       for button in buttons:\r\n           button.setEnabled(enabled)\r\n\r\n   def set_button_text(self, button: QPushButton, text: str):\r\n       button.setText(text)\r\n   \r\n   def backup_all_databases(self):\r\n       confirm = QMessageBox.question(\r\n           self,\r\n           \"Confirm Backup\",\r\n           \"Warning. This will erase any existing backups and overwrite them with the current state of the \\\"Vector_DB\\\" folder.\\n\\nAre you sure you want to proceed?\",\r\n           QMessageBox.Yes | QMessageBox.No,\r\n           QMessageBox.No\r\n       )\r\n       \r\n       if confirm == QMessageBox.Yes:\r\n           self.set_button_text(self.backup_all_button, \"Backing up...\")\r\n           self.set_buttons_enabled(False, [self.backup_all_button, self.restore_backup_button])\r\n           \r\n           self.backup_thread = WorkerThread(backup_database)\r\n           self.backup_thread.finished.connect(self.on_backup_finished)\r\n           self.backup_thread.start()\r\n       else:\r\n           pass\r\n\r\n   def on_backup_finished(self, success):\r\n       self.set_buttons_enabled(True, [self.backup_all_button, self.restore_backup_button])\r\n       self.set_button_text(self.backup_all_button, \"Backup Databases\")\r\n       if success:\r\n           QMessageBox.information(self, \"Backup Complete\", \"All databases have been successfully backed up.\")\r\n       else:\r\n           QMessageBox.critical(self, \"Backup Failed\", \"Failed to backup the databases. Check the console for error details.\")\r\n\r\n   def restore_backup(self):\r\n       confirm = QMessageBox.question(\r\n           self,\r\n           \"Confirm Restoration\",\r\n           \"Warning. This will overwrite current databases with the backup. Are you sure you want to proceed?\",\r\n           QMessageBox.Yes | QMessageBox.No,\r\n           QMessageBox.No\r\n       )\r\n       \r\n       if confirm == QMessageBox.Yes:\r\n           self.set_button_text(self.restore_backup_button, \"Restoring...\")\r\n           self.set_buttons_enabled(False, [self.restore_backup_button, self.backup_all_button])\r\n\r\n           self.restore_thread = WorkerThread(restore_vector_db_backup)\r\n           self.restore_thread.finished.connect(self.on_restore_finished)\r\n           self.restore_thread.start()\r\n       else:\r\n           pass\r\n\r\n   def on_restore_finished(self, success):\r\n       self.set_buttons_enabled(True, [self.restore_backup_button, self.backup_all_button])\r\n       self.set_button_text(self.restore_backup_button, \"Restore Databases\")\r\n       if success:\r\n           QMessageBox.information(self, \"Restoration Complete\", \"The databases have been successfully restored from the backup.\")\r\n       else:\r\n           QMessageBox.critical(self, \"Restoration Failed\", \"Failed to restore the database backup. Check the console for error details.\")\r\n\r\n   def chart_gpus(self):\r\n       import matplotlib\r\n       matplotlib.use('QtAgg')\r\n       import matplotlib.pyplot as plt\r\n       from charts.all_gpus import create_gpu_comparison_plot\r\n       \r\n       self.chart_gpus_button.setEnabled(False)\r\n       self.set_button_text(self.chart_gpus_button, \"Charting...\")\r\n\r\n       min_vram = self.min_vram_spin.value()\r\n       max_vram = self.max_vram_spin.value()\r\n       if min_vram > max_vram:\r\n           QMessageBox.warning(self, \"Invalid Range\", \"Minimum V-RAM value cannot exceed maximum V-RAM value.\")\r\n           self.reset_chart_button()\r\n           return\r\n\r\n       fig = create_gpu_comparison_plot(min_vram, max_vram)\r\n       plt.figure(fig.number)\r\n       plt.show(block=False)\r\n\r\n       QTimer.singleShot(500, self.reset_chart_button)\r\n\r\n   def reset_chart_button(self):\r\n       self.set_button_text(self.chart_gpus_button, \"GPUs\")\r\n       self.chart_gpus_button.setEnabled(True)\r\n\r\n   def chart_chat_models(self):\r\n       import matplotlib\r\n       matplotlib.use('QtAgg')\r\n       import matplotlib.pyplot as plt\r\n       from charts.models_chat import create_chat_models_comparison_plot\r\n       \r\n       self.chart_chat_models_button.setEnabled(False)\r\n       self.set_button_text(self.chart_chat_models_button, \"Charting...\")\r\n       \r\n       fig = create_chat_models_comparison_plot()\r\n       plt.figure(fig.number)\r\n       plt.show(block=False)\r\n\r\n       QTimer.singleShot(500, self.reset_chart_chat_models_button)\r\n\r\n   def reset_chart_chat_models_button(self):\r\n       self.set_button_text(self.chart_chat_models_button, \"Chat Models\")\r\n       self.chart_chat_models_button.setEnabled(True)\r\n\r\n   def chart_vision_models(self):\r\n       import matplotlib\r\n       matplotlib.use('QtAgg')\r\n       import matplotlib.pyplot as plt\r\n       from charts.models_vision import create_vision_models_comparison_plot\r\n       \r\n       self.chart_vision_models_button.setEnabled(False)\r\n       self.set_button_text(self.chart_vision_models_button, \"Charting...\")\r\n       \r\n       fig = create_vision_models_comparison_plot()\r\n       plt.figure(fig.number)\r\n       plt.show(block=False)\r\n\r\n       QTimer.singleShot(500, self.reset_chart_vision_models_button)\r\n\r\n   def reset_chart_vision_models_button(self):\r\n       self.set_button_text(self.chart_vision_models_button, \"Vision Models\")\r\n       self.chart_vision_models_button.setEnabled(True)\r\n\r\n   def chart_vector_models(self):\r\n       import matplotlib\r\n       matplotlib.use('QtAgg')\r\n       import matplotlib.pyplot as plt\r\n       from charts.models_vector import create_vector_models_comparison_plot\r\n       \r\n       self.chart_vector_models_button.setEnabled(False)\r\n       self.set_button_text(self.chart_vector_models_button, \"Charting...\")\r\n       \r\n       fig = create_vector_models_comparison_plot()\r\n       plt.figure(fig.number)\r\n       plt.show(block=False)\r\n\r\n       QTimer.singleShot(500, self.reset_chart_vector_models_button)\r\n\r\n   def reset_chart_vector_models_button(self):\r\n       self.set_button_text(self.chart_vector_models_button, \"Vector Models\")\r\n       self.chart_vector_models_button.setEnabled(True)\r\n"
  },
  {
    "path": "gui/tabs_tools/ocr.py",
    "content": "import time\r\nfrom pathlib import Path\r\nimport fitz\r\nfrom PySide6.QtWidgets import (\r\n    QWidget, QHBoxLayout, QVBoxLayout, QPushButton, QLabel, \r\n    QComboBox, QFileDialog, QMessageBox\r\n)\r\nfrom PySide6.QtCore import QThread, Signal\r\nfrom modules.ocr import process_documents\r\n\r\ndef get_pdf_page_count(pdf_path):\r\n    try:\r\n        with fitz.open(pdf_path) as doc:\r\n            return doc.page_count\r\n    except Exception as e:\r\n        print(f\"Error reading PDF: {e}\")\r\n        return 0\r\n\r\ndef run_ocr_process(pdf_path, backend):\r\n    try:\r\n        process_documents(\r\n            pdf_paths=Path(pdf_path),\r\n            backend=backend,\r\n        )\r\n        return True, None\r\n    except Exception as e:\r\n        return False, str(e)\r\n\r\nclass OcrWorkerThread(QThread):\r\n    finished_signal = Signal(bool, str, float)\r\n\r\n    def __init__(self, pdf_path, backend, parent=None):\r\n        super().__init__(parent)\r\n        self.pdf_path = pdf_path\r\n        self.backend = backend\r\n\r\n    def run(self):\r\n        start_time = time.time()\r\n        result = run_ocr_process(self.pdf_path, self.backend)\r\n        elapsed_time = time.time() - start_time\r\n        self.finished_signal.emit(*result, elapsed_time)\r\n\r\nclass OCRToolSettingsTab(QWidget):\r\n    ENGINE_MAPPING = {\r\n        \"Tesseract\": \"tesseract\"\r\n    }\r\n\r\n    def __init__(self):\r\n        super().__init__()\r\n        self.selected_pdf_file = None\r\n        self.create_layout()\r\n        self.setButtons(True)\r\n        self.worker_thread = None\r\n\r\n    def create_layout(self):\r\n        main_layout = QVBoxLayout()\r\n\r\n        engine_selection_hbox = QHBoxLayout()\r\n\r\n        engine_label = QLabel(\"OCR Engine\")\r\n        engine_selection_hbox.addWidget(engine_label)\r\n\r\n        self.engine_combo = QComboBox()\r\n        self.engine_combo.addItems([\"Tesseract\"])\r\n        self.engine_combo.setCurrentText(\"Tesseract\")\r\n        engine_selection_hbox.addWidget(self.engine_combo)\r\n\r\n        self.select_pdf_button = QPushButton(\"Choose PDF\")\r\n        self.select_pdf_button.clicked.connect(self.select_pdf_file)\r\n        engine_selection_hbox.addWidget(self.select_pdf_button)\r\n\r\n        self.process_button = QPushButton(\"Process\")\r\n        self.process_button.clicked.connect(self.start_ocr_process)\r\n        engine_selection_hbox.addWidget(self.process_button)\r\n\r\n        engine_selection_hbox.setStretchFactor(engine_label, 1)\r\n        engine_selection_hbox.setStretchFactor(self.engine_combo, 2)\r\n        engine_selection_hbox.setStretchFactor(self.select_pdf_button, 1)\r\n        engine_selection_hbox.setStretchFactor(self.process_button, 1)\r\n\r\n        main_layout.addLayout(engine_selection_hbox)\r\n\r\n        self.file_path_label = QLabel(\"No PDF file selected\")\r\n        main_layout.addWidget(self.file_path_label)\r\n\r\n        self.status_label = QLabel(\"\")\r\n        self.status_label.setStyleSheet(\"color: gray;\")\r\n        main_layout.addWidget(self.status_label)\r\n\r\n        self.setLayout(main_layout)\r\n\r\n    def setButtons(self, enabled):\r\n        self.select_pdf_button.setEnabled(enabled)\r\n        self.process_button.setEnabled(enabled)\r\n        self.engine_combo.setEnabled(enabled)\r\n        if enabled:\r\n            self.status_label.setText(\"\")\r\n\r\n    def select_pdf_file(self):\r\n        current_dir = Path.cwd()\r\n        file_name, _ = QFileDialog.getOpenFileName(\r\n            self, \r\n            \"Select PDF File\", \r\n            str(current_dir),\r\n            \"PDF Files (*.pdf)\"\r\n        )\r\n        if file_name:\r\n            file_path = Path(file_name)\r\n            short_path = f\"...{file_path.parent.name}/{file_path.name}\"\r\n            self.file_path_label.setText(short_path)\r\n            self.file_path_label.setToolTip(str(file_path.absolute()))\r\n            self.selected_pdf_file = file_name\r\n            self.status_label.setText(\"\")\r\n\r\n    def show_error_message(self, message):\r\n        self.status_label.setStyleSheet(\"color: red;\")\r\n        self.status_label.setText(\"Error: OCR process failed\")\r\n        QMessageBox.critical(self, \"Error\", f\"OCR process failed:\\n{message}\")\r\n\r\n    def show_success_message(self):\r\n        self.status_label.setStyleSheet(\"color: #4CAF50;\")\r\n\r\n        minutes, seconds = divmod(self.elapsed_time, 60)\r\n        time_str = f\"{int(minutes)}m {seconds:.1f}s\" if minutes > 0 else f\"{seconds:.1f}s\"\r\n        self.status_label.setText(f\"Success! Completed in {time_str}\")\r\n\r\n        if not self.selected_pdf_file:\r\n            return\r\n\r\n        original_file = Path(self.selected_pdf_file)\r\n        processed_file = original_file.with_stem(f\"{original_file.stem}_OCR\").with_suffix(\".pdf\")\r\n\r\n        if processed_file.exists():\r\n            file_link = f'<a href=\"file:///{processed_file}\" style=\"color: #4CAF50; text-decoration: none;\">Open New File</a>'\r\n        else:\r\n            file_link = \"The processed file could not be found.\"\r\n\r\n        QMessageBox.information(\r\n            self,\r\n            \"Success!\",\r\n            f\"\"\"Processing completed in {time_str}!<br><br>\r\n            A new <b>.pdf</b> ending in <b>'_OCR'</b> has been saved\r\n            in the same directory as the original file.<br><br>\r\n\r\n            {file_link}\r\n            \"\"\"\r\n        )\r\n\r\n    def start_ocr_process(self):\r\n        if not self.selected_pdf_file:\r\n            QMessageBox.warning(self, \"Warning\", \"Please select a PDF file first.\")\r\n            return\r\n\r\n        selected_engine = self.engine_combo.currentText()\r\n        backend = self.ENGINE_MAPPING[selected_engine]\r\n\r\n        self.status_label.setStyleSheet(\"color: #0074D9;\")\r\n        self.status_label.setText(f\"Processing with {selected_engine}...\")\r\n        print(f\"Starting OCR process for {self.selected_pdf_file}\")\r\n\r\n        self.setButtons(False)\r\n\r\n        if self.worker_thread and self.worker_thread.isRunning():\r\n            self.worker_thread.wait()\r\n\r\n        self.worker_thread = OcrWorkerThread(self.selected_pdf_file, backend)\r\n        self.worker_thread.finished_signal.connect(self.ocr_finished)\r\n        self.worker_thread.start()\r\n\r\n    def ocr_finished(self, success, message, elapsed_time):\r\n        self.setButtons(True)\r\n\r\n        self.elapsed_time = elapsed_time\r\n\r\n        if self.worker_thread:\r\n            self.worker_thread.quit()\r\n            self.worker_thread.wait()\r\n            self.worker_thread = None\r\n\r\n        from PySide6.QtCore import QTimer\r\n        QTimer.singleShot(1000, lambda: self._show_completion_message(success, message))\r\n\r\n    def _show_completion_message(self, success, message):\r\n        if success:\r\n            self.show_success_message()\r\n        else:\r\n            self.show_error_message(message)\r\n"
  },
  {
    "path": "gui/tabs_tools/scrape.py",
    "content": "import os\nimport platform\nimport shutil\nimport subprocess\n\nfrom PySide6.QtCore import Qt, QThread, QSettings\nfrom PySide6.QtGui import QColor, QStandardItem, QStandardItemModel\nfrom PySide6.QtWidgets import (\n    QWidget,\n    QVBoxLayout,\n    QHBoxLayout,\n    QLabel,\n    QComboBox,\n    QPushButton,\n    QMessageBox,\n    QListWidget,\n    QListWidgetItem,\n)\n\nfrom modules.scraper import ScraperRegistry, ScraperWorker\nfrom core.constants import scrape_documentation, PROJECT_ROOT\n\n\nMAX_CONCURRENT_SCRAPES = 6\n\nQSETTINGS_ORG = \"VectorDB-Plugin\"\nQSETTINGS_APP = \"ScrapeDocumentation\"\nRATE_LIMITED_KEY = \"rate_limited_scrapes\"\n\n\ndef _load_rate_limited_set() -> set[str]:\n    s = QSettings(QSETTINGS_ORG, QSETTINGS_APP)\n    val = s.value(RATE_LIMITED_KEY, [])\n    if isinstance(val, str):\n        val = [val] if val else []\n    if val is None:\n        val = []\n    return {str(v) for v in val}\n\n\ndef _save_rate_limited_set(names: set[str]) -> None:\n    s = QSettings(QSETTINGS_ORG, QSETTINGS_APP)\n    s.setValue(RATE_LIMITED_KEY, sorted(names))\n\n\ndef _mark_rate_limited_persistent(name: str) -> None:\n    names = _load_rate_limited_set()\n    names.add(name)\n    _save_rate_limited_set(names)\n\n\ndef _clear_rate_limited_persistent(name: str) -> None:\n    names = _load_rate_limited_set()\n    names.discard(name)\n    _save_rate_limited_set(names)\n\n\nclass ScrapeRowWidget(QWidget):\n    \"\"\"One row in the active-scrapes list. Owns the per-scrape Cancel/Open buttons.\"\"\"\n\n    def __init__(self, doc_name: str, folder_path: str, on_cancel, on_open):\n        super().__init__()\n        self.doc_name = doc_name\n        self.folder_path = folder_path\n        self._on_cancel = on_cancel\n        self._on_open = on_open\n\n        layout = QHBoxLayout(self)\n        layout.setContentsMargins(4, 2, 4, 2)\n        layout.setSpacing(8)\n\n        self.label = QLabel()\n        self.label.setTextFormat(Qt.RichText)\n        self._set_label(\"Starting...\", count=0, color=\"#FF9800\")\n        layout.addWidget(self.label, 1)\n\n        self.cancel_btn = QPushButton(\"Cancel\")\n        self.cancel_btn.clicked.connect(self._cancel_clicked)\n        layout.addWidget(self.cancel_btn)\n\n        self.open_btn = QPushButton(\"Open\")\n        self.open_btn.clicked.connect(self._open_clicked)\n        layout.addWidget(self.open_btn)\n\n    def _set_label(self, status_text: str, count: int, color: str):\n        self.label.setText(\n            f'<span style=\"color:#4CAF50;\"><b>{self.doc_name}</b></span> '\n            f'<span style=\"color:{color};\">{status_text}</span> '\n            f'<span style=\"color:#4CAF50;\">Pages scraped:</span> {count}'\n        )\n\n    def update_count(self, count: int):\n        self._set_label(\"Scraping...\", count=count, color=\"#FF9800\")\n\n    def mark_completed(self, count: int):\n        self._set_label(\"Completed.\", count=count, color=\"#4CAF50\")\n        self.cancel_btn.setEnabled(False)\n\n    def mark_cancelled(self, count: int):\n        self._set_label(\"Cancelled.\", count=count, color=\"#9E9E9E\")\n        self.cancel_btn.setEnabled(False)\n\n    def mark_rate_limited(self, count: int):\n        self._set_label(\n            \"Rate-limited - partial state saved. Click 'Scrape' again and choose Resume.\",\n            count=count, color=\"#FFC107\",\n        )\n        self.cancel_btn.setEnabled(False)\n\n    def _cancel_clicked(self):\n        self.cancel_btn.setEnabled(False)\n        self._set_label(\"Cancelling...\", count=self._current_count(), color=\"#9E9E9E\")\n        self._on_cancel(self.doc_name)\n\n    def _open_clicked(self):\n        self._on_open(self.folder_path)\n\n    def _current_count(self) -> int:\n        try:\n            if os.path.exists(self.folder_path):\n                return len([f for f in os.listdir(self.folder_path) if f.endswith(\".html\")])\n        except Exception:\n            pass\n        return 0\n\n\nclass ScrapeDocumentationTab(QWidget):\n    def __init__(self) -> None:\n        super().__init__()\n        self.setToolTip(\n            \"Tab for scraping documentation from the selected source.\"\n        )\n        self.active_workers: dict[str, dict] = {}\n        self.restored_rate_limited_rows: dict[str, QListWidgetItem] = {}\n        self.init_ui()\n        self._restore_rate_limited_rows()\n\n    def init_ui(self) -> None:\n        main_layout = QVBoxLayout(self)\n\n        label = QLabel(\"Select Documentation:\")\n        label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)\n        main_layout.addWidget(label)\n\n        hbox = QHBoxLayout()\n        self.doc_combo = QComboBox()\n        self.populate_combo_box()\n        hbox.addWidget(self.doc_combo)\n\n        self.scrape_button = QPushButton(\"Scrape\")\n        self.scrape_button.clicked.connect(self.start_scraping)\n        hbox.addWidget(self.scrape_button)\n\n        hbox.setStretch(0, 1)\n        hbox.setStretch(1, 1)\n        main_layout.addLayout(hbox)\n\n        self.summary_label = QLabel()\n        self.summary_label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)\n        self._refresh_summary()\n        main_layout.addWidget(self.summary_label)\n\n        self.scrape_list = QListWidget()\n        self.scrape_list.setSelectionMode(QListWidget.NoSelection)\n        main_layout.addWidget(self.scrape_list, 1)\n\n    def _refresh_summary(self) -> None:\n        n = len(self.active_workers)\n        self.summary_label.setText(\n            f'<span style=\"color:#2196F3;\"><b>Active scrapes:</b></span> '\n            f'{n} / {MAX_CONCURRENT_SCRAPES}'\n        )\n\n    def _restore_rate_limited_rows(self) -> None:\n        persisted = _load_rate_limited_set()\n        if not persisted:\n            return\n        scraped_dir = os.path.join(str(PROJECT_ROOT), \"Scraped_Documentation\")\n        for doc_name in sorted(persisted):\n            doc_info = scrape_documentation.get(doc_name)\n            if not doc_info or \"folder\" not in doc_info:\n                _clear_rate_limited_persistent(doc_name)\n                continue\n            folder_path = os.path.join(scraped_dir, doc_info[\"folder\"])\n            if not os.path.exists(folder_path):\n                _clear_rate_limited_persistent(doc_name)\n                continue\n            count = 0\n            try:\n                count = len([f for f in os.listdir(folder_path) if f.endswith(\".html\")])\n            except Exception:\n                pass\n            row = ScrapeRowWidget(\n                doc_name=doc_name,\n                folder_path=folder_path,\n                on_cancel=lambda _n: None,\n                on_open=self.open_folder,\n            )\n            row.mark_rate_limited(count)\n            item = QListWidgetItem(self.scrape_list)\n            item.setSizeHint(row.sizeHint())\n            self.scrape_list.addItem(item)\n            self.scrape_list.setItemWidget(item, row)\n            self.restored_rate_limited_rows[doc_name] = item\n\n    def populate_combo_box(self) -> None:\n        doc_options = sorted(scrape_documentation.keys(), key=str.lower)\n        model = QStandardItemModel()\n\n        scraped_dir = os.path.join(\n            str(PROJECT_ROOT),\n            \"Scraped_Documentation\",\n        )\n\n        for doc in doc_options:\n            folder = scrape_documentation[doc][\"folder\"]\n            folder_path = os.path.join(scraped_dir, folder)\n            item = QStandardItem(doc)\n            if os.path.exists(folder_path):\n                item.setForeground(QColor(\"#e75959\"))\n            item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)\n            model.appendRow(item)\n\n        self.doc_combo.setModel(model)\n\n    def start_scraping(self) -> None:\n        selected_doc = self.doc_combo.currentText()\n        doc_info = scrape_documentation.get(selected_doc)\n        if not doc_info or \"URL\" not in doc_info or \"folder\" not in doc_info:\n            self.show_error(\"Incomplete configuration for the selection.\")\n            return\n\n        if selected_doc in self.active_workers:\n            QMessageBox.information(\n                self,\n                \"Already Scraping\",\n                f\"'{selected_doc}' is already being scraped.\",\n            )\n            return\n\n        if len(self.active_workers) >= MAX_CONCURRENT_SCRAPES:\n            QMessageBox.warning(\n                self,\n                \"Concurrent Scrape Limit Reached\",\n                f\"You can run at most {MAX_CONCURRENT_SCRAPES} scrapes at the same time. \"\n                f\"Wait for one to finish (or cancel one) before starting another.\",\n            )\n            return\n\n        url = doc_info[\"URL\"]\n        folder = doc_info[\"folder\"]\n        scraper_name = doc_info.get(\"scraper_class\", \"BaseScraper\")\n        scraper_class = ScraperRegistry.get_scraper(scraper_name)\n\n        folder_path = os.path.join(\n            str(PROJECT_ROOT),\n            \"Scraped_Documentation\",\n            folder,\n        )\n\n        resume = False\n        if os.path.exists(folder_path):\n            msg_box = QMessageBox(\n                QMessageBox.Warning,\n                \"Existing Folder\",\n                f\"A scrape folder already exists for {selected_doc}.\",\n                QMessageBox.NoButton,\n                self,\n            )\n            msg_box.setInformativeText(\n                \"Resume: pick up where the last run left off (already-saved pages are skipped; \"\n                \"queued and failed URLs are retried).\\n\\n\"\n                \"Start Fresh: delete the existing folder contents and re-scrape from scratch.\\n\\n\"\n                \"Cancel: do nothing.\"\n            )\n            resume_btn = msg_box.addButton(\"Resume\", QMessageBox.AcceptRole)\n            fresh_btn = msg_box.addButton(\"Start Fresh\", QMessageBox.DestructiveRole)\n            cancel_btn = msg_box.addButton(\"Cancel\", QMessageBox.RejectRole)\n            msg_box.setDefaultButton(resume_btn)\n            msg_box.exec()\n            clicked = msg_box.clickedButton()\n            if clicked is None or clicked == cancel_btn:\n                return\n            resume = (clicked == resume_btn)\n            if not resume:\n                _clear_rate_limited_persistent(selected_doc)\n                for filename in os.listdir(folder_path):\n                    file_path = os.path.join(folder_path, filename)\n                    try:\n                        if os.path.isfile(file_path) or os.path.islink(file_path):\n                            os.unlink(file_path)\n                        elif os.path.isdir(file_path):\n                            shutil.rmtree(file_path)\n                    except Exception:\n                        pass\n\n        if selected_doc in self.restored_rate_limited_rows:\n            old_item = self.restored_rate_limited_rows.pop(selected_doc)\n            old_row = self.scrape_list.row(old_item)\n            if old_row >= 0:\n                self.scrape_list.takeItem(old_row)\n\n        row = ScrapeRowWidget(\n            doc_name=selected_doc,\n            folder_path=folder_path,\n            on_cancel=self.cancel_scrape,\n            on_open=self.open_folder,\n        )\n        item = QListWidgetItem(self.scrape_list)\n        item.setSizeHint(row.sizeHint())\n        self.scrape_list.addItem(item)\n        self.scrape_list.setItemWidget(item, row)\n\n        worker = ScraperWorker(url, folder, scraper_class, name=selected_doc, resume=resume)\n        thread = QThread()\n        worker.moveToThread(thread)\n        thread.started.connect(worker.run)\n        worker.status_updated.connect(self.update_status)\n        # Phase 1: worker emits → update the row UI + ask the thread to quit.\n        # We must NOT drop our Python references to worker/thread here, because\n        # thread.quit() takes a moment to wind down the event loop.\n        worker.scraping_finished.connect(self._on_worker_finished)\n        worker.scraping_finished.connect(thread.quit)\n        # Phase 2: thread truly exited — safe to release references.\n        thread.finished.connect(lambda n=selected_doc: self._on_thread_finished(n))\n        thread.finished.connect(thread.deleteLater)\n\n        self.active_workers[selected_doc] = {\n            \"worker\": worker,\n            \"thread\": thread,\n            \"row\": row,\n            \"item\": item,\n            \"folder_path\": folder_path,\n        }\n\n        thread.start()\n        self._refresh_summary()\n\n    def update_status(self, doc_name: str, status: str) -> None:\n        entry = self.active_workers.get(doc_name)\n        if not entry:\n            return\n        try:\n            count = int(status)\n        except ValueError:\n            count = 0\n        entry[\"row\"].update_count(count)\n\n    def _on_worker_finished(self, doc_name: str, was_cancelled: bool, was_rate_limited: bool) -> None:\n        \"\"\"Phase 1: worker emitted scraping_finished. Update the row UI but do NOT\n        drop Python references — thread.quit() still has to wind down.\"\"\"\n        entry = self.active_workers.get(doc_name)\n        if not entry:\n            return\n        row = entry[\"row\"]\n        folder_path = entry[\"folder_path\"]\n        count = 0\n        try:\n            if os.path.exists(folder_path):\n                count = len([f for f in os.listdir(folder_path) if f.endswith(\".html\")])\n        except Exception:\n            pass\n        if was_cancelled:\n            row.mark_cancelled(count)\n        elif was_rate_limited:\n            row.mark_rate_limited(count)\n            _mark_rate_limited_persistent(doc_name)\n        else:\n            row.mark_completed(count)\n            _clear_rate_limited_persistent(doc_name)\n\n        self.populate_combo_box()\n        idx = self.doc_combo.findText(doc_name)\n        if idx >= 0:\n            self.doc_combo.setCurrentIndex(idx)\n\n    def _on_thread_finished(self, doc_name: str) -> None:\n        \"\"\"Phase 2: thread event loop has exited. Now safe to release refs.\"\"\"\n        self.active_workers.pop(doc_name, None)\n        self._refresh_summary()\n\n    def cancel_scrape(self, doc_name: str) -> None:\n        entry = self.active_workers.get(doc_name)\n        if not entry:\n            return\n        try:\n            entry[\"worker\"].cancel()\n        except Exception as e:\n            print(f\"Error cancelling {doc_name}: {e}\")\n\n    def show_error(self, message: str) -> None:\n        QMessageBox.critical(self, \"Error\", message)\n\n    def open_folder(self, folder_path: str) -> None:\n        if not os.path.exists(folder_path):\n            QMessageBox.information(\n                self, \"Folder Not Found\",\n                \"The folder hasn't been created yet (no pages scraped).\",\n            )\n            return\n        system = platform.system()\n        if system == \"Windows\":\n            os.startfile(folder_path)\n        elif system == \"Darwin\":\n            subprocess.Popen([\"open\", folder_path])\n        else:\n            subprocess.Popen([\"xdg-open\", folder_path])\n"
  },
  {
    "path": "gui/tabs_tools/tools.py",
    "content": "from PySide6.QtWidgets import QVBoxLayout, QGroupBox, QWidget\r\nfrom PySide6.QtCore import QThread, Signal\r\nfrom gui.tabs_tools.transcribe import TranscriberToolSettingsTab\r\nfrom gui.tabs_tools.vision import VisionToolSettingsTab\r\nfrom gui.tabs_tools.scrape import ScrapeDocumentationTab\r\nfrom gui.tabs_tools.ocr import OCRToolSettingsTab\r\nfrom gui.tabs_tools.misc import MiscTab\r\nfrom core.initialize import restore_vector_db_backup\r\nfrom core.utilities import backup_database\r\n\r\nclass RestoreBackupThread(QThread):\r\n    finished = Signal(bool)\r\n    def run(self):\r\n        try:\r\n            restore_vector_db_backup()\r\n            self.finished.emit(True)\r\n        except Exception as e:\r\n            print(f\"Error during backup restoration: {e}\")\r\n            self.finished.emit(False)\r\n\r\nclass BackupDatabaseThread(QThread):\r\n    finished = Signal(bool)\r\n    def run(self):\r\n        try:\r\n            backup_database()\r\n            self.finished.emit(True)\r\n        except Exception as e:\r\n            print(f\"Error during database backup: {e}\")\r\n            self.finished.emit(False)\r\n\r\nclass GuiSettingsTab(QWidget):\r\n    def __init__(self):\r\n        super().__init__()\r\n        self.layout = QVBoxLayout(self)\r\n        self.groups = {}\r\n        classes = {\r\n            \"TRANSCRIBE FILE\": (TranscriberToolSettingsTab, 3),\r\n            \"SCRAPE DOCUMENTATION\": (ScrapeDocumentationTab, 5),\r\n            \"TEST VISION MODELS\": (VisionToolSettingsTab, 2),\r\n            \"OPTICAL CHARACTER RECOGNITION\": (OCRToolSettingsTab, 2),\r\n            \"MISC\": (MiscTab, 3),\r\n        }\r\n        for title, (TabClass, stretch) in classes.items():\r\n            settings = TabClass()\r\n            group = QGroupBox(title, checkable=True, checked=True)\r\n            group.setLayout(QVBoxLayout())\r\n            group.layout().addWidget(settings)\r\n            \r\n            self.groups[group] = stretch\r\n            self.layout.addWidget(group, stretch)\r\n            \r\n            group.toggled.connect(lambda checked, g=group, s=settings: \r\n                                  (s.setVisible(checked), self.adjust_stretch()))\r\n\r\n    def adjust_stretch(self):\r\n        for group, factor in self.groups.items():\r\n            self.layout.setStretchFactor(group, factor if group.isChecked() else 0)\r\n"
  },
  {
    "path": "gui/tabs_tools/transcribe.py",
    "content": "import threading\r\nfrom pathlib import Path\r\nimport yaml\r\nimport torch\r\nfrom PySide6.QtCore import Qt\r\nfrom PySide6.QtWidgets import (\r\n    QWidget, QHBoxLayout, QVBoxLayout, QGridLayout, QPushButton, QFileDialog, QLabel, QComboBox, QSlider, QSizePolicy\r\n)\r\nfrom modules.transcribe import WhisperTranscriber\r\nfrom core.utilities import my_cprint, has_bfloat16_support\r\nfrom core.constants import WHISPER_MODELS, TOOLTIPS\r\n\r\nclass TranscriberToolSettingsTab(QWidget):\r\n    CONFIG_FILE = 'config.yaml'\r\n    \r\n    def __init__(self):\r\n        super().__init__()\r\n        self.selected_audio_file = None\r\n        self.create_layout()\r\n\r\n    def set_buttons_enabled(self, enabled):\r\n        self.transcribe_button.setEnabled(enabled)\r\n        self.select_file_button.setEnabled(enabled)\r\n\r\n    def create_layout(self):\r\n        main_layout = QVBoxLayout()\r\n\r\n        grid = QGridLayout()\r\n        grid.setColumnStretch(0, 2)\r\n        grid.setColumnStretch(1, 2)\r\n        grid.setColumnStretch(2, 1)\r\n\r\n        model_row = QHBoxLayout()\r\n        model_label = QLabel(\"Model\")\r\n        model_label.setToolTip(TOOLTIPS[\"WHISPER_MODEL_SELECT\"])\r\n        model_row.addWidget(model_label)\r\n\r\n        self.model_combo = QComboBox()\r\n        self.populate_model_combo()\r\n        self.model_combo.setToolTip(TOOLTIPS[\"WHISPER_MODEL_SELECT\"])\r\n        model_row.addWidget(self.model_combo, 1)\r\n\r\n        grid.addLayout(model_row, 0, 0)\r\n\r\n        self.select_file_button = QPushButton(\"Select File\")\r\n        self.select_file_button.clicked.connect(self.select_audio_file)\r\n        self.select_file_button.setToolTip(TOOLTIPS[\"AUDIO_FILE_SELECT\"])\r\n        grid.addWidget(self.select_file_button, 0, 1)\r\n\r\n        self.transcribe_button = QPushButton(\"Transcribe\")\r\n        self.transcribe_button.clicked.connect(self.start_transcription)\r\n        self.transcribe_button.setToolTip(TOOLTIPS[\"TRANSCRIBE_BUTTON\"])\r\n        self.transcribe_button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)\r\n        grid.addWidget(self.transcribe_button, 0, 2, 2, 1)\r\n\r\n        batch_row = QHBoxLayout()\r\n        batch_label = QLabel(\"Batch:\")\r\n        batch_label.setToolTip(TOOLTIPS[\"WHISPER_BATCH_SIZE\"])\r\n        batch_row.addWidget(batch_label)\r\n\r\n        self.number_slider = QSlider(Qt.Horizontal)\r\n        self.number_slider.setMinimum(1)\r\n        self.number_slider.setMaximum(150)\r\n        self.number_slider.setValue(8)\r\n        self.number_slider.valueChanged.connect(self.update_slider_label)\r\n        self.number_slider.setToolTip(TOOLTIPS[\"WHISPER_BATCH_SIZE\"])\r\n        batch_row.addWidget(self.number_slider, 1)\r\n\r\n        self.slider_label = QLabel(\"8\")\r\n        self.slider_label.setToolTip(TOOLTIPS[\"WHISPER_BATCH_SIZE\"])\r\n        batch_row.addWidget(self.slider_label)\r\n\r\n        grid.addLayout(batch_row, 1, 0, 1, 2)\r\n\r\n        main_layout.addLayout(grid)\r\n\r\n        self.file_path_label = QLabel(\"No file currently selected\")\r\n        main_layout.addWidget(self.file_path_label)\r\n\r\n        self.setLayout(main_layout)\r\n\r\n    def populate_model_combo(self):\r\n        cuda_available = torch.cuda.is_available()\r\n        bfloat16_supported = has_bfloat16_support()\r\n\r\n        filtered_models = []\r\n        for model_name, model_info in WHISPER_MODELS.items():\r\n            precision = model_info['precision']\r\n            if precision == 'float32':\r\n                filtered_models.append(model_name)\r\n            elif precision == 'bfloat16' and bfloat16_supported:\r\n                filtered_models.append(model_name)\r\n            elif precision == 'float16' and cuda_available:\r\n                filtered_models.append(model_name)\r\n\r\n        self.model_combo.addItems(filtered_models)\r\n\r\n    def update_slider_label(self, value):\r\n        self.slider_label.setText(str(value))\r\n\r\n    def update_config_file(self):\r\n        with open(self.CONFIG_FILE, 'w') as file:\r\n            yaml.dump(self.config, file)\r\n\r\n    def select_audio_file(self):\r\n        current_dir = Path.cwd()\r\n        file_name, _ = QFileDialog.getOpenFileName(self, \"Select Audio File\", str(current_dir))\r\n        if file_name:\r\n            file_path = Path(file_name)\r\n            short_path = f\"...{file_path.parent.name}/{file_path.name}\"\r\n            self.file_path_label.setText(short_path)\r\n            self.file_path_label.setToolTip(str(file_path.absolute()))\r\n            self.selected_audio_file = file_name\r\n\r\n    def start_transcription(self):\r\n        if not self.selected_audio_file:\r\n            print(\"Please select an audio file.\")\r\n            return\r\n        \r\n        selected_model_key = self.model_combo.currentText()\r\n        selected_batch_size = int(self.slider_label.text())\r\n        \r\n        def transcription_thread():\r\n            self.set_buttons_enabled(False)\r\n            try:\r\n                transcriber = WhisperTranscriber(\r\n                    model_key=selected_model_key,\r\n                    batch_size=selected_batch_size\r\n                )\r\n                transcriber.start_transcription_process(self.selected_audio_file)\r\n                my_cprint(\"Transcription created and ready to be input into vector database.\", 'green')\r\n            except Exception as e:\r\n                my_cprint(f\"Transcription failed: {e}\", 'red')\r\n            finally:\r\n                self.set_buttons_enabled(True)\r\n        \r\n        threading.Thread(target=transcription_thread, daemon=True).start()\r\n"
  },
  {
    "path": "gui/tabs_tools/vision.py",
    "content": "import sys\r\nimport textwrap\r\nimport subprocess\r\nfrom pathlib import Path\r\nimport logging\r\nimport yaml\r\nimport tempfile\r\nimport os\r\nimport traceback\r\nimport gc\r\nimport time\r\nfrom PIL import Image\r\nimport torch\r\nfrom PySide6.QtCore import QThread, Signal as pyqtSignal, Qt\r\nfrom PySide6.QtWidgets import (\r\n    QWidget, QVBoxLayout, QPushButton, QHBoxLayout, QMessageBox,\r\n    QFileDialog, QProgressDialog, QDialog, QCheckBox,\r\n    QListWidget, QListWidgetItem, QLabel\r\n)\r\n\r\nimport modules.process_images as module_process_images\r\nfrom modules.process_images import choose_image_loader\r\nfrom core.constants import VISION_MODELS\r\n\r\nCONFIG_FILE = 'config.yaml'\r\n\r\n\r\ndef _load_cfg() -> dict:\r\n    p = Path(CONFIG_FILE)\r\n    if not p.exists():\r\n        return {}\r\n    try:\r\n        with p.open('r', encoding='utf-8') as f:\r\n            return yaml.safe_load(f) or {}\r\n    except Exception:\r\n        return {}\r\n\r\n\r\nclass ModelComparisonProgressDialog(QDialog):\r\n    PENDING = \"⏸\"     # ⏸\r\n    RUNNING = \"⏳\"     # ⏳\r\n    SUCCESS = \"✅\"     # ✅\r\n    FAILED = \"❌\"      # ❌\r\n\r\n    def __init__(self, model_names, parent=None):\r\n        super().__init__(parent)\r\n        self.setWindowTitle(\"Vision Model Comparison\")\r\n        self.setModal(True)\r\n        self.setMinimumWidth(420)\r\n        self._was_cancelled = False\r\n        self._finished = False\r\n\r\n        layout = QVBoxLayout(self)\r\n\r\n        self.header_label = QLabel(\r\n            f\"Processing image with {len(model_names)} selected model(s)...\"\r\n        )\r\n        layout.addWidget(self.header_label)\r\n\r\n        self.list_widget = QListWidget()\r\n        self.list_widget.setSelectionMode(QListWidget.NoSelection)\r\n        self.list_widget.setFocusPolicy(Qt.NoFocus)\r\n        for name in model_names:\r\n            item = QListWidgetItem(f\"{self.PENDING}  {name}\")\r\n            self.list_widget.addItem(item)\r\n        layout.addWidget(self.list_widget)\r\n\r\n        button_row = QHBoxLayout()\r\n        button_row.addStretch(1)\r\n        self.action_button = QPushButton(\"Cancel\")\r\n        self.action_button.clicked.connect(self._on_action_clicked)\r\n        button_row.addWidget(self.action_button)\r\n        layout.addLayout(button_row)\r\n\r\n        self._model_names = list(model_names)\r\n\r\n    def _set_row(self, index, icon, suffix=\"\"):\r\n        if 0 <= index < len(self._model_names):\r\n            text = f\"{icon}  {self._model_names[index]}\"\r\n            if suffix:\r\n                text += f\"   {suffix}\"\r\n            self.list_widget.item(index).setText(text)\r\n\r\n    def on_model_started(self, index, name):\r\n        self._set_row(index, self.RUNNING, \"processing…\")\r\n\r\n    def on_model_completed(self, index, name, elapsed):\r\n        self._set_row(index, self.SUCCESS, f\"({elapsed:.1f} s)\")\r\n\r\n    def on_model_failed(self, index, name):\r\n        self._set_row(index, self.FAILED)\r\n\r\n    def mark_finished(self):\r\n        self._finished = True\r\n        self.action_button.setText(\"Close\")\r\n        self.header_label.setText(\"Done. See the comparison output file for details.\")\r\n\r\n    def was_cancelled(self):\r\n        return self._was_cancelled\r\n\r\n    def _on_action_clicked(self):\r\n        if not self._finished:\r\n            self._was_cancelled = True\r\n        self.close()\r\n\r\n    def closeEvent(self, event):\r\n        if not self._finished:\r\n            self._was_cancelled = True\r\n        super().closeEvent(event)\r\n\r\n\r\nclass ModelSelectionDialog(QDialog):\r\n    def __init__(self, models, parent=None):\r\n        super().__init__(parent)\r\n        self.setWindowTitle(\"Select Vision Models\")\r\n        layout = QVBoxLayout()\r\n\r\n        self.checkboxes = {}\r\n        for model_name, info in models.items():\r\n            vram_text = info.get('vram', '—')\r\n            checkbox = QCheckBox(f\"{model_name} (VRAM: {vram_text})\")\r\n            checkbox.setChecked(True)\r\n            self.checkboxes[model_name] = checkbox\r\n            layout.addWidget(checkbox)\r\n\r\n        buttons_layout = QHBoxLayout()\r\n        ok_button = QPushButton(\"OK\")\r\n        cancel_button = QPushButton(\"Cancel\")\r\n        ok_button.clicked.connect(self.accept)\r\n        cancel_button.clicked.connect(self.reject)\r\n        buttons_layout.addWidget(ok_button)\r\n        buttons_layout.addWidget(cancel_button)\r\n\r\n        layout.addLayout(buttons_layout)\r\n        self.setLayout(layout)\r\n\r\n    def get_selected_models(self):\r\n        return [model for model, checkbox in self.checkboxes.items() if checkbox.isChecked()]\r\n\r\n\r\nclass ImageProcessorThread(QThread):\r\n    finished = pyqtSignal(list)\r\n    error = pyqtSignal(str)\r\n\r\n    def run(self):\r\n        try:\r\n            cfg = _load_cfg()\r\n            chosen_model = ((cfg.get('vision') or {}).get('chosen_model')\r\n                            or next(iter(VISION_MODELS.keys())))\r\n            print(f\"[Tools] Using chosen_model from config: {chosen_model}\")\r\n\r\n            documents = None\r\n            try:\r\n                documents = choose_image_loader({\"vision\": {\"chosen_model\": chosen_model}})\r\n            except TypeError:\r\n                try:\r\n                    module_process_images.DEFAULT_VISION_MODEL_OVERRIDE = chosen_model\r\n                    print(\"[Tools] Set module_process_images.DEFAULT_VISION_MODEL_OVERRIDE\")\r\n                except Exception:\r\n                    pass\r\n                documents = choose_image_loader()\r\n\r\n            self.finished.emit(documents)\r\n        except Exception as e:\r\n            error_msg = f\"Error in image processing: {str(e)}\\n{traceback.format_exc()}\"\r\n            self.error.emit(error_msg)\r\n\r\n\r\nclass MultiModelProcessorThread(QThread):\r\n    finished = pyqtSignal(list)\r\n    error = pyqtSignal(str)\r\n    progress = pyqtSignal(int)\r\n    model_started = pyqtSignal(int, str)\r\n    model_completed = pyqtSignal(int, str, float)\r\n    model_failed = pyqtSignal(int, str)\r\n\r\n    def __init__(self, image_path, selected_models):\r\n        super().__init__()\r\n        self.image_path = image_path\r\n        self.selected_models = selected_models\r\n        self.is_cancelled = False\r\n\r\n    def cancel(self):\r\n        self.is_cancelled = True\r\n\r\n    def run(self):\r\n        try:\r\n            results = []\r\n            with Image.open(self.image_path) as raw_image:\r\n                for i, model_name in enumerate(self.selected_models):\r\n                    if self.is_cancelled:\r\n                        print(\"\\nProcessing cancelled by user\")\r\n                        torch.cuda.empty_cache()\r\n                        gc.collect()\r\n                        break\r\n\r\n                    self.model_started.emit(i, model_name)\r\n\r\n                    try:\r\n                        print(f\"\\nProcessing with {model_name}...\")\r\n                        model_config = {\"vision\": {\"chosen_model\": model_name}}\r\n\r\n                        loader_name = VISION_MODELS[model_name]['loader']\r\n                        loader_class = getattr(module_process_images, loader_name)\r\n                        loader = loader_class(model_config)\r\n\r\n                        loader.model, loader.tokenizer, loader.processor = loader.initialize_model_and_tokenizer()\r\n                        start_time = time.time()\r\n                        description = loader.process_single_image(raw_image)\r\n                        process_time = time.time() - start_time\r\n                        description = textwrap.fill(description, width=10)\r\n                        results.append((model_name, description, process_time))\r\n\r\n                        if hasattr(loader, 'model') and loader.model is not None:\r\n                            loader.model.cpu()\r\n                            del loader.model\r\n                        if hasattr(loader, 'tokenizer') and loader.tokenizer is not None:\r\n                            del loader.tokenizer\r\n                        if hasattr(loader, 'processor') and loader.processor is not None:\r\n                            del loader.processor\r\n\r\n                        torch.cuda.empty_cache()\r\n                        gc.collect()\r\n\r\n                        print(f\"Completed {model_name}\")\r\n                        self.progress.emit(i + 1)\r\n                        self.model_completed.emit(i, model_name, process_time)\r\n\r\n                    except Exception as e:\r\n                        error_msg = f\"Error processing with {model_name}: {str(e)}\\n{traceback.format_exc()}\"\r\n                        results.append((model_name, error_msg, 0.0))\r\n                        print(error_msg)\r\n                        torch.cuda.empty_cache()\r\n                        gc.collect()\r\n                        self.model_failed.emit(i, model_name)\r\n\r\n            torch.cuda.empty_cache()\r\n            gc.collect()\r\n            self.finished.emit(results)\r\n        except Exception as e:\r\n            torch.cuda.empty_cache()\r\n            gc.collect()\r\n            self.error.emit(str(e))\r\n\r\n\r\nclass VisionToolSettingsTab(QWidget):\r\n    def __init__(self):\r\n        super().__init__()\r\n\r\n        mainVLayout = QVBoxLayout()\r\n        self.setLayout(mainVLayout)\r\n\r\n        hBoxLayout = QHBoxLayout()\r\n        mainVLayout.addLayout(hBoxLayout)\r\n\r\n        processButton = QPushButton(\"Multiple Files + One Vision Model\")\r\n        hBoxLayout.addWidget(processButton)\r\n        processButton.clicked.connect(self.confirmationBeforeProcessing)\r\n\r\n        newButton = QPushButton(\"Single Image + All Vision Models\")\r\n        hBoxLayout.addWidget(newButton)\r\n        newButton.clicked.connect(self.selectSingleImage)\r\n\r\n        self.thread = None\r\n        self.progress = None\r\n\r\n    def confirmationBeforeProcessing(self):\r\n        msgBox = QMessageBox()\r\n        msgBox.setIcon(QMessageBox.Information)\r\n        msgBox.setText(\r\n            \"1. Create Database Tab:\\n\"\r\n            \"Select files you theoretically want in the vector database.\\n\\n\"\r\n            \"2. Settings Tab:\\n\"\r\n            \"Select the vision model you want to test.\\n\\n\"\r\n            \"3. Click the 'Process' button.\\n\\n\"\r\n            \"This will test the selected vision model before actually entering the images into the vector database.\\n\\n\"\r\n            \"Do you want to proceed?\"\r\n        )\r\n        msgBox.setWindowTitle(\"Confirm Processing\")\r\n        msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)\r\n        returnValue = msgBox.exec()\r\n        if returnValue == QMessageBox.Ok:\r\n            self.startProcessing()\r\n\r\n    def startProcessing(self):\r\n        if self.thread is None:\r\n            self.thread = ImageProcessorThread()\r\n            self.thread.finished.connect(self.onProcessingFinished)\r\n            self.thread.error.connect(self.onProcessingError)\r\n            self.thread.start()\r\n\r\n    def onProcessingFinished(self, documents):\r\n        self.thread = None\r\n        print(f\"Processed {len(documents)} documents\")\r\n        contents = self.extract_page_content(documents)\r\n        self.save_page_contents(contents)\r\n\r\n    def onProcessingError(self, error_msg):\r\n        self.thread = None\r\n        logging.error(f\"Processing error: {error_msg}\")\r\n        QMessageBox.critical(self, \"Processing Error\", f\"An error occurred during image processing:\\n\\n{error_msg}\")\r\n\r\n    def selectSingleImage(self):\r\n        file_path, _ = QFileDialog.getOpenFileName(\r\n            self,\r\n            \"Select Image File\",\r\n            \"\",\r\n            \"Image Files (*.png *.jpg *.jpeg *.gif *.bmp *.tif *.tiff)\"\r\n        )\r\n        if file_path:\r\n            dialog = ModelSelectionDialog(VISION_MODELS, self)\r\n            if dialog.exec():\r\n                selected_models = dialog.get_selected_models()\r\n                if not selected_models:\r\n                    QMessageBox.warning(self, \"Warning\", \"Please select at least one model.\")\r\n                    return\r\n\r\n                msgBox = QMessageBox()\r\n                msgBox.setIcon(QMessageBox.Information)\r\n                msgBox.setText(\r\n                    \"Process this image with the selected vision models?\\n\\n\"\r\n                    \"This will test each model sequentially and may take several minutes.\\n\"\r\n                    \"Models will be loaded and unloaded to manage memory usage.\\n\\n\"\r\n                    \"Do you want to proceed?\"\r\n                )\r\n                msgBox.setWindowTitle(\"Confirm Processing\")\r\n                msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)\r\n                returnValue = msgBox.exec()\r\n\r\n                if returnValue == QMessageBox.Ok:\r\n                    self.progress = ModelComparisonProgressDialog(selected_models, self)\r\n                    self.progress.rejected.connect(self.cancelProcessing)\r\n\r\n                    self.thread = MultiModelProcessorThread(file_path, selected_models)\r\n                    self.thread.finished.connect(self.onMultiModelProcessingFinished)\r\n                    self.thread.error.connect(self.onMultiModelProcessingError)\r\n                    self.thread.model_started.connect(self.progress.on_model_started)\r\n                    self.thread.model_completed.connect(self.progress.on_model_completed)\r\n                    self.thread.model_failed.connect(self.progress.on_model_failed)\r\n                    self.thread.start()\r\n\r\n                    self.progress.show()\r\n\r\n    def cancelProcessing(self):\r\n        if self.thread is not None and hasattr(self.thread, \"cancel\"):\r\n            self.thread.cancel()\r\n\r\n    def onMultiModelProcessingFinished(self, results):\r\n        if self.progress:\r\n            self.progress.mark_finished()\r\n        try:\r\n            output_file = self.save_comparison_results(self.thread.image_path, results)\r\n            self.open_file(output_file)\r\n        except Exception as e:\r\n            QMessageBox.critical(self, \"Error\", f\"An error occurred while saving results:\\n\\n{str(e)}\")\r\n        self.thread = None\r\n\r\n    def onMultiModelProcessingError(self, error_msg):\r\n        if self.progress:\r\n            self.progress.mark_finished()\r\n            self.progress.close()\r\n        QMessageBox.critical(self, \"Error\", f\"An error occurred during processing:\\n\\n{error_msg}\")\r\n        self.thread = None\r\n\r\n    def extract_page_content(self, documents):\r\n        contents = []\r\n        total_length = 0\r\n\r\n        for doc in documents:\r\n            if hasattr(doc, 'page_content') and hasattr(doc, 'metadata'):\r\n                content = doc.page_content\r\n                filepath = doc.metadata.get('source', doc.metadata.get('file_path', doc.metadata.get('file_name', 'Unknown filepath')))\r\n            elif isinstance(doc, dict):\r\n                content = doc.get(\"page_content\", \"Document is missing 'page_content'.\")\r\n                filepath = doc.get(\"metadata\", {}).get('source',\r\n                         doc.get(\"metadata\", {}).get('file_path',\r\n                         doc.get(\"metadata\", {}).get('file_name', 'Unknown filepath')))\r\n            else:\r\n                content = \"Document is missing 'page_content'.\"\r\n                filepath = 'Unknown filepath'\r\n\r\n            content_length = len(content)\r\n            total_length += content_length\r\n            wrapped_content = textwrap.fill(content, width=100)\r\n            contents.append((filepath, wrapped_content, content_length))\r\n\r\n        avg_length = total_length / len(documents) if documents else 0\r\n        return contents, avg_length\r\n\r\n    def save_page_contents(self, contents):\r\n        contents, avg_length = contents\r\n\r\n        with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', encoding='utf-8', delete=False) as temp_file:\r\n            temp_file.write(f\"Average Summary Length: {avg_length:.2f} characters\\n\")\r\n            temp_file.write(\"=\"*50 + \"\\n\\n\")\r\n\r\n            for filepath, content, length in contents:\r\n                temp_file.write(f\"File Path: {filepath}\\n\")\r\n                temp_file.write(f\"Summary Length: {length} characters\\n\")\r\n                temp_file.write(\"-\"*50 + \"\\n\")\r\n                temp_file.write(f\"{content}\\n\\n\")\r\n                temp_file.write(\"=\"*50 + \"\\n\\n\")\r\n\r\n            temp_name = temp_file.name\r\n\r\n        self.open_file(temp_name)\r\n\r\n    def save_comparison_results(self, image_path, results):\r\n        with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', encoding='utf-8', delete=False) as temp_file:\r\n            model_col_width = 23\r\n            count_col_width = 12\r\n            time_col_width = 12\r\n            speed_col_width = 12\r\n\r\n            temp_file.write(f\"Image Path: {image_path}\\n\")\r\n            temp_file.write(f\"Generated: {time.strftime('%Y-%m-%d %H:%M:%S')}\\n\\n\")\r\n\r\n            chunk_advice = (\r\n                \"Remember to adjust your 'chunk size' setting to exceed the longest image summary that you expect. \"\r\n                \"For large bodies of text (e.g. from a .pdf) splitting/overlapping chunks of text is fine, but for image \"\r\n                \"summaries you want any/all summaries to fit within a single chunk that will be put into the vector database.\"\r\n            )\r\n            temp_file.write(textwrap.fill(chunk_advice, width=100) + \"\\n\\n\")\r\n\r\n            temp_file.write(\"Model Performance Comparison Table:\\n\")\r\n            temp_file.write(\"+\" + \"-\"*model_col_width + \"+\" + \"-\"*count_col_width + \"+\" +\r\n                           \"-\"*time_col_width + \"+\" + \"-\"*speed_col_width + \"+\\n\")\r\n            temp_file.write(\"|\" + \"Model Name\".center(model_col_width) + \"|\" +\r\n                           \"Char Count\".center(count_col_width) + \"|\" +\r\n                           \"Time (sec)\".center(time_col_width) + \"|\" +\r\n                           \"Char/Sec\".center(speed_col_width) + \"|\\n\")\r\n            temp_file.write(\"+\" + \"-\"*model_col_width + \"+\" + \"-\"*count_col_width + \"+\" +\r\n                           \"-\"*time_col_width + \"+\" + \"-\"*speed_col_width + \"+\\n\")\r\n\r\n            for model_name, description, process_time in results:\r\n                char_count = len(description)\r\n                chars_per_sec = char_count / process_time if process_time > 0 else 0\r\n\r\n                temp_file.write(\"|\" + model_name.ljust(model_col_width) + \"|\" +\r\n                              str(char_count).center(count_col_width) + \"|\" +\r\n                              f\"{process_time:.2f}\".center(time_col_width) + \"|\" +\r\n                              f\"{chars_per_sec:.1f}\".center(speed_col_width) + \"|\\n\")\r\n\r\n            temp_file.write(\"+\" + \"-\"*model_col_width + \"+\" + \"-\"*count_col_width + \"+\" +\r\n                           \"-\"*time_col_width + \"+\" + \"-\"*speed_col_width + \"+\\n\\n\")\r\n\r\n            for model_name, description, process_time in results:\r\n                char_count = len(description)\r\n                chars_per_sec = char_count / process_time if process_time > 0 else 0\r\n\r\n                temp_file.write(f\"Model: {model_name}\\n\")\r\n                temp_file.write(f\"Summary Length: {char_count}\\n\")\r\n                temp_file.write(f\"Processing Time: {process_time:.2f} seconds\\n\")\r\n                temp_file.write(f\"Characters per Second: {chars_per_sec:.1f}\\n\")\r\n                temp_file.write(\"=\"*50 + \"\\n\")\r\n                if description.strip():\r\n                    temp_file.write(textwrap.fill(description, width=100) + \"\\n\\n\")\r\n                else:\r\n                    temp_file.write(\"[No output generated]\\n\\n\")\r\n                temp_file.write(\"-\"*50 + \"\\n\\n\")\r\n\r\n            temp_name = temp_file.name\r\n\r\n        self.open_file(temp_name)\r\n        return temp_name\r\n\r\n    def open_file(self, file_path):\r\n        try:\r\n            os.startfile(file_path)\r\n        except Exception as e:\r\n            error_msg = f\"Error opening file: {e}\"\r\n            logging.error(error_msg)\r\n            QMessageBox.warning(self, \"Error\", error_msg)\r\n"
  },
  {
    "path": "gui.py",
    "content": "import faulthandler\r\nfaulthandler.enable(all_threads=True)\r\n\r\nimport multiprocessing\r\nmultiprocessing.set_start_method('spawn', force=True)\r\n\r\nfrom core.utilities import set_cuda_paths\r\nset_cuda_paths()\r\n\r\nfrom gui.main_window import main\r\n\r\nif __name__ == '__main__':\r\n    main()\r\n"
  },
  {
    "path": "modules/__init__.py",
    "content": ""
  },
  {
    "path": "modules/kokoro.py",
    "content": "import sys\r\nimport os\r\nfrom pathlib import Path\r\nimport queue\r\nimport threading\r\nimport re\r\nimport torch\r\nimport sounddevice as sd\r\nimport warnings\r\nimport logging\r\nfrom typing import Optional, Union\r\n\r\nclass KokoroTTS:\r\n    VOICES = [\r\n        'af',\r\n        'af_bella',\r\n        'af_sarah',\r\n        'am_adam',\r\n        'am_michael',\r\n        'bf_emma',\r\n        'bf_isabella',\r\n        'bm_george',\r\n        'bm_lewis',\r\n        'af_nicole',\r\n        'af_sky'\r\n    ]\r\n    \r\n    def __init__(self, repo_path: str):\r\n        self.REPO_PATH = Path(repo_path)\r\n        sys.path.append(str(self.REPO_PATH))\r\n\r\n        from models import build_model\r\n        from kokoro import generate, generate_full, phonemize\r\n        self.generate = generate\r\n        self.generate_full = generate_full\r\n        self.phonemize = phonemize\r\n\r\n        self.sentence_queue = queue.Queue()\r\n        self.audio_queue = queue.Queue()\r\n        self.stop_event = threading.Event()\r\n\r\n        self.model = None\r\n        self.voicepack_cache = {}\r\n        self.current_voice_name = None\r\n\r\n        warnings.filterwarnings(\"ignore\", category=FutureWarning)\r\n        warnings.filterwarnings(\"ignore\", category=UserWarning)\r\n\r\n    def _load_model_and_voice(self, voice_name: str):\r\n        device = 'cpu'\r\n        \r\n        if self.model is None:\r\n            model_path = self.REPO_PATH / 'kokoro-v0_19.pth'\r\n            if not model_path.exists():\r\n                raise FileNotFoundError(f\"Model file not found at {model_path}\")\r\n            \r\n            from models import build_model\r\n            self.model = build_model(str(model_path), device)\r\n\r\n        if voice_name not in self.voicepack_cache:\r\n            voices_path = self.REPO_PATH / 'voices'\r\n            if not voices_path.exists():\r\n                raise FileNotFoundError(f\"Voices directory not found at {voices_path}\")\r\n            \r\n            voicepack_path = voices_path / f'{voice_name}.pt'\r\n            if not voicepack_path.exists():\r\n                raise FileNotFoundError(f\"Voice file not found at {voicepack_path}\")\r\n                \r\n            self.voicepack_cache[voice_name] = torch.load(str(voicepack_path), weights_only=True).to(device)\r\n            print(f\"Loaded voicepack for {voice_name}\")\r\n\r\n        self.current_voice_name = voice_name\r\n\r\n    @staticmethod\r\n    def _drain_queue(q):\r\n        while not q.empty():\r\n            try:\r\n                q.get_nowait()\r\n            except queue.Empty:\r\n                break\r\n\r\n    def stop(self):\r\n        self.stop_event.set()\r\n        self._drain_queue(self.sentence_queue)\r\n        self._drain_queue(self.audio_queue)\r\n        \r\n\r\n    def _process_sentences(self, speed: float, force_accent: Optional[str]):\r\n        while not self.stop_event.is_set():\r\n            try:\r\n                sentence = self.sentence_queue.get(timeout=1)\r\n                if sentence is None:\r\n                    self.audio_queue.put(None)\r\n                    break\r\n\r\n                if self.stop_event.is_set():\r\n                    break\r\n\r\n                lang = force_accent if force_accent else self.current_voice_name[0]\r\n                \r\n                logging.debug(\"About to generate phonemes...\")\r\n                ps = self.phonemize(sentence, lang)\r\n                logging.debug(f\"Generated phonemes: {ps}\")\r\n\r\n                if self.stop_event.is_set():\r\n                    break\r\n\r\n                try:\r\n                    voicepack = self.voicepack_cache[self.current_voice_name]\r\n                    \r\n                    audio, phonemes = self.generate_full(\r\n                        self.model, \r\n                        sentence, \r\n                        voicepack, \r\n                        lang=lang, \r\n                        speed=speed,\r\n                        ps=ps\r\n                    )\r\n\r\n                    if audio is not None and not self.stop_event.is_set():\r\n                        self.audio_queue.put(audio)\r\n                    elif audio is None:\r\n                        print(f\"Failed to generate audio for sentence: {sentence}\")\r\n\r\n                except Exception as e:\r\n                    if not self.stop_event.is_set():\r\n                        print(f\"Error generating speech for sentence: {str(e)}\")\r\n                        print(f\"Error type: {type(e)}\")\r\n                        import traceback\r\n                        traceback.print_exc()\r\n                    continue\r\n\r\n            except queue.Empty:\r\n                continue\r\n\r\n    def _play_audio(self):\r\n        while not self.stop_event.is_set():\r\n            try:\r\n                audio = self.audio_queue.get(timeout=1)\r\n                if audio is None:\r\n                    break\r\n                \r\n                if self.stop_event.is_set():\r\n                    break\r\n                    \r\n                try:\r\n                    sd.play(audio, 24000)\r\n                    \r\n                    while sd.get_stream().active and not self.stop_event.is_set():\r\n                        sd.sleep(50)\r\n                    \r\n                    if self.stop_event.is_set():\r\n                        try:\r\n                            sd.stop()\r\n                        except Exception as e:\r\n                            print(f\"Safe stop error (expected): {e}\")\r\n                        break\r\n                    else:\r\n                        sd.wait()\r\n                        \r\n                except Exception as e:\r\n                    if not self.stop_event.is_set():\r\n                        print(f\"Audio playback error: {e}\")\r\n                    try:\r\n                        sd.stop()\r\n                    except:\r\n                        pass\r\n                    break\r\n                \r\n            except queue.Empty:\r\n                continue\r\n            except Exception as e:\r\n                if not self.stop_event.is_set():\r\n                    print(f\"Audio queue error: {e}\")\r\n                break\r\n\r\n    def speak(self, \r\n             text: str, \r\n             voice: str = 'bm_george',\r\n             speed: float = 1.3,\r\n             force_accent: Optional[str] = None) -> None:\r\n        if voice not in self.VOICES:\r\n            raise ValueError(f\"Invalid voice. Choose from: {self.VOICES}\")\r\n\r\n        if force_accent and force_accent not in ['a', 'b']:\r\n            raise ValueError(\"force_accent must be 'a' for American, 'b' for British, or None\")\r\n\r\n        if speed <= 0:\r\n            raise ValueError(\"Speed must be positive\")\r\n\r\n        self.stop_event.clear()\r\n        self.sentence_queue = queue.Queue()\r\n        self.audio_queue = queue.Queue()\r\n\r\n        self._load_model_and_voice(voice)\r\n\r\n        sentences = [s.strip() for s in re.split(r'[.!?;]+\\s*', text) if s.strip()]\r\n\r\n        process_thread = threading.Thread(\r\n            target=self._process_sentences,\r\n            args=(speed, force_accent)\r\n        )\r\n        playback_thread = threading.Thread(target=self._play_audio)\r\n\r\n        process_thread.daemon = True\r\n        playback_thread.daemon = True\r\n\r\n        process_thread.start()\r\n        playback_thread.start()\r\n\r\n        for sentence in sentences:\r\n            if self.stop_event.is_set():\r\n                break\r\n            self.sentence_queue.put(sentence)\r\n        \r\n        if not self.stop_event.is_set():\r\n            self.sentence_queue.put(None)\r\n\r\n        process_thread.join()\r\n        playback_thread.join()\r\n"
  },
  {
    "path": "modules/ocr.py",
    "content": "import os\r\nimport io\r\nimport tempfile\r\nimport threading\r\nimport queue\r\nimport time\r\nfrom pathlib import Path\r\nfrom io import BytesIO\r\nfrom abc import ABC, abstractmethod\r\nfrom core.constants import PROJECT_ROOT\r\nfrom concurrent.futures import ThreadPoolExecutor, as_completed\r\nfrom multiprocessing import Process, Queue\r\n\r\nimport fitz\r\nimport psutil\r\nfrom PIL import Image\r\nimport tesserocr\r\nfrom ocrmypdf.hocrtransform import HocrTransform\r\nimport tqdm\r\nfrom typing import Union, List, Tuple\r\n\r\nthread_local = threading.local()\r\n\r\nclass OCRProcessor(ABC):\r\n    def __init__(self, zoom: int = 2, progress_queue: Queue = None):\r\n        self.zoom = zoom\r\n        self.show_progress = False\r\n        self.progress_queue = progress_queue\r\n        backend_name = self.__class__.__name__\r\n        print(f\"\\033[92mUsing {backend_name} backend\\033[0m\")\r\n        if backend_name == \"TesseractOCR\":\r\n            thread_count = self.get_optimal_threads()\r\n            print(f\"\\033[92mUsing up to {thread_count} threads\\033[0m\")\r\n\r\n    def convert_page_to_image(self, page) -> Image.Image:\r\n        mat = fitz.Matrix(self.zoom, self.zoom)\r\n        pix = page.get_pixmap(matrix=mat)\r\n        img_data = pix.tobytes(\"png\")\r\n        return Image.open(io.BytesIO(img_data))\r\n\r\n    @abstractmethod\r\n    def process_page(self, page_num: int, pdf_path: str) -> Tuple[int, str]:\r\n        pass\r\n\r\n    @abstractmethod\r\n    def initialize(self):\r\n        pass\r\n\r\n    @abstractmethod\r\n    def clean_text(self, text: str) -> str:\r\n        pass\r\n\r\n    def validate_pdf(self, pdf_path: Path) -> bool:\r\n        try:\r\n            with fitz.open(str(pdf_path)) as doc:\r\n                if doc.page_count == 0:\r\n                    return False\r\n                _ = doc[0].get_text()\r\n            return True\r\n        except Exception:\r\n            return False\r\n\r\n    def process_document(self, pdf_path: Path, output_path: Path = None):\r\n        if not self.validate_pdf(pdf_path):\r\n            raise ValueError(f\"Invalid or corrupted PDF file: {pdf_path}\")\r\n        if output_path is None:\r\n            output_path = pdf_path.with_suffix('.txt')\r\n        with fitz.open(str(pdf_path)) as pdf_document:\r\n            total_pages = len(pdf_document)\r\n        if self.progress_queue:\r\n            self.progress_queue.put(('total', total_pages))\r\n        results = {}\r\n        with ThreadPoolExecutor(max_workers=self.get_optimal_threads()) as executor:\r\n            future_to_page = {\r\n                executor.submit(self.process_page, page_num, str(pdf_path)): page_num\r\n                for page_num in range(total_pages)\r\n            }\r\n            for future in as_completed(future_to_page):\r\n                page_num, processed_text = future.result()\r\n                results[page_num] = processed_text\r\n                if self.progress_queue:\r\n                    self.progress_queue.put(('update', 1))\r\n        with open(output_path, 'w', encoding='utf-8') as f:\r\n            for page_num in range(total_pages):\r\n                text = results.get(page_num, '').strip()\r\n                if text:\r\n                    f.write(f\"[[page{page_num + 1}]]{text}\")\r\n        if self.progress_queue:\r\n            self.progress_queue.put(('done', None))\r\n\r\n    @staticmethod\r\n    def get_optimal_threads() -> int:\r\n        return max(4, psutil.cpu_count(logical=True) - 3)\r\n\r\nclass TesseractOCR(OCRProcessor):\r\n    def __init__(self, zoom: int = 2, progress_queue: Queue = None):\r\n        super().__init__(zoom, progress_queue)\r\n        self.tessdata_path = None\r\n        self.temp_dir = None\r\n        self.show_progress = True\r\n\r\n    def initialize(self):\r\n        script_dir = PROJECT_ROOT\r\n        self.temp_dir = script_dir / \"temp_ocr\"\r\n        self.temp_dir.mkdir(exist_ok=True)\r\n        os.environ['TMP'] = str(self.temp_dir)\r\n        os.environ['TEMP'] = str(self.temp_dir)\r\n        tempfile.tempdir = str(self.temp_dir)\r\n        self.tessdata_path = script_dir / 'share' / 'tessdata'\r\n        os.environ['TESSDATA_PREFIX'] = str(self.tessdata_path)\r\n\r\n    def clean_text(self, text: str) -> str:\r\n        return text\r\n\r\n    def cleanup(self):\r\n        self.cleanup_temp_pdfs()\r\n        if 'TESSDATA_PREFIX' in os.environ:\r\n            del os.environ['TESSDATA_PREFIX']\r\n\r\n    def process_document(self, pdf_path: Path, output_path: Path = None):\r\n        if not self.validate_pdf(pdf_path):\r\n            raise ValueError(f\"Invalid or corrupted PDF file: {pdf_path}\")\r\n        if output_path is None:\r\n            output_path = pdf_path.with_stem(f\"{pdf_path.stem}_OCR\")\r\n        if self.temp_dir is None:\r\n            self.initialize()\r\n        self.cleanup_temp_pdfs()\r\n        with fitz.open(str(pdf_path)) as pdf_document:\r\n            num_pages = len(pdf_document)\r\n        if self.progress_queue:\r\n            self.progress_queue.put(('total', num_pages))\r\n        results = []\r\n        with ThreadPoolExecutor(max_workers=self.get_optimal_threads()) as executor:\r\n            futures = {executor.submit(self.process_page, page_num, str(pdf_path)): page_num for page_num in range(num_pages)}\r\n            for future in as_completed(futures):\r\n                page_num, temp_pdf_path = future.result()\r\n                results.append((temp_pdf_path, page_num))\r\n                if self.progress_queue:\r\n                    self.progress_queue.put(('update', 1))\r\n        results.sort(key=lambda x: x[1])\r\n        with fitz.open() as output_pdf:\r\n            for temp_pdf_path, _ in results:\r\n                with fitz.open(temp_pdf_path) as src:\r\n                    output_pdf.insert_pdf(src)\r\n                Path(temp_pdf_path).unlink(missing_ok=True)\r\n            output_pdf.save(output_path)\r\n        self.optimize_final_pdf(pdf_path, output_path)\r\n        self.cleanup_temp_pdfs()\r\n        if self.progress_queue:\r\n            self.progress_queue.put(('done', None))\r\n\r\n    def process_page(self, page_num: int, pdf_path: str) -> Tuple[int, str]:\r\n        fd, temp_pdf_path = tempfile.mkstemp(suffix=\".pdf\", dir=self.temp_dir)\r\n        os.close(fd)\r\n        with fitz.open(pdf_path) as pdf_document, fitz.open() as out_pdf:\r\n            page = pdf_document[page_num]\r\n            api = getattr(thread_local, 'api', None)\r\n            if api is None:\r\n                api = tesserocr.PyTessBaseAPI(lang=\"eng\", path=str(self.tessdata_path))\r\n                thread_local.api = api\r\n            page.remove_rotation()\r\n            pix = page.get_pixmap(matrix=fitz.Matrix(self.zoom, self.zoom))\r\n            pil_image = Image.open(BytesIO(pix.tobytes(\"png\")))\r\n            api.SetImage(pil_image)\r\n            hocr_text = api.GetHOCRText(0)\r\n            hocr_output = f\"{self.temp_dir}/page_{page_num}.hocr\"\r\n            Path(hocr_output).write_text(hocr_text, encoding=\"utf-8\")\r\n            fd, text_pdf = tempfile.mkstemp(suffix=\".pdf\", dir=self.temp_dir)\r\n            os.close(fd)\r\n            pdf_width_pts = page.rect.width\r\n            pdf_height_pts = page.rect.height\r\n            dpi_x = (pix.width * 72) / pdf_width_pts\r\n            dpi_y = (pix.height * 72) / pdf_height_pts\r\n            dpi = (dpi_x + dpi_y) / 2.0\r\n            hocr_transform = HocrTransform(hocr_filename=hocr_output, dpi=dpi)\r\n            # HocrTransform.to_pdf reads self.width/self.height. __init__ tries to set\r\n            # them from the hOCR <div class=\"ocr_page\"> coords, but tesserocr's hOCR\r\n            # may omit that div (or its bbox), leaving the attrs undefined and causing\r\n            # AttributeError. Force them to the true PDF page dimensions in pts.\r\n            hocr_transform.width = pdf_width_pts\r\n            hocr_transform.height = pdf_height_pts\r\n            hocr_transform.to_pdf(out_filename=text_pdf, invisible_text=True)\r\n            out_pdf.insert_pdf(page.parent, from_page=page_num, to_page=page_num)\r\n            with fitz.open(text_pdf) as text_page:\r\n                out_pdf[0].show_pdf_page(out_pdf[0].rect, text_page, 0, overlay=True)\r\n            Path(hocr_output).unlink(missing_ok=True)\r\n            for _ in range(10):\r\n                try:\r\n                    Path(text_pdf).unlink()\r\n                    break\r\n                except PermissionError:\r\n                    time.sleep(0.1)\r\n            out_pdf.save(temp_pdf_path)\r\n        return page_num, temp_pdf_path\r\n\r\n    def optimize_final_pdf(self, original_pdf_path: Path, ocr_pdf_path: Path) -> None:\r\n        with fitz.open(original_pdf_path) as original_doc:\r\n            orig_pages = []\r\n            for page in original_doc:\r\n                orig_pages.append({'width': page.rect.width, 'height': page.rect.height, 'mediabox': page.mediabox, 'cropbox': getattr(page, 'cropbox', None)})\r\n        temp_path = str(ocr_pdf_path) + \".optimized\"\r\n        with fitz.open(ocr_pdf_path) as ocr_doc:\r\n            for i, page in enumerate(ocr_doc):\r\n                if i < len(orig_pages):\r\n                    orig = orig_pages[i]\r\n                    page.set_mediabox(orig['mediabox'])\r\n                    if orig['cropbox']:\r\n                        try:\r\n                            cropbox = orig['cropbox']\r\n                            mediabox = orig['mediabox']\r\n                            if cropbox[0] >= mediabox[0] and cropbox[1] >= mediabox[1] and cropbox[2] <= mediabox[2] and cropbox[3] <= mediabox[3]:\r\n                                page.set_cropbox(cropbox)\r\n                        except ValueError:\r\n                            pass\r\n            ocr_doc.save(temp_path, garbage=4, deflate=True, clean=True)\r\n        os.replace(temp_path, ocr_pdf_path)\r\n\r\n    def cleanup_temp_pdfs(self):\r\n        if self.temp_dir is None:\r\n            return\r\n        for temp_file in Path(self.temp_dir).glob(\"tmp*.pdf\"):\r\n            try:\r\n                temp_file.unlink()\r\n            except PermissionError:\r\n                pass\r\n\r\ndef _process_documents_worker(pdf_paths: List[Path], backend: str, model_path: str, output_dir: Path, progress_queue: Queue):\r\n    if backend.lower() == 'tesseract':\r\n        processor = TesseractOCR(progress_queue=progress_queue)\r\n    else:\r\n        raise ValueError(f\"Unsupported backend: {backend}\")\r\n    processor.initialize()\r\n    try:\r\n        for pdf_path in pdf_paths:\r\n            output_path = None\r\n            if output_dir:\r\n                output_path = output_dir / f\"{pdf_path.stem}_ocr.txt\"\r\n            processor.process_document(pdf_path, output_path)\r\n    finally:\r\n        if hasattr(processor, 'cleanup'):\r\n            processor.cleanup()\r\n\r\ndef process_documents(pdf_paths: Union[Path, List[Path]], backend: str = 'tesseract', model_path: str = None, output_dir: Path = None):\r\n    if isinstance(pdf_paths, Path):\r\n        pdf_paths = [pdf_paths]\r\n    progress_queue = Queue()\r\n    process = Process(target=_process_documents_worker, args=(pdf_paths, backend, model_path, output_dir, progress_queue))\r\n    process.start()\r\n    total_pages = None\r\n    pbar = None\r\n    try:\r\n        while True:\r\n            try:\r\n                msg = progress_queue.get(timeout=1.0)\r\n                cmd, data = msg\r\n                if cmd == 'total':\r\n                    total_pages = data\r\n                    pbar = tqdm.tqdm(total=total_pages, desc=\"Processing pages\")\r\n                elif cmd == 'update':\r\n                    if pbar:\r\n                        pbar.update(data)\r\n                elif cmd == 'done':\r\n                    break\r\n            except queue.Empty:\r\n                if not process.is_alive():\r\n                    break\r\n    finally:\r\n        if pbar:\r\n            pbar.close()\r\n        if process.is_alive():\r\n            process.join(timeout=5.0)\r\n        if process.is_alive():\r\n            process.terminate()\r\n            process.join(timeout=3.0)\r\n        if process.is_alive():\r\n            process.kill()\r\n            process.join(timeout=1.0)\r\n        time.sleep(0.5)\r\n\r\n    if process.exitcode is not None and process.exitcode != 0:\r\n        raise RuntimeError(f\"OCR worker exited with code {process.exitcode}\")\r\n"
  },
  {
    "path": "modules/process_images.py",
    "content": "import os\r\nimport traceback\r\nimport inspect\r\nimport time\r\nimport warnings\r\nfrom concurrent.futures import ProcessPoolExecutor\r\nfrom pathlib import Path\r\n\r\nimport torch\r\nimport torchvision.transforms as T\r\nfrom torchvision.transforms.functional import InterpolationMode\r\nimport yaml\r\nfrom PIL import Image\r\nfrom tqdm import tqdm\r\nfrom transformers import (\r\n    AutoModelForCausalLM,\r\n    AutoModel,\r\n    AutoTokenizer,\r\n    AutoProcessor,\r\n    BitsAndBytesConfig,\r\n    Qwen2_5_VLForConditionalGeneration,\r\n    GenerationConfig,\r\n    AutoConfig,\r\n    AutoModelForVision2Seq,\r\n    AutoModelForImageTextToText\r\n)\r\nfrom db.document_processor import Document\r\nfrom core.extract_metadata import extract_typed_metadata\r\nfrom core.utilities import my_cprint, has_bfloat16_support, set_cuda_paths\r\nfrom core.constants import VISION_MODELS, PROJECT_ROOT\r\n\r\nset_cuda_paths()\r\n\r\nwarnings.filterwarnings(\"ignore\", message=\".*Torch was not compiled with flash attention.*\")\r\n\r\nALLOWED_EXTENSIONS = ['.png', '.jpg', '.jpeg', '.bmp', '.gif', '.tif', '.tiff']\r\n\r\ncurrent_directory = PROJECT_ROOT\r\nCACHE_DIR = current_directory / \"models\" / \"vision\"\r\nCACHE_DIR.mkdir(parents=True, exist_ok=True)\r\n\r\nIMAGE_PROMPT = (\r\n    \"Describe this image in as much detail as possible but do not repeat yourself. \"\r\n    \"Your response should be no more than one paragraph, but the paragraph can be as long as you want.\"\r\n)\r\n\r\ndef get_best_device():\r\n    return 'cuda' if torch.cuda.is_available() else 'cpu'\r\n\r\ndef check_for_images(image_dir: Path) -> bool:\r\n    try:\r\n        filenames = os.listdir(str(image_dir))\r\n        return any(Path(f).suffix.lower() in ALLOWED_EXTENSIONS for f in filenames)\r\n    except FileNotFoundError:\r\n        return False\r\n    except OSError:\r\n        return False\r\n\r\ndef run_loader_in_process(loader_func):\r\n    try:\r\n        return loader_func()\r\n    except Exception as e:\r\n        error_message = f\"Error processing images: {e}\\n\\nTraceback:\\n{traceback.format_exc()}\"\r\n        my_cprint(error_message, \"red\")\r\n        return []\r\n\r\n\r\ndef choose_image_loader(model_config: dict | None = None):\r\n    if model_config is None:\r\n        cfg_path = Path('config.yaml')\r\n        if not cfg_path.exists():\r\n            raise FileNotFoundError(\"config.yaml not found and no model_config provided\")\r\n        with cfg_path.open('r', encoding='utf-8') as f:\r\n            model_config = yaml.safe_load(f) or {}\r\n\r\n    vision_cfg = (model_config.get('vision') or {})\r\n    chosen_model = vision_cfg.get('chosen_model')\r\n    if not chosen_model:\r\n        raise ValueError(\"vision.chosen_model missing in config/model_config\")\r\n\r\n    if chosen_model not in VISION_MODELS:\r\n        raise KeyError(f\"Unknown vision model: {chosen_model}\")\r\n    loader_name = VISION_MODELS[chosen_model]['loader']\r\n\r\n    loader_class = globals()[loader_name]\r\n    loader = loader_class(model_config)\r\n\r\n    image_dir = PROJECT_ROOT / \"Docs_for_DB\"\r\n    if not check_for_images(image_dir):\r\n        return []\r\n\r\n    with ProcessPoolExecutor(1, initializer=set_cuda_paths) as executor:\r\n        future = executor.submit(run_loader_in_process, loader.process_images)\r\n        try:\r\n            processed_docs = future.result()\r\n        except Exception as e:\r\n            my_cprint(f\"Error occurred during image processing: {e}\", \"red\")\r\n            return []\r\n        return processed_docs or []\r\n\r\n\r\nclass BaseLoader:\r\n    def __init__(self, config):\r\n        self.config = config\r\n        self.device = get_best_device()\r\n        self.model = None\r\n        self.tokenizer = None\r\n        self.processor = None\r\n\r\n    @staticmethod\r\n    def detect_dtype():\r\n        use_bf16 = torch.cuda.get_device_capability()[0] >= 8\r\n        return (torch.bfloat16, \"bfloat16\") if use_bf16 else (torch.float16, \"float16\")\r\n\r\n    @staticmethod\r\n    def normalize_response(text):\r\n        return ' '.join(line.strip() for line in text.split('\\n') if line.strip())\r\n\r\n    def initialize_model_and_tokenizer(self):\r\n        raise NotImplementedError\r\n\r\n    def process_images(self):\r\n        image_dir = PROJECT_ROOT / \"Docs_for_DB\"\r\n        documents = []\r\n\r\n        try:\r\n            image_files = [file for file in image_dir.iterdir() if file.suffix.lower() in ALLOWED_EXTENSIONS]\r\n        except OSError:\r\n            image_files = []\r\n            print(f\"Error accessing directory {image_dir}\")\r\n\r\n        self.model, self.tokenizer, self.processor = self.initialize_model_and_tokenizer()\r\n        print(\"Processing images.\")\r\n        start_time = time.time()\r\n        with tqdm(total=len(image_files), unit=\"image\") as progress_bar:\r\n            for full_path in image_files:\r\n                try:\r\n                    with Image.open(full_path) as raw_image:\r\n                        extracted_text = self.process_single_image(raw_image)\r\n                        extracted_metadata = extract_typed_metadata(full_path, \"image\")\r\n                        documents.append(Document(page_content=extracted_text, metadata=extracted_metadata))\r\n                        progress_bar.update(1)\r\n                except Exception as e:\r\n                    print(f\"{full_path.name}: Error processing image - {e}\")\r\n        total_time = time.time() - start_time\r\n        print(f\"Loaded {len(documents)} image(s).\")\r\n        print(f\"Total image processing time: {total_time:.2f} seconds\")\r\n        my_cprint(\"Vision model removed from memory.\", \"red\")\r\n        return documents\r\n\r\n    def process_single_image(self, raw_image):\r\n        raise NotImplementedError\r\n\r\n\r\nclass loader_internvl(BaseLoader):\r\n    def initialize_model_and_tokenizer(self):\r\n        chosen_model = self.config['vision']['chosen_model']\r\n        info = VISION_MODELS[chosen_model]\r\n        cache_dir = CACHE_DIR / info[\"cache_dir\"]\r\n        cache_dir.mkdir(parents=True, exist_ok=True)\r\n        \r\n        if self.device == \"cuda\":\r\n            dtype, precision_str = self.detect_dtype()\r\n\r\n            quant_config = BitsAndBytesConfig(\r\n                load_in_4bit=True,\r\n                bnb_4bit_compute_dtype=dtype,\r\n                bnb_4bit_quant_type=\"nf4\",\r\n                llm_int8_skip_modules=[\r\n                    \"vision_model\",\r\n                    \"language_model.model.norm\", \r\n                    \"language_model.output\",\r\n                    \"language_model.model.rotary_emb\",\r\n                    \"language_model.lm_head\",\r\n                    \"mlp1\"\r\n                ]\r\n            )\r\n            model = AutoModel.from_pretrained(\r\n                info['repo_id'],\r\n                quantization_config=quant_config,\r\n                torch_dtype=dtype,\r\n                low_cpu_mem_usage=True,\r\n                trust_remote_code=True,\r\n                cache_dir=cache_dir,\r\n                token=False\r\n            ).eval()\r\n            device_str = \"CUDA\"\r\n        else:\r\n            dtype = torch.float32\r\n            precision_str = \"float32\"\r\n            model = AutoModel.from_pretrained(\r\n                info['repo_id'],\r\n                torch_dtype=dtype,\r\n                low_cpu_mem_usage=True,\r\n                trust_remote_code=True,\r\n                cache_dir=cache_dir,\r\n                token=False,\r\n                device_map={\"\": \"cpu\"}\r\n            ).eval()\r\n            device_str = \"CPU\"\r\n\r\n        self.model_dtype = dtype\r\n        my_cprint(f\"{chosen_model} loaded into memory on {device_str} ({precision_str})\", \"green\")\r\n\r\n        tokenizer = AutoTokenizer.from_pretrained(\r\n            info['repo_id'],\r\n            trust_remote_code=True,\r\n            cache_dir=cache_dir,\r\n            token=False\r\n        )\r\n\r\n        return model, tokenizer, None\r\n\r\n    def find_closest_aspect_ratio(self, aspect_ratio, ratios, w, h, sz):\r\n        best_diff = float('inf')\r\n        best = (1, 1)\r\n        area = w * h\r\n        for r in ratios:\r\n            ar = r[0] / r[1]\r\n            diff = abs(aspect_ratio - ar)\r\n            if diff < best_diff or (diff == best_diff and area > 0.5 * sz * sz * r[0] * r[1]):\r\n                best_diff = diff\r\n                best = r\r\n\r\n        return best\r\n\r\n    def _build_transform(self, size):\r\n        mean = (0.485, 0.456, 0.406)\r\n        std = (0.229, 0.224, 0.225)\r\n        return T.Compose([\r\n            T.Lambda(lambda img: img.convert('RGB') if img.mode != 'RGB' else img),\r\n            T.Resize((size, size), interpolation=InterpolationMode.LANCZOS, antialias=True),\r\n            T.ToTensor(),\r\n            T.Normalize(mean=mean, std=std)\r\n        ])\r\n\r\n    def dynamic_preprocess(self, img, min_num=1, max_num=12, image_size=448, use_thumbnail=False):\r\n        w, h = img.size\r\n        ar = w / h\r\n        ratios = sorted(\r\n            {(i, j)\r\n             for n in range(min_num, max_num + 1)\r\n             for i in range(1, n + 1)\r\n             for j in range(1, n + 1)\r\n             if i * j <= max_num and i * j >= min_num},\r\n            key=lambda x: x[0] * x[1]\r\n        )\r\n        best = self.find_closest_aspect_ratio(ar, ratios, w, h, image_size)\r\n        tw, th = image_size * best[0], image_size * best[1]\r\n        resized = img.resize((tw, th))\r\n        blocks = best[0] * best[1]\r\n        cols = tw // image_size\r\n        parts = []\r\n        for i in range(blocks):\r\n            x = (i % cols) * image_size\r\n            y = (i // cols) * image_size\r\n            parts.append(resized.crop((x, y, x + image_size, y + image_size)))\r\n        if use_thumbnail and len(parts) != 1:\r\n            parts.append(img.resize((image_size, image_size)))\r\n\r\n        return parts\r\n\r\n    def _prepare_image(self, raw_image, input_size=448, max_num=24):\r\n        imgs = self.dynamic_preprocess(raw_image, image_size=input_size, use_thumbnail=True, max_num=max_num)\r\n        tf = self._build_transform(input_size)\r\n\r\n        return torch.stack([tf(im) for im in imgs])\r\n\r\n    @torch.inference_mode()\r\n    def process_single_image(self, raw_image):\r\n        pv = self._prepare_image(raw_image).to(self.model_dtype).to(self.device)\r\n\r\n        question = f\"<image>\\n{IMAGE_PROMPT}\"\r\n\r\n        gen_cfg = {\r\n            'num_beams': 1,\r\n            'max_new_tokens': 512,\r\n            'do_sample': False,\r\n            'pad_token_id': self.tokenizer.pad_token_id\r\n        }\r\n        resp = self.model.chat(self.tokenizer, pv, question, gen_cfg)\r\n\r\n        return self.normalize_response(resp)\r\n\r\n\r\nclass loader_granite(BaseLoader):\r\n\r\n    def initialize_model_and_tokenizer(self):\r\n        chosen_model = self.config['vision']['chosen_model']\r\n        model_id = VISION_MODELS[chosen_model]['repo_id']\r\n        save_dir = VISION_MODELS[chosen_model][\"cache_dir\"]\r\n        cache_dir = CACHE_DIR / save_dir\r\n        cache_dir.mkdir(parents=True, exist_ok=True)\r\n\r\n        processor = AutoProcessor.from_pretrained(\r\n            model_id,\r\n            use_fast=True,\r\n            cache_dir=cache_dir,\r\n            token=False\r\n        )\r\n\r\n        low_tiling_pinpoints = [[384, 384], [768, 384], [384, 768]]\r\n\r\n        medium_tiling_pinpoints = [\r\n            [384, 384],\r\n            [384, 768],\r\n            [768, 384],\r\n            [384, 1152],\r\n            [1152, 384],\r\n            [384, 1536],\r\n            [768, 768],\r\n            [1536, 384],\r\n        ]\r\n\r\n        high_tiling_pinpoints = [\r\n            [384, 384],\r\n            [384, 768],\r\n            [768, 384],\r\n            [384, 1152],\r\n            [1152, 384],\r\n            [384, 1536],\r\n            [768, 768],\r\n            [1536, 384],\r\n            [384, 1920],\r\n            [1920, 384],\r\n            [384, 2304],\r\n            [768, 1152],\r\n            [1152, 768],\r\n            [2304, 384],\r\n        ]\r\n\r\n        all_tiling_pinpoints = [\r\n            [384, 384], [384, 768], [384, 1152], [384, 1536],\r\n            [384, 1920], [384, 2304], [384, 2688], [384, 3072],\r\n            [384, 3456], [384, 3840],\r\n            [768, 384], [768, 768], [768, 1152], [768, 1536], [768, 1920],\r\n            [1152, 384], [1152, 768], [1152, 1152],\r\n            [1536, 384], [1536, 768],\r\n            [1920, 384], [1920, 768],\r\n            [2304, 384], [2688, 384], [3072, 384], [3456, 384], [3840, 384]\r\n        ]\r\n\r\n        custom_pinpoints = medium_tiling_pinpoints\r\n\r\n        try:\r\n            processor.image_grid_pinpoints = custom_pinpoints\r\n        except Exception:\r\n            pass\r\n\r\n        ip = getattr(processor, \"image_processor\", None)\r\n        if ip is not None and hasattr(ip, \"image_grid_pinpoints\"):\r\n            ip.image_grid_pinpoints = custom_pinpoints\r\n\r\n        if self.device == \"cuda\" and torch.cuda.is_available():\r\n            dtype, precision_str = self.detect_dtype()\r\n\r\n            quant_cfg = BitsAndBytesConfig(\r\n                load_in_4bit=True,\r\n                bnb_4bit_compute_dtype=dtype,\r\n                bnb_4bit_quant_type=\"nf4\",\r\n                llm_int8_skip_modules=[\r\n                    \"vision_tower\",\r\n                    \"multi_modal_projector\",\r\n                    \"language_model.embed_tokens\",\r\n                    \"language_model.norm\",\r\n                    \"lm_head\"\r\n                ]\r\n            )\r\n\r\n            model = AutoModelForVision2Seq.from_pretrained(\r\n                model_id,\r\n                quantization_config=quant_cfg,\r\n                torch_dtype=dtype,\r\n                low_cpu_mem_usage=True,\r\n                cache_dir=cache_dir,\r\n                token=False,\r\n                device_map=\"auto\"\r\n            )\r\n            my_cprint(f\"{chosen_model} loaded into memory on CUDA ({precision_str})\", \"green\")\r\n\r\n        else:\r\n            model = AutoModelForVision2Seq.from_pretrained(\r\n                model_id,\r\n                torch_dtype=torch.float32,\r\n                low_cpu_mem_usage=True,\r\n                cache_dir=cache_dir,\r\n                token=False,\r\n                device_map={\"\": \"cpu\"}\r\n            )\r\n            my_cprint(f\"{chosen_model} loaded into memory on CPU (float32)\", \"green\")\r\n\r\n        try:\r\n            if hasattr(model, \"config\") and hasattr(model.config, \"image_grid_pinpoints\"):\r\n                model.config.image_grid_pinpoints = custom_pinpoints\r\n        except Exception:\r\n            pass\r\n        if hasattr(model, \"image_grid_pinpoints\"):\r\n            try:\r\n                setattr(model, \"image_grid_pinpoints\", custom_pinpoints)\r\n            except Exception:\r\n                pass\r\n\r\n        model.eval()\r\n\r\n        self.model = model\r\n        self.processor = processor\r\n\r\n        return model, None, processor\r\n\r\n    @torch.inference_mode()\r\n    def process_single_image(self, raw_image):\r\n        if raw_image.mode != \"RGB\":\r\n            raw_image = raw_image.convert(\"RGB\")\r\n\r\n        prompt = f\"<|user|>\\n<image>\\n{IMAGE_PROMPT}\\n<|assistant|>\\n\"\r\n\r\n        inputs = self.processor(images=raw_image, text=prompt, return_tensors=\"pt\").to(self.device)\r\n\r\n        output = self.model.generate(\r\n            **inputs,\r\n            max_new_tokens=512,\r\n            do_sample=False,\r\n            num_beams=1\r\n        )\r\n\r\n        resp = self.processor.decode(output[0], skip_special_tokens=True).split('<|assistant|>')[-1].strip()\r\n        return self.normalize_response(resp)\r\n\r\n\r\nclass loader_qwenvl(BaseLoader):\r\n    def initialize_model_and_tokenizer(self):\r\n        chosen_model = self.config['vision']['chosen_model']\r\n        model_info = VISION_MODELS[chosen_model]\r\n        model_id = model_info['repo_id']\r\n        save_dir = model_info['cache_dir']\r\n        cache_dir = CACHE_DIR / save_dir\r\n        cache_dir.mkdir(parents=True, exist_ok=True)\r\n\r\n        dtype, _ = self.detect_dtype()\r\n\r\n        quantization_config = BitsAndBytesConfig(\r\n            load_in_4bit=True,\r\n            bnb_4bit_quant_type=\"nf4\",\r\n            bnb_4bit_compute_dtype=dtype,\r\n            bnb_4bit_use_double_quant=True,\r\n            llm_int8_threshold=6.0,\r\n            llm_int8_skip_modules=[\r\n                \"lm_head\",\r\n                \"merger\",\r\n                \"visual.blocks.0.attn\",\r\n                \"visual.blocks.0.mlp\",\r\n                \"visual.blocks.1.attn\",\r\n                \"visual.blocks.1.mlp\",\r\n                \"visual.blocks.2.attn\",\r\n                \"visual.blocks.2.mlp\",\r\n                \"visual.blocks.3.attn\",\r\n                \"visual.blocks.3.mlp\",\r\n                \"visual.blocks.4.attn\",\r\n                \"visual.blocks.5.mlp\",\r\n                \"visual.blocks.7.attn\",\r\n                \"visual.blocks.7.mlp\",\r\n                \"visual.blocks.8.mlp\",\r\n                \"visual.blocks.10.mlp\",\r\n                \"visual.blocks.12.mlp\",\r\n                \"visual.blocks.13.mlp\",\r\n                \"visual.blocks.14.attn\",\r\n                \"visual.blocks.14.mlp\",\r\n                \"visual.blocks.15.attn\",\r\n                \"visual.blocks.15.mlp\",\r\n                \"visual.blocks.17.mlp\",\r\n                \"visual.blocks.31.mlp.down_proj\"\r\n            ]\r\n        )\r\n\r\n        processor = AutoProcessor.from_pretrained(\r\n            model_id,\r\n            use_fast=True,\r\n            min_pixels=28*28,\r\n            max_pixels=1280*28*28,\r\n            trust_remote_code=True,\r\n            cache_dir=cache_dir,\r\n            token=False\r\n        )\r\n\r\n        model = AutoModelForImageTextToText.from_pretrained(\r\n            model_id,\r\n            quantization_config=quantization_config,\r\n            torch_dtype=dtype,\r\n            low_cpu_mem_usage=True,\r\n            trust_remote_code=True,\r\n            cache_dir=cache_dir,\r\n            token=False,\r\n            device_map=\"auto\",\r\n        )\r\n        model.eval()\r\n\r\n        _, precision_str = self.detect_dtype()\r\n        device_str = \"CUDA\" if self.device == \"cuda\" else \"CPU\"\r\n        my_cprint(f\"{chosen_model} loaded into memory on {device_str} ({precision_str})\", \"green\")\r\n\r\n        return model, None, processor\r\n\r\n    @torch.inference_mode()\r\n    def process_single_image(self, raw_image):\r\n\r\n        prompt = (\r\n            \"<|im_start|>user\\n\"\r\n            f\"{IMAGE_PROMPT} <|vis_start|><|image_pad|><|vis_end|>\\n\"\r\n            \"<|im_end|>\\n\"\r\n            \"<|im_start|>assistant\\n\"\r\n        )\r\n        inputs = self.processor(\r\n            images=raw_image,\r\n            text=prompt,\r\n            return_tensors=\"pt\"\r\n        ).to(self.device)\r\n        output = self.model.generate(\r\n            **inputs,\r\n            max_new_tokens=1024,\r\n            do_sample=False,\r\n            top_k=None,\r\n            top_p=None,\r\n            num_beams=1,\r\n            temperature=None\r\n        )\r\n        response = self.processor.decode(output[0], skip_special_tokens=True)\r\n        response = response.split('assistant')[-1].strip()\r\n\r\n        return self.normalize_response(response)\r\n\r\n\r\nclass loader_glmv4_thinking(BaseLoader):\r\n\r\n    PIXELS_LOW     = 294_912\r\n    PIXELS_MEDIUM  = 589_824\r\n    PIXELS_HIGH    = 1_179_648\r\n    PIXELS_DEFAULT = 4_816_896\r\n\r\n    def initialize_model_and_tokenizer(self):\r\n        chosen_model = self.config['vision']['chosen_model']\r\n        info = VISION_MODELS[chosen_model]\r\n        model_id = info['repo_id']\r\n        save_dir = info[\"cache_dir\"]\r\n        cache_dir = CACHE_DIR / save_dir\r\n        cache_dir.mkdir(parents=True, exist_ok=True)\r\n\r\n        quant_config = BitsAndBytesConfig(\r\n            load_in_4bit=True,\r\n            bnb_4bit_compute_dtype=torch.bfloat16,\r\n            bnb_4bit_quant_type=\"nf4\",\r\n        )\r\n\r\n        processor = AutoProcessor.from_pretrained(model_id, use_fast=True, cache_dir=cache_dir)\r\n\r\n        self.pixel_cap = self.PIXELS_HIGH\r\n\r\n        model = AutoModelForImageTextToText.from_pretrained(\r\n            model_id,\r\n            torch_dtype=torch.bfloat16,\r\n            device_map=\"auto\",\r\n            attn_implementation=\"sdpa\",\r\n            quantization_config=quant_config,\r\n            cache_dir=cache_dir,\r\n        ).eval()\r\n\r\n        self.device = torch.device(\"cuda\")\r\n        self.model = model\r\n        self.processor = processor\r\n\r\n        my_cprint(f\"{chosen_model} loaded into memory on CUDA (bfloat16)\", \"green\")\r\n        return model, None, processor\r\n\r\n    def _cap_pixels_for_glm4v(self, pil_img, max_pixels_2d, divisor=28):\r\n\r\n        w, h = pil_img.size\r\n        area = w * h\r\n\r\n        if area <= max_pixels_2d:\r\n            new_w = max(divisor, (w // divisor) * divisor)\r\n            new_h = max(divisor, (h // divisor) * divisor)\r\n            if new_w == w and new_h == h:\r\n                return pil_img\r\n            return pil_img.resize((new_w, new_h), Image.BICUBIC)\r\n\r\n        scale = (max_pixels_2d / float(area)) ** 0.5\r\n        new_w = max(divisor, int((w * scale) // divisor * divisor))\r\n        new_h = max(divisor, int((h * scale) // divisor * divisor))\r\n        if new_w < divisor or new_h < divisor:\r\n            new_w = new_h = divisor\r\n        return pil_img.resize((new_w, new_h), Image.BICUBIC)\r\n\r\n    @torch.inference_mode()\r\n    def process_single_image(self, raw_image):\r\n        if raw_image.mode != \"RGB\":\r\n            raw_image = raw_image.convert(\"RGB\")\r\n\r\n        ip = getattr(self.processor, \"image_processor\", None)\r\n        patch_size = getattr(ip, \"patch_size\", 14)\r\n        merge_size = getattr(ip, \"merge_size\", 2)\r\n        divisor = patch_size * merge_size\r\n\r\n        raw_image = self._cap_pixels_for_glm4v(\r\n            raw_image,\r\n            max_pixels_2d=self.pixel_cap,\r\n            divisor=divisor,\r\n        )\r\n\r\n        prompt = (\r\n            \"[gMASK]<sop><|user|>\\n\"\r\n            \"<|begin_of_image|><|image|><|end_of_image|>\"\r\n            f\"{IMAGE_PROMPT}\"\r\n            \"<|assistant|>\\n\"\r\n        )\r\n\r\n        inputs = self.processor(\r\n            text=prompt,\r\n            images=raw_image,\r\n            return_tensors=\"pt\",\r\n        ).to(\"cuda\")\r\n\r\n        out_ids = self.model.generate(\r\n            **inputs,\r\n            max_new_tokens=512,\r\n            do_sample=False\r\n        )\r\n        torch.cuda.synchronize()\r\n\r\n        generated_ids_trimmed = [out_ids[0][len(inputs.input_ids[0]):]]\r\n        response = self.processor.batch_decode(\r\n            generated_ids_trimmed,\r\n            skip_special_tokens=True,\r\n            clean_up_tokenization_spaces=False,\r\n        )[0].strip()\r\n\r\n        if '<answer>' in response and '</answer>' in response:\r\n            start_idx = response.find('<answer>') + len('<answer>')\r\n            end_idx = response.find('</answer>')\r\n            response = response[start_idx:end_idx].strip()\r\n\r\n        return response\r\n\r\n\r\nclass loader_liquidvl(BaseLoader):\r\n    def initialize_model_and_tokenizer(self):\r\n        chosen_model = self.config['vision']['chosen_model']\r\n        info = VISION_MODELS[chosen_model]\r\n        source = info.get('model_path') or info['repo_id']\r\n        cache_dir = CACHE_DIR / info.get('cache_dir', '')\r\n        cache_dir.mkdir(parents=True, exist_ok=True)\r\n\r\n        if torch.cuda.is_available():\r\n            dtype, precision_str = self.detect_dtype()\r\n            device_map = \"auto\"\r\n        else:\r\n            dtype = torch.float32\r\n            precision_str = \"float32\"\r\n            device_map = {\"\": \"cpu\"}\r\n\r\n        model = AutoModelForImageTextToText.from_pretrained(\r\n            source,\r\n            trust_remote_code=True,\r\n            torch_dtype=dtype,\r\n            cache_dir=cache_dir,\r\n            device_map=device_map,\r\n        ).eval()\r\n\r\n        processor = AutoProcessor.from_pretrained(\r\n            source,\r\n            trust_remote_code=True,\r\n            cache_dir=cache_dir,\r\n        )\r\n\r\n        if hasattr(processor, \"tokenizer\") and hasattr(processor.tokenizer, \"add_bos_token\"):\r\n            processor.tokenizer.add_bos_token = False\r\n\r\n        if torch.cuda.is_available():\r\n            device_str = \"CUDA\"\r\n        else:\r\n            device_str = \"CPU\"\r\n        my_cprint(f\"{chosen_model} loaded into memory on {device_str} ({precision_str})\", \"green\")\r\n\r\n        return model, None, processor\r\n\r\n    @torch.inference_mode()\r\n    def process_single_image(self, raw_image):\r\n        if raw_image.mode != \"RGB\":\r\n            raw_image = raw_image.convert(\"RGB\")\r\n\r\n        system_text = \"You are a helpful multimodal assistant.\"\r\n\r\n        chatml = (\r\n            \"<|startoftext|><|im_start|>system\\n\"\r\n            f\"{system_text}<|im_end|>\\n\"\r\n            \"<|im_start|>user\\n\"\r\n            f\"<image>{IMAGE_PROMPT}<|im_end|>\\n\"\r\n            \"<|im_start|>assistant\\n\"\r\n        )\r\n\r\n        inputs = self.processor(\r\n            text=[chatml],\r\n            images=[[raw_image]],\r\n            return_tensors=\"pt\",\r\n            use_image_special_tokens=True,\r\n            do_image_splitting=True,\r\n            min_image_tokens=64,\r\n            max_image_tokens=256,\r\n        )\r\n\r\n        move_to = getattr(self.model, \"device\", None)\r\n        if move_to is not None:\r\n            inputs = inputs.to(move_to)\r\n\r\n        input_len = inputs[\"input_ids\"].shape[1]\r\n        eos_id = self.processor.tokenizer.convert_tokens_to_ids(\"<|im_end|>\")\r\n        pad_id = self.processor.tokenizer.pad_token_id or eos_id\r\n\r\n        outputs = self.model.generate(\r\n            **inputs,\r\n            max_new_tokens=512,\r\n            do_sample=False,\r\n            eos_token_id=eos_id,\r\n            pad_token_id=pad_id,\r\n        )\r\n\r\n        new_tokens = outputs[:, input_len:]\r\n        text = self.processor.batch_decode(new_tokens, skip_special_tokens=True)[0].strip()\r\n        return self.normalize_response(text)\r\n"
  },
  {
    "path": "modules/scraper.py",
    "content": "import os\r\nimport re\r\nimport json\r\nimport asyncio\r\nimport textwrap\r\nimport aiofiles\r\nimport markdown\r\nfrom bs4 import BeautifulSoup\r\nfrom copy import deepcopy\r\nimport hashlib\r\nfrom urllib.parse import urljoin, urlparse, urlsplit, urlunsplit\r\nfrom PySide6.QtCore import Signal, QObject\r\nfrom curl_cffi.requests import AsyncSession\r\nfrom curl_cffi.requests.errors import RequestsError\r\n\r\nfrom core.constants import PROJECT_ROOT\r\n\r\n\r\n_VERSION_SUFFIX_RE = re.compile(r\"^v?\\d+(\\.\\d+)*$\")\r\n\r\n# Cruft commonly embedded INSIDE the main article element by Sphinx-style themes.\r\n# Stripped post-extraction so the saved HTML is closer to \"vector-DB-ready\" content.\r\n_CRUFT_TAGS = (\"script\", \"style\", \"nav\", \"footer\", \"svg\")\r\n_CRUFT_CLASSES = (\r\n    \"toctree-wrapper\",      # Sphinx project TOC tree, often dumped at bottom of index pages\r\n    \"related\",              # Sphinx prev/next bar\r\n    \"sphinxsidebar\",        # classic Sphinx sidebar, when scoped inside the content\r\n    \"footer\",               # Sphinx classic theme div.footer (copyright/build info)\r\n    \"edit-this-page\",       # MkDocs Material \"Edit this page\"\r\n    \"md-source-file\",       # MkDocs Material source-file metadata\r\n    \"prev-next-area\",       # Pydata-theme prev/next nav\r\n    \"prev-next-bottom\",\r\n    \"prev-next-top\",\r\n    \"bd-toc\",               # Pydata \"On this page\" sidebar\r\n    \"bd-sidebar-secondary\",\r\n    \"feedback-widget\",      # Pydantic.dev \"Was this page helpful?\"\r\n    \"pagination-links\",     # Pydantic.dev / generic prev-next pagination\r\n    \"footer-version\",       # PyMuPDF \"This documentation covers all versions...\"\r\n    \"try_examples_button_container\",  # SciPy \"Try it in your browser! / Open in Tab\"\r\n    \"try_examples_outer_iframe\",      # SciPy interactive-examples sandbox iframe\r\n    \"sidemenu\",             # lxml.de project nav inside div.document\r\n    \"banner\",               # lxml.de donation banner (\"Like the tool? Help making it better!\")\r\n    \"sr-only\",\r\n)\r\n_CRUFT_IDS = (\r\n    \"indices-and-tables\",   # Sphinx auto-generated bottom-of-index \"Index/ModIndex/Search\" stub\r\n    \"search\",\r\n    \"footerDisclaimer\",     # PyMuPDF \"This software is provided AS-IS...\"\r\n)\r\n\r\n\r\ndef _strip_trailing_version(path: str) -> str:\r\n    \"\"\"Strip a trailing '-vX.Y.Z' / '-1.2.3' from a URL path.\r\n\r\n    Used by is_valid_url so that, e.g., a seed of /foo-v1.2/ still matches /foo-v1.3/.\r\n    Does NOT strip non-version suffixes (so /array-api-compat does not become /array-api).\r\n    \"\"\"\r\n    parts = path.rsplit(\"-\", 1)\r\n    if len(parts) == 2 and _VERSION_SUFFIX_RE.match(parts[1]):\r\n        return parts[0]\r\n    return path\r\n\r\n\r\n_CRUFT_HEADINGS = {\"copyright\", \"copyrights\", \"license\", \"licenses\"}\r\n\r\n\r\ndef _strip_embedded_cruft(content):\r\n    \"\"\"Remove TOC trees, nav, scripts, etc. that sit INSIDE the extracted main element.\"\"\"\r\n    for tag_name in _CRUFT_TAGS:\r\n        for el in content.find_all(tag_name):\r\n            el.decompose()\r\n    for cls in _CRUFT_CLASSES:\r\n        for el in content.find_all(class_=cls):\r\n            el.decompose()\r\n    for cruft_id in _CRUFT_IDS:\r\n        for el in content.find_all(id=cruft_id):\r\n            el.decompose()\r\n    # Strip <section> whose first heading is a boilerplate heading like \"Copyright\" or \"License\".\r\n    for section in content.find_all(\"section\"):\r\n        h = section.find([\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"])\r\n        if h and h.get_text(strip=True).lower() in _CRUFT_HEADINGS:\r\n            section.decompose()\r\n    # Strip <p> elements whose only meaningful content is Prev/Next pagination anchors\r\n    # (e.g. ruamel.yaml's \"<p><a>Prev</a> <a>Next</a></p>\" with no class/id to target).\r\n    _NAV_LABELS = {\"prev\", \"previous\", \"next\"}\r\n    for p in content.find_all(\"p\"):\r\n        anchors = p.find_all(\"a\")\r\n        if not anchors:\r\n            continue\r\n        anchor_text = \" \".join(a.get_text(strip=True).lower() for a in anchors).split()\r\n        if anchor_text and all(w in _NAV_LABELS for w in anchor_text):\r\n            # Confirm there's no extra non-anchor text in the paragraph.\r\n            non_anchor_text = \"\".join(\r\n                str(c) for c in p.contents if getattr(c, \"name\", None) != \"a\"\r\n            ).strip()\r\n            if not non_anchor_text:\r\n                p.decompose()\r\n    return content\r\n\r\n\r\nclass BaseScraper:\r\n    def __init__(self, url, folder):\r\n        self.url = url\r\n        self.folder = folder\r\n        self.save_dir = os.path.join(\r\n            str(PROJECT_ROOT),\r\n            \"Scraped_Documentation\",\r\n            folder,\r\n        )\r\n\r\n    def process_html(self, soup):\r\n        main_content = self.extract_main_content(soup)\r\n        if main_content:\r\n            cleaned = _strip_embedded_cruft(deepcopy(main_content))\r\n            new_soup = BeautifulSoup(\"<html><body></body></html>\", \"lxml\")\r\n            new_soup.body.append(cleaned)\r\n            return new_soup\r\n        # Fallback differs based on whether the user configured a scraper_class:\r\n        #   - BaseScraper directly (no scraper_class set) => preserve full page\r\n        #   - any subclass (selector configured but missed) => save empty stub\r\n        #     so a misconfigured selector is visible as a tiny file instead of\r\n        #     silently saving the full untrimmed page with TOC/nav cruft.\r\n        if type(self) is BaseScraper:\r\n            return soup\r\n        return BeautifulSoup(\"<html><body></body></html>\", \"lxml\")\r\n\r\n    def extract_main_content(self, soup):\r\n        return None\r\n\r\n\r\nSCRAPER_SELECTORS = {\r\n    \"HuggingfaceScraper\": (\"div\", {\"class_\": \"prose-doc prose relative mx-auto max-w-4xl break-words\"}),\r\n    \"ReadthedocsScraper\": (\"div\", {\"class_\": \"rst-content\"}),\r\n    \"PyTorchScraper\": (\"article\", {\"id\": \"pytorch-article\"}),\r\n    \"TileDBScraper\": (\"main\", {\"id\": \"content\"}),\r\n    \"RstContentScraper\": (\"div\", {\"class_\": \"rst-content\"}),\r\n    \"FuroThemeScraper\": (\"article\", {\"id\": \"furo-main-content\"}),\r\n    \"PydataThemeScraper\": (\"article\", {\"class_\": \"bd-article\"}),\r\n    \"FastcoreScraper\": (\"main\", {\"id\": \"quarto-document-content\", \"class_\": \"content\"}),\r\n    \"RtdThemeScraper\": (\"div\", {\"attrs\": {\"itemprop\": \"articleBody\"}}),\r\n    \"BodyRoleMainScraper\": (\"div\", {\"class_\": \"body\", \"attrs\": {\"role\": \"main\"}}),\r\n    \"ArticleMdContentInnerMdTypesetScraper\": (\"article\", {\"class_\": \"md-content__inner md-typeset\"}),\r\n    \"DivClassDocumentScraper\": (\"div\", {\"class_\": \"document\"}),\r\n    \"MainIdMainContentRoleMainScraper\": (\"main\", {\"id\": \"main-content\", \"attrs\": {\"role\": \"main\"}}),\r\n    \"DivIdMainContentRoleMainScraper\": (\"div\", {\"id\": \"main-content\", \"attrs\": {\"role\": \"main\"}}),\r\n    \"MainScraper\": (\"main\", {}),\r\n    \"DivClassThemeDocMarkdownMarkdownScraper\": (\"div\", {\"class_\": [\"theme-doc-markdown\", \"markdown\"]}),\r\n    \"DivIdContentScraper\": (\"div\", {\"id\": \"content\"}),\r\n    \"DivClassTdContentScraper\": (\"div\", {\"class_\": \"td-content\"}),\r\n    \"BodyScraper\": (\"body\", {}),\r\n    \"ArticleRoleMainScraper\": (\"article\", {\"attrs\": {\"role\": \"main\"}}),\r\n    \"ArticleClassMainContent8zFCHScraper\": (\"article\", {\"class_\": \"main_content__8zFCH\"}),\r\n}\r\n\r\n\r\nclass SelectorScraper(BaseScraper):\r\n    def __init__(self, url, folder, selector_key):\r\n        super().__init__(url, folder)\r\n        tag, kwargs = SCRAPER_SELECTORS[selector_key]\r\n        self._tag = tag\r\n        kwargs = dict(kwargs)\r\n        attrs = kwargs.pop(\"attrs\", None)\r\n        if attrs:\r\n            kwargs[\"attrs\"] = attrs\r\n        self._kwargs = kwargs\r\n\r\n    def extract_main_content(self, soup):\r\n        return soup.find(self._tag, **self._kwargs)\r\n\r\n\r\nclass PymupdfScraper(BaseScraper):\r\n    def extract_main_content(self, soup):\r\n        article_container = soup.find(\"div\", class_=\"article-container\")\r\n        if article_container:\r\n            return article_container.find(\"section\")\r\n        return None\r\n\r\n\r\n_MINTLIFY_MDX_COMPONENTS = {\r\n    \"Tabs\": \"UNWRAP\",\r\n    \"Tab\": \"HEADING\",\r\n    \"CodeGroup\": \"UNWRAP\",\r\n    \"CardGroup\": \"UNWRAP\",\r\n    \"Card\": \"HEADING\",\r\n    \"Steps\": \"UNWRAP\",\r\n    \"Step\": \"HEADING\",\r\n    \"AccordionGroup\": \"UNWRAP\",\r\n    \"Accordion\": \"HEADING\",\r\n    \"Frame\": \"UNWRAP\",\r\n    \"Tooltip\": \"UNWRAP\",\r\n    \"Note\": \"QUOTE\",\r\n    \"Warning\": \"QUOTE\",\r\n    \"Tip\": \"QUOTE\",\r\n    \"Info\": \"QUOTE\",\r\n    \"Caution\": \"QUOTE\",\r\n}\r\n\r\n_MINTLIFY_DOC_INDEX_RE = re.compile(\r\n    r\"^> ## Documentation Index\\n(?:>.*\\n)+\\n*\",\r\n    flags=re.MULTILINE,\r\n)\r\n_MINTLIFY_FENCE_OPEN_RE = re.compile(r\"^(\\s*)```(\\S+)(\\s+.*)?$\")\r\n_MINTLIFY_FENCE_KV_ATTR_RE = re.compile(r\"\\s+\\w+=(?:\\{[^}]*\\}|\\S+)\")\r\n_MINTLIFY_TITLE_ATTR_RE = re.compile(r'\\btitle=\"([^\"]*)\"')\r\n\r\n\r\ndef _mintlify_unwrap(md, name):\r\n    pat = re.compile(rf\"<{name}(\\s[^>]*)?>(.*?)</{name}>\", re.DOTALL)\r\n    while True:\r\n        new = pat.sub(\r\n            lambda m: \"\\n\\n\" + textwrap.dedent(m.group(2)).strip(\"\\n\") + \"\\n\\n\",\r\n            md,\r\n        )\r\n        if new == md:\r\n            return new\r\n        md = new\r\n\r\n\r\ndef _mintlify_heading(md, name):\r\n    pat = re.compile(rf\"<{name}(\\s[^>]*)?>(.*?)</{name}>\", re.DOTALL)\r\n    while True:\r\n        def repl(m):\r\n            attrs = m.group(1) or \"\"\r\n            inner = textwrap.dedent(m.group(2)).strip(\"\\n\")\r\n            tm = _MINTLIFY_TITLE_ATTR_RE.search(attrs)\r\n            if tm:\r\n                title = tm.group(1).replace(\"#\", r\"\\#\")\r\n                return f\"\\n\\n## {title}\\n\\n{inner}\\n\\n\"\r\n            return f\"\\n\\n{inner}\\n\\n\"\r\n        new = pat.sub(repl, md)\r\n        if new == md:\r\n            return new\r\n        md = new\r\n\r\n\r\ndef _mintlify_quote(md, name):\r\n    pat = re.compile(rf\"<{name}(\\s[^>]*)?>(.*?)</{name}>\", re.DOTALL)\r\n    while True:\r\n        def repl(m):\r\n            inner = textwrap.dedent(m.group(2)).strip(\"\\n\")\r\n            lines = inner.split(\"\\n\")\r\n            return \"\\n\\n\" + \"\\n\".join(f\"> {ln}\" for ln in lines) + \"\\n\\n\"\r\n        new = pat.sub(repl, md)\r\n        if new == md:\r\n            return new\r\n        md = new\r\n\r\n\r\ndef _mintlify_normalize_fences(md_text):\r\n    out = []\r\n    for line in md_text.split(\"\\n\"):\r\n        m = _MINTLIFY_FENCE_OPEN_RE.match(line)\r\n        if not m:\r\n            out.append(line)\r\n            continue\r\n        indent, lang, rest = m.group(1), m.group(2), (m.group(3) or \"\")\r\n        label = _MINTLIFY_FENCE_KV_ATTR_RE.sub(\"\", rest).strip()\r\n        if label:\r\n            out.append(f\"{indent}**{label}**\")\r\n            out.append(\"\")\r\n        out.append(f\"{indent}```{lang}\")\r\n    return \"\\n\".join(out)\r\n\r\n\r\ndef render_mintlify_markdown(md_text):\r\n    md_text = _MINTLIFY_DOC_INDEX_RE.sub(\"\", md_text, count=1)\r\n    for name, action in _MINTLIFY_MDX_COMPONENTS.items():\r\n        if action == \"UNWRAP\":\r\n            md_text = _mintlify_unwrap(md_text, name)\r\n        elif action == \"HEADING\":\r\n            md_text = _mintlify_heading(md_text, name)\r\n        elif action == \"QUOTE\":\r\n            md_text = _mintlify_quote(md_text, name)\r\n    md_text = _mintlify_normalize_fences(md_text)\r\n    return markdown.markdown(\r\n        md_text,\r\n        extensions=[\"fenced_code\", \"tables\", \"attr_list\"],\r\n        output_format=\"html\",\r\n    )\r\n\r\n\r\nclass MintlifyScraper(BaseScraper):\r\n    async def collect_seed_urls(self, session):\r\n        parsed_seed = urlparse(self.url)\r\n        seed_prefix = parsed_seed.path.rstrip(\"/\")\r\n        llms_url = f\"{parsed_seed.scheme}://{parsed_seed.netloc}/llms.txt\"\r\n        try:\r\n            resp = await session.get(llms_url, timeout=30, allow_redirects=True)\r\n        except Exception:\r\n            return []\r\n        if resp.status_code != 200:\r\n            return []\r\n        urls = []\r\n        for line in resp.text.split(\"\\n\"):\r\n            m = re.search(r\"\\((https?://[^)\\s]+\\.md)\\)\", line)\r\n            if not m:\r\n                continue\r\n            base_url = m.group(1)[:-3]  # strip \".md\"\r\n            p = urlparse(base_url)\r\n            if p.netloc != parsed_seed.netloc:\r\n                continue\r\n            if seed_prefix and not p.path.startswith(seed_prefix):\r\n                continue\r\n            urls.append(base_url)\r\n        return urls\r\n\r\n    def fetch_url_for(self, url):\r\n        u = url.rstrip(\"/\")\r\n        if u.endswith(\".md\"):\r\n            return u\r\n        return u + \".md\"\r\n\r\n    def transform_response(self, text, url):\r\n        head = text.lstrip()[:200].lower()\r\n        if head.startswith(\"<!doctype\") or head.startswith(\"<html\"):\r\n            return text\r\n        rendered = render_mintlify_markdown(text)\r\n        return f\"<html><body>{rendered}</body></html>\"\r\n\r\n    def extract_main_content(self, soup):\r\n        return soup.body if soup.body else soup\r\n\r\n\r\nclass DivIdContentSecondScraper(BaseScraper):\r\n    def extract_main_content(self, soup):\r\n        content_divs = soup.find_all(\"div\", id=\"content\")\r\n        if len(content_divs) >= 2:\r\n            return content_divs[1]\r\n        return None\r\n\r\n\r\nclass PropCacheScraper(BaseScraper):\r\n    def __init__(self, url, folder):\r\n        super().__init__(url, folder)\r\n\r\n        if self.url.rstrip(\"/\").endswith(\"propcache.aio-libs.org\"):\r\n            self.url = urljoin(self.url, \"en/latest/\")\r\n\r\n        if not self.url.endswith(\"/\"):\r\n            self.url += \"/\"\r\n\r\n        self.base_url = self.url\r\n\r\n    def extract_main_content(self, soup):\r\n        return soup.find(\"div\", class_=\"body\", attrs={\"role\": \"main\"})\r\n\r\n\r\nclass FileDownloader(BaseScraper):\r\n\r\n    def extract_main_content(self, soup):\r\n        return None\r\n\r\n    async def save_file(self, content: bytes, url: str, save_dir: str):\r\n        from pathlib import Path\r\n\r\n        basename = Path(url).name or \"download\"\r\n        filename = os.path.join(save_dir, basename)\r\n\r\n        async with aiofiles.open(filename, \"wb\") as f:\r\n            await f.write(content)\r\n\r\n\r\nclass ScraperRegistry:\r\n    _special_scrapers = {\r\n        \"BaseScraper\": BaseScraper,\r\n        \"PymupdfScraper\": PymupdfScraper,\r\n        \"DivIdContentSecondScraper\": DivIdContentSecondScraper,\r\n        \"PropCacheScraper\": PropCacheScraper,\r\n        \"MintlifyScraper\": MintlifyScraper,\r\n        \"FileDownloader\": FileDownloader,\r\n    }\r\n\r\n    @classmethod\r\n    def get_scraper(cls, scraper_name):\r\n        if scraper_name in cls._special_scrapers:\r\n            return cls._special_scrapers[scraper_name]\r\n        if scraper_name in SCRAPER_SELECTORS:\r\n            key = scraper_name\r\n            return lambda url, folder: SelectorScraper(url, folder, key)\r\n        return BaseScraper\r\n\r\n\r\nclass ScraperWorker(QObject):\r\n    status_updated = Signal(str, str)\r\n    scraping_finished = Signal(str, bool, bool)\r\n\r\n    RATE_LIMIT_THRESHOLD = 5\r\n\r\n    def __init__(self, url, folder, scraper_class=BaseScraper, name=\"\", resume=False):\r\n        super().__init__()\r\n        self.url = url\r\n        self.folder = folder\r\n        self.name = name\r\n        self.scraper = scraper_class(url, folder)\r\n        self.save_dir = self.scraper.save_dir\r\n        os.makedirs(self.save_dir, exist_ok=True)\r\n        self.stats = {\"scraped\": 0}\r\n        self._loop = None\r\n        self._task = None\r\n        self._cancelled = False\r\n        self._rate_limited = False\r\n        self._429s_since_last_success = 0\r\n        self.resume = resume\r\n        self._log_lock = None\r\n\r\n    def run(self):\r\n        self._loop = asyncio.new_event_loop()\r\n        asyncio.set_event_loop(self._loop)\r\n        try:\r\n            self._task = self._loop.create_task(self.crawl_domain())\r\n            try:\r\n                self._loop.run_until_complete(self._task)\r\n            except asyncio.CancelledError:\r\n                pass\r\n        finally:\r\n            if not self._cancelled and not self._rate_limited:\r\n                self._finalize_clean_run()\r\n            self.cleanup()\r\n            self._loop.close()\r\n            self.scraping_finished.emit(self.name, self._cancelled, self._rate_limited)\r\n\r\n    def _finalize_clean_run(self):\r\n        try:\r\n            for fname in os.listdir(self.save_dir):\r\n                if fname.endswith(\".links.json\"):\r\n                    try:\r\n                        os.remove(os.path.join(self.save_dir, fname))\r\n                    except Exception:\r\n                        pass\r\n        except Exception:\r\n            pass\r\n        log_file = os.path.join(self.save_dir, \"failed_urls.log\")\r\n        try:\r\n            if os.path.exists(log_file) and os.path.getsize(log_file) == 0:\r\n                os.remove(log_file)\r\n        except Exception:\r\n            pass\r\n\r\n    def cancel(self):\r\n        self._cancelled = True\r\n        if self._loop and self._task and not self._task.done():\r\n            self._loop.call_soon_threadsafe(self._task.cancel)\r\n\r\n    def count_saved_files(self):\r\n        return len([f for f in os.listdir(self.save_dir) if f.endswith(\".html\")])\r\n\r\n    async def crawl_domain(\r\n        self,\r\n        max_concurrent_requests: int = 20,\r\n        batch_size: int = 50,\r\n        page_limit: int = 5_000,\r\n    ):\r\n        parsed_url = urlparse(self.url)\r\n        acceptable_domain = parsed_url.netloc\r\n        acceptable_domain_extension = parsed_url.path.rstrip(\"/\")\r\n\r\n        log_file = os.path.join(self.save_dir, \"failed_urls.log\")\r\n\r\n        semaphore = asyncio.BoundedSemaphore(max_concurrent_requests)\r\n        visited = set()\r\n\r\n        if self.resume:\r\n            to_visit = self._build_resume_queue(log_file)\r\n        else:\r\n            to_visit = [self.url]\r\n\r\n        async def process_batch(batch_urls, session):\r\n            pending = [\r\n                (u, self.fetch(\r\n                    session,\r\n                    u,\r\n                    acceptable_domain,\r\n                    semaphore,\r\n                    self.save_dir,\r\n                    log_file,\r\n                    acceptable_domain_extension,\r\n                ))\r\n                for u in batch_urls\r\n                if u not in visited\r\n            ]\r\n            urls_for_tasks = [u for u, _ in pending]\r\n            tasks = [t for _, t in pending]\r\n            results = await asyncio.gather(*tasks, return_exceptions=True)\r\n            visited.update(batch_urls)\r\n            out = []\r\n            for url, r in zip(urls_for_tasks, results):\r\n                if isinstance(r, set):\r\n                    out.append(r)\r\n                elif isinstance(r, Exception):\r\n                    print(f\"Scrape task for {url} raised {type(r).__name__}: {r}\")\r\n                    try:\r\n                        await self.log_failed_url(url, log_file)\r\n                    except Exception:\r\n                        pass\r\n            return out\r\n\r\n        async with AsyncSession(impersonate=\"chrome\") as session:\r\n            if not self.resume and hasattr(self.scraper, \"collect_seed_urls\"):\r\n                try:\r\n                    extra = await self.scraper.collect_seed_urls(session)\r\n                    if extra:\r\n                        already = set(to_visit)\r\n                        for u in extra:\r\n                            if u not in already:\r\n                                to_visit.append(u)\r\n                                already.add(u)\r\n                except Exception as e:\r\n                    print(f\"collect_seed_urls failed: {type(e).__name__}: {e}\")\r\n\r\n            while to_visit:\r\n                if self._cancelled or self._rate_limited:\r\n                    break\r\n                current_batch = to_visit[:batch_size]\r\n                to_visit = to_visit[batch_size:]\r\n\r\n                for new_links in await process_batch(current_batch, session):\r\n                    new_to_visit = new_links - visited\r\n                    to_visit.extend(new_to_visit)\r\n\r\n                if self._rate_limited:\r\n                    break\r\n\r\n                await asyncio.sleep(0.2)\r\n\r\n                if len(visited) >= page_limit:\r\n                    break\r\n\r\n        return visited\r\n\r\n    def _build_resume_queue(self, log_file):\r\n        candidates = set()\r\n        try:\r\n            for fname in os.listdir(self.save_dir):\r\n                if fname.endswith(\".links.json\"):\r\n                    try:\r\n                        with open(os.path.join(self.save_dir, fname), \"r\", encoding=\"utf-8\") as f:\r\n                            for link in json.load(f):\r\n                                if isinstance(link, str):\r\n                                    candidates.add(link)\r\n                    except Exception:\r\n                        pass\r\n        except Exception:\r\n            pass\r\n        if os.path.exists(log_file):\r\n            try:\r\n                with open(log_file, \"r\", encoding=\"utf-8\") as f:\r\n                    for line in f:\r\n                        line = line.strip()\r\n                        if line:\r\n                            candidates.add(line)\r\n            except Exception:\r\n                pass\r\n            try:\r\n                os.remove(log_file)\r\n            except Exception:\r\n                pass\r\n        candidates.add(self.url)\r\n        return list(candidates)\r\n\r\n    async def fetch(\r\n        self,\r\n        session,\r\n        url,\r\n        base_domain,\r\n        semaphore,\r\n        save_dir,\r\n        log_file,\r\n        acceptable_domain_extension,\r\n        retries: int = 3,\r\n    ):\r\n        filename = os.path.join(save_dir, self.sanitize_filename(url) + \".html\")\r\n        if os.path.exists(filename):\r\n            return set()\r\n\r\n        fetch_url = (\r\n            self.scraper.fetch_url_for(url)\r\n            if hasattr(self.scraper, \"fetch_url_for\")\r\n            else url\r\n        )\r\n        has_response_transform = hasattr(self.scraper, \"transform_response\")\r\n\r\n        async with semaphore:\r\n            for attempt in range(1, retries + 1):\r\n                if self._rate_limited or self._cancelled:\r\n                    return set()\r\n                try:\r\n                    response = await session.get(fetch_url, timeout=30, allow_redirects=True)\r\n                except (asyncio.TimeoutError, RequestsError, OSError):\r\n                    if attempt == retries:\r\n                        await self.log_failed_url(url, log_file)\r\n                        self.stats[\"scraped\"] = self.count_saved_files()\r\n                        self.status_updated.emit(self.name, str(self.stats[\"scraped\"]))\r\n                    await asyncio.sleep(2)\r\n                    continue\r\n\r\n                if response.status_code == 429:\r\n                    self._429s_since_last_success += 1\r\n                    if self._429s_since_last_success >= self.RATE_LIMIT_THRESHOLD:\r\n                        self._rate_limited = True\r\n                    await self.log_failed_url(url, log_file)\r\n                    self.stats[\"scraped\"] = self.count_saved_files()\r\n                    self.status_updated.emit(self.name, str(self.stats[\"scraped\"]))\r\n                    return set()\r\n\r\n                if response.status_code != 200:\r\n                    await self.log_failed_url(url, log_file)\r\n                    self.stats[\"scraped\"] = self.count_saved_files()\r\n                    self.status_updated.emit(self.name, str(self.stats[\"scraped\"]))\r\n                    return set()\r\n\r\n                self._429s_since_last_success = 0\r\n\r\n                content_type = response.headers.get(\"content-type\", \"\").lower()\r\n                if not has_response_transform and \"text/html\" not in content_type:\r\n                    self.stats[\"scraped\"] = self.count_saved_files()\r\n                    self.status_updated.emit(self.name, str(self.stats[\"scraped\"]))\r\n                    return set()\r\n\r\n                html = response.text\r\n                if has_response_transform:\r\n                    try:\r\n                        html = self.scraper.transform_response(html, url)\r\n                    except Exception:\r\n                        await self.log_failed_url(url, log_file)\r\n                        self.stats[\"scraped\"] = self.count_saved_files()\r\n                        self.status_updated.emit(self.name, str(self.stats[\"scraped\"]))\r\n                        return set()\r\n\r\n                try:\r\n                    links = self.extract_links(\r\n                        html, url, base_domain, acceptable_domain_extension\r\n                    )\r\n                    await self.save_html(html, url, save_dir, links=links)\r\n                except Exception:\r\n                    await self.log_failed_url(url, log_file)\r\n                    self.stats[\"scraped\"] = self.count_saved_files()\r\n                    self.status_updated.emit(self.name, str(self.stats[\"scraped\"]))\r\n                    return set()\r\n                self.stats[\"scraped\"] = self.count_saved_files()\r\n                self.status_updated.emit(self.name, str(self.stats[\"scraped\"]))\r\n                return links\r\n        return set()\r\n\r\n    async def save_html(self, content, url, save_dir, links=None):\r\n        filename = os.path.join(save_dir, self.sanitize_filename(url) + \".html\")\r\n        soup = BeautifulSoup(content, \"lxml\")\r\n        processed_soup = self.scraper.process_html(soup)\r\n\r\n        source_link = processed_soup.new_tag(\"a\", href=url)\r\n        source_link.string = \"Original Source\"\r\n\r\n        if processed_soup.body:\r\n            processed_soup.body.insert(0, source_link)\r\n        elif processed_soup.html:\r\n            new_body = processed_soup.new_tag(\"body\")\r\n            new_body.insert(0, source_link)\r\n            processed_soup.html.insert(0, new_body)\r\n        else:\r\n            new_html = processed_soup.new_tag(\"html\")\r\n            new_body = processed_soup.new_tag(\"body\")\r\n            new_body.insert(0, source_link)\r\n            new_html.insert(0, new_body)\r\n            processed_soup.insert(0, new_html)\r\n\r\n        try:\r\n            async with aiofiles.open(filename, \"x\", encoding=\"utf-8\") as f:\r\n                await f.write(str(processed_soup))\r\n        except FileExistsError:\r\n            pass\r\n\r\n        if links:\r\n            sidecar = filename[:-5] + \".links.json\"\r\n            tmp = sidecar + \".tmp\"\r\n            try:\r\n                async with aiofiles.open(tmp, \"w\", encoding=\"utf-8\") as f:\r\n                    await f.write(json.dumps(sorted(links)))\r\n                await asyncio.to_thread(os.replace, tmp, sidecar)\r\n            except Exception:\r\n                try:\r\n                    await asyncio.to_thread(os.remove, tmp)\r\n                except Exception:\r\n                    pass\r\n\r\n    def sanitize_filename(self, url: str) -> str:\r\n        original_url = url\r\n\r\n        base_url = url.split(\"?\", 1)[0].split(\"#\", 1)[0]\r\n\r\n        for open_br, close_br in (\"[]\", \"()\"):\r\n            while open_br in base_url and close_br in base_url:\r\n                start, end = base_url.find(open_br), base_url.find(close_br)\r\n                if 0 <= start < end:\r\n                    base_url = base_url[:start] + base_url[end + 1 :]\r\n\r\n        filename = (\r\n            base_url.replace(\"https://\", \"\")\r\n            .replace(\"http://\", \"\")\r\n            .replace(\"/\", \"_\")\r\n            .replace(\"\\\\\", \"_\")\r\n        )\r\n        for ch in '<>:\"|?*':\r\n            filename = filename.replace(ch, \"_\")\r\n        if filename.lower().endswith(\".html\"):\r\n            filename = filename[:-5]\r\n\r\n        reserved = {\"con\", \"prn\", \"aux\", \"nul\"} | {f\"com{i}\" for i in range(1, 10)} | {f\"lpt{i}\" for i in range(1, 10)}\r\n        if filename.strip(\" .\").lower() in reserved:\r\n            filename = f\"file_{filename}\"\r\n\r\n        need_hash = (\"?\" in original_url or \"#\" in original_url)\r\n\r\n        MAX_WIN_PATH = 250\r\n        full_path = os.path.join(self.save_dir, filename + \".html\")\r\n        if need_hash or len(full_path) > MAX_WIN_PATH:\r\n            allowed = MAX_WIN_PATH - len(self.save_dir) - len(os.sep) - len(\".html\") - 9\r\n            allowed = max(1, allowed)\r\n            filename = (\r\n                filename[:allowed]\r\n                + \"_\"\r\n                + hashlib.md5(original_url.encode()).hexdigest()[:8]\r\n            )\r\n\r\n        return filename.rstrip(\". \")\r\n\r\n    async def log_failed_url(self, url, log_file):\r\n        if self._log_lock is None:\r\n            self._log_lock = asyncio.Lock()\r\n        async with self._log_lock:\r\n            async with aiofiles.open(log_file, \"a\", encoding=\"utf-8\") as f:\r\n                await f.write(url + \"\\n\")\r\n\r\n    def extract_links(\r\n        self,\r\n        html,\r\n        base_url,\r\n        base_domain,\r\n        acceptable_domain_extension,\r\n    ):\r\n        soup = BeautifulSoup(html, \"lxml\")\r\n        links = set()\r\n        for a_tag in soup.find_all(\"a\", href=True):\r\n            href = a_tag[\"href\"].replace(\"&amp;num;\", \"#\")\r\n            if href.startswith(\"www.\"):\r\n                href = \"https://\" + href\r\n            elif href.startswith(\"https/\"):\r\n                href = \"https://\" + href[len(\"https/\"):]\r\n            elif href.startswith(\"http/\"):\r\n                href = \"http://\" + href[len(\"http/\"):]\r\n            url = (\r\n                urljoin(f\"https://{base_domain}\", href)\r\n                if href.startswith(\"/\")\r\n                else urljoin(base_url, href)\r\n            )\r\n            p = urlsplit(url)\r\n            canon = urlunsplit((p.scheme, p.netloc, p.path, \"\", \"\"))\r\n            if self.is_valid_url(\r\n                canon, base_domain, acceptable_domain_extension\r\n            ):\r\n                links.add(canon)\r\n        return links\r\n\r\n    def is_valid_url(self, url, base_domain, acceptable_domain_extension):\r\n        def strip_www(netloc: str) -> str:\r\n            return netloc[4:] if netloc.startswith(\"www.\") else netloc\r\n\r\n        parsed = urlparse(url)\r\n        if strip_www(parsed.netloc) != strip_www(base_domain):\r\n            return False\r\n\r\n        if acceptable_domain_extension:\r\n            base_no_version = _strip_trailing_version(acceptable_domain_extension)\r\n            return (\r\n                parsed.path.startswith(acceptable_domain_extension) or\r\n                parsed.path.startswith(base_no_version)\r\n            )\r\n        return True\r\n\r\n    def cleanup(self):\r\n        pass\r\n"
  },
  {
    "path": "modules/transcribe.py",
    "content": "from multiprocessing import Process\r\nfrom pathlib import Path\r\nimport warnings\r\nimport shutil\r\nimport json\r\n\r\nimport torch\r\nimport av\r\n\r\nimport whisper_s2t\r\nfrom whisper_s2t.backends.ctranslate2.hf_utils import download_model\r\nfrom core.extract_metadata import extract_typed_metadata\r\nfrom core.constants import WHISPER_MODELS, PROJECT_ROOT\r\n\r\nwarnings.filterwarnings(\"ignore\")\r\n\r\ncurrent_directory = PROJECT_ROOT\r\nCACHE_DIR = current_directory / \"Models\" / \"whisper\"\r\nCACHE_DIR.mkdir(parents=True, exist_ok=True)\r\n\r\nclass WhisperTranscriber:\r\n    def __init__(self, model_key, batch_size):\r\n        model_info = WHISPER_MODELS[model_key]\r\n        self.model_identifier = model_info['repo_id']\r\n        self.compute_type = model_info['precision']\r\n        self.batch_size = batch_size\r\n        self.cache_dir = str(CACHE_DIR)\r\n\r\n        script_dir = PROJECT_ROOT\r\n        self.model_dir = script_dir / \"Models\" / \"whisper\"\r\n        self.model_dir.mkdir(parents=True, exist_ok=True)\r\n        \r\n        self.model_kwargs = {\r\n            'compute_type': self.compute_type,\r\n            'asr_options': {\r\n                \"beam_size\": 5,\r\n                \"best_of\": 1,\r\n                \"patience\": 2,\r\n                \"length_penalty\": 1,\r\n                \"repetition_penalty\": 1.01,\r\n                \"no_repeat_ngram_size\": 0,\r\n                \"compression_ratio_threshold\": 2.4,\r\n                \"log_prob_threshold\": -1.0,\r\n                \"no_speech_threshold\": 0.5,\r\n                \"prefix\": None,\r\n                \"suppress_blank\": True,\r\n                \"suppress_tokens\": [-1],\r\n                \"without_timestamps\": True,\r\n                \"max_initial_timestamp\": 1.0,\r\n                \"word_timestamps\": False,\r\n                \"sampling_temperature\": 1.0,\r\n                \"return_scores\": True,\r\n                \"return_no_speech_prob\": True,\r\n                \"word_aligner_model\": 'tiny',\r\n            },\r\n            'model_identifier': self.model_identifier,\r\n        }\r\n\r\n        if 'large-v3' in self.model_identifier:\r\n            self.model_kwargs['n_mels'] = 128\r\n\r\n    def start_transcription_process(self, audio_file):\r\n        self.audio_file = audio_file\r\n        process = Process(target=self.transcribe_and_create_document)\r\n        process.start()\r\n        process.join()\r\n        if process.exitcode is not None and process.exitcode != 0:\r\n            raise RuntimeError(f\"Transcription worker exited with code {process.exitcode}\")\r\n\r\n    @torch.inference_mode()\r\n    def transcribe_and_create_document(self):\r\n        audio_file_str = str(self.audio_file)\r\n        converted_audio_file = self.convert_to_wav(audio_file_str)\r\n        \r\n        try:\r\n            downloaded_path = download_model(\r\n                size_or_id=self.model_identifier,\r\n                cache_dir=str(CACHE_DIR)\r\n            )\r\n            \r\n            model_kwargs = self.model_kwargs.copy()\r\n            model_kwargs.pop('model_identifier', None)\r\n            model_kwargs.pop('cache_dir', None)\r\n            \r\n            model = whisper_s2t.load_model(\r\n                model_identifier=downloaded_path,\r\n                **model_kwargs\r\n            )\r\n            \r\n            transcription = self.transcribe(model, [str(converted_audio_file)])\r\n            self.create_document_object(transcription, audio_file_str)\r\n\r\n        except Exception as e:\r\n            print(f\"Error during transcription: {e}\")\r\n            raise\r\n\r\n        finally:\r\n            if converted_audio_file != audio_file_str and Path(converted_audio_file).exists():\r\n                try:\r\n                    Path(converted_audio_file).unlink()\r\n                    print(f\"Deleted temporary file: {converted_audio_file}\")\r\n                except Exception as e:\r\n                    print(f\"Error deleting temporary file {converted_audio_file}: {e}\")\r\n\r\n    def convert_to_wav(self, audio_file):\r\n        if self.is_correct_format(audio_file):\r\n            print(\"File is already in the correct format.  No pre-processing is necessary.\")\r\n            return str(audio_file)\r\n        \r\n        ffmpeg_available = shutil.which('ffmpeg') is not None\r\n        \r\n        if ffmpeg_available:\r\n            print(\"FFmpeg detected. Sending the audio file to WhisperS2T for pre-processing and transcription.\")\r\n            return str(audio_file)\r\n        else:\r\n            print(\"FFmpeg not detected. Pre-processing with the av library then sending to WhisperS2T for transcription.\")\r\n            output_file = f\"{Path(audio_file).stem}_temp_converted.wav\"\r\n            output_path = PROJECT_ROOT / output_file\r\n            return self.convert_with_av(audio_file, output_path)\r\n\r\n    def is_correct_format(self, audio_file):\r\n        try:\r\n            with av.open(audio_file) as container:\r\n                stream = container.streams.audio[0]\r\n                return stream.sample_rate == 16000 and stream.channels == 1 and container.format.name == 'wav'\r\n        except Exception as e:\r\n            print(f\"Error checking audio format: {e}\")\r\n            return False\r\n\r\n\r\n    def convert_with_av(self, audio_file, output_path):\r\n        try:\r\n            with av.open(audio_file) as input_container, \\\r\n                 av.open(str(output_path), mode='w') as output_container:\r\n                input_stream = input_container.streams.audio[0]\r\n\r\n                output_stream = output_container.add_stream('pcm_s16le', rate=16000)\r\n                output_stream.channels = 1\r\n\r\n                resampler = av.AudioResampler(format='s16', layout='mono', rate=16000)\r\n\r\n                for frame in input_container.decode(audio=0):\r\n                    frame.pts = None\r\n                    resampled_frames = resampler.resample(frame)\r\n                    if resampled_frames:\r\n                        for resampled_frame in resampled_frames:\r\n                            for packet in output_stream.encode(resampled_frame):\r\n                                output_container.mux(packet)\r\n\r\n                for packet in output_stream.encode(None):\r\n                    output_container.mux(packet)\r\n\r\n            print(\"Conversion using av complete.\")\r\n            return str(output_path)\r\n        except Exception as e:\r\n            print(f\"Error converting file with av library {audio_file}: {e}\")\r\n            raise\r\n\r\n    def transcribe(self, model, files, lang_codes=['en'], tasks=['transcribe'], initial_prompts=[None]):\r\n        out = model.transcribe_with_vad(files,\r\n                                        lang_codes=lang_codes,\r\n                                        tasks=tasks,\r\n                                        initial_prompts=initial_prompts,\r\n                                        batch_size=self.batch_size)\r\n        transcription = \" \".join([_['text'] for _ in out[0]]).strip()\r\n        return transcription\r\n\r\n    def create_document_object(self, transcription_text, audio_file_path):\r\n        metadata = extract_typed_metadata(audio_file_path, \"audio\")\r\n\r\n        script_dir = PROJECT_ROOT\r\n        docs_dir = script_dir / \"Docs_for_DB\"\r\n        docs_dir.mkdir(exist_ok=True)\r\n\r\n        audio_file_name = Path(audio_file_path).stem\r\n        json_file_path = docs_dir / f\"{audio_file_name}.json\"\r\n\r\n        doc_dict = {\r\n            \"page_content\": transcription_text,\r\n            \"metadata\": metadata\r\n        }\r\n\r\n        json_file_path.write_text(json.dumps(doc_dict, indent=4), encoding='utf-8')\r\n"
  },
  {
    "path": "modules/tts.py",
    "content": "import queue\r\nimport re\r\nimport threading\r\nfrom pathlib import Path\r\n\r\nimport io\r\nimport numpy as np\r\nimport sounddevice as sd\r\nimport torch\r\nimport yaml\r\nfrom tqdm import tqdm\r\nfrom transformers import AutoProcessor, BarkModel\r\nimport soundfile as sf\r\nfrom gtts import gTTS\r\nfrom gtts.tokenizer import pre_processors, tokenizer_cases\r\n\r\nfrom core.utilities import my_cprint\r\nfrom core.constants import WHISPER_SPEECH_MODELS, PROJECT_ROOT\r\n\r\ncurrent_directory = PROJECT_ROOT\r\nCACHE_DIR = current_directory / \"models\" / \"tts\"\r\nCACHE_DIR.mkdir(parents=True, exist_ok=True)\r\n\r\nclass BaseAudio:\r\n    def __init__(self):\r\n        self.sentence_queue = queue.Queue()\r\n        self.processing_queue = queue.Queue()\r\n        self.audio_queue = queue.Queue()\r\n        self.stop_event = threading.Event()\r\n        self.lock = threading.Lock()\r\n        self.config = {}\r\n        self.processing_thread = None\r\n\r\n    def load_config(self, config_file, section):\r\n        with open(config_file, 'r', encoding='utf-8') as f:\r\n            config_data = yaml.safe_load(f)\r\n            if section in config_data:\r\n                self.config = config_data[section]\r\n            else:\r\n                print(f\"Warning: Section '{section}' not found in config file.\")\r\n                self.config = {}\r\n\r\n    def initialize_device(self):\r\n        if torch.cuda.is_available():\r\n            self.device = 'cuda'\r\n        else:\r\n            raise RuntimeError(\"CUDA is not available, but it's required for this program.\")\r\n\r\n    def play_audio_from_queue(self):\r\n        while not self.stop_event.is_set():\r\n            try:\r\n                queue_item = self.audio_queue.get(timeout=5)\r\n                if queue_item is None or self.stop_event.is_set():\r\n                    break\r\n                audio_array, sampling_rate = queue_item\r\n                try:\r\n                    if len(audio_array.shape) == 1:\r\n                        audio_array = np.expand_dims(audio_array, axis=1)\r\n                    elif len(audio_array.shape) == 2 and audio_array.shape[1] != 1:\r\n                        audio_array = audio_array.T\r\n                    sd.play(audio_array, samplerate=sampling_rate)\r\n                    sd.wait()\r\n                except Exception as e:\r\n                    print(f\"Error playing audio: {e}\")\r\n            except queue.Empty:\r\n                if self.processing_thread is None or not self.processing_thread.is_alive():\r\n                    break\r\n\r\n    def run(self, input_text_file):\r\n        try:\r\n            with open(input_text_file, 'r', encoding='utf-8') as file:\r\n                input_text = file.read()\r\n                sentences = re.split(r'[.!?;]+\\s*', input_text)\r\n        except Exception as e:\r\n            print(f\"Error reading {input_text_file}: {e}\")\r\n            return\r\n\r\n        self.processing_thread = threading.Thread(target=self.process_text_to_audio, args=(sentences,))\r\n        playback_thread = threading.Thread(target=self.play_audio_from_queue)\r\n\r\n        self.processing_thread.daemon = True\r\n        playback_thread.daemon = True\r\n\r\n        self.processing_thread.start()\r\n        playback_thread.start()\r\n\r\n        self.processing_thread.join()\r\n        playback_thread.join()\r\n\r\n    def stop(self):\r\n        self.stop_event.set()\r\n        self.audio_queue.put(None)\r\n\r\n\r\nclass ChatterboxAudio(BaseAudio):\r\n\r\n    PITCH_FACTOR = 0.93\r\n    SPEED_FACTOR = 0.93\r\n\r\n\r\n    def __init__(self):\r\n        super().__init__()\r\n\r\n        import torch, warnings\r\n        device_pref = getattr(self, \"DEVICE\", \"auto\")\r\n        self.device = self._select_device(device_pref)\r\n        if self.device != \"cpu\":\r\n            _orig_load = torch.load\r\n            torch.load = lambda *a, **k: _orig_load(\r\n                *a, **{**k, \"map_location\": k.get(\"map_location\", self.device)}\r\n            )\r\n        if self.device == \"cuda\":\r\n            torch.backends.cudnn.benchmark = True\r\n\r\n        from chatterbox.tts import ChatterboxTTS\r\n        print(f\"Loading Chatterbox TTS on [{self.device}] …\")\r\n        self.model = ChatterboxTTS.from_pretrained(device=self.device)\r\n        self.sr = self.model.sr\r\n        print(\"Model ready!\")\r\n\r\n        accent = getattr(self, \"ACCENT_PRESET\", None)\r\n        if accent and hasattr(self, \"ACCENT_SETTINGS\"):\r\n            style = self.ACCENT_SETTINGS.get(accent, {})\r\n            self.exaggeration = style.get(\"exaggeration\", 0.5)\r\n            self.cfg_weight   = style.get(\"cfg_weight\",   0.5)\r\n        else:\r\n            self.exaggeration = getattr(self, \"EXAGGERATION\", 0.5)\r\n            self.cfg_weight   = getattr(self, \"CFG_WEIGHT\",   0.5)\r\n\r\n        self.pitch_factor = getattr(self, \"PITCH_FACTOR\", 1.0)\r\n        self.speed_factor = getattr(self, \"SPEED_FACTOR\", 1.0)\r\n        self.tone         = getattr(self, \"TONE\", \"neutral\")\r\n        self.normalise    = getattr(self, \"NORMALISE\", True)\r\n        self.int16_output = getattr(self, \"INT16_OUTPUT\", False)\r\n\r\n    def _select_device(self, pref):\r\n        import torch, warnings\r\n        pref = pref.lower()\r\n        if pref == \"cpu\":\r\n            return \"cpu\"\r\n        if pref in (\"gpu\", \"cuda\"):\r\n            if torch.cuda.is_available():\r\n                return \"cuda\"\r\n            if getattr(self, \"GPU_STRICT\", False):\r\n                raise RuntimeError(\"CUDA requested but unavailable.\")\r\n            warnings.warn(\"CUDA not available – falling back to CPU.\", RuntimeWarning)\r\n            return \"cpu\"\r\n        if torch.cuda.is_available():\r\n            return \"cuda\"\r\n        if torch.backends.mps.is_available():\r\n            return \"mps\"\r\n        return \"cpu\"\r\n\r\n    @staticmethod\r\n    def _apply_voice_modifications(wav, sr, pitch_factor=1.0, speed_factor=1.0, tone=\"neutral\"):\r\n        try:\r\n            import torch, torchaudio.functional as F\r\n            if pitch_factor != 1.0:\r\n                tgt_sr = int(sr * pitch_factor)\r\n                wav = F.resample(wav, sr, tgt_sr)\r\n                wav = F.resample(wav, tgt_sr, sr)\r\n            if speed_factor != 1.0 and wav.numel():\r\n                tgt_len = int(wav.shape[-1] / speed_factor)\r\n                if tgt_len > 0:\r\n                    wav = torch.nn.functional.interpolate(\r\n                        wav.unsqueeze(0), size=tgt_len, mode=\"linear\", align_corners=False\r\n                    ).squeeze(0)\r\n            if tone == \"happy\":\r\n                wav *= 1.1\r\n            elif tone == \"serious\":\r\n                wav *= 0.9\r\n            elif tone == \"calm\":\r\n                wav = torch.tanh(wav * 0.8)\r\n            elif tone == \"excited\":\r\n                wav *= 1.2\r\n            return torch.clamp(wav, -1.0, 1.0)\r\n        except Exception as e:\r\n            print(f\"Voice-mod skipped: {e}\")\r\n            return wav\r\n\r\n    @torch.inference_mode()\r\n    def process_text_to_audio(self, sentences):\r\n        import numpy as np, torch\r\n        for sentence in sentences:\r\n            if not sentence.strip() or self.stop_event.is_set():\r\n                continue\r\n            try:\r\n                wav = self.model.generate(\r\n                    sentence,\r\n                    exaggeration=self.exaggeration,\r\n                    cfg_weight=self.cfg_weight,\r\n                )\r\n            except Exception as e:\r\n                print(f\"Generation failed: {e}\")\r\n                self.audio_queue.put(None)\r\n                break\r\n\r\n            wav = self._apply_voice_modifications(\r\n                wav, self.sr,\r\n                pitch_factor=self.pitch_factor,\r\n                speed_factor=self.speed_factor,\r\n                tone=self.tone,\r\n            )\r\n\r\n            audio = wav.squeeze().cpu().numpy().astype(np.float32)\r\n            if self.normalise and audio.size:\r\n                peak = np.max(np.abs(audio))\r\n                if peak:\r\n                    audio /= peak\r\n            if self.int16_output:\r\n                audio = (audio * 32767).astype(np.int16)\r\n\r\n            self.audio_queue.put((audio, self.sr))\r\n\r\n            if torch.cuda.is_available():\r\n                del wav\r\n                torch.cuda.empty_cache()\r\n\r\n        self.audio_queue.put(None)\r\n\r\n\r\nclass BarkAudio(BaseAudio):\r\n    def __init__(self):\r\n        super().__init__()\r\n        self.load_config('config.yaml', 'bark')\r\n        self.initialize_device()\r\n        self.initialize_model_and_processor()\r\n\r\n    def initialize_model_and_processor(self):\r\n        repository_id = \"suno/bark\" if self.config['size'] == 'normal' else f\"suno/bark-{self.config['size']}\"\r\n        \r\n        self.processor = AutoProcessor.from_pretrained(repository_id, token=False, cache_dir=CACHE_DIR)\r\n        \r\n        self.model = BarkModel.from_pretrained(\r\n            repository_id,\r\n            torch_dtype=torch.float16,\r\n            cache_dir=CACHE_DIR,\r\n            token=False\r\n        ).to(self.device)\r\n\r\n        self.model.eval()\r\n        \r\n        my_cprint(\"Bark model loaded (float16)\", \"green\")\r\n\r\n    @torch.inference_mode()\r\n    def process_text_to_audio(self, sentences):\r\n        for sentence in tqdm(sentences, desc=\"Processing Sentences\"):\r\n            if sentence.strip():\r\n                print(f\"Processing sentence: {sentence}\")\r\n                try:\r\n                    inputs = self.processor(text=sentence, voice_preset=self.config['speaker'], return_tensors=\"pt\")\r\n                    inputs = {k: v.to(self.device) if hasattr(v, 'to') else v \r\n                            for k, v in inputs.items()}\r\n\r\n                    speech_output = self.model.generate(\r\n                        **inputs,\r\n                        use_cache=True,\r\n                        do_sample=True,\r\n                        pad_token_id=0,\r\n                    )\r\n\r\n                    audio_array = speech_output[0].cpu().numpy()\r\n                    audio_array = np.int16(audio_array / np.max(np.abs(audio_array)) * 32767)\r\n                    self.audio_queue.put((audio_array, self.model.generation_config.sample_rate))\r\n                except Exception as e:\r\n                    print(f\"Exception during audio generation: {str(e)}\")\r\n                    continue\r\n        self.audio_queue.put(None)\r\n\r\n\r\nclass WhisperSpeechAudio(BaseAudio):\r\n    def __init__(self):\r\n        super().__init__()\r\n        self.load_config('config.yaml', 'tts')\r\n        self.pipe = None\r\n        self.initialize_model()\r\n\r\n    # Models known to be incompatible with CUDA graph capture; CUDA graphs\r\n    # are auto-disabled when either the s2a or t2s side picks one of these.\r\n    CUDA_GRAPH_INCOMPATIBLE_MODELS = {\r\n        's2a-v1.95-small-fast-en.model',\r\n        't2s-v1.1-small-en+pl.model',\r\n    }\r\n\r\n    def get_whisper_speech_models(self):\r\n        s2a_model = self.config.get('s2a', 's2a-q4-hq-fast-en+pl.model')\r\n        s2a = f\"WhisperSpeech/WhisperSpeech:{s2a_model}\"\r\n\r\n        t2s_model = self.config.get('t2s', 't2s-base-en+pl.model')\r\n        t2s = f\"WhisperSpeech/WhisperSpeech:{t2s_model}\"\r\n\r\n        return s2a, t2s, s2a_model, t2s_model\r\n\r\n    def initialize_model(self):\r\n        s2a, t2s, s2a_model, t2s_model = self.get_whisper_speech_models()\r\n\r\n        from whisperspeech2.pipeline import Pipeline\r\n\r\n        use_cuda_graph = (\r\n            torch.cuda.is_available()\r\n            and torch.cuda.get_device_capability() >= (7, 0)\r\n            and s2a_model not in self.CUDA_GRAPH_INCOMPATIBLE_MODELS\r\n            and t2s_model not in self.CUDA_GRAPH_INCOMPATIBLE_MODELS\r\n        )\r\n\r\n        try:\r\n            self.pipe = Pipeline(\r\n                s2a_ref=s2a,\r\n                t2s_ref=t2s,\r\n                optimize=True,\r\n                torch_compile=False,\r\n                use_cuda_graph=use_cuda_graph,\r\n            )\r\n            my_cprint(f\"{s2a.split(':')[-1]} loaded\\n{t2s.split(':')[-1]} loaded.\", \"green\")\r\n        except Exception as e:\r\n            my_cprint(f\"Error initializing WhisperSpeech models: {str(e)}\", \"red\")\r\n            self.pipe = None\r\n\r\n    @torch.inference_mode()\r\n    def process_text_to_audio(self, sentences):\r\n        speaker = self.config.get(\"speaker\") or \"default\"\r\n        for sentence in tqdm(sentences, desc=\"Processing Sentences\"):\r\n            if sentence and not self.stop_event.is_set():\r\n                try:\r\n                    audio_tensor = self.pipe.generate(sentence, speaker=speaker)\r\n                    audio_np = (audio_tensor.cpu().numpy() * 32767).astype(np.int16)\r\n                    if len(audio_np.shape) == 1:\r\n                        audio_np = np.expand_dims(audio_np, axis=1)\r\n                    else:\r\n                        audio_np = audio_np.T\r\n                    self.audio_queue.put((audio_np, 24000))\r\n                except Exception as e:\r\n                    my_cprint(f\"Error processing sentence: {str(e)}\", \"red\")\r\n        self.audio_queue.put(None)\r\n\r\n    def run(self, input_text_file):\r\n        self.initialize_device()\r\n        super().run(input_text_file)\r\n\r\n\r\nclass ChatTTSAudio(BaseAudio):\r\n    def __init__(self):\r\n        super().__init__()\r\n\r\n        global ChatTTS\r\n        import ChatTTS\r\n\r\n        print(\"Initializing ChatTTSAudio...\")\r\n\r\n        self.initialize_device()\r\n        self.chat = ChatTTS.Chat()\r\n\r\n        chattts_dir = CACHE_DIR / \"2Noise--ChatTTS\"\r\n        chattts_dir.mkdir(parents=True, exist_ok=True)\r\n\r\n        self.chat.load(\r\n            source=\"huggingface\",\r\n            device=self.device,\r\n            compile=False,\r\n            use_flash_attn=False,\r\n        )\r\n\r\n        torch.manual_seed(11)\r\n        self.rand_spk = self.chat.sample_random_speaker()\r\n\r\n        self.params_infer_code = ChatTTS.Chat.InferCodeParams(\r\n            spk_emb=self.rand_spk,\r\n            temperature=0.7,\r\n            top_P=1,\r\n            top_K=40,\r\n            prompt='[speed_5]'\r\n        )\r\n\r\n        self.params_refine_text = ChatTTS.Chat.RefineTextParams(\r\n            prompt='[oral_0][laugh_0][break_0]',\r\n            temperature=0.7,\r\n            top_P=0.7,\r\n            top_K=20\r\n        )\r\n\r\n    @torch.inference_mode()\r\n    def process_text_to_audio(self, sentences):\r\n        print(f\"Starting text processing... ({len(sentences)} sentences)\")\r\n        for sentence in sentences:\r\n            if not sentence or not sentence.strip():\r\n                continue\r\n\r\n            print(f\"Processing sentence: {sentence}\")\r\n            try:\r\n                wavs = self.chat.infer(\r\n                    sentence,\r\n                    params_refine_text=self.params_refine_text,\r\n                    params_infer_code=self.params_infer_code,\r\n                    split_text=False\r\n                )\r\n\r\n                if wavs is not None and len(wavs) > 0:\r\n                    audio_data = wavs[0]\r\n                    if isinstance(audio_data, torch.Tensor):\r\n                        audio_data = audio_data.cpu().numpy()\r\n                    audio_data = audio_data.squeeze()\r\n\r\n                    if np.prod(audio_data.shape) > 0:\r\n                        print(f\"Audio data shape: {audio_data.shape}\")\r\n                        if np.abs(audio_data).max() > 1.0:\r\n                            audio_data = audio_data / np.abs(audio_data).max()\r\n                        print(f\"Audio range: [{audio_data.min():.3f}, {audio_data.max():.3f}]\")\r\n                        self.audio_queue.put((audio_data, 24000))\r\n                        print(\"Audio data queued\")\r\n            except Exception as e:\r\n                print(f\"Error processing sentence: {str(e)}\\n{type(e)}\")\r\n                import traceback\r\n                print(traceback.format_exc())\r\n                continue\r\n\r\n        print(\"Text processing complete, sending end signal\")\r\n        self.audio_queue.put(None)\r\n\r\n\r\nclass GoogleTTSAudio:\r\n    \r\n    def __init__(self, lang='en', slow=False, tld='com', silence_threshold=0.01, max_silence_ms=100):\r\n        self.lang = lang\r\n        self.slow = slow\r\n        self.tld = tld\r\n        self.silence_threshold = silence_threshold\r\n        self.max_silence_ms = max_silence_ms\r\n\r\n    def run(self, input_text_file):\r\n        try:\r\n            with open(input_text_file, 'r', encoding='utf-8') as file:\r\n                text = file.read()\r\n        except FileNotFoundError:\r\n            print(f\"Error: File not found at {input_text_file}\")\r\n            return\r\n        except IOError:\r\n            print(f\"Error: Unable to read file at {input_text_file}\")\r\n            return\r\n\r\n        processed_text = self.preprocess_text(text)\r\n        tokens = self.tokenize_and_minimize(processed_text)\r\n\r\n        all_audio_data = []\r\n        samplerate = None\r\n        for token in tokens:\r\n            if token.strip():\r\n                print(f\"Processing token: '{token}'\")\r\n                fp = io.BytesIO()\r\n\r\n                if token.startswith(\"<continue>\"):\r\n                    token = token[10:].strip()\r\n\r\n                tts = gTTS(text=token, lang=self.lang, slow=self.slow, tld=self.tld)\r\n                tts.write_to_fp(fp)\r\n                fp.seek(0)\r\n                data, samplerate = sf.read(fp)\r\n                all_audio_data.append(data)\r\n\r\n        if all_audio_data:\r\n            combined_audio = np.concatenate(all_audio_data)\r\n            processed_audio = self.trim_silence(combined_audio, samplerate)\r\n            sd.play(processed_audio, samplerate)\r\n            sd.wait()\r\n        else:\r\n            print(\"No audio data generated.\")\r\n\r\n    @staticmethod\r\n    def preprocess_text(text):\r\n        text = pre_processors.abbreviations(text)\r\n        text = pre_processors.end_of_line(text)\r\n        text = pre_processors.tone_marks(text)\r\n        return text\r\n\r\n    @staticmethod\r\n    def tokenize_and_minimize(text):\r\n        sentences = re.split('(?<=[.!?])\\s+', text)\r\n        \r\n        minimized_tokens = []\r\n        for sentence in sentences:\r\n            if len(sentence) <= 100:\r\n                minimized_tokens.append(sentence)\r\n            else:\r\n                words = sentence.split()\r\n                current_chunk = \"\"\r\n                for word in words:\r\n                    if len(current_chunk) + len(word) + 1 > 100:\r\n                        if current_chunk:\r\n                            minimized_tokens.append(current_chunk.strip())\r\n                            current_chunk = \"<continue> \" + word\r\n                        else:\r\n                            minimized_tokens.append(word)\r\n                    else:\r\n                        current_chunk += \" \" + word\r\n\r\n                if current_chunk:\r\n                    minimized_tokens.append(current_chunk.strip())\r\n\r\n        return minimized_tokens\r\n\r\n    def trim_silence(self, audio, samplerate):\r\n        max_silence_samples = int(self.max_silence_ms * samplerate / 1000)\r\n\r\n        is_silent = np.abs(audio) < self.silence_threshold\r\n\r\n        silent_regions = np.where(np.diff(is_silent.astype(int)))[0]\r\n\r\n        if len(silent_regions) < 2:\r\n            return audio\r\n\r\n        processed_chunks = []\r\n        start = 0\r\n\r\n        for i in range(0, len(silent_regions) - 1, 2):\r\n            silence_start, silence_end = silent_regions[i], silent_regions[i + 1]\r\n\r\n            chunk_start = max(start, silence_start - max_silence_samples)\r\n\r\n            chunk_end = min(silence_end, silence_start + max_silence_samples)\r\n            \r\n            processed_chunks.append(audio[chunk_start:chunk_end])\r\n            start = silence_end\r\n\r\n        processed_chunks.append(audio[start:])\r\n\r\n        return np.concatenate(processed_chunks)\r\n\r\n\r\n\r\nclass KyutaiAudio(BaseAudio):\r\n    REQUIRED_PACKAGES = {\r\n        \"moshi\": \"0.2.13\",\r\n        \"sphn\": \"0.2.0\"\r\n    }\r\n    \r\n    def __init__(self):\r\n        super().__init__()\r\n\r\n        from core.utilities import check_and_install_dependencies\r\n\r\n        if not check_and_install_dependencies(\r\n            self.REQUIRED_PACKAGES, \r\n            backend_name=\"Kyutai\"\r\n        ):\r\n            raise RuntimeError(\"Kyutai dependencies not available\")\r\n\r\n        self.load_config('config.yaml', 'kyutai')\r\n        self.initialize_device()\r\n        self.initialize_model()\r\n\r\n    def create_checkpoint_info_from_cache(self, downloaded_paths, raw_config, weight_files):\r\n        from moshi.models.loaders import CheckpointInfo\r\n        from pathlib import Path\r\n\r\n        moshi_weights = Path(downloaded_paths[weight_files[\"moshi_name\"]])\r\n        mimi_weights = Path(downloaded_paths[weight_files[\"mimi_name\"]])\r\n        tokenizer_path = Path(downloaded_paths[weight_files[\"tokenizer_name\"]])\r\n\r\n        lm_config = dict(raw_config)\r\n        tts_config = lm_config.pop(\"tts_config\", {})\r\n        stt_config = lm_config.pop(\"stt_config\", {})\r\n        model_id = lm_config.pop(\"model_id\", {})\r\n        lm_gen_config = lm_config.pop(\"lm_gen_config\", {})\r\n        model_type = lm_config.pop(\"model_type\", \"moshi\")\r\n\r\n        lm_config.pop(\"moshi_name\", None)\r\n        lm_config.pop(\"mimi_name\", None)\r\n        lm_config.pop(\"tokenizer_name\", None)\r\n        lm_config.pop(\"lora_name\", None)\r\n\r\n        return CheckpointInfo(\r\n            moshi_weights=moshi_weights,\r\n            mimi_weights=mimi_weights,\r\n            tokenizer=tokenizer_path,\r\n            lm_config=lm_config,\r\n            raw_config=raw_config,\r\n            model_type=model_type,\r\n            lora_weights=None,\r\n            lm_gen_config=lm_gen_config,\r\n            tts_config=tts_config,\r\n            stt_config=stt_config,\r\n            model_id=model_id,\r\n        )\r\n\r\n    def initialize_model(self):\r\n        try:\r\n            torch._dynamo.config.disable = True\r\n\r\n            import json\r\n            from moshi.models.tts import TTSModel\r\n            from huggingface_hub import hf_hub_download\r\n\r\n            my_cprint(\"Loading Kyutai TTS model...\", \"yellow\")\r\n\r\n            hf_repo = self.config.get('hf_repo', 'kyutai/tts-1.6b-en_fr')\r\n            n_q = self.config.get('n_q', 32)\r\n            temp = self.config.get('temp', 0.6)\r\n\r\n            config_path = hf_hub_download(\r\n                repo_id=hf_repo, filename=\"config.json\",\r\n                cache_dir=CACHE_DIR, token=False,\r\n            )\r\n            with open(config_path, 'r') as f:\r\n                raw_config = json.load(f)\r\n\r\n            weight_files = {\r\n                \"moshi_name\": raw_config[\"moshi_name\"],\r\n                \"mimi_name\": raw_config[\"mimi_name\"],\r\n                \"tokenizer_name\": raw_config[\"tokenizer_name\"],\r\n            }\r\n            required_files = [\"config.json\", *weight_files.values()]\r\n\r\n            need_download = False\r\n            for filename in required_files:\r\n                try:\r\n                    hf_hub_download(repo_id=hf_repo, filename=filename, cache_dir=CACHE_DIR, token=False, local_files_only=True)\r\n                except Exception:\r\n                    need_download = True\r\n                    break\r\n\r\n            if need_download:\r\n                my_cprint(f\"Downloading Kyutai model files for {hf_repo}...\", \"yellow\")\r\n\r\n            downloaded_paths = {\"config.json\": config_path}\r\n            for filename in weight_files.values():\r\n                try:\r\n                    file_path = hf_hub_download(\r\n                        repo_id=hf_repo,\r\n                        filename=filename,\r\n                        cache_dir=CACHE_DIR,\r\n                        token=False\r\n                    )\r\n                    downloaded_paths[filename] = file_path\r\n                except Exception as e:\r\n                    my_cprint(f\"Error downloading {filename}: {e}\", \"red\")\r\n                    raise\r\n\r\n            checkpoint_info = self.create_checkpoint_info_from_cache(\r\n                downloaded_paths, raw_config, weight_files\r\n            )\r\n\r\n            self.tts_model = TTSModel.from_checkpoint_info(\r\n                checkpoint_info,\r\n                n_q=n_q,\r\n                temp=temp,\r\n                device=torch.device(self.device),\r\n            )\r\n\r\n            my_cprint(f\"Kyutai model loaded successfully! ({hf_repo}, n_q: {n_q})\", \"green\")\r\n\r\n            self.setup_voice_conditioning()\r\n\r\n        except Exception as e:\r\n            my_cprint(f\"Error initializing Kyutai model: {str(e)}\", \"red\")\r\n            raise\r\n\r\n    def setup_voice_conditioning(self):\r\n        if not self.tts_model.multi_speaker:\r\n            my_cprint(\r\n                \"This Kyutai model is single-speaker and does not accept voice \"\r\n                \"conditioning; voice may drift between sentences.\", \"yellow\"\r\n            )\r\n            self.condition_attributes = self.tts_model.make_condition_attributes([], cfg_coef=None)\r\n            return\r\n\r\n        try:\r\n            voice_name = self.config.get('voice', 'expresso/ex03-ex01_happy_001_channel1_334s.wav')\r\n            cfg_coef = self.config.get('cfg_coef', 2.0)\r\n            if not self.tts_model.valid_cfg_conditionings:\r\n                cfg_coef = None\r\n\r\n            voice_path = self.tts_model.get_voice_path(voice_name)\r\n            self.condition_attributes = self.tts_model.make_condition_attributes([voice_path], cfg_coef=cfg_coef)\r\n\r\n            voice_display = self.config.get('voice_display_name', 'Happy Male')\r\n            my_cprint(f\"Voice conditioning loaded: {voice_display}\", \"green\")\r\n\r\n        except Exception as voice_error:\r\n            my_cprint(f\"Voice loading failed: {voice_error}\", \"yellow\")\r\n            my_cprint(\"Using model without voice conditioning\", \"yellow\")\r\n            self.condition_attributes = self.tts_model.make_condition_attributes([], cfg_coef=None)\r\n\r\n    @torch.inference_mode()\r\n    def generate_speech_for_sentence(self, sentence):\r\n        try:\r\n            entries = self.tts_model.prepare_script([sentence], padding_between=1)\r\n\r\n            pcms = []\r\n            def on_frame(frame):\r\n                if (frame != -1).all():\r\n                    pcm = self.tts_model.mimi.decode(frame[:, 1:, :]).cpu().numpy()\r\n                    pcms.append(np.clip(pcm[0, 0], -1, 1))\r\n\r\n            all_entries = [entries]\r\n            all_condition_attributes = [self.condition_attributes]\r\n\r\n            with self.tts_model.mimi.streaming(len(all_entries)):\r\n                result = self.tts_model.generate(all_entries, all_condition_attributes, on_frame=on_frame)\r\n\r\n            if pcms:\r\n                audio = np.concatenate(pcms, axis=-1)\r\n                return audio\r\n            else:\r\n                return None\r\n\r\n        except Exception as e:\r\n            return None\r\n\r\n    @torch.inference_mode()\r\n    def process_text_to_audio(self, sentences):\r\n        for sentence in tqdm(sentences, desc=\"Processing Sentences\"):\r\n            if not sentence.strip() or self.stop_event.is_set():\r\n                continue\r\n\r\n            try:\r\n                audio = self.generate_speech_for_sentence(sentence.strip())\r\n\r\n                if audio is not None:\r\n                    self.audio_queue.put((audio, self.tts_model.mimi.sample_rate))\r\n                else:\r\n                    print(\"Failed to generate audio for sentence\")\r\n\r\n            except Exception as e:\r\n                print(f\"Error processing sentence: {str(e)}\")\r\n                continue\r\n\r\n        self.audio_queue.put(None)\r\n\r\n\r\nclass KyutaiPocketAudio(BaseAudio):\r\n    REQUIRED_PACKAGES = {\r\n        \"pocket_tts\": \"2.0.0\"\r\n    }\r\n\r\n    def __init__(self):\r\n        super().__init__()\r\n\r\n        from core.utilities import check_and_install_dependencies\r\n\r\n        if not check_and_install_dependencies(\r\n            self.REQUIRED_PACKAGES,\r\n            backend_name=\"Kyutai Pocket\"\r\n        ):\r\n            raise RuntimeError(\"Kyutai Pocket dependencies not available\")\r\n\r\n        self.load_config('config.yaml', 'kyutaipocket')\r\n        self.device = 'cpu'\r\n        self.initialize_model()\r\n\r\n    def initialize_model(self):\r\n        try:\r\n            from pocket_tts import TTSModel\r\n\r\n            language = self.config.get('language', 'english')\r\n            voice = self.config.get('voice', 'alba')\r\n            quantize = self.config.get('quantize', True)\r\n            temp = self.config.get('temp', 0.7)\r\n\r\n            my_cprint(f\"Loading Kyutai Pocket TTS model (language={language}, quantize={quantize})...\", \"yellow\")\r\n\r\n            self.tts_model = TTSModel.load_model(\r\n                language=language,\r\n                temp=temp,\r\n                quantize=quantize,\r\n            )\r\n            self.sample_rate = self.tts_model.sample_rate\r\n\r\n            my_cprint(f\"Loading voice: {voice}\", \"yellow\")\r\n            self.voice_state = self.tts_model.get_state_for_audio_prompt(voice)\r\n\r\n            my_cprint(f\"Kyutai Pocket model loaded successfully! (voice: {voice})\", \"green\")\r\n\r\n        except Exception as e:\r\n            my_cprint(f\"Error initializing Kyutai Pocket model: {str(e)}\", \"red\")\r\n            raise\r\n\r\n    # Note: do NOT wrap these in @torch.inference_mode(). Pocket-TTS mutates the\r\n    # pre-computed voice_state in place on every generate_audio call, and tensors\r\n    # created outside inference_mode cannot be inplace-modified inside it.\r\n    # The library handles its own @torch.no_grad internally.\r\n    def generate_speech_for_sentence(self, sentence):\r\n        try:\r\n            audio = self.tts_model.generate_audio(self.voice_state, sentence)\r\n            if isinstance(audio, torch.Tensor):\r\n                audio_np = audio.cpu().numpy()\r\n            else:\r\n                audio_np = np.array(audio)\r\n            if audio_np.ndim > 1:\r\n                audio_np = audio_np.squeeze()\r\n            return audio_np\r\n        except Exception as e:\r\n            print(f\"Pocket-TTS generation failed: {e}\")\r\n            return None\r\n\r\n    def process_text_to_audio(self, sentences):\r\n        for sentence in tqdm(sentences, desc=\"Processing Sentences\"):\r\n            if not sentence.strip() or self.stop_event.is_set():\r\n                continue\r\n\r\n            try:\r\n                audio = self.generate_speech_for_sentence(sentence.strip())\r\n                if audio is not None and len(audio) > 0:\r\n                    self.audio_queue.put((audio, self.sample_rate))\r\n                else:\r\n                    print(\"Failed to generate audio for sentence\")\r\n            except Exception as e:\r\n                print(f\"Error processing sentence: {str(e)}\")\r\n                continue\r\n\r\n        self.audio_queue.put(None)\r\n\r\n\r\ndef run_tts(config_path, input_text_file):\r\n    with open(config_path, 'r', encoding='utf-8') as file:\r\n        config = yaml.safe_load(file)\r\n        tts_model = config.get('tts', {}).get('model', 'bark')\r\n\r\n    if tts_model == 'bark':\r\n        audio_class = BarkAudio()\r\n    elif tts_model == 'whisperspeech':\r\n        audio_class = WhisperSpeechAudio()\r\n    elif tts_model == 'chattts':\r\n        audio_class = ChatTTSAudio()\r\n    elif tts_model == 'googletts':\r\n        audio_class = GoogleTTSAudio()\r\n    elif tts_model == 'chatterbox':\r\n        audio_class = ChatterboxAudio()\r\n    elif tts_model == 'kyutai':\r\n        audio_class = KyutaiAudio()\r\n    elif tts_model == 'kyutaipocket':\r\n        audio_class = KyutaiPocketAudio()\r\n    else:\r\n        raise ValueError(f\"Invalid TTS model specified in config.yaml: {tts_model}\")\r\n\r\n    audio_class.run(input_text_file)\r\n"
  },
  {
    "path": "modules/voice_recorder.py",
    "content": "import tempfile\r\nfrom pathlib import Path\r\n\r\nimport psutil\r\nimport sounddevice as sd\r\nimport numpy as np\r\nimport soundfile as sf\r\nfrom PySide6.QtCore import QThread, Signal\r\n\r\nimport whisper_s2t\r\nfrom core.utilities import my_cprint\r\n\r\ndef get_logical_core_count():\r\n    return psutil.cpu_count(logical=False)\r\n\r\nCPU_THREADS = max(4, get_logical_core_count() - 8)\r\nDEVICE = \"cpu\"\r\nCOMPUTE_TYPE = \"float32\"\r\nMODEL_IDENTIFIER = \"ctranslate2-4you/distil-whisper-small.en-ct2-float32\"\r\n\r\nclass TranscriptionThread(QThread):\r\n    transcription_complete = Signal(str)\r\n\r\n    def __init__(self, audio_file, voice_recorder):\r\n        super().__init__()\r\n        self.audio_file = audio_file\r\n        self.voice_recorder = voice_recorder\r\n\r\n    def run(self):\r\n        transcription_text = \"\"\r\n        try:\r\n            model_kwargs = {\r\n                'compute_type': COMPUTE_TYPE,\r\n                'model_identifier': MODEL_IDENTIFIER,\r\n                \"device\": DEVICE,\r\n                \"cpu_threads\": CPU_THREADS,\r\n            }\r\n            self.model = whisper_s2t.load_model(**model_kwargs)\r\n            my_cprint(\"Whisper model loaded.\", 'green')\r\n\r\n            out = self.model.transcribe_with_vad([self.audio_file],\r\n                                                 lang_codes=['en'],\r\n                                                 tasks=['transcribe'],\r\n                                                 initial_prompts=[None],\r\n                                                 batch_size=4)\r\n\r\n            transcription_text = \" \".join(item['text'] for item in out[0]).strip()\r\n        except Exception as e:\r\n            my_cprint(f\"Transcription error: {e}\", 'red')\r\n            transcription_text = f\"[Transcription failed: {e}]\"\r\n        finally:\r\n            self.transcription_complete.emit(transcription_text)\r\n            try:\r\n                Path(self.audio_file).unlink(missing_ok=True)\r\n            except Exception:\r\n                pass\r\n            if hasattr(self, 'model'):\r\n                del self.model\r\n\r\nclass RecordingThread(QThread):\r\n    def __init__(self, voice_recorder):\r\n        super().__init__()\r\n        self.voice_recorder = voice_recorder\r\n\r\n    def run(self):\r\n        self.voice_recorder.record_audio()\r\n\r\nclass VoiceRecorder:\r\n    def __init__(self, gui_instance, channels=1, rate=16000, chunk=1024):\r\n        self.gui_instance = gui_instance\r\n        self.channels, self.rate, self.chunk = channels, rate, chunk\r\n        self.is_recording, self.frames = False, []\r\n        self.recording_thread = None\r\n        self.transcription_thread = None\r\n\r\n    def record_audio(self):\r\n        def callback(indata, frames, time, status):\r\n            if status:\r\n                print(status)\r\n            self.frames.append(indata.copy())\r\n\r\n        try:\r\n            with sd.InputStream(samplerate=self.rate, channels=self.channels, \r\n                              callback=callback, blocksize=self.chunk):\r\n                while self.is_recording:\r\n                    sd.sleep(100)\r\n        except sd.PortAudioError as e:\r\n            my_cprint(f\"Audio recording error: {str(e)}\", 'red')\r\n            self.is_recording = False\r\n            self.gui_instance.update_transcription(\"Error: Failed to access microphone\")\r\n\r\n    def save_audio(self):\r\n        self.is_recording = False\r\n        if not self.frames:\r\n            my_cprint(\"No audio data recorded.\", 'yellow')\r\n            return\r\n\r\n        with tempfile.NamedTemporaryFile(suffix=\".wav\", delete=False) as f:\r\n            temp_file = Path(f.name)\r\n        audio_data = np.concatenate(self.frames, axis=0)\r\n        sf.write(str(temp_file), audio_data, self.rate)\r\n        self.frames.clear()\r\n\r\n        if temp_file.stat().st_size < 1024:\r\n            my_cprint(\"Recording too short, discarding.\", 'yellow')\r\n            temp_file.unlink()\r\n            return\r\n\r\n        self.transcription_thread = TranscriptionThread(str(temp_file), self)\r\n        self.transcription_thread.transcription_complete.connect(self.gui_instance.update_transcription)\r\n        self.transcription_thread.start()\r\n\r\n    def start_recording(self):\r\n        if not self.is_recording:\r\n            self.is_recording = True\r\n            self.recording_thread = RecordingThread(self)\r\n            self.recording_thread.start()\r\n\r\n    def stop_recording(self):\r\n        self.is_recording = False\r\n        if self.recording_thread is not None:\r\n            self.recording_thread.wait()\r\n            self.save_audio()\r\n\r\n"
  },
  {
    "path": "setup_windows.py",
    "content": "import os\r\nimport subprocess\r\nimport sys\r\n\r\ncache_dir = os.path.join(\r\n    os.environ.get(\"USERPROFILE\", os.path.expanduser(\"~\")),\r\n    \".triton\"\r\n)\r\n\r\nif os.path.isdir(cache_dir):\r\n    print(f\"\\nRemoving Triton cache at {cache_dir} via OS command…\")\r\n    subprocess.run(f'rmdir /S /Q \"{cache_dir}\"', shell=True, check=False)\r\n    print(\"Triton cache removed.\\n\")\r\nelse:\r\n    print(\"\\nNo Triton cache found to clean.\\n\")\r\n\r\nimport subprocess\r\nimport time\r\nimport tkinter as tk\r\nfrom tkinter import messagebox\r\nfrom tools.replace_sourcecode import (\r\n    replace_sentence_transformer_file,\r\n    replace_chattts_file,\r\n    add_cuda_files,\r\n    setup_vector_db,\r\n    check_embedding_model_dimensions,\r\n)\r\n\r\nfrom core.constants import priority_libs, libs, full_install_libs\r\n\r\nstart_time = time.time()\r\n\r\ndef has_nvidia_gpu():\r\n    try:\r\n        result = subprocess.run(\r\n            [\"nvidia-smi\"],\r\n            stdout=subprocess.PIPE,\r\n            stderr=subprocess.PIPE\r\n        )\r\n        return result.returncode == 0\r\n    except FileNotFoundError:\r\n        return False\r\n\r\npython_version = f\"cp{sys.version_info.major}{sys.version_info.minor}\"\r\n\r\nhardware_type = \"GPU\" if has_nvidia_gpu() else \"CPU\"\r\n\r\ndef tkinter_message_box(title, message, type=\"info\", yes_no=False):\r\n    root = tk.Tk()\r\n    root.withdraw()\r\n    if yes_no:\r\n        result = messagebox.askyesno(title, message)\r\n    elif type == \"error\":\r\n        messagebox.showerror(title, message)\r\n        result = False\r\n    else:\r\n        messagebox.showinfo(title, message)\r\n        result = True\r\n    root.destroy()\r\n    return result\r\n\r\ndef check_python_version_and_confirm():\r\n    major, minor = map(int, sys.version.split()[0].split('.')[:2])\r\n    if major == 3 and minor in [11, 12, 13]:\r\n        return tkinter_message_box(\r\n            \"Confirmation\",\r\n            f\"Python version {sys.version.split()[0]} was detected, which is compatible.\\n\\nClick YES to proceed or NO to exit.\",\r\n            yes_no=True\r\n        )\r\n    else:\r\n        tkinter_message_box(\r\n            \"Python Version Error\",\r\n            \"This program requires Python 3.11, 3.12 or 3.13\\n\\nPython versions prior to 3.11 or after 3.14 are not yet supported.\\n\\nExiting the installer...\",\r\n            type=\"error\"\r\n        )\r\n        return False\r\n\r\ndef is_nvidia_gpu_installed():\r\n    try:\r\n        subprocess.check_output([\"nvidia-smi\"])\r\n        return True\r\n    except (FileNotFoundError, subprocess.CalledProcessError):\r\n        return False\r\n\r\ndef manual_installation_confirmation():\r\n    if not tkinter_message_box(\"Confirmation\", \"Have you installed Git?\\n\\nClick YES to confirm or NO to cancel installation.\", yes_no=True):\r\n        return False\r\n    if not tkinter_message_box(\"Confirmation\", \"Have you installed Git Large File Storage?\\n\\nClick YES to confirm or NO to cancel installation.\", yes_no=True):\r\n        return False\r\n    if not tkinter_message_box(\"Confirmation\", \"Have you installed Pandoc?\\n\\nClick YES to confirm or NO to cancel installation.\", yes_no=True):\r\n        return False\r\n    if not tkinter_message_box(\"Confirmation\", \"Have you installed Microsoft Build Tools and/or Visual Studio with the necessary libraries to compile code?\\n\\nClick YES to confirm or NO to cancel installation.\", yes_no=True):\r\n        return False\r\n    return True\r\n\r\nif not check_python_version_and_confirm():\r\n    sys.exit(1)\r\n\r\nnvidia_gpu_detected = is_nvidia_gpu_installed()\r\nif nvidia_gpu_detected:\r\n    message = \"An NVIDIA GPU has been detected.\\n\\nDo you want to proceed with the installation?\"\r\nelse:\r\n    message = \"No NVIDIA GPU has been detected. An NVIDIA GPU is required for this script to function properly.\\n\\nDo you still want to proceed with the installation?\"\r\n\r\nif not tkinter_message_box(\"GPU Detection\", message, yes_no=True):\r\n    sys.exit(1)\r\n\r\nif not manual_installation_confirmation():\r\n    sys.exit(1)\r\n\r\ndef upgrade_pip_setuptools_wheel(max_retries=5, delay=3):\r\n    upgrade_commands = [\r\n        [sys.executable, \"-m\", \"pip\", \"install\", \"--upgrade\", \"pip\", \"--no-cache-dir\"],\r\n        [sys.executable, \"-m\", \"pip\", \"install\", \"--upgrade\", \"setuptools\", \"--no-cache-dir\"],\r\n        [sys.executable, \"-m\", \"pip\", \"install\", \"--upgrade\", \"wheel\", \"--no-cache-dir\"]\r\n    ]\r\n\r\n    for command in upgrade_commands:\r\n        package = command[5]\r\n        for attempt in range(max_retries):\r\n            try:\r\n                print(f\"\\nAttempt {attempt + 1} of {max_retries}: Upgrading {package}...\")\r\n                subprocess.run(command, check=True, capture_output=True, text=True, timeout=480)\r\n                print(f\"\\033[92mSuccessfully upgraded {package}\\033[0m\")\r\n                break\r\n            except subprocess.CalledProcessError as e:\r\n                print(f\"Attempt {attempt + 1} failed. Error: {e.stderr.strip()}\")\r\n                if attempt < max_retries - 1:\r\n                    print(f\"Retrying in {delay} seconds...\")\r\n                    time.sleep(delay)\r\n                else:\r\n                    print(f\"Failed to upgrade {package} after {max_retries} attempts.\")\r\n            except Exception as e:\r\n                print(f\"An unexpected error occurred while upgrading {package}: {str(e)}\")\r\n                if attempt < max_retries - 1:\r\n                    print(f\"Retrying in {delay} seconds...\")\r\n                    time.sleep(delay)\r\n                else:\r\n                    print(f\"Failed to upgrade {package} after {max_retries} attempts due to unexpected errors.\")\r\n\r\ndef pip_install(library, with_deps=False, max_retries=5, delay=3):\r\n    pip_args = [\"uv\", \"pip\", \"install\", library]\r\n    if not with_deps:\r\n        pip_args.append(\"--no-deps\")\r\n\r\n    for attempt in range(max_retries):\r\n        try:\r\n            print(f\"\\nAttempt {attempt + 1} of {max_retries}: Installing {library}{' with dependencies' if with_deps else ''}\")\r\n            subprocess.run(pip_args, check=True, capture_output=True, text=True, timeout=600)\r\n            print(f\"\\033[92mSuccessfully installed {library}{' with dependencies' if with_deps else ''}\\033[0m\")\r\n            return attempt + 1\r\n        except subprocess.CalledProcessError as e:\r\n            print(f\"Attempt {attempt + 1} failed. Error: {e.stderr.strip()}\")\r\n            if attempt < max_retries - 1:\r\n                print(f\"Retrying in {delay} seconds...\")\r\n                time.sleep(delay)\r\n            else:\r\n                print(f\"Failed to install {library} after {max_retries} attempts.\")\r\n                return 0\r\n\r\ndef install_libraries(libraries):\r\n    failed_installations = []\r\n    multiple_attempts = []\r\n\r\n    for library in libraries:\r\n        attempts = pip_install(library)\r\n        if attempts == 0:\r\n            failed_installations.append(library)\r\n        elif attempts > 1:\r\n            multiple_attempts.append((library, attempts))\r\n        time.sleep(0.1)\r\n\r\n    return failed_installations, multiple_attempts\r\n\r\ndef install_libraries_with_deps(libraries):\r\n    failed_installations = []\r\n    multiple_attempts = []\r\n\r\n    for library in libraries:\r\n        attempts = pip_install(library, with_deps=True)\r\n        if attempts == 0:\r\n            failed_installations.append(library)\r\n        elif attempts > 1:\r\n            multiple_attempts.append((library, attempts))\r\n        time.sleep(0.1)\r\n\r\n    return failed_installations, multiple_attempts\r\n\r\nprint(\"Upgrading pip, setuptools, and wheel:\")\r\nupgrade_pip_setuptools_wheel()\r\n\r\nprint(\"Installing uv:\")\r\nsubprocess.run([\"pip\", \"install\", \"uv\"], check=True)\r\n\r\nprint(\"\\nInstalling priority libraries:\")\r\ntry:\r\n    hardware_specific_libs = priority_libs[python_version][hardware_type]\r\n\r\n    try:\r\n        common_libs = priority_libs[python_version][\"COMMON\"]\r\n    except KeyError:\r\n        common_libs = []\r\n\r\n    all_priority_libs = hardware_specific_libs + common_libs\r\n\r\n    priority_failed, priority_multiple = install_libraries(all_priority_libs)\r\nexcept KeyError:\r\n    tkinter_message_box(\"Version Error\", f\"No libraries configured for Python {python_version} with {hardware_type} configuration\", type=\"error\")\r\n    sys.exit(1)\r\n\r\nprint(\"\\nInstalling other libraries:\")\r\nother_failed, other_multiple = install_libraries(libs)\r\n\r\nprint(\"\\nInstalling libraries with dependencies:\")\r\nfull_install_failed, full_install_multiple = install_libraries_with_deps(full_install_libs)\r\n\r\nprint(\"\\n----- Installation Summary -----\")\r\n\r\nall_failed = priority_failed + other_failed + full_install_failed\r\nall_multiple = priority_multiple + other_multiple + full_install_multiple\r\n\r\nif all_failed:\r\n    print(\"\\033[91m\\nThe following libraries failed to install:\\033[0m\")\r\n    for lib in all_failed:\r\n        print(f\"\\033[91m- {lib}\\033[0m\")\r\n\r\nif all_multiple:\r\n    print(\"\\033[93m\\nThe following libraries required multiple attempts to install:\\033[0m\")\r\n    for lib, attempts in all_multiple:\r\n        print(f\"\\033[93m- {lib} (took {attempts} attempts)\\033[0m\")\r\n\r\nif not all_failed and not all_multiple:\r\n    print(\"\\033[92mAll libraries installed successfully on the first attempt.\\033[0m\")\r\nelif not all_failed:\r\n    print(\"\\033[92mAll libraries were eventually installed successfully.\\033[0m\")\r\n\r\nif all_failed:\r\n    sys.exit(1)\r\n\r\nfrom core.utilities import clean_triton_cache\r\nclean_triton_cache()\r\n\r\nreplace_sentence_transformer_file()\r\nreplace_chattts_file()\r\nadd_cuda_files()\r\nsetup_vector_db()\r\ncheck_embedding_model_dimensions()\r\n\r\ndef create_directory_structure():\r\n    base_dir = os.path.dirname(os.path.abspath(__file__))\r\n    models_dir = os.path.join(base_dir, \"Models\")\r\n    subdirs = [\"chat\", \"tts\", \"vector\", \"vision\", \"whisper\"]\r\n\r\n    if not os.path.exists(models_dir):\r\n        os.makedirs(models_dir)\r\n        print(f\"Created Models directory: {models_dir}\")\r\n\r\n    for subdir in subdirs:\r\n        subdir_path = os.path.join(models_dir, subdir)\r\n        os.makedirs(subdir_path, exist_ok=True)\r\n        print(f\"Ensured subdirectory exists: {subdir_path}\")\r\n\r\ncreate_directory_structure()\r\n\r\ndef update_config_yaml():\r\n    import yaml\r\n    script_dir = os.path.dirname(os.path.abspath(__file__))\r\n    config_path = os.path.join(script_dir, 'config.yaml')\r\n\r\n    with open(config_path, 'r', encoding='utf-8') as file:\r\n        config = yaml.safe_load(file) or {}\r\n\r\n    vector_model_path = os.path.join(script_dir, 'Models', 'vector', 'BAAI--bge-small-en-v1.5')\r\n\r\n    if 'created_databases' not in config:\r\n        config['created_databases'] = {}\r\n\r\n    config['created_databases']['user_manual'] = {\r\n        'chunk_overlap': 599,\r\n        'chunk_size': 1200,\r\n        'model': vector_model_path\r\n    }\r\n\r\n    if 'openai' not in config:\r\n        config['openai'] = {}\r\n\r\n    if 'api_key' not in config['openai']:\r\n        config['openai']['api_key'] = ''\r\n    if 'model' not in config['openai']:\r\n        config['openai']['model'] = 'gpt-4o-mini'\r\n    if 'reasoning_effort' not in config['openai']:\r\n        config['openai']['reasoning_effort'] = 'medium'\r\n\r\n    if 'server' not in config:\r\n        config['server'] = {}\r\n\r\n    if 'api_key' not in config['server']:\r\n        config['server']['api_key'] = ''\r\n    if 'connection_str' not in config['server']:\r\n        config['server']['connection_str'] = 'http://localhost:1234/v1'\r\n    if 'show_thinking' not in config['server']:\r\n        config['server']['show_thinking'] = 'medium'\r\n\r\n    server_allowed_keys = {'api_key', 'connection_str', 'show_thinking'}\r\n    server_keys = list(config['server'].keys())\r\n    for key in server_keys:\r\n        if key not in server_allowed_keys:\r\n            del config['server'][key]\r\n    if 'chatterbox' not in config:\r\n        config['chatterbox'] = {\r\n            'device': 'auto'\r\n        }\r\n\r\n    if 'minimax' not in config:\r\n        config['minimax'] = {}\r\n\r\n    if 'api_key' not in config['minimax']:\r\n        config['minimax']['api_key'] = None\r\n    if 'model' not in config['minimax']:\r\n        config['minimax']['model'] = 'MiniMax-M2.7'\r\n\r\n    with open(config_path, 'w', encoding='utf-8') as file:\r\n        yaml.dump(config, file, default_flow_style=False)\r\n\r\nupdate_config_yaml()\r\n\r\nend_time = time.time()\r\ntotal_time = end_time - start_time\r\nhours, rem = divmod(total_time, 3600)\r\nminutes, seconds = divmod(rem, 60)\r\n\r\nprint(f\"\\033[92m\\nTotal installation time: {int(hours):02d}:{int(minutes):02d}:{seconds:05.2f}\\033[0m\")\r\n"
  },
  {
    "path": "tools/__init__.py",
    "content": ""
  },
  {
    "path": "tools/check_packages.py",
    "content": "import importlib.util\r\nimport importlib.metadata\r\nimport sys\r\nimport urllib.request\r\nimport json\r\nimport subprocess\r\nfrom PySide6.QtWidgets import (\r\n    QApplication, QMainWindow, QWidget, QVBoxLayout,\r\n    QHBoxLayout, QLineEdit, QPushButton, QTableWidget,\r\n    QTableWidgetItem, QLabel, QMessageBox, QProgressBar, \r\n    QMenu, QFileDialog, QDialog, QHeaderView, QScrollArea,\r\n    QCheckBox\r\n)\r\nfrom PySide6.QtCore import Qt, QObject, QThread, Signal, QPoint\r\n\r\nfrom packaging import version\r\n\r\n\r\ndef _get_latest_version(package_name):\r\n    url = f\"https://pypi.org/pypi/{package_name}/json\"\r\n    try:\r\n        with urllib.request.urlopen(url, timeout=10) as response:\r\n            if response.status != 200:\r\n                raise Exception(f\"PyPI returned status code {response.status}\")\r\n            return json.load(response)['info']['version']\r\n    except urllib.error.URLError as e:\r\n        raise Exception(f\"Network error: {str(e)}\")\r\n    except TimeoutError:\r\n        raise Exception(\"Connection timed out\")\r\n    except json.JSONDecodeError:\r\n        raise Exception(\"Invalid response from PyPI\")\r\n    except Exception as e:\r\n        raise Exception(f\"Error fetching version: {str(e)}\")\r\n\r\n\r\nclass OutdatedPackagesWorker(QObject):\r\n    finished = Signal(list)\r\n    error = Signal(str)\r\n    def run(self):\r\n        try:\r\n            installed_packages = list(importlib.metadata.distributions())\r\n            outdated_packages = []\r\n            for dist in installed_packages:\r\n                name = dist.metadata['Name']\r\n                version_installed = dist.version\r\n                latest_version = _get_latest_version(name)\r\n                if latest_version and version.parse(latest_version) > version.parse(version_installed):\r\n                    outdated_packages.append((name, version_installed, latest_version))\r\n            self.finished.emit(outdated_packages)\r\n        except Exception as e:\r\n            self.error.emit(str(e))\r\n\r\nclass VersionsWorker(QObject):\r\n    finished = Signal(list)\r\n    error = Signal(str)\r\n    def __init__(self, package_name):\r\n        super().__init__()\r\n        self.package_name = package_name\r\n    def run(self):\r\n        try:\r\n            versions = self.get_all_versions(self.package_name)\r\n            self.finished.emit(versions)\r\n        except Exception as e:\r\n            self.error.emit(str(e))\r\n    def get_all_versions(self, package_name):\r\n        url = f\"https://pypi.org/pypi/{package_name}/json\"\r\n        versions = []\r\n        try:\r\n            with urllib.request.urlopen(url, timeout=10) as response:\r\n                if response.status != 200:\r\n                    raise Exception(f\"PyPI returned status code {response.status}\")\r\n                data = json.load(response)\r\n                for ver, release_info in data['releases'].items():\r\n                    if release_info:\r\n                        release_date = release_info[0].get('upload_time', 'N/A')\r\n                        versions.append((ver, release_date))\r\n                versions = sorted(versions, key=lambda v: version.parse(v[0]))\r\n        except urllib.error.URLError as e:\r\n            raise Exception(f\"Network error: {str(e)}\")\r\n        except TimeoutError:\r\n            raise Exception(\"Connection timed out\")\r\n        except json.JSONDecodeError:\r\n            raise Exception(\"Invalid response from PyPI\")\r\n        except Exception as e:\r\n            raise Exception(f\"Error fetching versions: {str(e)}\")\r\n        return versions\r\n\r\nclass PipWorker(QObject):\r\n    finished = Signal(str)\r\n    error = Signal(str)\r\n    def __init__(self, package_name, selected_version):\r\n        super().__init__()\r\n        self.package_name = package_name\r\n        self.selected_version = selected_version\r\n    def run(self):\r\n        try:\r\n            command = [sys.executable, \"-m\", \"pip\", \"install\", f\"{self.package_name}=={self.selected_version}\", \"--no-deps\"]\r\n            process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)\r\n            stdout, stderr = process.communicate()\r\n            if process.returncode == 0:\r\n                self.finished.emit(stdout)\r\n            else:\r\n                self.error.emit(stderr)\r\n        except Exception as e:\r\n            self.error.emit(str(e))\r\n\r\nclass ImportWorker(QObject):\r\n    finished = Signal(str)\r\n    error = Signal(str)\r\n    def __init__(self, packages):\r\n        super().__init__()\r\n        self.packages = packages\r\n    def run(self):\r\n        try:\r\n            for package, version_installed in self.packages:\r\n                command = [sys.executable, \"-m\", \"pip\", \"install\", f\"{package}=={version_installed}\", \"--no-deps\"]\r\n                process = subprocess.run(command, capture_output=True, text=True)\r\n                if process.returncode != 0:\r\n                    raise Exception(f\"Failed to install {package}=={version_installed}:\\n{process.stderr}\")\r\n            self.finished.emit(\"Import operation completed.\")\r\n        except Exception as e:\r\n            self.error.emit(str(e))\r\n\r\nclass LatestVersionWorker(QObject):\r\n    finished = Signal(str)\r\n    error = Signal(str)\r\n    def __init__(self, package_name):\r\n        super().__init__()\r\n        self.package_name = package_name\r\n    def run(self):\r\n        try:\r\n            latest_version = _get_latest_version(self.package_name)\r\n            self.finished.emit(latest_version)\r\n        except Exception as e:\r\n            self.error.emit(str(e))\r\n\r\nclass CompareDependenciesDialog(QDialog):\r\n    def __init__(self, parent, package_name, current_version, latest_version, current_deps, latest_deps):\r\n        super().__init__(parent)\r\n        self.setWindowTitle(f\"Dependency Comparison - {package_name}\")\r\n        self.setMinimumWidth(600)\r\n        self.setFixedHeight(600)\r\n        self.package_name = package_name\r\n        self.current_version = current_version\r\n        self.latest_version = latest_version\r\n        self.current_deps_full = current_deps\r\n        self.latest_deps_full = latest_deps\r\n        self.hide_extras = True\r\n\r\n        self.main_layout = QVBoxLayout(self)\r\n\r\n        version_layout = QVBoxLayout()\r\n        version_layout.addWidget(QLabel(f\"<b>Current Version:</b> {self.current_version}\"))\r\n        version_layout.addWidget(QLabel(f\"<b>Latest Version:</b> {self.latest_version}\"))\r\n        version_layout.addWidget(QLabel(\"<b>Dependencies:</b>\"))\r\n        self.main_layout.addLayout(version_layout)\r\n\r\n        self.hide_extras_checkbox = QCheckBox(\"Hide Extra Dependencies\")\r\n        self.hide_extras_checkbox.stateChanged.connect(self.update_display)\r\n        self.main_layout.addWidget(self.hide_extras_checkbox)\r\n\r\n        self.deps_layout = QHBoxLayout()\r\n        self.main_layout.addLayout(self.deps_layout)\r\n\r\n        self.current_scroll_area = QScrollArea()\r\n        self.current_scroll_area.setWidgetResizable(True)\r\n        self.current_scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)\r\n        self.current_widget = QWidget()\r\n        self.current_layout = QVBoxLayout(self.current_widget)\r\n        self.current_label = QLabel()\r\n        self.current_label.setTextInteractionFlags(Qt.TextSelectableByMouse)\r\n        self.current_label.setStyleSheet(\"background-color: #2E2E2E; padding: 10px; color: white;\")\r\n        self.current_label.setWordWrap(True)\r\n        self.current_layout.addWidget(self.current_label)\r\n        self.current_layout.addStretch()\r\n        self.current_scroll_area.setWidget(self.current_widget)\r\n        self.current_scroll_area.setMinimumHeight(200)\r\n        self.deps_layout.addWidget(self.current_scroll_area)\r\n\r\n        self.latest_scroll_area = QScrollArea()\r\n        self.latest_scroll_area.setWidgetResizable(True)\r\n        self.latest_scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)\r\n        self.latest_widget = QWidget()\r\n        self.latest_layout = QVBoxLayout(self.latest_widget)\r\n        self.latest_label = QLabel()\r\n        self.latest_label.setTextInteractionFlags(Qt.TextSelectableByMouse)\r\n        self.latest_label.setStyleSheet(\"background-color: #2E2E2E; padding: 10px; color: white;\")\r\n        self.latest_label.setWordWrap(True)\r\n        self.latest_layout.addWidget(self.latest_label)\r\n        self.latest_layout.addStretch()\r\n        self.latest_scroll_area.setWidget(self.latest_widget)\r\n        self.latest_scroll_area.setMinimumHeight(200)\r\n        self.deps_layout.addWidget(self.latest_scroll_area)\r\n\r\n        self.changes_scroll = QScrollArea()\r\n        self.changes_scroll.setWidgetResizable(True)\r\n        self.changes_scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)\r\n        self.changes_widget = QWidget()\r\n        self.changes_layout = QVBoxLayout(self.changes_widget)\r\n\r\n        self.changes_title = QLabel(\"<b>Changes:</b>\")\r\n        self.changes_title.setStyleSheet(\"font-weight: bold;\")\r\n        self.changes_layout.addWidget(self.changes_title)\r\n\r\n        self.added_label = QLabel()\r\n        self.added_label.setTextInteractionFlags(Qt.TextSelectableByMouse)\r\n        self.added_label.setWordWrap(True)\r\n        self.added_label.setStyleSheet(\"padding: 5px;\")\r\n        self.removed_label = QLabel()\r\n        self.removed_label.setTextInteractionFlags(Qt.TextSelectableByMouse)\r\n        self.removed_label.setWordWrap(True)\r\n        self.removed_label.setStyleSheet(\"padding: 5px;\")\r\n\r\n        self.changes_layout.addWidget(self.added_label)\r\n        self.changes_layout.addWidget(self.removed_label)\r\n\r\n        self.changes_layout.addStretch()\r\n        self.changes_scroll.setWidget(self.changes_widget)\r\n        self.main_layout.addWidget(self.changes_scroll)\r\n\r\n        self.update_display()\r\n\r\n    def update_display(self):\r\n        self.hide_extras = self.hide_extras_checkbox.isChecked()\r\n        filtered_current_deps = self.filter_extras(self.current_deps_full)\r\n        filtered_latest_deps = self.filter_extras(self.latest_deps_full)\r\n\r\n        if filtered_current_deps:\r\n            current_text = \"\\n\".join(filtered_current_deps)\r\n        else:\r\n            current_text = \"No dependencies found.\"\r\n        self.current_label.setText(f\"<b>Current:</b>\\n{current_text}\")\r\n\r\n        if filtered_latest_deps:\r\n            latest_text = \"\\n\".join(filtered_latest_deps)\r\n        else:\r\n            latest_text = \"No dependencies found.\"\r\n        self.latest_label.setText(f\"<b>Latest:</b>\\n{latest_text}\")\r\n\r\n        added = set(filtered_latest_deps) - set(filtered_current_deps)\r\n        removed = set(filtered_current_deps) - set(filtered_latest_deps)\r\n\r\n        if added:\r\n            added_text = \"<b>Added:</b> \" + \", \".join(sorted(added))\r\n            self.added_label.setText(added_text)\r\n            self.added_label.setVisible(True)\r\n        else:\r\n            self.added_label.setText(\"\")\r\n            self.added_label.setVisible(False)\r\n\r\n        if removed:\r\n            removed_text = \"<b>Removed:</b> \" + \", \".join(sorted(removed))\r\n            self.removed_label.setText(removed_text)\r\n            self.removed_label.setVisible(True)\r\n        else:\r\n            self.removed_label.setText(\"\")\r\n            self.removed_label.setVisible(False)\r\n\r\n        if not added and not removed:\r\n            self.changes_title.setText(\"<b>Changes:</b>\")\r\n            self.added_label.setText(\"No changes in dependencies.\")\r\n            self.removed_label.setText(\"\")\r\n            self.added_label.setVisible(True)\r\n        else:\r\n            self.changes_title.setText(\"<b>Changes:</b>\")\r\n\r\n    def filter_extras(self, deps):\r\n        if not self.hide_extras:\r\n            return deps\r\n        filtered = [dep for dep in deps if 'extra' not in dep.lower()]\r\n        return filtered\r\n\r\nclass PackageChecker(QMainWindow):\r\n    def __init__(self):\r\n        super().__init__()\r\n        self.setWindowTitle(\"Python Package Checker\")\r\n        self.setMinimumSize(800, 1200)\r\n        central_widget = QWidget()\r\n        self.setCentralWidget(central_widget)\r\n        layout = QVBoxLayout(central_widget)\r\n        search_layout = QHBoxLayout()\r\n        self.search_input = QLineEdit()\r\n        self.search_input.setPlaceholderText(\"Enter package name...\")\r\n        search_layout.addWidget(self.search_input)\r\n        self.check_button = QPushButton(\"Check Package\")\r\n        search_layout.addWidget(self.check_button)\r\n        self.check_all_button = QPushButton(\"Check All\")\r\n        search_layout.addWidget(self.check_all_button)\r\n        self.check_outdated_button = QPushButton(\"Check Outdated\")\r\n        search_layout.addWidget(self.check_outdated_button)\r\n        self.export_button = QPushButton(\"Export Requirements\")\r\n        search_layout.addWidget(self.export_button)\r\n        self.import_button = QPushButton(\"Import Requirements\")\r\n        search_layout.addWidget(self.import_button)\r\n        layout.addLayout(search_layout)\r\n        self.progress_bar = QProgressBar()\r\n        self.progress_bar.setRange(0, 0)\r\n        self.progress_bar.setVisible(False)\r\n        layout.addWidget(self.progress_bar)\r\n        self.results_table = QTableWidget()\r\n        self.results_table.setColumnCount(3)\r\n        self.results_table.setHorizontalHeaderLabels([\"Package\", \"Current Version\", \"Latest Version\"])\r\n        header = self.results_table.horizontalHeader()\r\n        header.setSectionResizeMode(0, QHeaderView.Stretch)\r\n        header.setSectionResizeMode(1, QHeaderView.Stretch)\r\n        header.setSectionResizeMode(2, QHeaderView.Stretch)\r\n        self.results_table.setEditTriggers(QTableWidget.NoEditTriggers)\r\n        self.results_table.setSelectionBehavior(QTableWidget.SelectRows)\r\n        self.results_table.setAlternatingRowColors(True)\r\n        self.results_table.setContextMenuPolicy(Qt.CustomContextMenu)\r\n        self.results_table.customContextMenuRequested.connect(self.open_context_menu)\r\n        layout.addWidget(self.results_table)\r\n        self.check_button.clicked.connect(self.check_package)\r\n        self.check_all_button.clicked.connect(self.check_all_packages)\r\n        self.check_outdated_button.clicked.connect(self.check_outdated_packages)\r\n        self.export_button.clicked.connect(self.export_requirements)\r\n        self.import_button.clicked.connect(self.import_requirements)\r\n        self.search_input.returnPressed.connect(self.check_package)\r\n        self.current_mode = None\r\n        self.outdated_packages = []\r\n        self.requires_map = {}\r\n        self.required_by_map = {}\r\n        self.current_thread = None\r\n\r\n    def verify_installation(self, package_name, expected_version):\r\n        try:\r\n            installed_version = importlib.metadata.version(package_name)\r\n            return installed_version == expected_version\r\n        except importlib.metadata.PackageNotFoundError:\r\n            return False\r\n\r\n    def _is_package_available(self, pkg_name: str):\r\n        package_exists = importlib.util.find_spec(pkg_name) is not None\r\n        package_version = \"N/A\"\r\n        if package_exists:\r\n            try:\r\n                package_version = importlib.metadata.version(pkg_name)\r\n            except importlib.metadata.PackageNotFoundError:\r\n                if pkg_name == \"torch\":\r\n                    try:\r\n                        package = importlib.import_module(pkg_name)\r\n                        temp_version = getattr(package, \"__version__\", \"N/A\")\r\n                        if \"dev\" in temp_version:\r\n                            package_version = temp_version\r\n                            package_exists = True\r\n                        else:\r\n                            package_exists = False\r\n                    except ImportError:\r\n                        package_exists = False\r\n                else:\r\n                    package_exists = False\r\n        return package_exists, package_version\r\n\r\n    def check_package(self):\r\n        package_name = self.search_input.text().strip()\r\n        if not package_name:\r\n            self.show_message(\"Input Error\", \"Please enter a package name.\")\r\n            return\r\n        exists, version_installed = self._is_package_available(package_name)\r\n        self.results_table.clearContents()\r\n        self.results_table.setRowCount(0)\r\n        if exists:\r\n            self.results_table.setRowCount(1)\r\n            self.results_table.setItem(0, 0, QTableWidgetItem(package_name))\r\n            self.results_table.setItem(0, 1, QTableWidgetItem(version_installed))\r\n            self.results_table.setItem(0, 2, QTableWidgetItem(\"N/A\"))\r\n            self.set_tooltip_for_package(0, package_name)\r\n        else:\r\n            self.show_message(\"Package Not Found\", f\"Package '{package_name}' is not installed.\")\r\n\r\n    def check_all_packages(self):\r\n        self.current_mode = 'all'\r\n        self.results_table.clearContents()\r\n        self.results_table.setRowCount(0)\r\n        try:\r\n            installed_packages = list(importlib.metadata.distributions())\r\n            installed_packages.sort(key=lambda x: x.metadata['Name'].lower())\r\n            self.requires_map = {}\r\n            self.required_by_map = {}\r\n            package_names = {}\r\n            for dist in installed_packages:\r\n                name = dist.metadata['Name']\r\n                package_names[name.lower()] = name\r\n                requires = dist.requires or []\r\n                self.requires_map[name] = requires\r\n                for req in requires:\r\n                    req_name = req.split()[0]\r\n                    if req_name in self.required_by_map:\r\n                        self.required_by_map[req_name].append(name)\r\n                    else:\r\n                        self.required_by_map[req_name] = [name]\r\n            self.results_table.setRowCount(len(installed_packages))\r\n            for row, dist in enumerate(installed_packages):\r\n                name = dist.metadata['Name']\r\n                version_installed = dist.version\r\n                self.results_table.setItem(row, 0, QTableWidgetItem(name))\r\n                self.results_table.setItem(row, 1, QTableWidgetItem(version_installed))\r\n                self.results_table.setItem(row, 2, QTableWidgetItem(\"N/A\"))\r\n                self.set_tooltip_for_package(row, name)\r\n            self.show_message(\"Check All Complete\", f\"Total packages installed: {len(installed_packages)}\")\r\n        except Exception as e:\r\n            self.show_message(\"Error\", f\"Error while checking packages: {str(e)}\")\r\n        self.results_table.scrollToTop()\r\n\r\n    def check_outdated_packages(self):\r\n        self.current_mode = 'outdated'\r\n        self.results_table.clearContents()\r\n        self.results_table.setRowCount(0)\r\n        self.results_table.setSortingEnabled(False)\r\n        self.progress_bar.setVisible(True)\r\n        self.check_outdated_button.setEnabled(False)\r\n        self.thread = QThread()\r\n        self.worker = OutdatedPackagesWorker()\r\n        self.worker.moveToThread(self.thread)\r\n        self.thread.started.connect(self.worker.run)\r\n        self.worker.finished.connect(self.on_outdated_packages_checked)\r\n        self.worker.error.connect(self.on_worker_error)\r\n        self.worker.finished.connect(self.thread.quit)\r\n        self.worker.finished.connect(self.worker.deleteLater)\r\n        self.worker.error.connect(self.thread.quit)\r\n        self.worker.error.connect(self.worker.deleteLater)\r\n        self.thread.finished.connect(self.thread.deleteLater)\r\n        self.thread.start()\r\n\r\n    def on_outdated_packages_checked(self, outdated_packages):\r\n        self.progress_bar.setVisible(False)\r\n        self.check_outdated_button.setEnabled(True)\r\n        if not outdated_packages:\r\n            self.show_message(\"Up to Date\", \"All packages are up to date!\")\r\n            return\r\n        self.outdated_packages = outdated_packages\r\n        self.requires_map = {}\r\n        self.required_by_map = {}\r\n        for pkg in outdated_packages:\r\n            name = pkg[0]\r\n            try:\r\n                dist = importlib.metadata.distribution(name)\r\n                requires = dist.requires or []\r\n                self.requires_map[name] = requires\r\n                for req in requires:\r\n                    req_name = req.split()[0]\r\n                    if req_name in self.required_by_map:\r\n                        self.required_by_map[req_name].append(name)\r\n                    else:\r\n                        self.required_by_map[req_name] = [name]\r\n            except importlib.metadata.PackageNotFoundError:\r\n                pass\r\n        self.results_table.setRowCount(len(outdated_packages))\r\n        for row, (name, current, latest) in enumerate(outdated_packages):\r\n            self.results_table.setItem(row, 0, QTableWidgetItem(name))\r\n            self.results_table.setItem(row, 1, QTableWidgetItem(current))\r\n            self.results_table.setItem(row, 2, QTableWidgetItem(latest))\r\n            self.set_tooltip_for_package(row, name)\r\n        self.show_message(\"Outdated Packages\", f\"Total outdated packages: {len(outdated_packages)}\")\r\n        self.results_table.setSortingEnabled(True)\r\n        self.results_table.sortItems(0, Qt.AscendingOrder)\r\n        self.results_table.scrollToTop()\r\n\r\n    def compare_dependencies(self, package_name):\r\n        try:\r\n            current_dist = importlib.metadata.distribution(package_name)\r\n            current_version = current_dist.version\r\n            current_requires = current_dist.requires or []\r\n            current_deps = sorted([req for req in current_requires])\r\n\r\n            url = f\"https://pypi.org/pypi/{package_name}/json\"\r\n            with urllib.request.urlopen(url, timeout=10) as response:\r\n                if response.status != 200:\r\n                    raise Exception(f\"PyPI returned status code {response.status}\")\r\n                data = json.load(response)\r\n                latest_version = data['info']['version']\r\n                latest_requires = data['info'].get('requires_dist', []) or []\r\n                latest_deps = sorted([req for req in latest_requires if req])\r\n\r\n            dialog = CompareDependenciesDialog(\r\n                self,\r\n                package_name,\r\n                current_version,\r\n                latest_version,\r\n                current_deps,\r\n                latest_deps\r\n            )\r\n            dialog.exec()\r\n\r\n        except Exception as e:\r\n            self.show_message(\"Error\", f\"Error comparing dependencies: {str(e)}\")\r\n\r\n    def on_worker_error(self, error_message):\r\n        self.progress_bar.setVisible(False)\r\n        self.check_outdated_button.setEnabled(True)\r\n        self.show_message(\"Error\", f\"Error while checking outdated packages: {error_message}\")\r\n\r\n    def open_context_menu(self, position: QPoint):\r\n        selected_row = self.results_table.currentRow()\r\n        if selected_row < 0:\r\n            return\r\n        package_item = self.results_table.item(selected_row, 0)\r\n        if not package_item:\r\n            return\r\n        package_name = package_item.text()\r\n        menu = QMenu(self)\r\n        upgrade_action = menu.addAction(\"Upgrade/Downgrade\")\r\n        upgrade_action.triggered.connect(lambda: self.fetch_versions(package_name, position))\r\n        info_action = menu.addAction(\"View Package Info\")\r\n        info_action.triggered.connect(lambda: self.show_package_info(package_name))\r\n        deps_action = menu.addAction(\"Show Reverse Dependencies\")\r\n        deps_action.triggered.connect(lambda: self.show_reverse_dependencies(package_name))\r\n        compare_deps_action = menu.addAction(\"Compare Dependencies\")\r\n        compare_deps_action.triggered.connect(lambda: self.compare_dependencies(package_name))\r\n        menu.exec(self.results_table.viewport().mapToGlobal(position))\r\n\r\n    def show_reverse_dependencies(self, package_name):\r\n        try:\r\n            command = [\"pipdeptree\", \"--reverse\", \"--packages\", package_name, \"--depth\", \"1\"]\r\n            process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)\r\n            stdout, stderr = process.communicate()\r\n            \r\n            print(\"\\n=== Reverse Dependencies for\", package_name, \"===\")\r\n            print(stdout)\r\n            if stderr:\r\n                print(\"Errors/Warnings:\")\r\n                print(stderr)\r\n            print(\"=====================================\\n\")\r\n        except Exception as e:\r\n            print(f\"Error running pipdeptree: {str(e)}\")\r\n\r\n    def fetch_versions(self, package_name, position):\r\n        self.package_name_to_upgrade = package_name\r\n        self.position_for_menu = position\r\n\r\n        self.thread_versions = QThread()\r\n        self.worker_versions = VersionsWorker(package_name)\r\n        self.worker_versions.moveToThread(self.thread_versions)\r\n        self.thread_versions.started.connect(self.worker_versions.run)\r\n        self.worker_versions.finished.connect(self.on_versions_fetched)\r\n        self.worker_versions.error.connect(self.on_versions_error)\r\n        self.worker_versions.finished.connect(self.thread_versions.quit)\r\n        self.worker_versions.finished.connect(self.worker_versions.deleteLater)\r\n        self.worker_versions.error.connect(self.thread_versions.quit)\r\n        self.worker_versions.error.connect(self.worker_versions.deleteLater)\r\n        self.thread_versions.finished.connect(self.thread_versions.deleteLater)\r\n        self.thread_versions.start()\r\n\r\n    def on_versions_fetched(self, versions):\r\n        self.show_versions_menu(self.package_name_to_upgrade, versions, self.position_for_menu)\r\n\r\n    def show_versions_menu(self, package_name, versions, position):\r\n        if not versions:\r\n            self.show_message(\"No Versions Found\", f\"No available versions found for '{package_name}'.\")\r\n            return\r\n\r\n        menu = QMenu(self)\r\n        for ver, release_date in reversed(versions):\r\n            action_text = f\"{ver} ({release_date})\"\r\n            action = menu.addAction(action_text)\r\n            action.triggered.connect(lambda checked, v=ver: self.upgrade_downgrade_package(package_name, v))\r\n\r\n        menu.exec(self.results_table.viewport().mapToGlobal(position))\r\n\r\n    def upgrade_downgrade_package(self, package_name, selected_version):\r\n        reply = QMessageBox.question(\r\n            self,\r\n            \"Confirm Upgrade/Downgrade\",\r\n            f\"Are you sure you want to install version {selected_version} of '{package_name}'?\\n\\nThis will not install dependencies.\",\r\n            QMessageBox.Yes | QMessageBox.No,\r\n            QMessageBox.No\r\n        )\r\n        if reply == QMessageBox.No:\r\n            return\r\n\r\n        self.progress_bar.setVisible(True)\r\n        self.results_table.setEnabled(False)\r\n        self.package_name_being_updated = package_name\r\n        self.selected_version = selected_version\r\n\r\n        self.thread_pip = QThread()\r\n        self.worker_pip = PipWorker(package_name, selected_version)\r\n        self.worker_pip.moveToThread(self.thread_pip)\r\n\r\n        self.thread_pip.started.connect(self.worker_pip.run)\r\n        self.worker_pip.finished.connect(self.on_pip_finished)\r\n        self.worker_pip.error.connect(self.on_pip_error)\r\n        self.worker_pip.finished.connect(self.thread_pip.quit)\r\n        self.worker_pip.error.connect(self.thread_pip.quit)\r\n        self.worker_pip.finished.connect(self.worker_pip.deleteLater)\r\n        self.worker_pip.error.connect(self.worker_pip.deleteLater)\r\n        self.thread_pip.finished.connect(self.thread_pip.deleteLater)\r\n\r\n        self.thread_pip.start()\r\n\r\n    def on_pip_finished(self, output):\r\n        self.progress_bar.setVisible(False)\r\n        self.results_table.setEnabled(True)\r\n\r\n        if not self.verify_installation(self.package_name_being_updated, self.selected_version):\r\n            self.show_message(\"Error\", f\"Package '{self.package_name_being_updated}' installation verification failed.\")\r\n            return\r\n\r\n        self.show_message(\"Success\", f\"Package '{self.package_name_being_updated}' upgraded/downgraded successfully.\\n\\nOutput:\\n{output}\")\r\n\r\n        if self.current_mode == 'outdated':\r\n            self.thread_latest = QThread()\r\n            self.worker_latest = LatestVersionWorker(self.package_name_being_updated)\r\n            self.worker_latest.moveToThread(self.thread_latest)\r\n            self.thread_latest.started.connect(self.worker_latest.run)\r\n            self.worker_latest.finished.connect(self.on_latest_version_fetched)\r\n            self.worker_latest.error.connect(self.on_latest_version_error)\r\n            self.worker_latest.finished.connect(self.thread_latest.quit)\r\n            self.worker_latest.finished.connect(self.worker_latest.deleteLater)\r\n            self.worker_latest.error.connect(self.thread_latest.quit)\r\n            self.worker_latest.error.connect(self.worker_latest.deleteLater)\r\n            self.thread_latest.finished.connect(self.thread_latest.deleteLater)\r\n            self.thread_latest.start()\r\n        else:\r\n            self.check_all_packages()\r\n\r\n    def on_pip_error(self, error_message):\r\n        self.progress_bar.setVisible(False)\r\n        self.results_table.setEnabled(True)\r\n        self.show_message(\"Error\", f\"Error while upgrading/downgrading '{self.package_name_being_updated}':\\n{error_message}\")\r\n\r\n    def on_latest_version_fetched(self, latest_version):\r\n        self.update_outdated_after_upgrade(self.package_name_being_updated, latest_version)\r\n\r\n    def on_latest_version_error(self, error_message):\r\n        self.show_message(\"Error\", f\"Error fetching latest version for '{self.package_name_being_updated}': {error_message}\")\r\n\r\n    def update_outdated_after_upgrade(self, package_name, latest_version):\r\n        try:\r\n            installed_version = importlib.metadata.version(package_name)\r\n            if version.parse(installed_version) >= version.parse(latest_version):\r\n                self.outdated_packages = [pkg for pkg in self.outdated_packages if pkg[0].lower() != package_name.lower()]\r\n                self.remove_package_from_table(package_name)\r\n            else:\r\n                for i, pkg in enumerate(self.outdated_packages):\r\n                    if pkg[0].lower() == package_name.lower():\r\n                        self.outdated_packages[i] = (pkg[0], installed_version, latest_version)\r\n                        row = self.find_row(package_name)\r\n                        if row is not None:\r\n                            self.results_table.setItem(row, 1, QTableWidgetItem(installed_version))\r\n                            self.results_table.setItem(row, 2, QTableWidgetItem(latest_version))\r\n                            self.set_tooltip_for_package(row, package_name)\r\n            self.show_message(\"Update Complete\", f\"Package '{package_name}' has been updated in the outdated list.\")\r\n        except importlib.metadata.PackageNotFoundError:\r\n            self.show_message(\"Error\", f\"Package '{package_name}' not found after installation.\")\r\n\r\n    def find_row(self, package_name):\r\n        for row in range(self.results_table.rowCount()):\r\n            item = self.results_table.item(row, 0)\r\n            if item and item.text().lower() == package_name.lower():\r\n                return row\r\n        return None\r\n\r\n    def remove_package_from_table(self, package_name):\r\n        row = self.find_row(package_name)\r\n        if row is not None:\r\n            self.results_table.removeRow(row)\r\n\r\n    def on_versions_error(self, error_message):\r\n        self.show_message(\"Error\", f\"Error while fetching versions: {error_message}\")\r\n\r\n    def show_package_info(self, package_name):\r\n        url = f\"https://pypi.org/pypi/{package_name}/json\"\r\n        try:\r\n            with urllib.request.urlopen(url, timeout=10) as response:\r\n                if response.status != 200:\r\n                    raise Exception(f\"PyPI returned status code {response.status}\")\r\n                data = json.load(response)\r\n                info = data['info']\r\n                description = info.get('summary', 'No description available.')\r\n                author = info.get('author', 'N/A')\r\n                homepage = info.get('home_page', 'N/A')\r\n                package_url = info.get('package_url', f\"https://pypi.org/project/{package_name}/\")\r\n                project_urls = info.get('project_urls', {})\r\n                documentation = project_urls.get('Documentation', 'N/A')\r\n                info_dialog = QDialog(self)\r\n                info_dialog.setWindowTitle(f\"Package Info: {package_name}\")\r\n                layout = QVBoxLayout(info_dialog)\r\n                layout.addWidget(QLabel(f\"<b>Package:</b> {package_name}\"))\r\n                layout.addWidget(QLabel(f\"<b>Author:</b> {author}\"))\r\n                homepage_label = QLabel(f\"<b>Homepage:</b> <a href='{homepage}'>{homepage}</a>\")\r\n                homepage_label.setTextFormat(Qt.RichText)\r\n                homepage_label.setTextInteractionFlags(Qt.TextBrowserInteraction)\r\n                homepage_label.setOpenExternalLinks(True)\r\n                layout.addWidget(homepage_label)\r\n                pypi_label = QLabel(f\"<b>PyPI Page:</b> <a href='{package_url}'>{package_url}</a>\")\r\n                pypi_label.setTextFormat(Qt.RichText)\r\n                pypi_label.setTextInteractionFlags(Qt.TextBrowserInteraction)\r\n                pypi_label.setOpenExternalLinks(True)\r\n                layout.addWidget(pypi_label)\r\n                if documentation != 'N/A':\r\n                    doc_label = QLabel(f\"<b>Documentation:</b> <a href='{documentation}'>{documentation}</a>\")\r\n                    doc_label.setTextFormat(Qt.RichText)\r\n                    doc_label.setTextInteractionFlags(Qt.TextBrowserInteraction)\r\n                    doc_label.setOpenExternalLinks(True)\r\n                    layout.addWidget(doc_label)\r\n                description_label = QLabel(f\"<b>Description:</b> {description}\")\r\n                description_label.setWordWrap(True)\r\n                layout.addWidget(description_label)\r\n                info_dialog.setLayout(layout)\r\n                info_dialog.exec()\r\n        except urllib.error.URLError as e:\r\n            self.show_message(\"Error\", f\"Network error: {str(e)}\")\r\n        except TimeoutError:\r\n            self.show_message(\"Error\", \"Connection timed out\")\r\n        except json.JSONDecodeError:\r\n            self.show_message(\"Error\", \"Invalid response from PyPI\")\r\n        except Exception as e:\r\n            self.show_message(\"Error\", f\"Error fetching package info: {str(e)}\")\r\n\r\n    def export_requirements(self):\r\n        filename, _ = QFileDialog.getSaveFileName(\r\n            self, \"Save Requirements\", \"\", \"Text Files (*.txt)\"\r\n        )\r\n        if filename:\r\n            try:\r\n                with open(filename, 'w') as f:\r\n                    for row in range(self.results_table.rowCount()):\r\n                        package_item = self.results_table.item(row, 0)\r\n                        version_item = self.results_table.item(row, 1)\r\n                        if package_item is not None and version_item is not None:\r\n                            package = package_item.text()\r\n                            version_installed = version_item.text()\r\n                            f.write(f\"{package}=={version_installed}\\n\")\r\n                self.show_message(\"Export Successful\", f\"Requirements exported to {filename}.\")\r\n            except Exception as e:\r\n                self.show_message(\"Error\", f\"Error exporting requirements: {str(e)}\")\r\n\r\n    def import_requirements(self):\r\n        filename, _ = QFileDialog.getOpenFileName(\r\n            self, \"Import Requirements\", \"\", \"Text Files (*.txt)\")\r\n        if filename:\r\n            try:\r\n                with open(filename, 'r') as f:\r\n                    packages = [line.strip().split('==') for line in f if line.strip()]\r\n                self.progress_bar.setVisible(True)\r\n                self.results_table.setEnabled(False)\r\n                self.thread_import = QThread()\r\n                self.worker_import = ImportWorker(packages)\r\n                self.worker_import.moveToThread(self.thread_import)\r\n                self.thread_import.started.connect(self.worker_import.run)\r\n                self.worker_import.finished.connect(self.on_import_finished)\r\n                self.worker_import.error.connect(self.on_import_error)\r\n                self.worker_import.finished.connect(self.thread_import.quit)\r\n                self.worker_import.error.connect(self.thread_import.quit)\r\n                self.worker_import.finished.connect(self.worker_import.deleteLater)\r\n                self.worker_import.error.connect(self.worker_import.deleteLater)\r\n                self.thread_import.finished.connect(self.thread_import.deleteLater)\r\n                self.thread_import.start()\r\n            except Exception as e:\r\n                self.show_message(\"Error\", f\"Error importing requirements: {str(e)}\")\r\n\r\n    def on_import_finished(self, output):\r\n        self.progress_bar.setVisible(False)\r\n        self.results_table.setEnabled(True)\r\n        self.show_message(\"Import Successful\", f\"Requirements imported successfully.\\n\\nOutput:\\n{output}\")\r\n        self.check_all_packages()\r\n\r\n    def on_import_error(self, error_message):\r\n        self.progress_bar.setVisible(False)\r\n        self.results_table.setEnabled(True)\r\n        self.show_message(\"Error\", f\"Error importing requirements:\\n{error_message}\")\r\n\r\n    def show_message(self, title, message):\r\n        msg_box = QMessageBox()\r\n        msg_box.setWindowTitle(title)\r\n        msg_box.setText(message)\r\n        icon = QMessageBox.Information if title != \"Error\" else QMessageBox.Critical\r\n        msg_box.setIcon(icon)\r\n        msg_box.exec()\r\n\r\n    def set_tooltip_for_package(self, row, package_name):\r\n        requires = self.requires_map.get(package_name, [])\r\n        required_by = self.required_by_map.get(package_name, [])\r\n        requires_text = \", \".join([req.split()[0] for req in requires]) if requires else \"None\"\r\n        required_by_text = \", \".join(required_by) if required_by else \"None\"\r\n        tooltip_text = f\"Requires: {requires_text}\\nRequired by: {required_by_text}\"\r\n        package_item = self.results_table.item(row, 0)\r\n        package_item.setToolTip(tooltip_text)\r\n\r\ndef main():\r\n    app = QApplication(sys.argv)\r\n    app.setStyle('Fusion')\r\n    window = PackageChecker()\r\n    window.show()\r\n    sys.exit(app.exec())\r\n\r\nif __name__ == '__main__':\r\n    main()\r\n"
  },
  {
    "path": "tools/chunk_userguide.py",
    "content": "import sys\r\nimport os\r\nimport shutil\r\nfrom PySide6.QtWidgets import (QApplication, QMainWindow, QVBoxLayout, QHBoxLayout, \r\n                              QWidget, QPushButton, QLabel, QTextEdit, QFileDialog, \r\n                              QMessageBox, QFrame)\r\nfrom PySide6.QtCore import Qt\r\nfrom PySide6.QtGui import QFont, QClipboard\r\n\r\nclass MarkdownChunker(QMainWindow):\r\n   def __init__(self):\r\n       super().__init__()\r\n       self.setWindowTitle(\"Markdown File Chunker\")\r\n       self.setGeometry(100, 100, 900, 700)\r\n       \r\n       self.longest_chunk = \"\"\r\n       self.shortest_chunk = \"\"\r\n       self.longest_length = 0\r\n       self.shortest_length = float('inf')\r\n       self.selected_file = None\r\n       \r\n       self.setup_ui()\r\n   \r\n   def setup_ui(self):\r\n       central_widget = QWidget()\r\n       self.setCentralWidget(central_widget)\r\n       \r\n       layout = QVBoxLayout(central_widget)\r\n       layout.setContentsMargins(20, 20, 20, 20)\r\n       layout.setSpacing(15)\r\n       \r\n       title_label = QLabel(\"Markdown File Chunker\")\r\n       title_font = QFont()\r\n       title_font.setPointSize(16)\r\n       title_font.setBold(True)\r\n       title_label.setFont(title_font)\r\n       title_label.setAlignment(Qt.AlignCenter)\r\n       layout.addWidget(title_label)\r\n       \r\n       file_frame = QFrame()\r\n       file_layout = QHBoxLayout(file_frame)\r\n       \r\n       self.file_label = QLabel(\"No file selected\")\r\n       self.file_label.setWordWrap(True)\r\n       file_layout.addWidget(self.file_label, 1)\r\n       \r\n       select_button = QPushButton(\"Select Markdown File\")\r\n       select_button.setStyleSheet(\"QPushButton { background-color: #4CAF50; color: white; font-weight: bold; padding: 8px; }\")\r\n       select_button.clicked.connect(self.select_file)\r\n       file_layout.addWidget(select_button)\r\n       \r\n       layout.addWidget(file_frame)\r\n       \r\n       self.process_button = QPushButton(\"Process File\")\r\n       self.process_button.setStyleSheet(\"QPushButton { background-color: #2196F3; color: white; font-weight: bold; padding: 10px; font-size: 12px; }\")\r\n       self.process_button.setEnabled(False)\r\n       self.process_button.clicked.connect(self.process_file)\r\n       layout.addWidget(self.process_button)\r\n       \r\n       self.stats_label = QLabel(\"\")\r\n       stats_font = QFont()\r\n       stats_font.setBold(True)\r\n       self.stats_label.setFont(stats_font)\r\n       layout.addWidget(self.stats_label)\r\n       \r\n       longest_label = QLabel(\"Longest Chunk:\")\r\n       longest_font = QFont()\r\n       longest_font.setBold(True)\r\n       longest_label.setFont(longest_font)\r\n       layout.addWidget(longest_label)\r\n       \r\n       self.longest_text = QTextEdit()\r\n       self.longest_text.setMaximumHeight(150)\r\n       self.longest_text.setReadOnly(True)\r\n       layout.addWidget(self.longest_text)\r\n       \r\n       shortest_label = QLabel(\"Shortest Chunk:\")\r\n       shortest_font = QFont()\r\n       shortest_font.setBold(True)\r\n       shortest_label.setFont(shortest_font)\r\n       layout.addWidget(shortest_label)\r\n       \r\n       self.shortest_text = QTextEdit()\r\n       self.shortest_text.setMaximumHeight(150)\r\n       self.shortest_text.setReadOnly(True)\r\n       layout.addWidget(self.shortest_text)\r\n   \r\n   def select_file(self):\r\n       file_path, _ = QFileDialog.getOpenFileName(\r\n           self,\r\n           \"Select Markdown File\",\r\n           \"\",\r\n           \"Markdown files (*.md);;Text files (*.txt);;All files (*.*)\"\r\n       )\r\n       \r\n       if file_path:\r\n           self.selected_file = file_path\r\n           self.file_label.setText(f\"Selected: {os.path.basename(file_path)}\")\r\n           self.process_button.setEnabled(True)\r\n   \r\n   def create_output_directory(self):\r\n       current_dir = os.getcwd()\r\n       assets_dir = os.path.join(current_dir, \"Assets\")\r\n       chunks_dir = os.path.join(assets_dir, \"User_Guide_Chunks\")\r\n       \r\n       if not os.path.exists(assets_dir):\r\n           os.makedirs(assets_dir)\r\n       \r\n       if os.path.exists(chunks_dir):\r\n           for filename in os.listdir(chunks_dir):\r\n               file_path = os.path.join(chunks_dir, filename)\r\n               try:\r\n                   if os.path.isfile(file_path):\r\n                       os.unlink(file_path)\r\n               except Exception as e:\r\n                   print(f\"Error deleting {file_path}: {e}\")\r\n       else:\r\n           os.makedirs(chunks_dir)\r\n       \r\n       return chunks_dir\r\n   \r\n   def extract_chunks(self, content):\r\n       chunks = []\r\n       \r\n       lines = content.split('\\n')\r\n       current_chunk = []\r\n       \r\n       for line in lines:\r\n           if line.strip().startswith('###'):\r\n               if current_chunk:\r\n                   chunk_text = '\\n'.join(current_chunk).strip()\r\n                   if chunk_text:\r\n                       chunks.append(chunk_text)\r\n               \r\n               current_chunk = [line]\r\n           elif current_chunk:\r\n               if line.strip() or len(current_chunk) == 1:\r\n                   current_chunk.append(line)\r\n               else:\r\n                   continue\r\n       \r\n       if current_chunk:\r\n           chunk_text = '\\n'.join(current_chunk).strip()\r\n           if chunk_text:\r\n               chunks.append(chunk_text)\r\n       \r\n       return chunks\r\n   \r\n   def save_chunks(self, chunks, output_dir):\r\n       for i, chunk in enumerate(chunks, 1):\r\n           filename = f\"chunk_{i:03d}.txt\"\r\n           filepath = os.path.join(output_dir, filename)\r\n           \r\n           with open(filepath, 'w', encoding='utf-8') as f:\r\n               f.write(chunk)\r\n       \r\n       return len(chunks)\r\n   \r\n   def analyze_chunks(self, chunks):\r\n       if not chunks:\r\n           return\r\n       \r\n       self.longest_chunk = chunks[0]\r\n       self.shortest_chunk = chunks[0]\r\n       self.longest_length = len(chunks[0])\r\n       self.shortest_length = len(chunks[0])\r\n       \r\n       for chunk in chunks:\r\n           chunk_length = len(chunk)\r\n           \r\n           if chunk_length > self.longest_length:\r\n               self.longest_length = chunk_length\r\n               self.longest_chunk = chunk\r\n           \r\n           if chunk_length < self.shortest_length:\r\n               self.shortest_length = chunk_length\r\n               self.shortest_chunk = chunk\r\n   \r\n   def create_master_questions(self, chunks):\r\n       master_questions = []\r\n       \r\n       for chunk in chunks:\r\n           lines = chunk.split('\\n')\r\n           first_line = lines[0].strip()\r\n           if first_line.startswith('###'):\r\n               question = first_line[3:].strip()\r\n               master_questions.append(question)\r\n       \r\n       dictionary_str = \"master_questions = [\\n\"\r\n       for question in master_questions:\r\n           dictionary_str += f'    \"{question}\",\\n'\r\n       dictionary_str += \"]\"\r\n       \r\n       clipboard = QApplication.clipboard()\r\n       clipboard.setText(dictionary_str)\r\n   \r\n   def update_display(self, num_chunks):\r\n       stats_text = f\"Processing complete! Created {num_chunks} chunks.\\n\"\r\n       stats_text += f\"Longest chunk: {self.longest_length} characters\\n\"\r\n       stats_text += f\"Shortest chunk: {self.shortest_length} characters\"\r\n       self.stats_label.setText(stats_text)\r\n       \r\n       self.longest_text.setPlainText(self.longest_chunk)\r\n       self.shortest_text.setPlainText(self.shortest_chunk)\r\n   \r\n   def process_file(self):\r\n       if not self.selected_file:\r\n           QMessageBox.critical(self, \"Error\", \"Please select a file first.\")\r\n           return\r\n       \r\n       try:\r\n           with open(self.selected_file, 'r', encoding='utf-8') as f:\r\n               content = f.read()\r\n           \r\n           output_dir = self.create_output_directory()\r\n           \r\n           chunks = self.extract_chunks(content)\r\n           \r\n           if not chunks:\r\n               QMessageBox.warning(self, \"Warning\", \"No chunks found in the file.\")\r\n               return\r\n           \r\n           self.analyze_chunks(chunks)\r\n           \r\n           num_chunks = self.save_chunks(chunks, output_dir)\r\n           \r\n           self.create_master_questions(chunks)\r\n           \r\n           self.update_display(num_chunks)\r\n           \r\n           QMessageBox.information(self, \"Success\", \r\n                                 f\"Successfully processed {num_chunks} chunks!\\n\"\r\n                                 f\"Files saved to: {output_dir}\\n\"\r\n                                 f\"Dictionary copied to clipboard!\")\r\n       \r\n       except Exception as e:\r\n           QMessageBox.critical(self, \"Error\", f\"An error occurred: {str(e)}\")\r\n\r\ndef main():\r\n   app = QApplication(sys.argv)\r\n   window = MarkdownChunker()\r\n   window.show()\r\n   sys.exit(app.exec())\r\n\r\nif __name__ == \"__main__\":\r\n   main()\r\n"
  },
  {
    "path": "tools/replace_sourcecode.py",
    "content": "import hashlib\r\nfrom pathlib import Path\r\nimport shutil\r\nimport sys\r\nimport zipfile\r\n\r\nfrom core.constants import PROJECT_ROOT\r\n\r\nclass DependencyUpdater:\r\n    def __init__(self):\r\n        self.site_packages_path = self.get_site_packages_path()\r\n\r\n    def get_site_packages_path(self):\r\n        paths = sys.path\r\n        site_packages_paths = [Path(path) for path in paths if 'site-packages' in path.lower()]\r\n        return site_packages_paths[0] if site_packages_paths else None\r\n\r\n    def find_dependency_path(self, dependency_path_segments):\r\n        current_path = self.site_packages_path\r\n        if current_path and current_path.exists():\r\n            for segment in dependency_path_segments:\r\n                next_path = next((current_path / child for child in current_path.iterdir() if child.name.lower() == segment.lower()), None)\r\n                if next_path is None:\r\n                    return None\r\n                current_path = next_path\r\n            return current_path\r\n        return None\r\n\r\n    @staticmethod\r\n    def hash_file(filepath):\r\n        hasher = hashlib.sha256()\r\n        with open(filepath, 'rb') as afile:\r\n            buf = afile.read()\r\n            hasher.update(buf)\r\n        return hasher.hexdigest()\r\n\r\n    @staticmethod\r\n    def copy_and_overwrite_if_necessary(source_path, target_path):\r\n        if not target_path.exists() or DependencyUpdater.hash_file(source_path) != DependencyUpdater.hash_file(target_path):\r\n            shutil.copy(source_path, target_path)\r\n            DependencyUpdater.print_status(\"SUCCESS\", f\"{source_path} has been successfully copied to {target_path}.\")\r\n        else:\r\n            DependencyUpdater.print_status(\"SKIP\", f\"{target_path} is already up to date.\")\r\n\r\n    def update_file_in_dependency(self, source_folder, file_name, dependency_path_segments):\r\n        target_path = self.find_dependency_path(dependency_path_segments)\r\n        if target_path is None:\r\n            self.print_status(\"ERROR\", \"Target dependency path not found.\")\r\n            return\r\n\r\n        source_path = PROJECT_ROOT / source_folder / file_name\r\n        if not source_path.exists():\r\n            self.print_status(\"ERROR\", f\"{file_name} not found in {source_folder}.\")\r\n            return\r\n\r\n        target_file = None\r\n        for child in target_path.iterdir():\r\n            if child.is_file() and child.name.lower() == file_name.lower():\r\n                target_file = child\r\n                break\r\n\r\n        if target_file:\r\n            target_file_path = target_file\r\n        else:\r\n            target_file_path = target_path / file_name\r\n        self.copy_and_overwrite_if_necessary(source_path, target_file_path)\r\n\r\n    @staticmethod\r\n    def print_status(status, message):\r\n        colors = {\r\n            \"SUCCESS\": \"\\033[92m\",\r\n            \"SKIP\": \"\\033[93m\",\r\n            \"ERROR\": \"\\033[91m\",\r\n            \"INFO\": \"\\033[94m\"\r\n        }\r\n        reset_color = \"\\033[0m\"\r\n        print(f\"{colors.get(status, reset_color)}[{status}] {message}{reset_color}\")\r\n\r\n    @staticmethod\r\n    def print_ascii_table(title, rows):\r\n        table_width = max(len(title), max(len(row) for row in rows)) + 4\r\n        border = f\"+{'-' * (table_width - 2)}+\"\r\n        print(border)\r\n        print(f\"| {title.center(table_width - 4)} |\")\r\n        print(border)\r\n        for row in rows:\r\n            print(f\"| {row.ljust(table_width - 4)} |\")\r\n        print(border)\r\n\r\ndef replace_sentence_transformer_file():\r\n    updater = DependencyUpdater()\r\n    updater.update_file_in_dependency(\"Assets\", \"SentenceTransformer.py\", [\"sentence_transformers\"])\r\n\r\ndef replace_chattts_file():\r\n    updater = DependencyUpdater()\r\n    updater.update_file_in_dependency(\"Assets\", \"core.py\", [\"ChatTTS\"])\r\n\r\ndef add_cuda_files():\r\n    updater = DependencyUpdater()\r\n\r\n    updater.print_ascii_table(\"CUDA FILES UPDATE\", [\"Copying ptxas.exe\", \"Extracting cudart_lib.zip\"])\r\n\r\n    source_path = updater.find_dependency_path([\"nvidia\", \"cuda_nvcc\", \"bin\"])\r\n    if source_path is None:\r\n        updater.print_status(\"ERROR\", \"Source path for ptxas.exe not found.\")\r\n        return\r\n\r\n    source_file = source_path / \"ptxas.exe\"\r\n    if not source_file.exists():\r\n        updater.print_status(\"ERROR\", \"ptxas.exe not found in the source directory.\")\r\n        return\r\n\r\n    target_path = updater.find_dependency_path([\"nvidia\", \"cuda_runtime\", \"bin\"])\r\n    if target_path is None:\r\n        updater.print_status(\"ERROR\", \"Target path (cuda_runtime) not found.\")\r\n        return\r\n\r\n    target_file = target_path / \"ptxas.exe\"\r\n    updater.copy_and_overwrite_if_necessary(source_file, target_file)\r\n\r\n    zip_path = PROJECT_ROOT / \"Assets\" / \"cudart_lib.zip\"\r\n    if not zip_path.exists():\r\n        updater.print_status(\"ERROR\", \"cudart_lib.zip not found.\")\r\n        return\r\n\r\n    cuda_lib_runtime_path = target_path.parent\r\n    if target_path is None or not target_path.exists():\r\n        updater.print_status(\"ERROR\", \"Parent directory of cuda_runtime/bin not found.\")\r\n        return\r\n\r\n    try:\r\n        with zipfile.ZipFile(zip_path, 'r') as zip_ref:\r\n            zip_ref.extractall(cuda_lib_runtime_path)\r\n            updater.print_status(\"SUCCESS\", f\"Extracted cudart_lib.zip to {cuda_lib_runtime_path}\")\r\n    except zipfile.BadZipFile:\r\n        updater.print_status(\"ERROR\", \"cudart_lib.zip is corrupted or not a zip file.\")\r\n    except PermissionError:\r\n        updater.print_status(\"ERROR\", \"Permission denied when extracting cudart_lib.zip.\")\r\n    except Exception as e:\r\n        updater.print_status(\"ERROR\", f\"Unexpected error during extraction: {str(e)}\")\r\n\r\ndef setup_vector_db():\r\n    updater = DependencyUpdater()\r\n\r\n    zip_path = PROJECT_ROOT / \"Assets\" / \"user_manual_db.zip\"\r\n    if not zip_path.exists():\r\n        updater.print_status(\"ERROR\", \"user_manual_db.zip not found in Assets folder.\")\r\n        return\r\n\r\n    vector_db_path = PROJECT_ROOT / \"Vector_DB\"\r\n    vector_db_backup_path = PROJECT_ROOT / \"Vector_DB_Backup\"\r\n\r\n    try:\r\n        vector_db_path.mkdir(exist_ok=True)\r\n        vector_db_backup_path.mkdir(exist_ok=True)\r\n    except PermissionError:\r\n        updater.print_status(\"ERROR\", \"Insufficient permissions to create directories.\")\r\n        return\r\n    except Exception as e:\r\n        updater.print_status(\"ERROR\", f\"Error creating directories: {str(e)}\")\r\n        return\r\n\r\n    user_manual_paths = [\r\n        vector_db_path / \"user_manual\",\r\n        vector_db_backup_path / \"user_manual\"\r\n    ]\r\n\r\n    for path in user_manual_paths:\r\n        if path.exists():\r\n            try:\r\n                shutil.rmtree(path, ignore_errors=False)\r\n                updater.print_status(\"INFO\", f\"Removed existing user_manual folder from {path.parent}\")\r\n            except PermissionError:\r\n                updater.print_status(\"ERROR\", f\"Permission denied when trying to remove {path}\")\r\n                return\r\n            except Exception as e:\r\n                updater.print_status(\"ERROR\", f\"Error removing {path}: {str(e)}\")\r\n                return\r\n\r\n    try:\r\n        with zipfile.ZipFile(zip_path, 'r') as zip_ref:\r\n            if zip_ref.testzip() is not None:\r\n                updater.print_status(\"ERROR\", \"Zip file is corrupted.\")\r\n                return\r\n            zip_ref.extractall(vector_db_path)\r\n            zip_ref.extractall(vector_db_backup_path)\r\n        updater.print_status(\"SUCCESS\", f\"Successfully extracted user_manual_db.zip to {vector_db_path} and {vector_db_backup_path}\")\r\n    except PermissionError:\r\n        updater.print_status(\"ERROR\", \"Permission denied when extracting zip file.\")\r\n    except Exception as e:\r\n        updater.print_status(\"ERROR\", f\"Error extracting zip file: {str(e)}\")\r\n\r\ndef check_embedding_model_dimensions():\r\n    import yaml\r\n    updater = DependencyUpdater()\r\n    config_path = PROJECT_ROOT / \"config.yaml\"\r\n\r\n    if not config_path.exists():\r\n        updater.print_status(\"ERROR\", \"config.yaml not found in current directory.\")\r\n        return\r\n\r\n    try:\r\n        with open(config_path, 'r') as file:\r\n            config = yaml.safe_load(file)\r\n\r\n        if config is None:\r\n            config = {}\r\n\r\n        if 'EMBEDDING_MODEL_DIMENSIONS' not in config:\r\n            config['EMBEDDING_MODEL_DIMENSIONS'] = None\r\n            with open(config_path, 'w') as file:\r\n                yaml.dump(config, file, default_flow_style=False)\r\n            updater.print_status(\"SUCCESS\", \"Added EMBEDDING_MODEL_DIMENSIONS: null to config.yaml\")\r\n        else:\r\n            updater.print_status(\"SKIP\", \"EMBEDDING_MODEL_DIMENSIONS already exists in config.yaml\")\r\n\r\n    except yaml.YAMLError as e:\r\n        updater.print_status(\"ERROR\", f\"Error parsing config.yaml: {str(e)}\")\r\n    except Exception as e:\r\n        updater.print_status(\"ERROR\", f\"Unexpected error while processing config.yaml: {str(e)}\")\r\n\r\nif __name__ == \"__main__\":\r\n    DependencyUpdater.print_ascii_table(\"DEPENDENCY UPDATER\", [\r\n        \"Replace Sentence Transformer File\",\r\n        \"Replace ChatTTS File\",\r\n        \"Add CUDA Files\",\r\n        \"Setup Vector DB\",\r\n        \"Check Config EMBEDDING_MODEL_DIMENSIONS\"\r\n    ])\r\n\r\n    replace_sentence_transformer_file()\r\n    replace_chattts_file()\r\n    add_cuda_files()\r\n    setup_vector_db()\r\n    check_embedding_model_dimensions()\r\n"
  }
]