text: # -*- coding: utf-8 -*-
  """
  
      Инструменты обработки JSON файлов
  
  """
  # встроенные модули
  import os
  import sys
  import json
  from typing import Dict, Any, Optional
  
  # сторонние модули
  from loguru import logger
  
  
  def json_config_load(filename: str, config_name: Optional[str],
                       default_config: str) -> Dict[str, Any]:
      """
      Открыть указанный файл и прочитать его содержимое
      """
      path = os.path.join(os.getcwd(), filename)
  
      if not os.path.exists(path):
          logger.critical(f'Не найден файл конфигурации: "{path}"')
          raise FileNotFoundError
  
      with open(path, mode='r', encoding='utf-8') as file:
          data = json.load(file)
  
      if default_config not in data:
          logger.critical(f'В конфиге не представлен обязательный раздел "{default_config}"')
          raise KeyError
  
      if config_name in data:
          resulting_config = {**data.get('base', {}), **data[config_name]}
      else:
          resulting_config = {**data.get('base', {}), **data[default_config]}
  
      if resulting_config:
          return resulting_config
  
      logger.critical(f'Не удалось загрузить конфигурацию "{config_name}" из файла: "{path}"')
      sys.exit(1)
  