From e2a3675742cdcf24e9f9a78ded3b9a07bf8529a7 Mon Sep 17 00:00:00 2001 From: FazziCLAY Date: Sat, 21 Mar 2026 16:02:54 +0300 Subject: [PATCH] save --- .env | 3 + from_ai.txt | 0 main.py | 198 ++++-- result.json | 1920 +++++++++++++++++++++++++++++++++------------------ to_ai.txt | 0 5 files changed, 1383 insertions(+), 738 deletions(-) create mode 100644 .env delete mode 100644 from_ai.txt delete mode 100644 to_ai.txt diff --git a/.env b/.env new file mode 100644 index 0000000..e462222 --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +GEMINI_API_KEY=AIzaSyDTFKJscB72NY7R-zeyZcmO0iTnJRoMusw +PROXY_URL=socks5://127.0.0.1:2080 +POLL_INTERVAL=300 \ No newline at end of file diff --git a/from_ai.txt b/from_ai.txt deleted file mode 100644 index e69de29..0000000 diff --git a/main.py b/main.py index b2c6e4d..e967c0f 100644 --- a/main.py +++ b/main.py @@ -2,15 +2,28 @@ import json import os import hashlib import requests +import time +import traceback from datetime import datetime -# Конфигурация +from dotenv import load_dotenv +load_dotenv() + +# ================= КОНФИГУРАЦИЯ ================= URL_PARSER_ROOT = "https://fazziclay.com/api/v1/vstu_schedule_parser_v2/parser.json" BASE_URL_FILES = "https://fazziclay.com/api/v1/vstu_schedule_parser_v2/parsed/" FILE_RESULT = "result.json" FILE_CACHE = "raw_cache.json" -FILE_TO_AI = "to_ai.txt" -FILE_FROM_AI = "from_ai.txt" + +# Настройки для Docker / Окружения +POLL_INTERVAL = int(os.environ.get("POLL_INTERVAL", 600)) # По умолчанию 10 минут +GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY") +PROXY_URL = os.environ.get("PROXY_URL") # Например: socks5://user:pass@127.0.0.1:1080 +# ================================================= + +def log(msg): + """Логирование с принудительным сбросом буфера (важно для Docker).""" + print(f"[{datetime.now().strftime('%d.%m.%Y %H:%M:%S')}] {msg}", flush=True) def get_raw_hash(raw_list): normalized = "|".join(sorted([str(i).strip() for i in raw_list])) @@ -27,56 +40,102 @@ def save_json(filename, data): with open(filename, 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False, indent=2) -def process_ai_input(cache): - if not os.path.exists(FILE_FROM_AI): return cache - with open(FILE_FROM_AI, 'r', encoding='utf-8') as f: - content = f.read().strip() - if not content: return cache - try: - new_data = json.loads(content) - for r_hash, resolved_obj in new_data.items(): - cache[r_hash] = resolved_obj - print(f"[*] Добавлено {len(new_data)} записей из ИИ в кэш.") - with open(FILE_FROM_AI, 'w', encoding='utf-8') as f: f.write("") - except Exception as e: - print(f"[!] Ошибка парсинга from_ai.txt: {e}") - return cache +def ask_gemini(unknown_raws): + """Отправляет неизвестные записи в Gemini API для разбора.""" + if not GEMINI_API_KEY: + log("[!] GEMINI_API_KEY не задан! ИИ-парсинг пропущен.") + return {} -def main(): - print(f"--- Система Совместимости V1-V2 [{datetime.now().strftime('%H:%M:%S')}] ---") - cache = load_json(FILE_CACHE, {}) - cache = process_ai_input(cache) - save_json(FILE_CACHE, cache) + proxies = {} + if PROXY_URL: + # requests автоматически перенаправит трафик через proxy + proxies = {"http": PROXY_URL, "https": PROXY_URL} - try: - parser_data = requests.get(URL_PARSER_ROOT).json() - except Exception as e: - print(f"[!] Ошибка сети: {e}"); return + results = {} + items = list(unknown_raws.items()) + batch_size = 40 # Разбиваем на батчи, чтобы не перегрузить лимиты вывода ИИ + + for i in range(0, len(items), batch_size): + batch = dict(items[i:i+batch_size]) + log(f"[*] Отправка батча в Gemini ({i+1}-{min(i+batch_size, len(items))} из {len(items)})...") + + prompt = f""" + Ты парсер академического расписания. Я даю тебе JSON, где ключи - хэши, а значения - массив сырых строк расписания. + Твоя задача вернуть JSON, где ключи - те же хэши, а значения - объекты с ключами: + - "subject": строка, название предмета (или "Не указан") + - "location": строка, аудитории через запятую (или "Не указана") + - "teacher": строка, ФИО преподавателя(ей) через запятую (или "Не указан") + + Верни ТОЛЬКО валидный JSON без форматирования markdown. + Входные данные: + {json.dumps(batch, ensure_ascii=False)} + """ + + url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={GEMINI_API_KEY}" + payload = { + "contents": [{"parts":[{"text": prompt}]}], + "generationConfig": { + "response_mime_type": "application/json" # Заставляем Gemini вернуть строго JSON + } + } + + try: + resp = requests.post(url, json=payload, proxies=proxies, timeout=60) + resp.raise_for_status() + + data = resp.json() + text_response = data['candidates'][0]['content']['parts'][0]['text'] + + parsed_batch = json.loads(text_response) + results.update(parsed_batch) + log(f"[+] Батч успешно обработан ИИ.") + + except Exception as e: + log(f"[!] Ошибка API Gemini в батче: {e}") + # Не останавливаем процесс, просто вернем те результаты, которые успели распарситься. + # Ошибочные записи отправятся при следующем цикле через 10 минут. + + return results + +def fetch_and_build(cache): + """Основной этап скачивания файлов V2 и построения структуры.""" + log("[*] Загрузка списка файлов парсера V2...") + parser_data = requests.get(URL_PARSER_ROOT, timeout=30).json() final_groups = {} + excels_list =[] unknown_raws = {} - for file_info in parser_data.get("all_files", []): + for file_info in parser_data.get("all_files",[]): file_url = f"{BASE_URL_FILES}{requests.utils.quote(file_info['json_represent'])}" - print(f"[*] Рендеринг: {file_info['json_represent']}") + log(f"[*] Обработка файла: {file_info['json_represent']}") - try: faculty_data = requests.get(file_url).json() - except: continue + try: + faculty_data = requests.get(file_url, timeout=30).json() + except Exception as e: + log(f"[!] Ошибка скачивания {file_url}: {e}") + continue + + # В-третьих: Добавляем копию excel без 'sheets' + excel_meta = {k: v for k, v in faculty_data.items() if k != 'sheets'} + excels_list.append(excel_meta) + + # Получаем data_source_hash из файла excel + file_ds_hash = faculty_data.get("data_source_hash", faculty_data.get("excel", {}).get("data_source_hash", "UNKNOWN")) sheets = faculty_data.get("sheets", {}) for sheet_data in sheets.values(): groups = sheet_data.get("groups", {}) for group_id, group_data in groups.items(): - # Инициализация группы в формате V1 - if group_id not in final_groups: + if group_data["name"] not in final_groups: final_groups[group_data["name"]] = { "name": group_data["name"], - "facultet": faculty_data['excel']['facultet'], + "facultet": faculty_data.get('excel', {}).get('facultet', 'Неизвестно'), "position": group_data.get("position"), "position_human": group_data.get("position_human"), "slots": {}, - "data_source_hash": "TODO" + "data_source_hash": file_ds_hash # ИЗМЕНЕНИЕ: Берем хэш из метаданных экселя } slots = group_data.get("slots", {}) @@ -87,31 +146,22 @@ def main(): final_groups[group_data["name"]]["slots"][slot_key] = {} for pair_key, pair_data in pair_value.items(): - # Фильтр мета-ключей (пропускаем excel_range и т.д.) if not (isinstance(pair_key, str) and '-' in pair_key): continue - # НОВЫЙ БЛОК: Обработка списка событий (если пара раздвоена) - # Превращаем всё в список, даже если там один объект events = pair_data if isinstance(pair_data, list) else [pair_data] for i, event in enumerate(events): - # Если событий больше одного, добавляем суффикс к ключу (напр. "5-6_1") current_pair_id = pair_key if i == 0 else f"{pair_key}_{i}" - - # Теперь event — это гарантированно словарь if not isinstance(event, dict): continue - raw_list = event.get("raw", []) + raw_list = event.get("raw",[]) r_hash = get_raw_hash(raw_list) if r_hash in cache: res = cache[r_hash] - - # Парсим списки - locs = [l.strip() for l in res.get("location", "").split(",")] if res.get("location") and res.get("location") != "Не указана" else [] - leads = [l.strip() for l in res.get("teacher", "").split(",")] if res.get("teacher") and res.get("teacher") != "Не указан" else [] + locs =[l.strip() for l in res.get("location", "").split(",")] if res.get("location") and res.get("location") not in ["Не указана", "Не указан"] else [] + leads =[l.strip() for l in res.get("teacher", "").split(",")] if res.get("teacher") and res.get("teacher") not in ["Не указана", "Не указан"] else[] - # Записываем в финальную структуру final_groups[group_data["name"]]["slots"][slot_key][current_pair_id] = { "discipline_name": res.get("subject", "Не указан"), "locations": locs, @@ -127,20 +177,58 @@ def main(): else: unknown_raws[r_hash] = raw_list - # Управление to_ai.txt - if unknown_raws: - save_json(FILE_TO_AI, unknown_raws) - print(f"[!] Найдено {len(unknown_raws)} новых записей. См. {FILE_TO_AI}") - else: - with open(FILE_TO_AI, 'w', encoding='utf-8') as f: f.write("") + return final_groups, excels_list, unknown_raws - # Сохранение итогового результата +def job_iteration(): + """Выполнение одной итерации обновления расписания.""" + log("--- Начало итерации обновления расписания ---") + cache = load_json(FILE_CACHE, {}) + + # ПЕРВЫЙ ПРОХОД: собираем данные и ищем неизвестные строки + final_groups, excels_list, unknown_raws = fetch_and_build(cache) + + # Если есть неизвестные строки — отправляем в ИИ + if unknown_raws: + log(f"[*] Найдено {len(unknown_raws)} новых уникальных записей. Обращаемся к Gemini API...") + ai_data = ask_gemini(unknown_raws) + + if ai_data: + cache.update(ai_data) + save_json(FILE_CACHE, cache) + log(f"[+] Кэш обновлен, добавлено {len(ai_data)} записей.") + + # ВТОРОЙ ПРОХОД: пересобираем расписание уже с новыми кэшированными данными ИИ + log("[*] Пересборка структуры с учетом новых данных от ИИ...") + final_groups, excels_list, _ = fetch_and_build(cache) + + # Формируем финальный результат output = { "actual_at": int(datetime.now().timestamp()), - "groups": final_groups + "groups": final_groups, + "excels": excels_list } + save_json(FILE_RESULT, output) - print(f"[*] Успешно: {FILE_RESULT} обновлен.") + log(f"[+] Итерация завершена. Файл {FILE_RESULT} успешно обновлен.") + + +def main(): + log("=== Система Совместимости V1-V2 (Служба) запущена ===") + if PROXY_URL: + log(f"[*] Настроен прокси-сервер: {PROXY_URL}") + if not GEMINI_API_KEY: + log("[!] ВНИМАНИЕ: GEMINI_API_KEY не задан. Интеллектуальный парсинг работать не будет!") + + # Бесконечный цикл - требование №1 + while True: + try: + job_iteration() + except Exception as e: + log(f"[!!!] Критическая ошибка на верхнем уровне: {e}") + traceback.print_exc() + + log(f"[*] Ожидание {POLL_INTERVAL} секунд перед следующей итерацией...\n") + time.sleep(POLL_INTERVAL) if __name__ == "__main__": main() \ No newline at end of file diff --git a/result.json b/result.json index 707d3ed..615e4fb 100644 --- a/result.json +++ b/result.json @@ -1,9 +1,9 @@ { - "actual_at": 1773907157, + "actual_at": 1774097518, "groups": { "АВБ-265": { "name": "АВБ-265", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 24 @@ -20,11 +20,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВК-261": { "name": "МВК-261", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 20 @@ -38,11 +38,11 @@ "СУББОТА_2": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВБ-264": { "name": "ТВБ-264", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 8 @@ -59,11 +59,11 @@ "СУББОТА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВБ-274с": { "name": "ТВБ-274с", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 28 @@ -82,11 +82,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВК-263": { "name": "ТВК-263", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 12 @@ -105,11 +105,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХМВК-262": { "name": "ХМВК-262", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 16 @@ -129,11 +129,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АВБ-387": { "name": "АВБ-387", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 28 @@ -147,11 +147,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВК-371": { "name": "МВК-371", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 24 @@ -169,11 +169,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВБ-383": { "name": "ТВБ-383", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 12 @@ -188,11 +188,11 @@ "СРЕДА_1": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВБ-385": { "name": "ТВБ-385", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 8 @@ -207,11 +207,11 @@ "СРЕДА_1": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВК-374": { "name": "ТВК-374", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 16 @@ -227,11 +227,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХМВК-372": { "name": "ХМВК-372", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 20 @@ -246,11 +246,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АВБ-487": { "name": "АВБ-487", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 24 @@ -266,11 +266,11 @@ "СУББОТА_1": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВК-471": { "name": "МВК-471", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 20 @@ -288,11 +288,11 @@ "СУББОТА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВБ-485": { "name": "ТВБ-485", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 8 @@ -309,11 +309,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВК-474": { "name": "ТВК-474", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 12 @@ -331,11 +331,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХМВК-472": { "name": "ХМВК-472", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 16 @@ -354,11 +354,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АВБ-587": { "name": "АВБ-587", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 22 @@ -370,11 +370,11 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВК-571": { "name": "МВК-571", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 19 @@ -390,11 +390,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВБ-585": { "name": "ТВБ-585", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 8 @@ -410,11 +410,11 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТВК-574": { "name": "ТВК-574", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 12 @@ -431,11 +431,11 @@ "СУББОТА_2": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХМВК-572": { "name": "ХМВК-572", - "facultet": "mmf", + "facultet": "vkf", "position": [ 7, 15 @@ -450,7 +450,7 @@ "СУББОТА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТВ-167": { "name": "ВТВ-167", @@ -726,7 +726,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЛВ-169": { "name": "МЛВ-169", @@ -969,7 +969,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-151": { "name": "ММв-151", @@ -989,7 +989,7 @@ "среда_2": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-181,182,183": { "name": "ЭУв-181,182,183", @@ -1009,7 +1009,7 @@ "среда_2": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТВ-267": { "name": "ВТВ-267", @@ -1261,7 +1261,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЛВ-269": { "name": "МЛВ-269", @@ -1594,7 +1594,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-251": { "name": "ММв-251", @@ -1609,7 +1609,7 @@ "пятница_2": {}, "суббота_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-281,282": { "name": "ЭУв-281,282", @@ -1624,7 +1624,7 @@ "пятница_1": {}, "суббота_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТВ-367": { "name": "ВТВ-367", @@ -1881,7 +1881,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЛВ-369": { "name": "МЛВ-369", @@ -2056,7 +2056,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-351": { "name": "ММв-351", @@ -2072,7 +2072,7 @@ "среда_1": {}, "среда_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-381,382": { "name": "ЭУв-381,382", @@ -2089,7 +2089,7 @@ "среда_2": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТВ-467": { "name": "ВТВ-467", @@ -2310,7 +2310,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЛВ-469": { "name": "МЛВ-469", @@ -2480,7 +2480,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-451": { "name": "ММв-451", @@ -2496,7 +2496,7 @@ "пятница_2": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-481,482": { "name": "ЭУв-481,482", @@ -2513,7 +2513,7 @@ "пятница_1": {}, "среда_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТВ-567": { "name": "ВТВ-567", @@ -2699,7 +2699,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЛВ-569": { "name": "МЛВ-569", @@ -2919,7 +2919,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Ммв-551": { "name": "Ммв-551", @@ -2933,7 +2933,7 @@ "вторник_2": {}, "понедельник_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-581,582": { "name": "ЭУв-581,582", @@ -2947,7 +2947,7 @@ "вторник_1": {}, "вторник_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЛВ-169с(Металлургия)": { "name": "МЛВ-169с(Металлургия)", @@ -3173,7 +3173,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-151с": { "name": "ММв-151с", @@ -3192,7 +3192,7 @@ "суббота_1": {}, "суббота_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-181с,Эув-182с": { "name": "ЭУв-181с,Эув-182с", @@ -3210,7 +3210,7 @@ "суббота_1": {}, "суббота_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЛВ-269с(Металлургия)": { "name": "МЛВ-269с(Металлургия)", @@ -3430,7 +3430,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-251с": { "name": "ММв-251с", @@ -3448,7 +3448,7 @@ "суббота_1": {}, "суббота_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-281с": { "name": "ЭУв-281с", @@ -3465,7 +3465,7 @@ "суббота_1": {}, "суббота_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Эув-282с": { "name": "Эув-282с", @@ -3482,7 +3482,7 @@ "суббота_1": {}, "суббота_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Эув-283с": { "name": "Эув-283с", @@ -3499,7 +3499,7 @@ "суббота_1": {}, "суббота_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-351с": { "name": "ММв-351с", @@ -3515,7 +3515,7 @@ "пятница_2": {}, "среда_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММв-352с": { "name": "ММв-352с", @@ -3531,7 +3531,7 @@ "пятница_2": {}, "среда_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭУв-381с": { "name": "ЭУв-381с", @@ -3548,7 +3548,7 @@ "пятница_2": {}, "среда_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Эув-382с": { "name": "Эув-382с", @@ -3564,7 +3564,7 @@ "пятница_1": {}, "среда_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Эув-383с": { "name": "Эув-383с", @@ -3580,7 +3580,7 @@ "пятница_1": {}, "среда_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТПз-231": { "name": "АТПз-231", @@ -3599,7 +3599,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТз-261": { "name": "ВТз-261", @@ -3619,7 +3619,7 @@ "СУББОТА_1": {}, "СУББОТА_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТОз-201": { "name": "КТОз-201", @@ -3638,7 +3638,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РСОз-241": { "name": "РСОз-241", @@ -3656,7 +3656,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТТПз-221": { "name": "ТТПз-221", @@ -3673,7 +3673,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТСз-233": { "name": "УТСз-233", @@ -3690,7 +3690,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТз-211": { "name": "ЭТз-211", @@ -3712,7 +3712,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭЭз-271": { "name": "ЭЭз-271", @@ -3729,7 +3729,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТПз-331": { "name": "АТПз-331", @@ -3746,7 +3746,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТз-361": { "name": "ВТз-361", @@ -3762,7 +3762,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТОз-301": { "name": "КТОз-301", @@ -3780,7 +3780,7 @@ "СРЕДА_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РСОз-341": { "name": "РСОз-341", @@ -3795,7 +3795,7 @@ "ПОНЕДЕЛЬНИК_1": {}, "ПОНЕДЕЛЬНИК_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТТПз-321": { "name": "ТТПз-321", @@ -3814,7 +3814,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТСз-333": { "name": "УТСз-333", @@ -3833,7 +3833,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТз-311": { "name": "ЭТз-311", @@ -3849,7 +3849,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭЭз-371": { "name": "ЭЭз-371", @@ -3868,7 +3868,7 @@ "СРЕДА_1": {}, "СУББОТА_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТПз-431": { "name": "АТПз-431", @@ -3886,7 +3886,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТз-461": { "name": "ВТз-461", @@ -3903,7 +3903,7 @@ "СРЕДА_2": {}, "СУББОТА_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТОз-401": { "name": "КТОз-401", @@ -3918,7 +3918,7 @@ "ВТОРНИК_2": {}, "ПОНЕДЕЛЬНИК_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РСОз-441": { "name": "РСОз-441", @@ -3935,7 +3935,7 @@ "СУББОТА_1": {}, "СУББОТА_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТТПз-421": { "name": "ТТПз-421", @@ -3952,7 +3952,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТСз-433": { "name": "УТСз-433", @@ -3969,7 +3969,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТз-411": { "name": "ЭТз-411", @@ -3986,7 +3986,7 @@ "СРЕДА_1": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭЭз-471": { "name": "ЭЭз-471", @@ -4003,7 +4003,7 @@ "СУББОТА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТПз-531": { "name": "АТПз-531", @@ -4018,7 +4018,7 @@ "ПЯТНИЦА_2": {}, "СУББОТА_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТз-561": { "name": "ВТз-561", @@ -4035,7 +4035,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТОз-501": { "name": "КТОз-501", @@ -4053,7 +4053,7 @@ "СРЕДА_2": {}, "СУББОТА_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПСз-591": { "name": "ПСз-591", @@ -4070,7 +4070,7 @@ "ЧЕТВЕРГ_1": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТСз-533": { "name": "УТСз-533", @@ -4085,7 +4085,7 @@ "ПЯТНИЦА_2": {}, "СУББОТА_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТз-511": { "name": "ЭТз-511", @@ -4101,7 +4101,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭЭз-571": { "name": "ЭЭз-571", @@ -4117,7 +4117,7 @@ "СРЕДА_2": {}, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТПз-131с,АТПз-132с": { "name": "АТПз-131с,АТПз-132с", @@ -4135,7 +4135,7 @@ "суббота_1": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТз-161с,162с,163с,164с": { "name": "ВТз-161с,162с,163с,164с", @@ -4155,7 +4155,7 @@ "четверг_1": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТОз-101с": { "name": "КТОз-101с", @@ -4173,7 +4173,7 @@ "суббота_1": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РСОз-141с,РСОз-142с": { "name": "РСОз-141с,РСОз-142с", @@ -4191,7 +4191,7 @@ "четверг_1": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТТПз-121с": { "name": "ТТПз-121с", @@ -4206,7 +4206,7 @@ "понедельник_2": {}, "среда_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТСз-133с": { "name": "УТСз-133с", @@ -4225,7 +4225,7 @@ "суббота_1": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТз-111с": { "name": "ЭТз-111с", @@ -4238,7 +4238,7 @@ "slots": { "среда_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭЭз-171с": { "name": "ЭЭз-171с", @@ -4255,7 +4255,7 @@ "суббота_1": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТПз-231с,АТПз-232с": { "name": "АТПз-231с,АТПз-232с", @@ -4277,7 +4277,7 @@ "четверг_1": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТз-261с,ВТз-262с": { "name": "ВТз-261с,ВТз-262с", @@ -4293,7 +4293,7 @@ "суббота_1": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВТз-263с": { "name": "ВТз-263с", @@ -4309,7 +4309,7 @@ "суббота_1": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТОз-201с": { "name": "КТОз-201с", @@ -4327,7 +4327,7 @@ "суббота_2": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РСОз-241с,РСОз-242с": { "name": "РСОз-241с,РСОз-242с", @@ -4343,7 +4343,7 @@ "понедельник_2": {}, "суббота_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТТПз-221с": { "name": "ТТПз-221с", @@ -4358,7 +4358,7 @@ "понедельник_1": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТСз-233с": { "name": "УТСз-233с", @@ -4377,7 +4377,7 @@ "среда_2": {}, "суббота_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТз-211с": { "name": "ЭТз-211с", @@ -4392,7 +4392,7 @@ "четверг_1": {}, "четверг_2": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭЭз-271с": { "name": "ЭЭз-271с", @@ -4409,7 +4409,7 @@ "суббота_2": {}, "четверг_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЛПЛ-1П": { "name": "ЛПЛ-1П", @@ -4706,7 +4706,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЛПМ-1Н": { "name": "ЛПМ-1Н", @@ -4979,7 +4979,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВ-1Н": { "name": "МВ-1Н", @@ -5288,7 +5288,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СП-1П": { "name": "СП-1П", @@ -5741,7 +5741,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТМ-1Н": { "name": "ТМ-1Н", @@ -6138,7 +6138,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЛПЛ-2П": { "name": "ЛПЛ-2П", @@ -6338,7 +6338,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЛПМ-2Н": { "name": "ЛПМ-2Н", @@ -6526,7 +6526,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВ-2Н": { "name": "МВ-2Н", @@ -6798,7 +6798,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СП-2П": { "name": "СП-2П", @@ -7186,7 +7186,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТМ-2Н": { "name": "ТМ-2Н", @@ -7412,7 +7412,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ММА-21П": { "name": "ММА-21П", @@ -7640,7 +7640,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТП-1н": { "name": "АТП-1н", @@ -7939,7 +7939,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТО-1н": { "name": "КТО-1н", @@ -8245,7 +8245,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МиР-1н": { "name": "МиР-1н", @@ -8544,7 +8544,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СМ-1н": { "name": "СМ-1н", @@ -8795,7 +8795,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТС-1н": { "name": "УТС-1н", @@ -9054,7 +9054,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АП-1Н": { "name": "АП-1Н", @@ -9383,7 +9383,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТЭРА-1Н": { "name": "ТЭРА-1Н", @@ -9696,7 +9696,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ППМ-1": { "name": "ППМ-1", @@ -10319,7 +10319,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭКОМ-1,ЭКОМ-1В": { "name": "ЭКОМ-1,ЭКОМ-1В", @@ -10716,7 +10716,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПОАС-1.1": { "name": "ПОАС-1.1", @@ -11063,7 +11063,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПОАС-1.2": { "name": "ПОАС-1.2", @@ -11410,7 +11410,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "САПР-1.1": { "name": "САПР-1.1", @@ -11737,7 +11737,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "САПР-1.3": { "name": "САПР-1.3", @@ -12128,7 +12128,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "САПР-1.4": { "name": "САПР-1.4", @@ -12497,7 +12497,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Ф-1": { "name": "Ф-1", @@ -12807,7 +12807,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭВМ-1.2": { "name": "ЭВМ-1.2", @@ -13139,7 +13139,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭВМ-1.3": { "name": "ЭВМ-1.3", @@ -13449,7 +13449,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТ-1": { "name": "ЭТ-1", @@ -13634,7 +13634,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЦЭ-1": { "name": "МЦЭ-1", @@ -13947,7 +13947,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ФМ-1": { "name": "ФМ-1", @@ -14279,7 +14279,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭФОР-1": { "name": "ЭФОР-1", @@ -14610,7 +14610,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВМС-1н": { "name": "ВМС-1н", @@ -14935,7 +14935,7 @@ }, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПИНМ-1п": { "name": "ПИНМ-1п", @@ -15262,7 +15262,7 @@ }, "ЧЕТВЕРГ_1": {} }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СХТМ-1.4п": { "name": "СХТМ-1.4п", @@ -15572,7 +15572,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТНГМ-1.3п": { "name": "ТНГМ-1.3п", @@ -15904,7 +15904,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТОНСМ-1.2п": { "name": "ТОНСМ-1.2п", @@ -16209,7 +16209,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХМАМ-1п": { "name": "ХМАМ-1п", @@ -16469,7 +16469,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТМАП-1": { "name": "ХТМАП-1", @@ -16827,7 +16827,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТОВ-1.1н": { "name": "ХТОВ-1.1н", @@ -17131,7 +17131,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТПЭК-1": { "name": "ХТПЭК-1", @@ -17543,7 +17543,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТП-2н": { "name": "АТП-2н", @@ -17712,7 +17712,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТО-2н": { "name": "КТО-2н", @@ -17981,7 +17981,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МиР-2н": { "name": "МиР-2н", @@ -18151,7 +18151,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СМ-2н": { "name": "СМ-2н", @@ -18304,7 +18304,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТС-2н": { "name": "УТС-2н", @@ -18473,7 +18473,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АП-2Н": { "name": "АП-2Н", @@ -18589,7 +18589,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-2Н": { "name": "АТ-2Н", @@ -18711,7 +18711,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТЭРА-2Н": { "name": "ТЭРА-2Н", @@ -18833,7 +18833,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ППМ2": { "name": "ППМ2", @@ -19144,7 +19144,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭКОМ2,ЭКОМ2В": { "name": "ЭКОМ2,ЭКОМ2В", @@ -19417,7 +19417,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПОАС-2.1": { "name": "ПОАС-2.1", @@ -19499,7 +19499,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПОАС-2.2": { "name": "ПОАС-2.2", @@ -19600,7 +19600,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "САПР-2.1": { "name": "САПР-2.1", @@ -19713,7 +19713,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "САПР-2.3": { "name": "САПР-2.3", @@ -19827,7 +19827,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "САПР-2.4": { "name": "САПР-2.4", @@ -19895,7 +19895,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭВМ-2.1": { "name": "ЭВМ-2.1", @@ -20032,7 +20032,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭВМ-2.2": { "name": "ЭВМ-2.2", @@ -20172,7 +20172,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭТ-2": { "name": "ЭТ-2", @@ -20340,7 +20340,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МЦЭ-2": { "name": "МЦЭ-2", @@ -20380,7 +20380,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ФМ-2": { "name": "ФМ-2", @@ -20600,7 +20600,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭФОР-2": { "name": "ЭФОР-2", @@ -20678,7 +20678,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВМС-2н": { "name": "ВМС-2н", @@ -20740,7 +20740,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПИНМ-2п": { "name": "ПИНМ-2п", @@ -20802,7 +20802,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СХТМ-2.4п": { "name": "СХТМ-2.4п", @@ -20942,7 +20942,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТНГМ-2.3п": { "name": "ТНГМ-2.3п", @@ -21082,7 +21082,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ТОНСМ-2.2п": { "name": "ТОНСМ-2.2п", @@ -21221,7 +21221,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХМАМ-2п": { "name": "ХМАМ-2п", @@ -21473,7 +21473,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТМАП-2": { "name": "ХТМАП-2", @@ -21564,7 +21564,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТОВ-2.1н": { "name": "ХТОВ-2.1н", @@ -21703,7 +21703,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТПЭК-2": { "name": "ХТПЭК-2", @@ -21789,7 +21789,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ВМЦЭ-2": { "name": "ВМЦЭ-2", @@ -21913,7 +21913,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТП-121": { "name": "АТП-121", @@ -22661,7 +22661,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТП-123": { "name": "АТП-123", @@ -23367,7 +23367,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТО-124": { "name": "КТО-124", @@ -24149,7 +24149,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РК-100": { "name": "РК-100", @@ -24930,7 +24930,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СПО-101": { "name": "СПО-101", @@ -25762,7 +25762,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТС-120": { "name": "УТС-120", @@ -26581,7 +26581,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТС-122": { "name": "УТС-122", @@ -27465,7 +27465,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АДП-222": { "name": "АДП-222", @@ -28093,7 +28093,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТП-221": { "name": "АТП-221", @@ -28715,7 +28715,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТО-224": { "name": "КТО-224", @@ -29344,7 +29344,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МиР-223": { "name": "МиР-223", @@ -29980,7 +29980,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РК-200": { "name": "РК-200", @@ -30676,7 +30676,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СПО-201": { "name": "СПО-201", @@ -31394,7 +31394,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТС-220": { "name": "УТС-220", @@ -32023,7 +32023,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АДП-322": { "name": "АДП-322", @@ -32656,7 +32656,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТП-321": { "name": "АТП-321", @@ -33340,7 +33340,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТО-324": { "name": "КТО-324", @@ -33991,7 +33991,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МиР-323": { "name": "МиР-323", @@ -34632,7 +34632,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РК-300": { "name": "РК-300", @@ -35353,7 +35353,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РКВ-302": { "name": "РКВ-302", @@ -35892,7 +35892,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СПО-301": { "name": "СПО-301", @@ -36523,7 +36523,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТС-320": { "name": "УТС-320", @@ -37163,7 +37163,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АДП-422": { "name": "АДП-422", @@ -37576,7 +37576,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТП-421": { "name": "АТП-421", @@ -38146,7 +38146,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "КТО-424": { "name": "КТО-424", @@ -38516,7 +38516,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РК-400": { "name": "РК-400", @@ -39200,7 +39200,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СПО-401": { "name": "СПО-401", @@ -39742,7 +39742,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "УТС-420": { "name": "УТС-420", @@ -40290,7 +40290,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РК-500": { "name": "РК-500", @@ -40806,7 +40806,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "СПО-501": { "name": "СПО-501", @@ -41385,7 +41385,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-114": { "name": "АТ-114", @@ -42021,7 +42021,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-115": { "name": "АТ-115", @@ -42719,7 +42719,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-116": { "name": "АТ-116", @@ -43448,7 +43448,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-117": { "name": "АТ-117", @@ -44100,7 +44100,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-110": { "name": "АТС-110", @@ -44756,6 +44756,7 @@ "excel_pos": null } }, + "СУББОТА_2": {}, "ЧЕТВЕРГ_1": { "11-12": { "discipline_name": "ХИМИЯ", @@ -44866,7 +44867,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-111": { "name": "АТС-111", @@ -45569,7 +45570,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-214": { "name": "АТ-214", @@ -46099,7 +46100,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-215": { "name": "АТ-215", @@ -46620,7 +46621,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-216": { "name": "АТ-216", @@ -47363,7 +47364,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-217": { "name": "АТ-217", @@ -47892,7 +47893,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-210": { "name": "АТС-210", @@ -48481,7 +48482,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-211": { "name": "АТС-211", @@ -49176,7 +49177,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-314": { "name": "АТ-314", @@ -49778,7 +49779,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-315": { "name": "АТ-315", @@ -50379,7 +50380,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-316": { "name": "АТ-316", @@ -50922,7 +50923,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-317": { "name": "АТ-317", @@ -51466,7 +51467,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-310": { "name": "АТС-310", @@ -52070,7 +52071,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-311": { "name": "АТС-311", @@ -52697,7 +52698,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-414": { "name": "АТ-414", @@ -53053,7 +53054,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-416": { "name": "АТ-416", @@ -53439,7 +53440,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТ-417": { "name": "АТ-417", @@ -53829,7 +53830,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-410": { "name": "АТС-410", @@ -54287,7 +54288,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "АТС-411": { "name": "АТС-411", @@ -54705,7 +54706,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-133": { "name": "М-133", @@ -55271,50 +55272,6 @@ "excel_pos": null } }, - "СУББОТА_1": { - "1-2": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "AB102:AE104", - "excel_pos": null - }, - "3-4": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "AB105:AE107", - "excel_pos": null - } - }, "ЧЕТВЕРГ_1": { "1-2": { "discipline_name": "МАТЕМАТИКА", @@ -55378,6 +55335,27 @@ "weeknum": 1, "excel_range": "AB72:AE74", "excel_pos": null + }, + "7-8": { + "discipline_name": "ИНОСТР. ЯЗЫК", + "locations": [ + "121" + ], + "leads": [ + "Чечет" + ], + "is_solid": true, + "is_flow": false, + "raw": [ + "121", + "ИНОСТР. ЯЗЫК", + "Чечет", + "нем." + ], + "weekday": 4, + "weeknum": 1, + "excel_range": "AB75:AE77", + "excel_pos": null } }, "ЧЕТВЕРГ_2": { @@ -55410,7 +55388,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-134": { "name": "М-134", @@ -56067,7 +56045,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВ-131": { "name": "МВ-131", @@ -56602,50 +56580,6 @@ "excel_pos": null } }, - "СУББОТА_1": { - "1-2": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "X102:AA104", - "excel_pos": null - }, - "3-4": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "X105:AA107", - "excel_pos": null - } - }, "ЧЕТВЕРГ_1": { "1-2": { "discipline_name": "БЖД", @@ -56709,6 +56643,27 @@ "weeknum": 1, "excel_range": "X72:AA74", "excel_pos": null + }, + "7-8": { + "discipline_name": "ИНОСТР. ЯЗЫК", + "locations": [ + "121" + ], + "leads": [ + "Чечет" + ], + "is_solid": true, + "is_flow": false, + "raw": [ + "121", + "ИНОСТР. ЯЗЫК", + "Чечет", + "нем." + ], + "weekday": 4, + "weeknum": 1, + "excel_range": "X75:AA77", + "excel_pos": null } }, "ЧЕТВЕРГ_2": { @@ -56780,7 +56735,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-128": { "name": "МС-128", @@ -57399,50 +57354,6 @@ "excel_pos": null } }, - "СУББОТА_1": { - "1-2": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "L102:O104", - "excel_pos": null - }, - "3-4": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "L105:O107", - "excel_pos": null - } - }, "ЧЕТВЕРГ_1": { "3-4": { "discipline_name": "СОЦИОЛОГИЯ", @@ -57488,6 +57399,27 @@ "weeknum": 1, "excel_range": "L72:O74", "excel_pos": null + }, + "7-8": { + "discipline_name": "ИНОСТР. ЯЗЫК", + "locations": [ + "121" + ], + "leads": [ + "Чечет" + ], + "is_solid": true, + "is_flow": false, + "raw": [ + "121", + "ИНОСТР. ЯЗЫК", + "Чечет", + "нем." + ], + "weekday": 4, + "weeknum": 1, + "excel_range": "L75:O77", + "excel_pos": null } }, "ЧЕТВЕРГ_2": { @@ -57553,7 +57485,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-129": { "name": "МС-129", @@ -58148,50 +58080,6 @@ "excel_pos": null } }, - "СУББОТА_1": { - "1-2": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "P102:S104", - "excel_pos": null - }, - "3-4": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "P105:S107", - "excel_pos": null - } - }, "ЧЕТВЕРГ_1": { "1-2": { "discipline_name": "СОЦИОЛОГИЯ", @@ -58326,7 +58214,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-130": { "name": "МС-130", @@ -59056,7 +58944,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-148": { "name": "РХТ-148", @@ -59640,50 +59528,6 @@ "excel_pos": null } }, - "СУББОТА_1": { - "1-2": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "H102:K104", - "excel_pos": null - }, - "3-4": { - "discipline_name": "ИНОСТР. ЯЗЫК", - "locations": [ - "407" - ], - "leads": [ - "Чечет" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "407", - "ИНОСТР. ЯЗЫК", - "Чечет", - "нем." - ], - "weekday": 6, - "weeknum": 1, - "excel_range": "H105:K107", - "excel_pos": null - } - }, "ЧЕТВЕРГ_1": { "3-4": { "discipline_name": "ИНФОРМАТИКА", @@ -59797,7 +59641,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-233": { "name": "М-233", @@ -60131,27 +59975,6 @@ } }, "ПЯТНИЦА_1": { - "7-8": { - "discipline_name": "ЭКОНОМИКА ОТРАСЛИ", - "locations": [ - "В-1005" - ], - "leads": [ - "Иванюк" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "В-1005", - "Иванюк", - "ОТРАСЛИ", - "ЭКОНОМИКА" - ], - "weekday": 5, - "weeknum": 1, - "excel_range": "AB88:AE90", - "excel_pos": null - }, "9-10": { "discipline_name": "ТЕХНИЧ. МЕХАНИКА", "locations": [ @@ -60449,7 +60272,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-234": { "name": "М-234", @@ -60761,27 +60584,6 @@ "weeknum": 1, "excel_range": "AF94:AI96", "excel_pos": null - }, - "9-10": { - "discipline_name": "ЭКОНОМИКА ОТРАСЛИ", - "locations": [ - "В-1005" - ], - "leads": [ - "Иванюк" - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "В-1005", - "Иванюк", - "ОТРАСЛИ", - "ЭКОНОМИКА" - ], - "weekday": 5, - "weeknum": 1, - "excel_range": "AF91:AI93", - "excel_pos": null } }, "ПЯТНИЦА_2": { @@ -61014,7 +60816,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВ-231": { "name": "МВ-231", @@ -61703,7 +61505,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-228": { "name": "МС-228", @@ -62408,7 +62210,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-229": { "name": "МС-229", @@ -63073,7 +62875,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-230": { "name": "МС-230", @@ -63774,7 +63576,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-248": { "name": "РХТ-248", @@ -64478,7 +64280,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-333": { "name": "М-333", @@ -65037,7 +64839,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-334": { "name": "М-334", @@ -65638,7 +65440,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВ-331": { "name": "МВ-331", @@ -66138,7 +65940,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-328": { "name": "МС-328", @@ -66712,7 +66514,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-329": { "name": "МС-329", @@ -67286,7 +67088,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-330": { "name": "МС-330", @@ -67921,7 +67723,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-433": { "name": "М-433", @@ -68444,7 +68246,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "М-434": { "name": "М-434", @@ -68893,7 +68695,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МВ-431": { "name": "МВ-431", @@ -69282,7 +69084,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-428": { "name": "МС-428", @@ -69776,7 +69578,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МС-429": { "name": "МС-429", @@ -70283,7 +70085,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-151": { "name": "ПП-151", @@ -71150,7 +70952,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-152": { "name": "ПП-152", @@ -72042,7 +71844,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-153": { "name": "ПП-153", @@ -72877,7 +72679,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-251": { "name": "ПП-251", @@ -73696,7 +73498,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-252": { "name": "ПП-252", @@ -74512,7 +74314,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-253": { "name": "ПП-253", @@ -75209,7 +75011,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МАП-350": { "name": "МАП-350", @@ -75686,7 +75488,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-351": { "name": "ПП-351", @@ -76462,7 +76264,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-351а": { "name": "ПП-351а", @@ -77187,7 +76989,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП-352": { "name": "ПП-352", @@ -77988,7 +77790,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "МАП450": { "name": "МАП450", @@ -78259,7 +78061,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП451": { "name": "ПП451", @@ -78595,7 +78397,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП452": { "name": "ПП452", @@ -78929,7 +78731,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПП452а": { "name": "ПП452а", @@ -79263,7 +79065,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-160": { "name": "ИВТ-160", @@ -80034,7 +79836,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-161": { "name": "ИВТ-161", @@ -80783,7 +80585,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-162": { "name": "ИВТ-162", @@ -81548,7 +81350,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-163": { "name": "ИВТ-163", @@ -82295,7 +82097,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-164": { "name": "ИВТ-164", @@ -83058,7 +82860,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИИТ-173": { "name": "ИИТ-173", @@ -83689,7 +83491,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-166": { "name": "ПрИн-166", @@ -84412,7 +84214,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-167": { "name": "ПрИн-167", @@ -85166,7 +84968,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-168": { "name": "ПрИн-168", @@ -85900,7 +85702,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Ф-169": { "name": "Ф-169", @@ -86643,7 +86445,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-260": { "name": "ИВТ-260", @@ -86779,26 +86581,6 @@ "weeknum": 1, "excel_range": "H10:K12", "excel_pos": null - }, - "5-6": { - "discipline_name": "МОДЕЛИРОВАНИЕ СИСТЕМ", - "locations": [ - "В-801" - ], - "leads": [ - "Казьмин И.В." - ], - "is_solid": true, - "is_flow": false, - "raw": [ - "В-801", - "Казьмин И.В.", - "МОДЕЛИРОВАНИЕ СИСТЕМ" - ], - "weekday": 1, - "weeknum": 1, - "excel_range": "H13:K15", - "excel_pos": null } }, "ПОНЕДЕЛЬНИК_2": { @@ -87274,7 +87056,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-261": { "name": "ИВТ-261", @@ -87923,7 +87705,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-262": { "name": "ИВТ-262", @@ -88578,7 +88360,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-263": { "name": "ИВТ-263", @@ -89168,7 +88950,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-264": { "name": "ИВТ-264", @@ -89761,7 +89543,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИИТ-273": { "name": "ИИТ-273", @@ -90313,7 +90095,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-266": { "name": "ПрИн-266", @@ -90919,7 +90701,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-267": { "name": "ПрИн-267", @@ -91571,7 +91353,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-268": { "name": "ПрИн-268", @@ -92191,7 +91973,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Ф-269": { "name": "Ф-269", @@ -92792,7 +92574,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-360": { "name": "ИВТ-360", @@ -93458,7 +93240,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-363": { "name": "ИВТ-363", @@ -93990,7 +93772,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-365": { "name": "ИВТ-365", @@ -94694,7 +94476,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИИТ-373": { "name": "ИИТ-373", @@ -95208,7 +94990,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПРИН-366": { "name": "ПРИН-366", @@ -95780,7 +95562,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПРИН-367": { "name": "ПРИН-367", @@ -96353,7 +96135,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПРИН-368": { "name": "ПРИН-368", @@ -96925,7 +96707,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Ф-369": { "name": "Ф-369", @@ -97708,7 +97490,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-460": { "name": "ИВТ-460", @@ -98086,7 +97868,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-463": { "name": "ИВТ-463", @@ -98445,7 +98227,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИВТ-464": { "name": "ИВТ-464", @@ -98833,7 +98615,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ИИТ-473": { "name": "ИИТ-473", @@ -99062,7 +98844,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-466": { "name": "ПрИн-466", @@ -99192,7 +98974,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-467": { "name": "ПрИн-467", @@ -99320,7 +99102,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ПрИн-468": { "name": "ПрИн-468", @@ -99450,7 +99232,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Ф-469": { "name": "Ф-469", @@ -99923,7 +99705,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "БИ-163": { "name": "БИ-163", @@ -100572,7 +100354,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-156": { "name": "Э-156", @@ -101246,7 +101028,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-157": { "name": "Э-157", @@ -101926,7 +101708,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-158": { "name": "Э-158", @@ -102439,7 +102221,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-158/1": { "name": "Э-158/1", @@ -102952,7 +102734,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-159": { "name": "Э-159", @@ -103465,7 +103247,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМ-154": { "name": "ЭМ-154", @@ -104105,7 +103887,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМ-155": { "name": "ЭМ-155", @@ -104769,7 +104551,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМ-155/1": { "name": "ЭМ-155/1", @@ -105282,7 +105064,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭП-161": { "name": "ЭП-161", @@ -105967,7 +105749,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-153": { "name": "ЭР-153", @@ -106527,7 +106309,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-153/1": { "name": "ЭР-153/1", @@ -107087,7 +106869,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-153/2": { "name": "ЭР-153/2", @@ -107650,7 +107432,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "БИ-263": { "name": "БИ-263", @@ -108320,7 +108102,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-256": { "name": "Э-256", @@ -108856,7 +108638,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-257": { "name": "Э-257", @@ -109336,7 +109118,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-258": { "name": "Э-258", @@ -109771,7 +109553,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-258/1": { "name": "Э-258/1", @@ -110204,7 +109986,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-259": { "name": "Э-259", @@ -110637,7 +110419,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "Э-259/1": { "name": "Э-259/1", @@ -111030,7 +110812,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМ-254": { "name": "ЭМ-254", @@ -111628,7 +111410,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМ-255": { "name": "ЭМ-255", @@ -112209,7 +111991,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМ-255/1": { "name": "ЭМ-255/1", @@ -112702,7 +112484,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭП-261": { "name": "ЭП-261", @@ -113396,7 +113178,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-253": { "name": "ЭР-253", @@ -113917,7 +113699,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-253/1": { "name": "ЭР-253/1", @@ -114429,7 +114211,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "БИ-363": { "name": "БИ-363", @@ -114931,7 +114713,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭММ354": { "name": "ЭММ354", @@ -115463,7 +115245,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМФ355": { "name": "ЭМФ355", @@ -115937,7 +115719,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМЭ357": { "name": "ЭМЭ357", @@ -116364,7 +116146,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМЭ357/1": { "name": "ЭМЭ357/1", @@ -116793,7 +116575,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМЭ357/2": { "name": "ЭМЭ357/2", @@ -117222,7 +117004,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭП-361": { "name": "ЭП-361", @@ -117725,7 +117507,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭП-362": { "name": "ЭП-362", @@ -118225,7 +118007,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭПР358": { "name": "ЭПР358", @@ -118594,7 +118376,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-353": { "name": "ЭР-353", @@ -119022,7 +118804,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-353/1": { "name": "ЭР-353/1", @@ -119450,7 +119232,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭФК359": { "name": "ЭФК359", @@ -120004,7 +119786,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭФК359/1": { "name": "ЭФК359/1", @@ -120558,7 +120340,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "БИ-463": { "name": "БИ-463", @@ -120961,7 +120743,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭММ-454": { "name": "ЭММ-454", @@ -121327,7 +121109,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМЭ-457": { "name": "ЭМЭ-457", @@ -121651,7 +121433,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМЭ-457/1": { "name": "ЭМЭ-457/1", @@ -121975,7 +121757,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭМЭ-457/2": { "name": "ЭМЭ-457/2", @@ -122301,7 +122083,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭП-461": { "name": "ЭП-461", @@ -122780,7 +122562,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭПР-458": { "name": "ЭПР-458", @@ -123064,7 +122846,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭР-453": { "name": "ЭР-453", @@ -123264,7 +123046,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭФК-459": { "name": "ЭФК-459", @@ -123670,7 +123452,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ЭФК-459/1": { "name": "ЭФК-459/1", @@ -124078,7 +123860,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-149": { "name": "РХТ-149", @@ -124730,7 +124512,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-141": { "name": "ХТ-141", @@ -125392,7 +125174,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-142": { "name": "ХТ-142", @@ -126040,7 +125822,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-143": { "name": "ХТ-143", @@ -126661,7 +126443,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-144": { "name": "ХТ-144", @@ -127325,7 +127107,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-249": { "name": "РХТ-249", @@ -128021,7 +127803,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-241": { "name": "ХТ-241", @@ -128746,7 +128528,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-242": { "name": "ХТ-242", @@ -129448,7 +129230,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-243": { "name": "ХТ-243", @@ -130118,7 +129900,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-244": { "name": "ХТ-244", @@ -130710,7 +130492,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-348": { "name": "РХТ-348", @@ -131211,7 +130993,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-349": { "name": "РХТ-349", @@ -131821,7 +131603,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-341": { "name": "ХТ-341", @@ -132554,7 +132336,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-342": { "name": "ХТ-342", @@ -133293,7 +133075,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-343": { "name": "ХТ-343", @@ -133869,7 +133651,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-344": { "name": "ХТ-344", @@ -134454,7 +134236,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-448": { "name": "РХТ-448", @@ -134740,7 +134522,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "РХТ-449": { "name": "РХТ-449", @@ -135048,7 +134830,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-441": { "name": "ХТ-441", @@ -135502,7 +135284,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-442": { "name": "ХТ-442", @@ -135896,7 +135678,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-443": { "name": "ХТ-443", @@ -136352,7 +136134,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ХТ-444": { "name": "ХТ-444", @@ -136990,7 +136772,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ФТКМ-1Св": { "name": "ФТКМ-1Св", @@ -137357,7 +137139,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ФТКМ-2Св": { "name": "ФТКМ-2Св", @@ -137685,7 +137467,7 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" }, "ФТКМ-3Св": { "name": "ФТКМ-3Св", @@ -138154,7 +137936,779 @@ } } }, - "data_source_hash": "TODO" + "data_source_hash": "UNKNOWN" } - } + }, + "excels": [ + { + "actual_at": 1774097132, + "excel": { + "facultet": "vkf", + "json_represent": "вн_вкф_расписание занятий на 2 семестр 1-5 курсов.json", + "last_changed": "2026-02-06 15:45:52", + "sha1hash": "3a0ac11e6ec4d18543222d06abfa491cf08e6769", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ВКФ_РАСПИСАНИЕ занятий на 2 СЕМЕСТР 1-5 курсов.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "vkf", + "json_represent": "вн_вкф_сессия 1 сем. эвб-267,379,479,579- 5,0 л.json", + "last_changed": "2026-02-06 15:45:52", + "sha1hash": "9fa60b51ebf20139d148d027de461a8840c52a0f", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ВКФ_СЕССИЯ 1 сем. ЭВБ-267,379,479,579- 5,0 л.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mmf", + "json_represent": "вн_ммф_расписание занятий на 2 семестр 1-5 курсов.json", + "last_changed": "2026-02-06 15:45:52", + "sha1hash": "3a0ac11e6ec4d18543222d06abfa491cf08e6769", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ММФ_РАСПИСАНИЕ занятий на 2 СЕМЕСТР 1-5 курсов.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mmf", + "json_represent": "вн_ммф_сессия 1 сем. эвб-267,379,479,579- 5,0 л.json", + "last_changed": "2026-02-06 15:45:52", + "sha1hash": "9fa60b51ebf20139d148d027de461a8840c52a0f", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ММФ_СЕССИЯ 1 сем. ЭВБ-267,379,479,579- 5,0 л.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_1 курс 2 семестр.json", + "last_changed": "2026-02-11 14:31:57", + "sha1hash": "fe3eb44a99fa163f7400fc7d47bc4daa82ffe814", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_1 курс 2 семестр.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_1 курс экономисты консультации 2 сем. 2025-26 г.json", + "last_changed": "2026-03-01 13:34:43", + "sha1hash": "b569daf9651821711b74aacb109fc7624e0ba24d", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_1 курс ЭКОНОМИСТЫ консультации 2 сем. 2025-26 г.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_2 курс 2 семестр.json", + "last_changed": "2026-02-11 14:31:57", + "sha1hash": "a835491d5e65e0fdc52caff86acc2d70aa7ffb59", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_2 курс 2 семестр.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_2 курс экономисты консультации 2 сем. 2025-26 г.json", + "last_changed": "2026-03-01 13:34:43", + "sha1hash": "e3440f7eca9e1fb73ba056c45097c65496712bd7", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_2 курс ЭКОНОМИСТЫ консультации 2 сем. 2025-26 г.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_3 курс 2 семестр.json", + "last_changed": "2026-02-11 14:31:57", + "sha1hash": "c490e0e27adbf2fcc226d8a81f4a74aee5257029", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_3 курс 2 семестр.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_3 курс экономисты консультации 2 сем. 2025-26 г.json", + "last_changed": "2026-03-01 13:34:43", + "sha1hash": "b87b4fe045c6cdd644de85ce525de5504a8f273e", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_3 курс ЭКОНОМИСТЫ консультации 2 сем. 2025-26 г.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_4 курс 2 семестр.json", + "last_changed": "2026-02-19 11:41:15", + "sha1hash": "f82499185f87b50677a9fe57372358252489a352", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_4 курс 2 семестр.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_4 курс экономисты консультации 2 сем. 2025-26 г.json", + "last_changed": "2026-03-01 13:34:43", + "sha1hash": "b2150444cfd4f400522be9be7c614056ec7525e7", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_4 курс ЭКОНОМИСТЫ консультации 2 сем. 2025-26 г.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_5 курс 2 семестр.json", + "last_changed": "2026-02-11 14:33:52", + "sha1hash": "dfd56f9b96992c42efc91dd8b05bdabf735ab847", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_5 курс 2 семестр.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вн_фпик_5 курс экономисты консультации 2 сем. 2025-26 г.json", + "last_changed": "2026-03-01 13:34:43", + "sha1hash": "11b38d7cf37795fefc1e8d67d7d000284491b970", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВН_ФПИК_5 курс ЭКОНОМИСТЫ консультации 2 сем. 2025-26 г.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "vkf", + "json_represent": "вс_вкф_расписание занятий на 2 семестр 1-5 курсов.json", + "last_changed": "2026-02-06 15:45:52", + "sha1hash": "3a0ac11e6ec4d18543222d06abfa491cf08e6769", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВС_ВКФ_РАСПИСАНИЕ занятий на 2 СЕМЕСТР 1-5 курсов.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mmf", + "json_represent": "вс_ммф_расписание занятий на 2 семестр 1-5 курсов.json", + "last_changed": "2026-02-06 15:45:52", + "sha1hash": "3a0ac11e6ec4d18543222d06abfa491cf08e6769", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВС_ММФ_РАСПИСАНИЕ занятий на 2 СЕМЕСТР 1-5 курсов.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вс_фпик_1 курс млв169с 2 семестр 2025-26 уч.г..json", + "last_changed": "2026-02-20 09:39:29", + "sha1hash": "eb2f30009b39136e0c461c827925bbe49b0fdd97", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВС_ФПИК_1 курс МЛВ169с 2 семестр 2025-26 уч.г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вс_фпик_1 курс экономика менеджмент консультации 2 сем. 2025-26 уч.г..json", + "last_changed": "2026-02-16 11:09:25", + "sha1hash": "4caa7f338ee64dfbaaef64cdbd97f7321dd27215", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВС_ФПИК_1 курс ЭКОНОМИКА МЕНЕДЖМЕНТ консультации 2 сем. 2025-26 уч.г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вс_фпик_2 курс млв 269с 2 семестр 2025-26 уч.г..json", + "last_changed": "2026-02-06 12:43:21", + "sha1hash": "28a4abbd80d8bbd491aeb4e5212e842fe288974c", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВС_ФПИК_2 курс МЛВ 269с 2 семестр 2025-26 уч.г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вс_фпик_2 курс экономика + менеджмент консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-02-17 16:48:26", + "sha1hash": "da20c1fd40df1b8ab53ed2632ecf5eaa96c11bbb", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВС_ФПИК_2 курс ЭКОНОМИКА + МЕНЕДЖМЕНТ консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "вс_фпик_3 курс экономика менеджмент консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-02-11 15:26:13", + "sha1hash": "fefe0a016900cae23d88aee694001b33ffc21c16", + "url": "https://www.vstu.ru/upload/raspisanie/z/ВС_ФПИК_3 курс ЭКОНОМИКА МЕНЕДЖМЕНТ консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зн_фпик_1 курс консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-03-11 15:09:59", + "sha1hash": "40bd34a119ed731baed6eef92405ac45d6380b26", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗН_ФПИК_1 курс консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зн_фпик_2 курс консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-03-03 15:15:19", + "sha1hash": "10689fdc30b8d92af54e91bb613356fbea8eea20", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗН_ФПИК_2 курс консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зн_фпик_3 курс консультации 2 сем 2025-26 г..json", + "last_changed": "2026-03-03 15:15:19", + "sha1hash": "b96b2177a4fab89fc12548bf8d94cbd9539f0294", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗН_ФПИК_3 курс консультации 2 сем 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зн_фпик_4 курс консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-03-19 18:05:51", + "sha1hash": "40db874b89c117c1a7a594021543f1659835bb6f", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗН_ФПИК_4 курс консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зн_фпик_5 курс консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-02-24 16:05:32", + "sha1hash": "a5ea227430d0b3d1461d305681ffdcdefa10cc14", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗН_ФПИК_5 курс консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зс_фпик_1 курс консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-03-16 12:30:41", + "sha1hash": "8b98f8e6a89eae93200b472a5891c9633592d247", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗС_ФПИК_1 курс консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зс_фпик_2 курс консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-03-18 17:31:38", + "sha1hash": "ea3a73c276c2193af436c9afb588242f58fb1dbc", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗС_ФПИК_2 курс консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fpik", + "json_represent": "зс_фпик_3 курс консультации 2 сем. 2025-26 г..json", + "last_changed": "2026-03-12 15:12:48", + "sha1hash": "760c620ade3bacf280c31331f88c031d7217c057", + "url": "https://www.vstu.ru/upload/raspisanie/z/ЗС_ФПИК_3 курс консультации 2 сем. 2025-26 г..xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "asp", + "json_represent": "он_аспирантура_ 1 год обучения всех аспирантов.json", + "last_changed": "2026-02-10 15:57:47", + "sha1hash": "403afb09e179ea73745283afd2310e59ffad9da2", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Аспирантура_ 1 год обучения всех аспирантов.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "asp", + "json_represent": "он_аспирантура_ 2 год обучения всех аспирантов.json", + "last_changed": "2026-02-09 15:16:41", + "sha1hash": "bd7c045132820f5338a666ad0bdcc82ae452e2d1", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Аспирантура_ 2 год обучения всех аспирантов.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_ 1 курс фткм.json", + "last_changed": "2026-03-18 10:37:15", + "sha1hash": "0c3ee27820981384eace0b23d3ee81bbda4ac822", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_ 1 курс ФТКМ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_ 2 курс фткм.json", + "last_changed": "2026-02-18 14:01:42", + "sha1hash": "59bbdb7f004f5ff06761f24caf97fc76e5884a61", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_ 2 курс ФТКМ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_ мма 21п фткм.json", + "last_changed": "2026-02-05 15:36:55", + "sha1hash": "ff95b11850e09a59aff8abdf8d5aacceffbc05d4", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_ ММА 21П ФТКМ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_1 курс фастив.json", + "last_changed": "2026-02-25 11:40:34", + "sha1hash": "3ee6eb2d4581205200959339ddf067cd8baae1c7", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_1 курс ФАСТИВ.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_1 курс фат.json", + "last_changed": "2026-02-18 14:03:09", + "sha1hash": "724afd3f940274ce0732856fba17813b6d23cbc5", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_1 курс ФАТ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_1 курс фтпп.json", + "last_changed": "2026-02-18 15:08:12", + "sha1hash": "2036ec8d072525c67f4f9ab0803fbadf9d72f493", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_1 курс ФТПП.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_1 курс фэвт.json", + "last_changed": "2026-03-17 15:24:16", + "sha1hash": "a121256728c4147d402a9481170b443bdfea5582", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_1 курс ФЭВТ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_1 курс фэу.json", + "last_changed": "2026-03-17 11:39:12", + "sha1hash": "0a6042c547cc1dcf3fc7e1700322450c27f8ac58", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_1 курс ФЭУ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_1 курс хтф.json", + "last_changed": "2026-03-11 10:23:39", + "sha1hash": "e6ded048e381fb22f50ae597f76330ee86938edd", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_1 курс ХТФ.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_2 курс фастив.json", + "last_changed": "2026-02-25 11:40:34", + "sha1hash": "cd5011c66f168ebcee05fc272299b52489c81661", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_2 курс ФАСТиВ.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_2 курс фат.json", + "last_changed": "2026-02-18 14:03:09", + "sha1hash": "6962ce4cdfeee3ec003329c46f1a5bba1a377952", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_2 курс ФАТ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_2 курс фтпп.json", + "last_changed": "2026-02-12 15:37:43", + "sha1hash": "9ec487214e5a13c0f069fa85ecdeca6ef49016cf", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_2 курс ФТПП.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_2 курс фэвт.json", + "last_changed": "2026-03-10 13:15:30", + "sha1hash": "fb734f4628ef02fd6b090af361fe9117c9bffab9", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_2 курс ФЭВТ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_2 курс фэу.json", + "last_changed": "2026-03-11 10:35:33", + "sha1hash": "ca641cb2c2bf2401764cf79f64a3da8a69333dcb", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_2 курс ФЭУ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_2 курс хтф.json", + "last_changed": "2026-02-17 10:05:04", + "sha1hash": "2a6dd7f005961e76333c7706a06e17fbe7c78a8c", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_2 курс ХТФ.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "mag", + "json_represent": "он_магистратура_2курс вмцэ.json", + "last_changed": "2026-02-17 12:24:45", + "sha1hash": "1d9481ae207719866589f78fd4cbf65a1b36120e", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_Магистратура_2курс ВМЦЭ.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fastiv", + "json_represent": "он_фастив_1 курс(гр. 100-101,120-124).json", + "last_changed": "2026-02-26 16:36:19", + "sha1hash": "af1fc0632608b9e778852b5aa29d7c0d4521c9b1", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАСТИВ_1 курс(гр. 100-101,120-124).xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fastiv", + "json_represent": "он_фастив_2 курс (гр 200-201, 220-224).json", + "last_changed": "2026-02-19 11:36:19", + "sha1hash": "119ad031156f7e1e680195aa3d3d65483e16fa0c", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАСТИВ_2 курс (гр 200-201, 220-224).xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fastiv", + "json_represent": "он_фастив_3 курс.json", + "last_changed": "2026-03-19 10:06:00", + "sha1hash": "364f04e901201d319a314b11617e46bacead272e", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАСТИВ_3 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fastiv", + "json_represent": "он_фастив_4 курс.json", + "last_changed": "2026-02-24 12:24:53", + "sha1hash": "adb86e3c37c0a3919bb902f6bc28629783d91593", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАСТИВ_4 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fastiv", + "json_represent": "он_фастив_5 курс.json", + "last_changed": "2026-03-17 15:01:16", + "sha1hash": "af21e01455b1be4d8f029bdbfa9d20aad88c53c4", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАСТИВ_5 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fat", + "json_represent": "он_фат_1 курс.json", + "last_changed": "2026-03-21 14:02:24", + "sha1hash": "d57db6df7a73e6c1bfe612b4cfb0ebf60e32f3d3", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАТ_1 курс.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fat", + "json_represent": "он_фат_2 курс.json", + "last_changed": "2026-03-04 11:51:27", + "sha1hash": "6f20958dba6f58b8f5d80f4339043d06e42ef22e", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАТ_2 курс.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fat", + "json_represent": "он_фат_3 курс.json", + "last_changed": "2026-03-11 11:49:54", + "sha1hash": "bf4328866e77fe7a3d2b43770eb95cf12b1e5a34", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАТ_3 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fat", + "json_represent": "он_фат_4 курс.json", + "last_changed": "2026-03-04 11:18:55", + "sha1hash": "a3044919efdb61d6e606de651d4bf39de36d0b50", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФАТ_4 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftkm", + "json_represent": "он_фткм_1 курс (гр.148,128-134).json", + "last_changed": "2026-03-21 14:02:24", + "sha1hash": "33157fc01ff06f41630531e6e534a782773f2b6a", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТКМ_1 курс (гр.148,128-134).xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftkm", + "json_represent": "он_фткм_2 курс ( гр.228-234).json", + "last_changed": "2026-03-20 13:59:16", + "sha1hash": "9d922988cc531a2678238e04c4e98528563a0ba0", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТКМ_2 курс ( гр.228-234).xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftkm", + "json_represent": "он_фткм_3 курс.json", + "last_changed": "2026-03-18 13:55:47", + "sha1hash": "29b9a47e1f81dad36f87f75c07896977c5f1767b", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТКМ_3 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftkm", + "json_represent": "он_фткм_4 курс.json", + "last_changed": "2026-02-19 11:46:15", + "sha1hash": "1ba4466bb47bd93336b0c679cc30a5f5681f12d9", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТКМ_4 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftpp", + "json_represent": "он_фтпп_1 курс.json", + "last_changed": "2026-03-21 14:02:24", + "sha1hash": "891269ec627d1ddf6955abf85320c6e614fbc8da", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТПП_1 курс.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftpp", + "json_represent": "он_фтпп_2 курс.json", + "last_changed": "2026-02-19 11:36:19", + "sha1hash": "4127e1e5a0935d3303e1a642d997629bdef0b89c", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТПП_2 курс.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftpp", + "json_represent": "он_фтпп_3 курс.json", + "last_changed": "2026-02-19 09:59:53", + "sha1hash": "afa4c710092a185f818d79a50eb9949a4f89e3e1", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТПП_3 курс.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftpp", + "json_represent": "он_фтпп_4 курс.json", + "last_changed": "2026-02-25 12:22:22", + "sha1hash": "5f0cfb7b90ca0768ecb0773e9c92984106988fde", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФТПП_4 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fevt", + "json_represent": "он_фэвт_1 курс.json", + "last_changed": "2026-03-18 12:14:32", + "sha1hash": "aa863f9480f4400bf0d1999be62098e4514c40ce", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭВТ_1 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fevt", + "json_represent": "он_фэвт_2 курс.json", + "last_changed": "2026-03-20 15:42:31", + "sha1hash": "e5756c49065dc9d777e1796aad5a5831590b1e7e", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭВТ_2 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fevt", + "json_represent": "он_фэвт_3 курс.json", + "last_changed": "2026-03-10 13:13:33", + "sha1hash": "679df2b77ebcf640803745b60df871e88c293eca", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭВТ_3 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "fevt", + "json_represent": "он_фэвт_4 курс.json", + "last_changed": "2026-03-10 13:15:30", + "sha1hash": "bc088b44c1f3316f4ad0358085908686b6567cc4", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭВТ_4 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "feu", + "json_represent": "он_фэу_1 курс.json", + "last_changed": "2026-03-16 14:26:02", + "sha1hash": "cce8170c33d972ddd4723137db364fe81f439ef3", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭУ_1 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "feu", + "json_represent": "он_фэу_2 курс.json", + "last_changed": "2026-03-07 09:43:10", + "sha1hash": "8e2e4e2a6ca3f835b50df44918bd1badf6ee73b7", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭУ_2 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "feu", + "json_represent": "он_фэу_3 курс.json", + "last_changed": "2026-03-18 13:55:47", + "sha1hash": "712bba38e201634820e496f036912ab8bcbf32c6", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭУ_3 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "feu", + "json_represent": "он_фэу_4 курс.json", + "last_changed": "2026-03-04 11:18:55", + "sha1hash": "25f5f1ee035e976ea366ea567f1f0646aba50f3e", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ФЭУ_4 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "htf", + "json_represent": "он_хтф_1 курс.json", + "last_changed": "2026-03-21 14:02:24", + "sha1hash": "4afeafee68d50595876f44ffe8602c5b00aca9e4", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ХТФ_1 курс.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "htf", + "json_represent": "он_хтф_2 курс.json", + "last_changed": "2026-03-04 12:30:57", + "sha1hash": "032e030c0823b25129d0fd19f4ca75eefaecc91f", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ХТФ_2 курс.xlsx" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "htf", + "json_represent": "он_хтф_3 курс.json", + "last_changed": "2026-02-19 14:26:20", + "sha1hash": "eac8d6eb79c253155f8bedf1fdee957794b39313", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ХТФ_3 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "htf", + "json_represent": "он_хтф_4 курс.json", + "last_changed": "2026-02-17 13:20:07", + "sha1hash": "ae60acbaf3c1425bde54ccb52fc52a208876b0f8", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОН_ХТФ_4 курс.xls" + } + }, + { + "actual_at": 1774097132, + "excel": { + "facultet": "ftkm", + "json_represent": "ос_фткм_1,2,3 курс.json", + "last_changed": "2026-02-27 15:22:01", + "sha1hash": "b78c1ea93502deb0aefcd81d2b0a81d290bab80d", + "url": "https://www.vstu.ru/upload/raspisanie/z/ОС_ФТКМ_1,2,3 курс.xls" + } + } + ] } \ No newline at end of file diff --git a/to_ai.txt b/to_ai.txt deleted file mode 100644 index e69de29..0000000