<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wwoss.direct.quickconnect.to/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>worldwide open-source software</title>
        <description></description>
        <link>https://wwoss.direct.quickconnect.to/</link>
        <lastBuildDate>Thu, 23 Jul 2026 06:04:14 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=wiki:logo.png</url>
            <title>worldwide open-source software</title>
            <link>https://wwoss.direct.quickconnect.to/</link>
        </image>
        <item>
            <title>test - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=manual:file_manager_db:test&amp;rev=1783882453</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;файл_file_managerdb&quot;&gt;Файл file_manager.db&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0430\u0439\u043b file_manager.db&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0430\u0439\u043b_file_managerdb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-40&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;📊_полная_схема_таблиц_базы_данных_file_managerdb_sqlite&quot;&gt;📊 ПОЛНАЯ СХЕМА ТАБЛИЦ БАЗЫ ДАННЫХ file_manager.db (SQLite)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Локальная база данных модуля содержит 3 взаимосвязанные таблицы, которые полностью обеспечивают логику безопасности, распределения прав, учета дубликатов и ведения тегов.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udcca \u041f\u041e\u041b\u041d\u0410\u042f \u0421\u0425\u0415\u041c\u0410 \u0422\u0410\u0411\u041b\u0418\u0426 \u0411\u0410\u0417\u042b \u0414\u0410\u041d\u041d\u042b\u0425 file_manager.db (SQLite)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udcca_\u043f\u043e\u043b\u043d\u0430\u044f_\u0441\u0445\u0435\u043c\u0430_\u0442\u0430\u0431\u043b\u0438\u0446_\u0431\u0430\u0437\u044b_\u0434\u0430\u043d\u043d\u044b\u0445_file_managerdb_sqlite&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;41-457&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;📑_таблица_1files_catalog_главный_реестр_файлов&quot;&gt;📑 Таблица 1: files_catalog (Главный реестр файлов)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Эта таблица хранит физические параметры каждого файла и жестко привязывает его к уровням приватности и пространству пользователя.
&lt;/p&gt;
&lt;div class=&quot;table sectionedit4&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;Имя поля (Column)&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Тип данных&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Флаги (Constraints)&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Описание поля и его логическая роль в коде&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGE&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;RPRIMARY KEY AUTOINCREMENT&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Уникальный сквозной номер файла внутри модуля.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;user_id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Владелец файла. Сюда записывается глобальный ID пользователя из таблицы core_users ядра.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;orig_name&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Оригинальное имя, которое видел юзер (например, чертеж_мурманск.dwg). Поддерживает кириллицу.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;server_name&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Безопасное имя файла на флешке (например, file_8834.dat). Исключает запуск хакерских скриптов.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;file_type&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Группа файла для быстрой фильтрации в интерфейсе (&amp;#039;photo&amp;#039;, &amp;#039;video&amp;#039;, &amp;#039;audio&amp;#039;, &amp;#039;document&amp;#039;).&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;file_size&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Размер файла в байтах. Используется для вывода в таблице и контроля лимитов места.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;file_hash&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;MD5-хэш содержимого. Нужен для защиты от дубликатов (дедупликации) и экономии памяти флешки.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;virtual_folder&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT &amp;#039;/&amp;#039;&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Виртуальный путь в интерфейсе (например, &amp;#039;/мурманск/проекты/&amp;#039;). Избавляет от создания реальных папок на диске.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;access_level&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT &amp;#039;private&amp;#039;&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Контур приватности. Принимает строго 3 значения: &amp;#039;private&amp;#039; (только владелец), &amp;#039;group&amp;#039; (семья/отдел), &amp;#039;public&amp;#039; (все).&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;download_count&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT 0&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Счетчик скачиваний. Показывает Суперадмину популярность файла.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;is_deleted&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT 0&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Флаг Корзины. 0 — файл активен, 1 — файл удален пользователем в Корзину (скрыт из общего списка).&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;created_at&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;DATETIME&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT CURRENT_TIMESTAMP&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Точная дата и время загрузки файла на сервер.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;updated_at&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;DATETIME&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT CURRENT_TIMESTAMP&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Дата и время последнего изменения файла. При первой загрузке равна created_at, но если пользователь отредактировал текст readme.txt через встроенный core_edit, PHP обновит это поле текущим штампом времени.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;is_draft&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT 1&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Флаг черновика. 1 — файл является черновиком (виден только автору), 0 — файл опубликован (активируется проверка access_level). Это спасет админа, если он загружает огромный ISO-образ приложения частями, чтобы юзеры не начали качать битый файл до конца загрузки.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;version_name&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT &amp;#039;1.0.0&amp;#039;&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Строковый маркер версии проекта, понятный человеку (например, v1.0.12, v2.0-beta).&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;parent_id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT 0&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Ключ версионирования. Если файл является новой версией старого проекта, сюда записывается id самого первого (базового) файла. Таким образом, в интерфейсе мы сможем схлопнуть историю изменений в одну строчку с выпадающим списком «История версий».&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;os_tag&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT &amp;#039;any&amp;#039;&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Метка операционной системы, под которую собран файл (например: windows, linux, macos, any).&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;cpu_tag&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;DEFAULT &amp;#039;any&amp;#039;&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Метка архитектуры процессора (например: x86_64, arm64, any). Критически важно для нашего «CD-диска» к руководству, чтобы пользователь случайно не скачал бинарник FFmpeg для ARM на обычный ПК Intel.&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;790-5171&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udcd1 \u0422\u0430\u0431\u043b\u0438\u0446\u0430 1: files_catalog (\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0440\u0435\u0435\u0441\u0442\u0440 \u0444\u0430\u0439\u043b\u043e\u0432)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udcd1_\u0442\u0430\u0431\u043b\u0438\u0446\u0430_1files_catalog_\u0433\u043b\u0430\u0432\u043d\u044b\u0439_\u0440\u0435\u0435\u0441\u0442\u0440_\u0444\u0430\u0439\u043b\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;458-5172&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;🏷️_таблица_2files_tags_индексатор_тегов_для_быстрого_поиска&quot;&gt;🏷️ Таблица 2: files_tags (Индексатор тегов для быстрого поиска)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Позволяет привязывать к одному файлу бесконечное количество поисковых меток (например, к одной фотографии можно добавить теги: «2026», «Отпуск», «Мурманск»). Связана с главной таблицей отношением «один ко многим».
&lt;/p&gt;
&lt;div class=&quot;table sectionedit6&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;Имя поля (Column)&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Тип данных&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Флаги (Constraints)&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Описание поля и его логическая роль в коде&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;PRIMARY KEY AUTOINCREMENT&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Уникальный номер тега.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;file_id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Связующий ключ. Указывает, к какому конкретно файлу из &lt;code&gt;files_catalog&lt;/code&gt; привязан этот тег.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;tag_name&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;TEXT&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Сам текст тега в нижнем регистре для удобства поиска (например, отпуск).&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5680-6245&amp;quot;} --&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Правило каскадного удаления:&lt;/strong&gt; Для поля file_id прописывается связь FOREIGN KEY(file_id) REFERENCES files_catalog(id) ON DELETE CASCADE. Это значит, что если Игорь окончательно очистит файл из Корзины, ядро SQLite &lt;strong&gt;автоматически и молча сотрет все теги&lt;/strong&gt;, привязанные к этому файлу, предотвращая появление мусора в базе.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83c\udff7\ufe0f \u0422\u0430\u0431\u043b\u0438\u0446\u0430 2: files_tags (\u0418\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440 \u0442\u0435\u0433\u043e\u0432 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83c\udff7\ufe0f_\u0442\u0430\u0431\u043b\u0438\u0446\u0430_2files_tags_\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440_\u0442\u0435\u0433\u043e\u0432_\u0434\u043b\u044f_\u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e_\u043f\u043e\u0438\u0441\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;5173-6767&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;👥_таблица_3files_shares_точечный_доступ_для_конкретных_людей&quot;&gt;👥 Таблица 3: files_shares (Точечный доступ для конкретных людей)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Нужна для расширения логики приватности. Если уровень доступа файла равен private, но Игорь хочет показать этот конкретный файл только Алисе (не открывая его для всей группы или интернета), эта таблица зафиксирует исключение.
&lt;/p&gt;
&lt;div class=&quot;table sectionedit8&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;Имя поля (Column)&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Тип данных&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Флаги (Constraints)&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Описание поля и его логическая роль в коде&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;PRIMARY KEY AUTOINCREMENT&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;Уникальный номер записи.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;file_id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;ID файла из таблицы files_catalog, к которому дается доступ.&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;shared_with_id&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;INTEGER&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;NOT NULL&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;ID пользователя из глобальной базы ядра (core_users), которому разрешено скачать этот приватный файл.&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table2&amp;quot;,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;7292-7858&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udc65 \u0422\u0430\u0431\u043b\u0438\u0446\u0430 3: files_shares (\u0422\u043e\u0447\u0435\u0447\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udc65_\u0442\u0430\u0431\u043b\u0438\u0446\u0430_3files_shares_\u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0439_\u0434\u043e\u0441\u0442\u0443\u043f_\u0434\u043b\u044f_\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445_\u043b\u044e\u0434\u0435\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;6768-7859&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;💻_готовый_sql-код_для_инсталлятора_модуля_для_вашего_руководства&quot;&gt;💻 Готовый SQL-код для инсталлятора модуля (Для вашего руководства)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Когда Суперадмин будет впервые активировать модуль файлового менеджера, его &lt;code&gt;controller.php&lt;/code&gt; выполнит этот чистый SQL-запрос для создания структуры:
&lt;/p&gt;
&lt;pre class=&quot;code sql&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;SQL&lt;/span&gt;&lt;span class=&quot;co1&quot;&gt;-- 1. Создаем таблицу каталога файлов&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;EXISTS&lt;/span&gt; files_catalog &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
    id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt; AUTOINCREMENT&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    user_id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    orig_name TEXT &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    server_name TEXT &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    file_type TEXT &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    file_size &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    file_hash TEXT &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    virtual_folder TEXT &lt;span class=&quot;kw1&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;/&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    access_level TEXT &lt;span class=&quot;kw1&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&#039;private&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    download_count &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    is_deleted &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    created_at DATETIME &lt;span class=&quot;kw1&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;CURRENT_TIMESTAMP&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;-- 2. Создаем таблицу тегов с автоматической очисткой&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;EXISTS&lt;/span&gt; files_tags &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
    id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt; AUTOINCREMENT&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    file_id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    tag_name TEXT &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;FOREIGN&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;file_id&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;REFERENCES&lt;/span&gt; files_catalog&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;id&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;ON&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;DELETE&lt;/span&gt; CASCADE
&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;-- 3. Создаем таблицу точечных доступов&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;EXISTS&lt;/span&gt; files_shares &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
    id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt; AUTOINCREMENT&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    file_id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    shared_with_id &lt;span class=&quot;kw1&quot;&gt;INTEGER&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;FOREIGN&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;KEY&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;file_id&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;REFERENCES&lt;/span&gt; files_catalog&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;id&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;ON&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;DELETE&lt;/span&gt; CASCADE
&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;-- 4. Создаем системные индексы для ультрабыстрого поиска (чтобы флешка не тормозила)&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;INDEX&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;EXISTS&lt;/span&gt; idx_files_user &lt;span class=&quot;kw1&quot;&gt;ON&lt;/span&gt; files_catalog&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;user_id&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;INDEX&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;EXISTS&lt;/span&gt; idx_files_hash &lt;span class=&quot;kw1&quot;&gt;ON&lt;/span&gt; files_catalog&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;file_hash&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;kw1&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;INDEX&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;EXISTS&lt;/span&gt; idx_tags_file &lt;span class=&quot;kw1&quot;&gt;ON&lt;/span&gt; files_tags&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;file_id&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udcbb \u0413\u043e\u0442\u043e\u0432\u044b\u0439 SQL-\u043a\u043e\u0434 \u0434\u043b\u044f \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440\u0430 \u043c\u043e\u0434\u0443\u043b\u044f (\u0414\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udcbb_\u0433\u043e\u0442\u043e\u0432\u044b\u0439_sql-\u043a\u043e\u0434_\u0434\u043b\u044f_\u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0442\u043e\u0440\u0430_\u043c\u043e\u0434\u0443\u043b\u044f_\u0434\u043b\u044f_\u0432\u0430\u0448\u0435\u0433\u043e_\u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;7860-&amp;quot;} --&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 12 Jul 2026 18:54:13 +0000</pubDate>
        </item>
        <item>
            <title>test - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=manual:file_manager:test&amp;rev=1783880640</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;file_manager&quot;&gt;file_manager&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;file_manager&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;file_manager&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-27&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;📖_технический_паспорт_модуля_file_manager_пофайловый_разбор&quot;&gt;📖 ТЕХНИЧЕСКИЙ ПАСПОРТ МОДУЛЯ file_manager (ПОФАЙЛОВЫЙ РАЗБОР)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Каждая директория и файл внутри капсулы модуля modules/file_manager/ выполняют строго изолированную роль, подчиненную глобальному ядру Universal &lt;abbr title=&quot;Content Management System&quot;&gt;CMS&lt;/abbr&gt; [INDEX].
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udcd6 \u0422\u0415\u0425\u041d\u0418\u0427\u0415\u0421\u041a\u0418\u0419 \u041f\u0410\u0421\u041f\u041e\u0420\u0422 \u041c\u041e\u0414\u0423\u041b\u042f file_manager (\u041f\u041e\u0424\u0410\u0419\u041b\u041e\u0412\u042b\u0419 \u0420\u0410\u0417\u0411\u041e\u0420)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udcd6_\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u043f\u0430\u0441\u043f\u043e\u0440\u0442_\u043c\u043e\u0434\u0443\u043b\u044f_file_manager_\u043f\u043e\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0439_\u0440\u0430\u0437\u0431\u043e\u0440&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;28-398&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;📁_1_системные_шлюзы_и_логика_php-бэкенд&quot;&gt;📁 1. Системные шлюзы и Логика (PHP-Бэкенд)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; init.php — Входной шлюз модуля (Регистратор)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Первым принимает управление от роутера ядра (core/router.php) [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Логика: Проверяет сессию пользователя. Если пользователь гость — блокирует доступ. Если авторизован — динамически регистрирует модуль в главном меню шаблонизатора ({menu}) [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; controller.php — Главный мозг модуля (Диспетчер команд)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Обрабатывает любые POST/GET запросы, прилетающие от JavaScript из браузера [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Логика: Содержит функции actionUpload(), actionDelete(), actionRename(), actionChangeAccess(). Он не решает, можно ли юзеру смотреть файл, он лишь выполняет физические действия (перенос, удаление, вызов FFmpeg) и делает записи в БД [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; core_api.php — Внутреннее окно связи (Шлюз безопасности)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Единственная точка входа для других модулей (например, для модуля Книжной библиотеки library) [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Логика: Когда библиотека просит файл проекта, этот файл проверяет права текущего юзера. Он лезет в БД file_manager.db в таблицу files_catalog, смотрит поле access_level [INDEX]. Если там стоит private и ID юзера не совпадает с владельцем — шлюз рубит запрос до того, как файл скачается, выдавая ошибку 403 [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udcc1 1. \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0448\u043b\u044e\u0437\u044b \u0438 \u041b\u043e\u0433\u0438\u043a\u0430 (PHP-\u0411\u044d\u043a\u0435\u043d\u0434)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udcc1_1_\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435_\u0448\u043b\u044e\u0437\u044b_\u0438_\u043b\u043e\u0433\u0438\u043a\u0430_php-\u0431\u044d\u043a\u0435\u043d\u0434&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;399-2490&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;👑_2_панель_управления_суперадмина_root-контроль&quot;&gt;👑 2. Панель управления Суперадмина (Root-контроль)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; admin_panel.php — Локальный пульт управления модулем&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Настройки модуля, доступные исключительно для роли superuser (Главный Root) [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Логика: Генерирует форму в глобальном Дашборде ядра, где Суперадмин может:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Задать разрешенные расширения файлов (запретить .exe, .sh) [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Изменить цвет вкладок (theme_tab_color) и фон интерфейса менеджера [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Напрямую читать файл действий file_actions.log [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Связь с БД/Конфигом: Записывает настройки в локальный modules/file_manager/config.ini [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udc51 2. \u041f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0421\u0443\u043f\u0435\u0440\u0430\u0434\u043c\u0438\u043d\u0430 (Root-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udc51_2_\u043f\u0430\u043d\u0435\u043b\u044c_\u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f_\u0441\u0443\u043f\u0435\u0440\u0430\u0434\u043c\u0438\u043d\u0430_root-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2491-3474&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;🎨_3_визуальный_слой_фронтенд_и_интерфейс&quot;&gt;🎨 3. Визуальный слой (Фронтенд и Интерфейс)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; view.html — Каркас интерфейса (Таблица и 4 вкладки со скриншота)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Чистая разметка HTML5. Содержит сетку (Grid) для вывода папок проектов Игоря (как папки «test», «мурманск») и зону Drag-and-Drop для перетаскивания файлов мышкой [INDEX]. Внизу содержит разметку 4-х вкладок («README», «Лицензия», «Комментарий», «Лог действий») [INDEX]. Не содержит PHP-кода!&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; assets/css/manager.css — Локальный стиль оформления&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Стилизация интерфейса менеджера. Важный момент: цвета вкладок и фона здесь прописаны через &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt;-переменные (–tab-color), которые динамически подставляются из локального config.ini [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; assets/js/manager.js — Двигатель интерфейса (JavaScript)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Перехватывает сброс файлов мышкой (переводит Drag-and-Drop в поток данных), отправляет асинхронные запросы fetch() к controller.php [INDEX]. Отвечает за плавное переключение нижних вкладок без перезагрузки страницы (запрашивает тексты из папки logs/) [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83c\udfa8 3. \u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 (\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u0438 \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83c\udfa8_3_\u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0439_\u0441\u043b\u043e\u0439_\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434_\u0438_\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3475-5177&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;📦_4_локальные_данные_бортовые_журналы_и_переводы&quot;&gt;📦 4. Локальные данные, Бортовые журналы и Переводы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; config.ini — Локальный файл конфигурации модуля&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Хранит лимиты и настройки внешнего вида, заданные Суперадмином через admin_panel.php [INDEX]. Полностью изолирован от ядра [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; file_manager.db — База данных SQLite (Сердце учета)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Хранит всю информацию о правах, приватности, хэшах и виртуальных папках [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Связь с кодом: Именно поля этой БД (access_level, virtual_folder, is_deleted) определяют поведение controller.php и core_api.php [INDEX]. Физический файл на диске переименован в безопасный ID, а его реальное русское имя помнит только эта БД [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; lang/ — Папка децентрализованных переводов&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; ru.php — Хранит перевод кнопок и вкладок интерфейса на русский язык.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; fr.php — Позволяет расширить менеджер французским или любым другим языком без ковыряния в ядре [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; logs/ — Контент вкладок и история (Текстовая база)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; file_actions.log — Сюда контроллер пишет каждую загрузку/удаление в формате дата|юзер|действие|результат [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; readme.txt — Текстовый файл. Его содержимое модуль core_edit выводит и позволяет редактировать во вкладке «README» [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; license.txt — Юридические условия папки проекта (Вкладка «Лицензия») [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; comments.txt — Личные заметки пользователя о проекте (Вкладка «Комментарий») [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udce6 4. \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0411\u043e\u0440\u0442\u043e\u0432\u044b\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u044b \u0438 \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udce6_4_\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435_\u0434\u0430\u043d\u043d\u044b\u0435_\u0431\u043e\u0440\u0442\u043e\u0432\u044b\u0435_\u0436\u0443\u0440\u043d\u0430\u043b\u044b_\u0438_\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5178-7426&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;🔒_5_физическое_заблокированное_хранилище&quot;&gt;🔒 5. Физическое заблокированное хранилище&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; storage/ — Директория изолированных пространств&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; За что отвечает: Сюда физически падают файлы [INDEX]. Доступ из браузера напрямую по ссылкам сюда закрыт через .htaccess ядра [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; igor/, alisa/, root_admin/ — Персональные папки пользователей, которые создаются автоматически при их первой загрузке файла [INDEX]. Зайти в папку alisa/ скрипт позволит только в том случае, если в сессии ядра $_SESSION[&amp;#039;username&amp;#039;] === &amp;#039;alisa&amp;#039;, либо если файл имеет статус public в БД file_manager.db [INDEX].&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\ud83d\udd12 5. \u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\ud83d\udd12_5_\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435_\u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435_\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;7427-&amp;quot;} --&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 12 Jul 2026 18:24:00 +0000</pubDate>
        </item>
        <item>
            <title>test</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=manual:application_core:test&amp;rev=1783878770</link>
            <description>
&lt;p&gt;
arch-linux&lt;br/&gt;

css/php/js&lt;br/&gt;

ffmpeg - автономный без установки&lt;br/&gt;

tauri+php+js&lt;br/&gt;

автономная библиотека wire-guard&lt;br/&gt;

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS Kernel - создание ядра приложения и модулей, а так-же шаблонов.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS install - создание временного модуля установки приложения (англ. application installation)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS Dashboard - создание подключаемого модуля панель управления (англ. dashboard)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS File - создание подключаемого модуля файловая библиотека (англ. file, от file library)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS Bcw - создание подключаемого модуля сайта-визитки (англ. BCW, от business card website)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS Book - создание подключаемого модуля книжная библиотека (англ. book, от book library)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS Blog - создание подключаемого модуля блога (англ. blog, от web log)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS Video - создание подключаемого модуля видеохостинга (лат. video и англ. hosting)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UCMS Sns - создание подключаемого модуля социа́льная сеть (англ. SNS от social networking service)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code&quot;&gt;ucms_stick/                      &amp;lt;-- Автономная папка-капсула на ПК или флешке
│
├── LICENSE                      &amp;lt;-- Юридическая свобода (Лицензия MIT/Apache 2.0 на весь комплект)
├── README.md                    &amp;lt;-- Краткая инструкция по запуску run.cmd для читателя книги
├── server/                      &amp;lt;-- Портативное окружение (Apache / PHP)
├── run.cmd                      &amp;lt;-- Скрипт запуска локального сервера в 1 клик
│
└── ucms/                        &amp;lt;-- ЕДИНОЕ ВЕБ-ПРИЛОЖЕНИЕ (APP_ROOT)
    │
    ├── .htaccess                &amp;lt;-- Единое перенаправление всех запросов на index.php
    ├── index.php                &amp;lt;-- Входная точка ядра (запуск сессий, вызов роутера)
    ├── version.txt              &amp;lt;-- Текущая версия системы (например, &amp;quot;1.0.0&amp;quot;)
    ├── LICENSE                  &amp;lt;-- Лицензия на само веб-приложение
    ├── README.md                &amp;lt;-- Описание структуры папок ucms для изучающих код
    │
    ├── config/                  &amp;lt;-- КОНФИГУРАЦИЯ
    │   └── config.ini           &amp;lt;-- Создается автоматически при первой установке
    │
    ├── core/                    &amp;lt;-- ЖЕСТКОЕ СИСТЕМНОЕ ЯДРО (ДНК системы)
    │   ├── router.php           &amp;lt;-- Маршрутизатор, проверка config.ini, защита CORS
    │   ├── database.php         &amp;lt;-- SQLite обертка (авто-подключение core_main.db)
    │   ├── system.php           &amp;lt;-- (Наш прошлый сборщик паспорта version.json)
    │   │
    │   ├── logger.php           &amp;lt;-- ГЛАВНЫЙ КЛАСС ЛОГИРОВАНИЯ (Сборщик всех багов)
    │   │                            - Перехватывает ошибки PHP через set_error_handler
    │   │                            - Перехватывает фатальные сбои через register_shutdown_function
    │   │                            - Форматирует и записывает баги в файлы ниже
    │   │
    │   ├── template.php         &amp;lt;-- Шаблонизатор (обработка тегов {content}, {auth})
    │   ├── paths.php            &amp;lt;-- Карта относительной автономности путей
    │   │
    │   ├── security.php         &amp;lt;-- ГЛОБАЛЬНЫЙ ДИСПЕТЧЕР БЕЗОПАСНОСТИ (Цепляет списки ниже)
    │   ├── security/            &amp;lt;-- Базы данных и списки черного контура защиты
    │   │   ├── black_ip.dat     &amp;lt;-- Локальный список забаненных IP адресов за флуд
    │   │   ├── bad_logins.dat   &amp;lt;-- Запрещенные ники (admin, root, moder, system, null)
    │   │   └── weak_pwd.dat     &amp;lt;-- База топ-1000 известных паролей (запрет к установке юзерами)
    │   │
    │   │
    │   ├── system.php           &amp;lt;-- НАШ НОВЫЙ ФАЙЛ: СИСТЕМНЫЙ ИНСПЕКТОР (Сборщик паспорта)
    │   │                            - Сканирует версию PHP и подключенные модули (FFI, SQLite)
    │   │                            - Читает лимиты из php.ini (upload_max_filesize, memory_limit)
    │   │                            - Обходит папку /modules/, собирая версии из файлов init.php
    │   │                            - Генерирует или обновляет файл version.json одной функцией
    │   │
    │   └── lang/                &amp;lt;-- СИСТЕМНЫЕ ПЕРЕВОДЫ ЯДРА (Только база)
    │       ├── ru.php           &amp;lt;-- Перевод системных ошибок и ядра на русский
    │       └── en.php           &amp;lt;-- Перевод системных ошибок на английский
    │
    ├── logs/                    &amp;lt;-- НОВАЯ ИЗОЛИРОВАННАЯ ПАПКА ДЛЯ ЛОГОВ СИСТЕМЫ
    │   ├── php_errors.log       &amp;lt;-- КЛАССИЧЕСКИЕ БАГИ (Сюда пишутся опечатки в коде, забытые &amp;#039;;&amp;#039; и т.д.)
    │   ├── sql_errors.log       &amp;lt;-- СБОИ БАЗЫ ДАННЫХ (Ошибки запросов к SQLite, блокировки таблиц WAL)
    │   └── security_attacks.log &amp;lt;-- ЛОГ АТАК (Сюда security.php пишет IP-адреса тех, кто подбирает пароли)
    │	
    ├── templates/               &amp;lt;-- ГЛОБАЛЬНЫЙ ДИЗАЙН (Каркас по умолчанию)
    │   ├── errors/              &amp;lt;-- ПАПКА КРАСИВЫХ СУВЕРЕННЫХ ЗАГЛУШЕК ДЛЯ ПОЛЬЗОВАТЕЛЯ
    │   │   ├── 403.html         &amp;lt;-- Доступ запрещен (Например, юзер без прав лезет в Dashboard)
    │   │   ├── 404.html         &amp;lt;-- Модуль или страница не найдены
    │   │   └── 500.html         &amp;lt;-- Критическая ошибка (Когда упал PHP или база данных)	
    │   │
    │   ├── main.html            &amp;lt;-- Шаблон Dashboard (содержит теги {content}, {menu})
    │   ├── auth.html            &amp;lt;-- Шаблон страницы входа (содержит тег {auth})
    │   └── assets/              &amp;lt;-- Глобальные стили ядра (main.css, nav.css, main.js)
    │
    ├── test/                    &amp;lt;-- ОБУЧАЮЩАЯ ИНТЕРАКТИВНАЯ ПЕСОЧНИЦА (Лаборатория читателя)
    │   ├── test_paths.php       &amp;lt;-- Урок 1: Эксперименты с константами путей
    │   ├── test_controller_1.php &amp;lt;-- Урок 2: Разбор URL и логика роутинга
    │   ├── test_controller_2.php &amp;lt;-- Урок 3: Прямое сырое подключение к SQLite
    │   ├── test_controller_4.php &amp;lt;-- Урок 4: Тестовый вызов портативного Си-бинарника FFmpeg
    │   └── test_errors_dump.php &amp;lt;-- Урок 5: Изучение перехвата ошибок и логов
    │
    └── modules/                 &amp;lt;-- ФАБРИКА АВТОНОМНЫХ МОДУЛЕЙ (Капсулы Варианта А)
        │
        ├── test/                &amp;lt;-- Визуальный модуль отладки для Dashboard (Рентген тегов и логов)
        │
        ├── core_install/        &amp;lt;-- Временный модуль установки (Блокируется после генерации config.ini)
        ├── core_auth/           &amp;lt;-- Система контроля доступа (login, register, 2fa, reset)
        ├── core_dashboard/      &amp;lt;-- Панель управления Суперадмина + Подмодуль суверенного обновления updater/
        │
	├── core_edit/           &amp;lt;-- НОВЫЙ ОБЯЗАТЕЛЬНЫЙ МОДУЛЬ: СУВЕРЕННЫЙ ТЕКСТОВЫЙ РЕДАКТОР
	│   ├── init.php         &amp;lt;-- Проверяет авторизацию пользователя перед открытием редактора
	│   ├── controller.php   &amp;lt;-- PHP-мозг (принимает измененный текст и перезаписывает файлы)
	│   ├── view.html        &amp;lt;-- HTML-каркас панели редактора (кнопки &amp;quot;Жирный&amp;quot;, &amp;quot;Курсив&amp;quot;, &amp;quot;Сохранить&amp;quot;)
	│   │
	│   └── assets/          &amp;lt;-- Главное оружие визуального редактора
	│       ├── css/
	│       │   └── edit.css &amp;lt;-- Стили кнопок форматирования и окна редактора
	│       └── js/
	│           └── edit.js  &amp;lt;-- Ультралегкий JS-движок визуального редактирования текста		
	│	
	├── file_manager/                &amp;lt;-- НАШ ФАЙЛОВЫЙ МЕНЕДЖЕР (КАК НА СКРИНШОТЕ)
	│   ├── admin_panel.php          &amp;lt;-- НОВЫЙ ФАЙЛ: ЛОКАЛЬНЫЙ ДАШБОРД МОДУЛЯ (Только для Root)
	│   │                                - Выводит форму настроек (цвет вкладок, фон, чекбоксы разрешенных файлов)
	│   │                                - Сохраняет персональные лимиты модуля в config.ini
	│   │                                - Показывает Суперадмину файл file_actions.log
	│   ├── init.php                 &amp;lt;-- Точка входа, проверка сессии ядра
	│   ├── controller.php           &amp;lt;-- Основной мозг обработки команд
	│   ├── view.html                &amp;lt;-- Наша верстка таблицы и вкладок (как на фото)
	│   │
	│   ├── assets/                  &amp;lt;-- Визуальные ресурсы
	│   │   ├── css/
	│   │   │   └── manager.css      &amp;lt;-- Стили вкладок, таблицы и зоны Drag-and-Drop
	│   │   └── js/
	│   │       └── manager.js       &amp;lt;-- Локальный JS (переключение вкладок, fetch-запросы)
	│   │
	│   ├── file_manager.db          &amp;lt;-- База данных индексов папок проекта
	│   │
	│   ├── config.ini               &amp;lt;-- ЛОКАЛЬНЫЕ НАСТРОЙКИ ТОЛЬКО ЭТОГО МОДУЛЯ!
	│   │                                -allowed_extensions = &amp;quot;jpg,png,pdf,zip&amp;quot;
	│   │                                -theme_tab_color = &amp;quot;#3498db&amp;quot;
	│   │                                -theme_bg_color = &amp;quot;#ffffff&amp;quot;		
	│   │
	│   │
        │   ├── logs/                    &amp;lt;-- ПАПКА ЛОКАЛЬНЫХ ЖУРНАЛОВ МОДУЛЯ
	│   │	├── file_actions.log     &amp;lt;-- ЖУРНАЛ ДЕЙСТВИЙ (Сюда пишется: кто, когда, что загрузил/удалил)
	│   │	├── readme.txt           &amp;lt;-- Источник для вкладки &amp;quot;README&amp;quot; (описание текущей папки проекта)
	│   │	├── license.txt          &amp;lt;-- Источник для вкладки &amp;quot;Лицензия&amp;quot; (юридические условия проекта)
	│   │	└── comments.txt         &amp;lt;-- Источник для вкладки &amp;quot;Комментарий&amp;quot; (заметки пользователя)		
	│   │
	│   │		
        │   ├── lang/                    &amp;lt;-- ДЕЦЕНТРАЛИЗОВАННЫЙ ПЕРЕВОД МОДУЛЯ
        │   │   ├── ru.php               &amp;lt;-- Перевод кнопок &amp;quot;Загрузить&amp;quot;, &amp;quot;Удалить&amp;quot; на русский
        │   │   └── fr.php               &amp;lt;-- Возможность дополнить модуль французским переводом
	│   ├── core_api.php             &amp;lt;-- НОВЫЙ ФАЙЛ: ВНУТРЕННИЙ ШЛЮЗ ДЛЯ ДРУГИХ МОДУЛЕЙ
	│   │                                - Позволяет модулю библиотеки запрашивать файлы
	│   │                                - Проверяет права доступа стороннего модуля к хранилищу
	│   │
	│   └── storage/                 &amp;lt;-- Изолированное хранилище файлов пространств
	│       ├── igor/                &amp;lt;-- Пространство Игоря со скриншота
	│       │   ├── test/            &amp;lt;-- Папка проекта &amp;quot;test&amp;quot;
	│       │   ├── мурманск/        &amp;lt;-- Папка проекта &amp;quot;мурманск&amp;quot;
	│       │   └── ...
	│       └── root_admin/
        │
        └── library/             &amp;lt;-- МОДУЛЬ: ДОМАШНЯЯ КНИЖНАЯ БИБЛИОТЕКА
            ├── init.php
            ├── controller.php
            ├── view.html
            ├── assets/          &amp;lt;-- Локальные стили каталога и темы оформления (изменение цвета модуля)
            ├── library.db
            ├── lang/            &amp;lt;-- Локальные переводы библиотеки (ru.php, en.php, fr.php)
            └── storage/         &amp;lt;-- Хранилище книг (.pdf) и ISO-образов софта (alisa/, root_admin/)

   &lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;https://wwoss.ru/doku.php?id=manual:file_manager:test&quot; class=&quot;urlextern&quot; title=&quot;https://wwoss.ru/doku.php?id=manual:file_manager:test&quot; rel=&quot;ugc nofollow&quot;&gt;https://wwoss.ru/doku.php?id=manual:file_manager:test&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://wwoss.ru/doku.php?id=manual:file_manager_db:test&quot; class=&quot;urlextern&quot; title=&quot;https://wwoss.ru/doku.php?id=manual:file_manager_db:test&quot; rel=&quot;ugc nofollow&quot;&gt;https://wwoss.ru/doku.php?id=manual:file_manager_db:test&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;

&lt;table class=&quot;diagram&quot;&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-sh&quot;&gt;&lt;div /&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; ucms_stick&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; run.cmd&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; server&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; ucms&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; users&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; .htaccess&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; admin&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; account_admin&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; admin_setting.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; admin_nav.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; admin.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; account_user&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; user_login.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; user_logout.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; user_signup.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; messages&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; user_edit.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; user_nav.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; user.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; ghost.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; users.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; content&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; data&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; books&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; images&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; media&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; music&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; media&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; cont.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; includes&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; .htaccess&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; config.ini&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; cons.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; db.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; demo&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; mail.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; lang&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; en&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; lang_en.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; ru&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; lang_ru.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; function.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; search.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; library&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; install&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; css&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; install.css&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; js&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; install.js&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; tpl&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; tpl_install_header.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; tpl_install_footer.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; account_settings.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; database_options.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; install.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; installation_progress.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; lang_and_time_zone.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; module_help.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; options.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; server_check.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; setting.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; template&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; blog&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; vcms&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; standart&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; css&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; main.css&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; nav.css&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; js&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; main.js&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; nav.js&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; img&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; fonts&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; style.ini&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; tpl_main.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; tpl_footer.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; tpl_header.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; user_template&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-folder&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; updata&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; main.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; 404.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; lib.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; .htaccess&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; .htpasswd&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; index.php&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?id=software:development:demo:cms:ucms:help&quot; class=&quot;wikilink1&quot; title=&quot;software:development:demo:cms:ucms:help&quot; data-wiki-id=&quot;software:development:demo:cms:ucms:help&quot;&gt;help.txt&lt;/a&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; readme.html&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; license.txt&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td class=&quot;d-brs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-bbs&quot;&gt;&lt;/td&gt;
		&lt;td class=&quot;d-b&quot; style=&quot;text-align: left; border-color: white;&quot; colspan=&quot;6&quot; rowspan=&quot;2&quot;&gt;&lt;i class=&quot;dw-icons fa fa-file&quot; style=&quot;font-size:16px&quot; title=&quot;&quot;&gt;&lt;/i&gt; version.txt&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td class=&quot;d-sv&quot;&gt;&lt;div /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;h3 class=&quot;sectionedit1&quot; id=&quot;основные_этапы_и_формы&quot;&gt;Основные этапы и Формы&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Файл &lt;strong&gt;index.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создание директорий модуля и приложения&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Временный шаблон &lt;strong&gt;sample.php&lt;/strong&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создание блочной адаптивной формы &lt;strong&gt;&lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Подключение стилей &lt;strong&gt;&lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Переводы приложения &lt;strong&gt;lang.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Сессии &lt;strong&gt;PHP&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Главный шаблон формы &lt;strong&gt;auth.php&lt;/strong&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Верхний подключаемый компонент шаблона &lt;strong&gt;header.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Нижний подключаемый компонент шаблона &lt;strong&gt;footer.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма регистрации &lt;strong&gt;register.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма авторизации &lt;strong&gt;login.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма верификации (подтверждения почты) &lt;strong&gt;confirm.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма сброса пороля &lt;strong&gt;reset.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма двухфакторная аутентификация &lt;strong&gt;2fa.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма регистрации двухфакторной аутентификации &lt;strong&gt;otp.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма редактирования профиля пользователя &lt;strong&gt;edit.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Форма удаления регистрации &lt;strong&gt;delete.php&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Проверка вводимых данных, вывод ошибок на стороне клиента&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Проверка вводимых данных, вывод ошибок на стороне сервера&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Логика работы модуля&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Работа с БД &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Работа с почтой&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Работа с OTP QR-code&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Загрузка фото на сервер&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Обработка фото и безопасность перед загрузкой на сервер&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u044d\u0442\u0430\u043f\u044b \u0438 \u0424\u043e\u0440\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435_\u044d\u0442\u0430\u043f\u044b_\u0438_\u0444\u043e\u0440\u043c\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;21961-&amp;quot;} --&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 12 Jul 2026 17:52:50 +0000</pubDate>
        </item>
        <item>
            <title>test - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=manual:ucms:test&amp;rev=1783861032</link>
            <description>
&lt;p&gt;
тест
&lt;/p&gt;
</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 12 Jul 2026 12:57:12 +0000</pubDate>
        </item>
        <item>
            <title>tmp_12.07.2026 - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=tmp_12.07.2026&amp;rev=1783859121</link>
            <description>
&lt;p&gt;
номер строки?
&lt;/p&gt;
</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 12 Jul 2026 12:25:21 +0000</pubDate>
        </item>
        <item>
            <title>tmp_27.06.2026</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=tmp_27.06.2026&amp;rev=1782563707</link>
            <description>
&lt;p&gt;
&lt;em&gt; assets/js/app.js

document.addEventListener(&amp;#039;DOMContentLoaded&amp;#039;, function() {
     &lt;/em&gt; — НАДЕЖНОЕ УПРАВЛЕНИЕ МОДАЛКОЙ С ДЕБАГ-МАЯКОМ —
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  // --- УПРАВЛЕНИЕ ЗАГРУЗЧИКОМ ПРОЕКТОВ ---
  const btnCreateProject   = document.getElementById(&amp;#039;btn-create-project&amp;#039;);
  const projectModal       = document.getElementById(&amp;#039;project-modal&amp;#039;);
  const btnModalCancel     = document.getElementById(&amp;#039;btn-modal-cancel&amp;#039;);
  const btnModalSubmit     = document.getElementById(&amp;#039;btn-modal-submit&amp;#039;);
  const newProjectName     = document.getElementById(&amp;#039;new-project-name&amp;#039;);
  const modalErrorBox      = document.getElementById(&amp;#039;modal-error-box&amp;#039;);
  
  const folderInput        = document.getElementById(&amp;#039;project-folder-input&amp;#039;);
  const btnSelectFolder    = document.getElementById(&amp;#039;btn-select-folder&amp;#039;);
  const folderStatus       = document.getElementById(&amp;#039;selected-folder-status&amp;#039;);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  if (btnCreateProject &amp;amp;&amp;amp; projectModal) {
      
      // Функция проверки условий для активации кнопки &amp;quot;Загрузить&amp;quot;
      function checkInputsValidity() {
          const nameVal = newProjectName.value.trim();
          const hasFiles = folderInput.files &amp;amp;&amp;amp; folderInput.files.length &amp;gt; 0;
          
          if (nameVal !== &amp;quot;&amp;quot; &amp;amp;&amp;amp; hasFiles) {
              btnModalSubmit.disabled = false; // Включаем кнопку
              btnModalSubmit.style.opacity = &amp;quot;1&amp;quot;;
          } else {
              btnModalSubmit.disabled = true;  // Выключаем кнопку
              btnModalSubmit.style.opacity = &amp;quot;0.6&amp;quot;;
          }
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Следим за вводом имени
      newProjectName.addEventListener(&amp;#039;input&amp;#039;, checkInputsValidity);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Клик по кастомной кнопке -&amp;gt; триггерим скрытый системный инпут выбора папки
      btnSelectFolder.addEventListener(&amp;#039;click&amp;#039;, function() {
          folderInput.click();
      });&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Следим за тем, что пользователь выбрал папку на ПК
      folderInput.addEventListener(&amp;#039;change&amp;#039;, function() {
          if (this.files &amp;amp;&amp;amp; this.files.length &amp;gt; 0) {
              // Берем имя корневой папки, которую выбрал юзер
              const firstFile = this.files[0];
              const rootFolderName = firstFile.webkitRelativePath.split(&amp;#039;/&amp;#039;)[0];
              folderStatus.innerHTML = `Выбрано файлов: &amp;lt;strong&amp;gt;${this.files.length}&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;font-size:11px; color:#2da44e;&amp;quot;&amp;gt;(из папки: ${rootFolderName})&amp;lt;/span&amp;gt;`;
          } else {
              folderStatus.textContent = &amp;quot;Папка не выбрана&amp;quot;;
          }
          checkInputsValidity();
      });&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Открытие модалки
      btnCreateProject.addEventListener(&amp;#039;click&amp;#039;, function() {
          newProjectName.value = &amp;#039;&amp;#039;;
          folderInput.value = &amp;#039;&amp;#039;; // Сбрасываем выбранные файлы
          folderStatus.textContent = &amp;quot;Папка не выбрана&amp;quot;;
          if (modalErrorBox) modalErrorBox.classList.add(&amp;#039;hidden&amp;#039;);
          btnModalSubmit.disabled = true;
          btnModalSubmit.style.opacity = &amp;quot;0.6&amp;quot;;
          projectModal.classList.remove(&amp;#039;hidden&amp;#039;);
          newProjectName.focus();
      });&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Отмена
      btnModalCancel.addEventListener(&amp;#039;click&amp;#039;, function() {
          projectModal.classList.add(&amp;#039;hidden&amp;#039;);
      });&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Нажатие на кнопку &amp;quot;Загрузить&amp;quot; -&amp;gt; отправка терабайтов кода по AJAX
      btnModalSubmit.addEventListener(&amp;#039;click&amp;#039;, async function() {
          const projectName = newProjectName.value.trim();
          if (modalErrorBox) modalErrorBox.classList.add(&amp;#039;hidden&amp;#039;);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;          const formData = new FormData();
          formData.append(&amp;#039;name&amp;#039;, projectName);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;          // КРИТИЧЕСКИ ВАЖНО: Пакуем файлы вместе с их путями вложения
          for (let i = 0; i &amp;lt; folderInput.files.length; i++) {
              let file = folderInput.files[i];
              formData.append(&amp;#039;project_files[]&amp;#039;, file);
              // Передаем бэкенду относительный путь (например: &amp;quot;my_proj/src/main.php&amp;quot;)
              formData.append(&amp;#039;project_paths[]&amp;#039;, file.webkitRelativePath);
          }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;          // Меняем статус кнопки на время тяжелой загрузки
          btnModalSubmit.disabled = true;
          btnModalSubmit.textContent = &amp;quot;Загрузка...&amp;quot;;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;          try {
              const response = await fetch(&amp;#039;backend/router.php?action=create_project&amp;#039;, {
                  method: &amp;#039;POST&amp;#039;,
                  body: formData
              });
              const result = await response.json();
              
              if (result.success) {
                  projectModal.classList.add(&amp;#039;hidden&amp;#039;);
                  btnModalSubmit.textContent = &amp;quot;Загрузить&amp;quot;;
                  location.reload();
              } else {
                  btnModalSubmit.disabled = false;
                  btnModalSubmit.textContent = &amp;quot;Загрузить&amp;quot;;
                  if (modalErrorBox) {
                      modalErrorBox.textContent = result.error;
                      modalErrorBox.classList.remove(&amp;#039;hidden&amp;#039;);
                  }
              }
          } catch (error) {
              // Возвращаем кнопку в исходное рабочее состояние
              btnModalSubmit.disabled = false;
              btnModalSubmit.textContent = &amp;quot;Загрузить&amp;quot;;
              
              // КРАСИВО ВЫВОДИМ ОШИБКУ СЕТИ В ТВОЮ ПЛАШКУ БЕЗ ВСЯКИХ АЛЕРТОВ
              if (modalErrorBox) {
                  modalErrorBox.textContent = &amp;quot;Критическая ошибка отправки файлов на сервер.&amp;quot;;
                  modalErrorBox.classList.remove(&amp;#039;hidden&amp;#039;);
              }
          }
      });
  }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Локальное хранилище для текстов текущего выбранного релиза,
  // чтобы переключать вкладки мгновенно без повторных запросов к серверу
  let currentReleaseTexts = {
      readme: &amp;#039;&amp;#039;,
      license: &amp;#039;&amp;#039;,
      comment: &amp;#039;&amp;#039;,
      log: &amp;#039;Здесь будет выводиться лог действий (100 строк)...&amp;#039;
  };&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  /**
   * Отрисовка таблицы файлов в верхнем окне
   * @param {Array} files Массив файлов из JSON
   */
  function renderFilesTable(files) {
      if (!files || files.length === 0) {
          filesList.innerHTML = `&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;4&amp;quot; class=&amp;quot;text-center text-muted&amp;quot;&amp;gt;В данном релизе нет файлов для скачивания.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;`;
          return;
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      let html = &amp;#039;&amp;#039;;
      files.forEach(file =&amp;gt; {
          const icon = file.is_dir ? &amp;#039;📁&amp;#039; : &amp;#039;📄&amp;#039;;
          html += `
              &amp;lt;tr&amp;gt;
                  &amp;lt;td&amp;gt;&amp;lt;span style=&amp;quot;margin-right: 8px;&amp;quot;&amp;gt;${icon}&amp;lt;/span&amp;gt; ${escapeHtml(file.name)}&amp;lt;/td&amp;gt;
                  &amp;lt;td class=&amp;quot;text-muted&amp;quot;&amp;gt;—&amp;lt;/td&amp;gt; &amp;lt;!-- Примечания (коммиты) прикрутим позже через .meta.json --&amp;gt;
                  &amp;lt;td class=&amp;quot;text-muted&amp;quot;&amp;gt;${file.date}&amp;lt;/td&amp;gt;
                  &amp;lt;td style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;text-muted&amp;quot; style=&amp;quot;font-size: 12px;&amp;quot;&amp;gt;${file.size}&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
              &amp;lt;/tr&amp;gt;
          `;
      });
      filesList.innerHTML = html;
  }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Вспомогательная функция защиты от XSS при отрисовке имен файлов
  function escapeHtml(string) {
      return String(string).replace(/&amp;amp;/g, &amp;#039;&amp;amp;amp;&amp;#039;).replace(/&amp;lt;/g, &amp;#039;&amp;amp;lt;&amp;#039;).replace(/&amp;gt;/g, &amp;#039;&amp;amp;gt;&amp;#039;).replace(/&amp;quot;/g, &amp;#039;&amp;amp;quot;&amp;#039;);
  }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // 1. СЛУШАЕМ ВЫБОР РЕЛИЗА В ВЫПАДАЮЩЕМ СПИСКЕ
  releasesDropdown.addEventListener(&amp;#039;change&amp;#039;, async function() {
      const selectedRelease = this.value;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      if (!selectedRelease) {
          // Если сбросили выбор — возвращаем интерфейс в исходное состояние
          btnDownloadZip.disabled = true;
          filesList.innerHTML = `&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;4&amp;quot; class=&amp;quot;text-center text-muted&amp;quot;&amp;gt;Выберите релиз из списка выше для просмотра файлов...&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;`;
          textEditor.value = &amp;#039;Текст файла отсутствует или релиз не выбран...&amp;#039;;
          return;
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      filesList.innerHTML = `&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;4&amp;quot; class=&amp;quot;text-center text-muted&amp;quot;&amp;gt;Загрузка данных релиза...&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;`;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Дергаем наш апи-модуль
      const result = await Api.getReleaseData(selectedRelease);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      if (result.success) {
          // Активируем кнопку ZIP
          btnDownloadZip.disabled = false;
          
          // Сохраняем тексты в память для вкладок
          currentReleaseTexts.readme = result.texts.readme || &amp;#039;Файл README.txt пуст.&amp;#039;;
          currentReleaseTexts.license = result.texts.license || &amp;#039;Файл LICENSE.txt пуст.&amp;#039;;
          currentReleaseTexts.comment = result.texts.comment || &amp;#039;Файл COMMENT.txt пуст.&amp;#039;;
          
          // Отрисовываем файлы в таблице верхнего окна
          renderFilesTable(result.files);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;          // Автоматически показываем текст той вкладки, которая сейчас активна (по умолчанию README)
          const activeTab = document.querySelector(&amp;#039;.tab-btn.active&amp;#039;).getAttribute(&amp;#039;data-target&amp;#039;);
          textEditor.value = currentReleaseTexts[activeTab];
      } else {
          alert(&amp;quot;Ошибка загрузки: &amp;quot; + result.error);
          filesList.innerHTML = `&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;4&amp;quot; class=&amp;quot;text-center&amp;quot; style=&amp;quot;color: #cf222e;&amp;quot;&amp;gt;${result.error}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;`;
      }
  });&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // 2. СЛУШАЕМ ПЕРЕКЛЮЧЕНИЕ ВКЛАДОК НИЖНЕГО ОКНА
  tabButtons.forEach(button =&amp;gt; {
      button.addEventListener(&amp;#039;click&amp;#039;, function() {
          tabButtons.forEach(btn =&amp;gt; btn.classList.remove(&amp;#039;active&amp;#039;));
          this.classList.add(&amp;#039;active&amp;#039;);
          
          const targetTab = this.getAttribute(&amp;#039;data-target&amp;#039;);
          
          // Вытаскиваем текст из памяти без лишних запросов к PHP
          textEditor.value = currentReleaseTexts[targetTab] || `Текст для вкладки ${targetTab.toUpperCase()} отсутствует.`;
      });
  });&lt;/pre&gt;

&lt;p&gt;
});
&lt;/p&gt;
</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sat, 27 Jun 2026 12:35:07 +0000</pubDate>
        </item>
        <item>
            <title>voice_system.js - удалено</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=voice_system.js&amp;rev=1780842087</link>
            <description>
&lt;p&gt;
/&lt;strong&gt;
 * ============================================================================
 * ЕВА - ИНТЕЛЛЕКТУАЛЬНЫЙ ГОЛОСОВОЙ ПОМОЩНИК
 * Файл: logic.js
 * Назначение: Главный диспетчер ядра. Управление состояниями, маршрутизация 
 *             речевых конвейеров, автосохранение, таймеры и интеграция баз JSON
 * Версия: v5.8.2 (Ultra-Safe Tagging &amp;amp; Data Folder Edition)
 * ============================================================================
 */

&lt;em&gt; ============================================================================
&lt;/em&gt; БЛОК 1: ИНИЦИАЛИЗАЦИЯ И СИНХРОНИЗАЦИЯ ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ СЕССИИ
&lt;em&gt; ============================================================================

&lt;/em&gt; Флаг ожидания выбора пользователя: true, если Ева ждет команды (Поищи / Ответ / Отмена)
window.isWaitingDecision = window.isWaitingDecision || false;

&lt;em&gt; Временное хранилище вопроса пользователя, на который отсутствует ответ в локальной базе
window.pendingQuestion   = window.pendingQuestion || «»;

&lt;/em&gt; Хранилище вопроса для механизма прямого интерактивного пошагового обучения
window.lastQ             = window.lastQ || «»;

&lt;em&gt; Флаг блокировки: true, пока Ева воспроизводит длинный текст (статью), полученный из интернета
window.isSpeakingWiki    = window.isSpeakingWiki || false;

&lt;/em&gt; Флаг активности речевого синтезатора: true, когда Ева физически произносит фразу через TTS
window.isEvaSpeaking     = window.isEvaSpeaking || false;

&lt;em&gt; Глобальный объект для хранения структурированных массивов данных из баз JSON
window.allData           = window.allData || { base: [], aiBase: [], wiki: [], settings: {} };

&lt;/em&gt; Глобальное время ожидания проактивности Евы по умолчанию (в миллисекундах)
window.IDLE_TIME         = window.IDLE_TIME || 30000;


&lt;em&gt; ============================================================================
&lt;/em&gt; БЛОК 2: ВСПОМОГАТЕЛЬНЫЕ И СЛУЖЕБНЫЕ МЕТОДЫ (ПОЛИФИЛЫ РЕЧЕВОГО ТРАКТА)
&lt;em&gt; ============================================================================

/&lt;strong&gt;
 * Проверка и регистрация глобальной функции синтеза речи.
 * Интегрировано с локальным движком Piper TTS через бэкенд на Synology NAS.
 * @param {string} text - Строка текста, которую необходимо озвучить.
 */
if (typeof window.speak !== &amp;#039;function&amp;#039;) {
    window.speak = function(text) {
        console.log(«[TTS Попытка вызова полифила Piper]:», text);
        
        if (!text) return;

        &lt;em&gt; Прерываем любой текущий звук Piper, чтобы фразы не накладывались друг на друга
        if (window.evaAudioPlayer) { 
            window.evaAudioPlayer.pause(); 
        }

        &lt;/em&gt; Включаем глобальный флаг активности речи
        window.isEvaSpeaking = true;

        &lt;em&gt; Формируем запрос к вашему рабочему бэкенду tts.php на Synology
        const ttsApiUrl = `/ai/tts.php?text=${encodeURIComponent(text)}`;
        window.evaAudioPlayer = new Audio(ttsApiUrl);

        &lt;/em&gt; Функция сброса флага при окончании звука или ошибке
        const resetSpeechState = () ⇒ { 
            window.isEvaSpeaking = false; 
        };

        &lt;em&gt; Назначаем триггеры изменения глобального состояния активности речи
        window.evaAudioPlayer.onended = resetSpeechState;
        window.evaAudioPlayer.onerror = resetSpeechState;

        &lt;/em&gt; Передаем объект аудио в плеер браузера
        window.evaAudioPlayer.play().catch&lt;sup&gt;&lt;a href=&quot;#fn__1&quot; id=&quot;fnt__1&quot; class=&quot;fn_top&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt;
&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__1&quot; id=&quot;fn__1&quot; class=&quot;fn_bot&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt; 
&lt;div class=&quot;content&quot;&gt;err) ⇒ {&lt;pre class=&quot;code&quot;&gt;          console.warn(&amp;quot;[TTS Ошибка]: Воспроизведение заблокировано политикой браузера. Нужен клик.&amp;quot;);
          resetSpeechState();
      });
  };&lt;/pre&gt;
}



&lt;em&gt; ============================================================================
&lt;/em&gt; БЛОК 3: УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ ПРИЛОЖЕНИЯ (МЕНЕДЖЕР ЗАПУСКА STARTAPP)
&lt;em&gt; ============================================================================

/&lt;strong&gt;
 * Главная асинхронная функция инициализации Евы.
 * Выполняет каскадную загрузку локальных баз знаний из папки data/и подготавливает UI.
 */
async function startApp() {
    try {
        console.log(«[Инициализация]: Запуск загрузки баз данных из папки data/…»);
        
        &lt;em&gt; Асинхронно запрашиваем чтение всех файлов через внешний модуль Database из папки data/
        const allData = await Database.loadAll(); 
        
        &lt;/em&gt; Проверяем валидность структуры полученного объекта и наличие основной базы
        if (allData &amp;amp;&amp;amp; allData.base) {
            &lt;em&gt; КРИТИЧЕСКИЙ ШАГ: Дублируем данные в глобальное окно для доступности из любой точки системы
            window.allData = allData; 
            
            &lt;/em&gt; Передаем загруженные массивы в аналитический модуль нейросети (ИИ-мозг)
            AI.setData(allData);  
            
            &lt;em&gt; ПРИНУДИТЕЛЬНОЕ ОБНОВЛЕНИЕ ЛИЧНОСТИ ИЗ SETTINGS.JSON
            if (allData.settings) {
                if (allData.settings.voice &amp;amp;&amp;amp; typeof EvaConfig !== &amp;#039;undefined&amp;#039;) {
                    &lt;/em&gt; Заменяем сухие захардкоженные параметры голоса в config.js на серверные ползунки
                    EvaConfig.voice.pitch = allData.settings.voice.pitch;
                    EvaConfig.voice.rate = allData.settings.voice.rate;
                    EvaConfig.voice.volume = allData.settings.voice.volume;
                }
                
                &lt;em&gt; СИНХРОНИЗАЦИЯ ВСЕХ 8 КИБЕР-ЭМОЦИЙ И ШЕПОТА ИЗ АДМИНКИ НА ЛЕТУ
                if (allData.settings.emotions &amp;amp;&amp;amp; typeof EvaConfig !== &amp;#039;undefined&amp;#039;) {
                    for (let emoKey in allData.settings.emotions) {
                        if (EvaConfig.emotions[emoKey]) {
                            EvaConfig.emotions[emoKey].pitch = allData.settings.emotions[emoKey].pitch;
                            EvaConfig.emotions[emoKey].rate = allData.settings.emotions[emoKey].rate;
                            EvaConfig.emotions[emoKey].volume = allData.settings.emotions[emoKey].volume;
                            EvaConfig.emotions[emoKey].prefix = allData.settings.emotions[emoKey].prefix;
                        } else {
                            &lt;/em&gt; Если эмоции не было в базовом коде (например, страх или шёпот), создаем её на лету
                            EvaConfig.emotions[emoKey] = allData.settings.emotions[emoKey];
                        }
                    }
                }
            }
			
            &lt;em&gt; Обновляем счетчик записей на графическом интерфейсе пользователя
            Visual.updateLog(`READY (${allData.base.length})`); 
            
            &lt;/em&gt; Переключаем визуальное состояние аватара в режим дыхания/ожидания
            Visual.setState(&amp;#039;wait&amp;#039;); 
            
            &lt;em&gt; Если кнопка инициализации найдена в DOM, активируем её неоновую подсветку
            if (window.mainBtn) window.mainBtn.className = &amp;#039;btn-start-neon&amp;#039;;
            
            console.log(«[Инициализация]: Успешно завершена. Ева готова к работе.»);
        }
    } catch (e) {
        &lt;/em&gt; Логируем критическую ошибку (например, повреждение JSON файла или отсутствие файлов)
        console.error(«[Критическая ошибка инициализации]:», e);
        
        &lt;em&gt; Выводим тревожный статус на главный экран приложения
        Visual.updateLog(«ERROR»);
    }
}


&lt;/em&gt; ============================================================================
&lt;em&gt; БЛОК 4: ИНТЕГРАЦИЯ И ПАРСИНГ РЕЗУЛЬТАТОВ ИЗ СЕТИ ИНТЕРНЕТ (WIKIPEDIA)
&lt;/em&gt; ============================================================================

/&lt;/strong&gt;
 * Обработчик успешного получения данных из Wikipedia.
 * Выполняет вывод текста на экран, чанк-анимацию бегущей строки и запускает озвучку.
 * @param {string} responseText - Текст статьи, возвращенный парсером.
 * @param {string|null} incomingQuestion - Вопрос, на который был осуществлен поиск.
 */
function onWikiResultReceived(responseText, incomingQuestion = null) {
    &lt;/em&gt; Активируем системные блокировки, защищающие от прерывания речи новыми звуками микрофона&lt;pre class=&quot;code&quot;&gt;  window.isSpeakingWiki = true;
  window.isWaitingDecision = true; &lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Вычисляем итоговый вопрос: берем переданный или вытягиваем из системного буфера ожидания
  const finalQuestion = incomingQuestion || window.pendingQuestion;
  console.log(&amp;quot;[Wiki Модуль]: Запуск обработки статьи. Вопрос:&amp;quot;, finalQuestion);
  // 💥 ИНТЕГРАЦИЯ СЕТЕВЫХ НАСТРОЕК: Извлекаем оранжевые подсказки из файла data/settings.json
  const currentDecisionHints = window.allData?.settings?.hints?.decision_hints || &amp;quot;ПОИЩИ / ПОДУМАЙ / ОТВЕТ... / ОТМЕНА&amp;quot;;
  
  // Принудительно выводим актуальные подсказки на верхний статус-бар экрана Евы
  if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) {
      Visual.updateHints(true, currentDecisionHints);
  }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Добавляем полноценный блок ответа Евы в графическое окно диалога чата
  if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.addMsg === &amp;#039;function&amp;#039;) {
      Visual.addMsg(responseText, &amp;#039;eva-msg&amp;#039;);
  }
  
  // РЕАЛИЗАЦИЯ БЕГУЩЕЙ СТРОКИ: Дробим текст статьи на массив отдельных слов по пробелам
  const words = responseText.split(&amp;quot; &amp;quot;);
  let currentWordIndex = 0;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Создаем цикличный интервал для симуляции синхронного чтения текста Евой на экране
  const textTickerInterval = setInterval(() =&amp;gt; {
      // Условие остановки: массив слов исчерпан или внешняя логика принудительно сбросила флаг блокировки
              // 💥 АППАРАТНАЯ ЗАЩИТА: Останавливаем интервал только если слова закончились И синтезатор полностью замолчал
      if (currentWordIndex &amp;gt;= words.length || (!window.isSpeakingWiki &amp;amp;&amp;amp; !window.speechSynthesis.speaking)) {
          clearInterval(textTickerInterval);
          
          // Сбрасываем текст живой плашки в исходное состояние тишины
          if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setLiveText === &amp;#039;function&amp;#039;) {
              Visual.setLiveText(&amp;quot;&amp;quot;);
          }
          return;
      }&lt;/pre&gt;

&lt;pre class=&quot;code&quot;&gt;      // Вырезаем порцию из 4-х слов для плавного отображения на экране
      const chunk = words.slice(currentWordIndex, currentWordIndex + 4);
      const tickerText = chunk.join(&amp;quot; &amp;quot;);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Отправляем сформированную порцию слов в текстовое поле живого вывода (синяя плашка статус-бара)
      if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setLiveText === &amp;#039;function&amp;#039;) {
          Visual.setLiveText(tickerText);
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Сдвигаем курсор индекса вперед на размер обработанной порции
      currentWordIndex += 4;
  }, 1500); // Оптимальный интервал чтения порции в полторы секунды&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Передаем полную статью на озвучивание в TTS-движок голосовой системы
  speak(responseText);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Валидация данных для запуска фонового автоматического сохранения в энциклопедическую базу wiki_base.json
  if (finalQuestion &amp;amp;&amp;amp; finalQuestion.length &amp;gt; 0 &amp;amp;&amp;amp; responseText.length &amp;gt; 10) {
      console.log(&amp;quot;[Wiki Модуль]: Условия выполнены. Отправка статьи на автосохранение...&amp;quot;);
      // Вызываем функцию фонового экспорта данных в базу знаний
      if (typeof autoSaveToWiki === &amp;#039;function&amp;#039;) {
          autoSaveToWiki(finalQuestion, responseText);
      } else {
          console.warn(&amp;quot;[Wiki Модуль Предупреждение]: Функция autoSaveToWiki не обнаружена в каскаде скриптов.&amp;quot;);
      }
  } else {
      // Если статья пустая или некорректная, превентивно снимаем блокировки и усыпляем микрофон
      window.isSpeakingWiki = false;
      window.isWaitingDecision = false;
      if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) {
          Visual.updateHints(false);
      }
  }&lt;/pre&gt;
}


&lt;em&gt; ============================================================================
&lt;/em&gt; БЛОК 5: ИНТЕРФЕЙСНЫЙ ОБРАБОТЧИК ГЛАВНОЙ УПРАВЛЯЮЩЕЙ КНОПКИ
&lt;em&gt; ============================================================================

if (window.mainBtn) {
    /&lt;strong&gt;
     * Обработка нажатия на центральную неоновую кнопку управления Евой.
     * Реализует два режима: Вход (Активация микрофона) и Выход (Сортировка и сохранение баз).
     */
    window.mainBtn.onclick = async () ⇒ {
        
        &lt;em&gt; РЕЖИМ А: Приложение спало (window.isLive === false). Запускаем сессию.
        if (!window.isLive) {
            window.isLive = true;   &lt;/em&gt; Переводим систему в статус «В эфире»
            window.freeTalk = false; &lt;em&gt; По умолчанию включаем режим обращения по имени
            
            &lt;/em&gt; Меняем текстовое содержание и стиль кнопки на стоп-режим (красный неон)
            window.mainBtn.innerText = «ВЫЙТИ И СОХРАНИТЬ»;
            window.mainBtn.className = &amp;#039;btn-stop-neon&amp;#039;;
            
            &lt;em&gt; Инициализируем аудио-контекст захвата голоса и запускаем анализ частот микрофона
            if (typeof initVoiceSystem === &amp;#039;function&amp;#039;) initVoiceSystem();
            if (typeof startMicLevel === &amp;#039;function&amp;#039;) await startMicLevel();

            &lt;/em&gt; Извлекаем случайное приветствие Евы из конфигурационного файла проекта
            const hello = EvaConfig.getRandomGreeting(); 
            speak(hello); 
            Visual.addMsg(hello, &amp;#039;eva-msg&amp;#039;);
            
            &lt;em&gt; Запускаем таймер слежения за активностью пользователя
            resetIdleTimer();
            
        } else {
            &lt;/em&gt; РЕЖИМ Б: Приложение активно. Пользователь завершает сессию. Сортируем память.
            window.isLive = false;
            window.mainBtn.innerText = «СОРТИРОВКА…»; 

			&lt;em&gt; 💥 МГНОВЕННЫЙ ЗАПУСК АВТОМАТИЧЕСКОГО СЕРВЕРНОГО БЭКАПА 5 БАЗ ДАННЫХ
            try {
                console.log(«[Бэкап Модуль]: Инициирую создание точки восстановления перед выходом…»);
                const backupResponse = await fetch(&amp;#039;admin.php?api=create_backup&amp;#039;);
                if (backupResponse.ok) {
                    const backupData = await backupResponse.json();
                    if (backupData.status === &amp;#039;ok&amp;#039;) {
                        console.log(«%c[Бэкап Модуль]: Базы успешно заархивированы. Метка: » + backupData.timestamp, «color: green; font-weight: bold;»);
                    }
                }
            } catch (backupErr) {
                console.warn(«[Бэкап Модуль Предупреждение]: Не удалось создать резервную копию:», backupErr);
            }

            &lt;/em&gt; Сбрасываем фоновые таймеры и деактивируем медиа-потоки записи звука
            if (window.idleTimer) clearTimeout(window.idleTimer);
            if (window.rec) try { window.rec.stop(); } catch(e) {}

            &lt;em&gt; ИНТЕЛЛЕКТУАЛЬНАЯ СОРТИРОВКА: Разделяем временный буфер памяти AI.memory
            const wikiData = AI.memory.filter(item ⇒ item.isWiki === true);
            const baseData = AI.memory.filter(item ⇒ item.isWiki !== true);

            &lt;/em&gt; Очищаем временные маркеры &amp;#039;isWiki&amp;#039;, чтобы они не засоряли итоговые файлы базы данных
            wikiData.forEach(item ⇒ delete item.isWiki);

            try {
                console.log(«[Сохранение]: Запуск параллельной отправки данных на сервер в папку data/…»);
                
                &lt;em&gt; Асинхронно отправляем массив базовых знаний на обработку скрипту save.php (в папку data/)
                const saveBase = fetch(&amp;#039;save.php&amp;#039;, {
                    method: &amp;#039;POST&amp;#039;,
                    headers: { &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039; },
                    body: JSON.stringify(baseData)
                });

                &lt;/em&gt; Одновременно отправляем энциклопедические данные скрипту save_wiki.php (в папку data/)
                const saveWiki = fetch(&amp;#039;save_wiki.php&amp;#039;, {
                    method: &amp;#039;POST&amp;#039;,
                    headers: { &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039; },
                    body: JSON.stringify(wikiData)
                });

                &lt;em&gt; Синхронизируем завершение обоих сетевых запросов
                const [res1, res2] = await Promise.all([saveBase, saveWiki]);

                &lt;/em&gt; Проверяем успешность ответов сервера (HTTP статус 200)
                if (res1.ok &amp;amp;&amp;amp; res2.ok) {
                    window.mainBtn.innerText = «СОХРАНЕНО!»;
                    &lt;em&gt; Выполняем мягкую перезагрузку страницы через 1 секунду для обновления кэша данных
                    setTimeout(() ⇒ location.reload(), 1000);&lt;pre class=&quot;code&quot;&gt;              } else {
                  throw new Error(&amp;quot;Сервер ответил отказом при записи файлов.&amp;quot;);
              }
          } catch (err) {
              console.error(&amp;quot;[Ошибка сохранения баз данных в папку data/]:&amp;quot;, err);
              alert(&amp;quot;Не удалось сохранить данные. Проверьте права доступа (CHMOD 777) к папке data.&amp;quot;);
              
              // Возвращаем интерфейс в рабочее состояние для предотвращения потери сессии
              window.mainBtn.innerText = &amp;quot;ОШИБКА&amp;quot;;
              window.isLive = true; 
          }
      }
  };&lt;/pre&gt;
}


&lt;em&gt; ============================================================================
&lt;/em&gt; БЛОК 6: ГЛАВНЫЙ АСИНХРОННЫЙ КОНВЕЙЕР ОБРАБОТКИ РЕЧИ И КОМАНД
&lt;em&gt; ============================================================================

/&lt;strong&gt;
 * Объединенный монолитный обработчик распознанной речи.
 * Проводит входную строку через каскад фильтров: режимы, перехваты решений, инструменты, лингвистический анализ.
 * @param {string} text - Распознанная строка текста от голосового движка.
 */
async function handleSpeech(text) {
    &lt;em&gt; Предохранитель А: Если Ева говорит в данный момент, полностью игнорируем входящий сигнал
    if (window.isEvaSpeaking) return; 
    
    &lt;/em&gt; Предохранитель Б: Отсекаем пустые срабатывания микрофона или шумы
    if (!text || text.trim().length &amp;lt; 1) return;

    &lt;em&gt; Сбрасываем внутренний таймер инициативы, фиксируя активность пользователя
    if (typeof resetIdleTimer === &amp;#039;function&amp;#039;) resetIdleTimer(); 

    &lt;/em&gt; ПРИНУДИТЕЛЬНЫЙ ВЫВОД: Отображаем фразу пользователя в чате для исключения эффекта зависания
    if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.addMsg === &amp;#039;function&amp;#039;) {
        Visual.addMsg(text, &amp;#039;user-msg&amp;#039;);
    }

    &lt;em&gt; Очищаем текстовую плашку предварительного (живого) распознавания речевого потока
    if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setLiveText === &amp;#039;function&amp;#039;) {
        Visual.setLiveText(«»); 
    }

    &lt;/em&gt; Приводим строку к нижнему регистру и очищаем от концевых пробелов для точного сравнения
    const cleanRaw = text.toLowerCase().trim();
    console.log(«[Речевой конвейер]: Начинаю анализ фразы:», cleanRaw);

    &lt;em&gt; ————————————————————————
    &lt;/em&gt; ШАГ 6.0: ПЕРЕКЛЮЧЕНИЕ РЕЖИМОВ ОБЩЕНИЯ (Мгновенная реакция)
    &lt;em&gt; ————————————————————————
    
    &lt;/em&gt; Переход в режим свободной беседы (без постоянного повторения имени «Ева»)
    if (cleanRaw.includes(«давай без имени») || cleanRaw.includes(«давай поболтаем») || cleanRaw.includes(«давай поговорим»)) {
        window.freeTalk = true;
        clearTimeout(window.idleTimer); 
        if (Visual.container) Visual.container.classList.add(&amp;#039;free-talk-mode&amp;#039;);
        if (window.mainBtn) window.mainBtn.className = &amp;#039;btn-free-neon&amp;#039;;
        
        const resp = Tools.humanize(window.allData?.settings?.phrases?.freetalk_on || «хорошо, давай поболтаем без имен» || «ладушки, давай без имен»);
        speak(resp);
        Visual.addMsg(resp, &amp;#039;eva-msg&amp;#039;);
        resetIdleTimer();
        return; &lt;em&gt; Прерываем конвейер
    }

    &lt;/em&gt; Возврат в строгий режим (Ева реагирует только тогда, когда зовут по имени)
    if (cleanRaw.includes(«хватит болтать») || cleanRaw.includes(«верни имя»)) {
        window.freeTalk = false;
        if (Visual.container) Visual.container.classList.remove(&amp;#039;free-talk-mode&amp;#039;);
        if (window.mainBtn) window.mainBtn.className = &amp;#039;btn-stop-neon&amp;#039;;
        
        const resp = Tools.humanize(window.allData?.settings?.phrases?.freetalk_off || «поняла, теперь зови меня по имени»);
        speak(resp);
        Visual.addMsg(resp, &amp;#039;eva-msg&amp;#039;);
        resetIdleTimer();
        return; &lt;em&gt; Прерываем конвейер
    }

    &lt;/em&gt; ————————————————————————
    &lt;em&gt; ШАГ 6.1: ПЕРЕХВАТ СОСТОЯНИЯ ОЖИДАНИЯ ВЫБОРА (window.isWaitingDecision)
    &lt;/em&gt; ————————————————————————
    if (window.isWaitingDecision) {

        &lt;em&gt; Перехват 1.1: Полный сброс операции и закрытие модальных окон обучения
        if (cleanRaw.includes(«отмена») || cleanRaw.includes(«проехали») || cleanRaw.includes(«не надо») || cleanRaw === &amp;#039;выйти&amp;#039; || cleanRaw === &amp;#039;закрой&amp;#039;) {
            window.isWaitingDecision = false;
            window.pendingQuestion   = «»;
            window.isSpeakingWiki    = false;
            window.isEvaSpeaking     = false;

            &lt;/em&gt; Прячем оранжевые текстовые подсказки управления
            if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) Visual.updateHints(false);

            &lt;em&gt; Закрываем любые диалоговые окна обучения через поиск &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; селекторов в DOM
            const windows = document.querySelectorAll(&amp;#039;.learn-window, .learn-form, #learnModal, [id*=«learn»], [class*=«learn»]&amp;#039;);
            windows.forEach(win ⇒ {
                win.style.display = &amp;#039;none&amp;#039;;
                win.classList.remove(&amp;#039;active&amp;#039;, &amp;#039;open&amp;#039;, &amp;#039;show&amp;#039;);
            });

            &lt;/em&gt; Возвращаем аватар в режим ожидания и озвучиваем отмену
            if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setState === &amp;#039;function&amp;#039;) Visual.setState(&amp;#039;wait&amp;#039;);
            
            &lt;em&gt; Динамическое считывание фразы отмены из настроек settings.json
            const resp = Tools.humanize(window.allData?.settings?.phrases?.cancel || «хорошо, отменяю» || «ладно, забыли» || «Oкей, проехали»);
            speak(resp);
            Visual.addMsg(resp, &amp;#039;eva-msg&amp;#039;);
            return; 
        }
        &lt;/em&gt; ————————————————————————————————————————————————————————————————————————
        &lt;em&gt; Перехват 1.2: Команда принудительного асинхронного поиска в Wikipedia
		&lt;/em&gt; ————————————————————————————————————————————————————————————————————————
            if (cleanRaw.includes(«поищи») || cleanRaw.includes(«ну поищи») || cleanRaw.includes(«что такое») || cleanRaw.includes(«кто такой») || cleanRaw.includes(«интернет»)) {
            if (window.pendingQuestion &amp;amp;&amp;amp; window.pendingQuestion.length &amp;gt; 0) {
                window.isWaitingDecision = false;
                
                &lt;em&gt; Сбрасываем интерфейсные маркеры и переводим аватар в режим размышления
                if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) Visual.updateHints(false);
                if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setState === &amp;#039;function&amp;#039;) Visual.setState(&amp;#039;think&amp;#039;); 
                
                if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setLiveText === &amp;#039;function&amp;#039;) {
                    Visual.setLiveText(window.allData?.settings?.phrases?.wiki_searching || «Связываюсь с Википедией…»);
                }

                try {
                    let wikiAnswer = null;
                    &lt;/em&gt; Каскадный поиск доступного метода интеграции с &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; Википедии
                    &lt;em&gt; 💥 УМНАЯ МОДУЛЬНАЯ МАРШРУТИЗАЦИЯ: Передаем управление модулю инструментов
                    &lt;/em&gt; Tools.searchWiki сам заглянет в settings.json и выберет правильную папку навыка!
                    if (typeof Tools !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Tools.searchWiki === &amp;#039;function&amp;#039;) {
                        wikiAnswer = await Tools.searchWiki(window.pendingQuestion);
                    } else {
                        console.error(«[Речевой конвейер]: Критическая ошибка: Модуль Tools.searchWiki не обнаружен!»);
                    }


                    &lt;em&gt; Если статья была успешно найдена и запущена внутри onWikiResultReceived (Блок 4)
                    if (window.isSpeakingWiki === true || (wikiAnswer &amp;amp;&amp;amp; wikiAnswer.trim().length &amp;gt; 5)) {
                        console.log(«[Речевой конвейер]: Вики-запрос успешно обработан в Блоке 4. Подавление дублей сработало.»);
                        
                        &lt;/em&gt; Дополнительная подстраховка: если Блок 4 почему-то не вывел текст сам
                        if (window.isSpeakingWiki === false &amp;amp;&amp;amp; wikiAnswer &amp;amp;&amp;amp; wikiAnswer.trim().length &amp;gt; 5) {
                            speak(wikiAnswer);
                            Visual.addMsg(wikiAnswer, &amp;#039;eva-msg&amp;#039;);
                        }
                    } else {
                        &lt;em&gt; Сюда система придет только если Википедия действительно сбойнула (ошибка 404 или пусто)
                        window.isLearning = true;
                        if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) {
                            Visual.updateHints(true, «НЕ ЗАПОМИНАЙ / НЕ СОХРАНЯЙ»);
                        }
                        const resp = window.allData?.settings?.phrases?.wiki_not_found || «В интернете не нашла. Научишь меня сам?»;
                        speak(resp);
                        Visual.addMsg(resp, &amp;#039;eva-msg&amp;#039;);
                    }
                } catch (e) {
                    &lt;/em&gt; ВОССТАНОВЛЕННЫЙ БЛОК ОБРАБОТКИ ОШИБОК: Фиксируем сбой и разблокируем UI
                    console.error(«[Ошибка вызова Wiki &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;]:», e);
                    window.isSpeakingWiki = false;
                    window.isWaitingDecision = false;
                }
                
                &lt;em&gt; Возвращаем аватар в режим прослушивания
                if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setState === &amp;#039;function&amp;#039;) Visual.setState(&amp;#039;listen&amp;#039;); 
            } else {
                speak(«Что именно мне поискать в интернете?»);
            }
            return; 
        }

		&lt;/em&gt; ————————————————————————————————————————————————————————————————————————
        &lt;em&gt; Перехват 1.3: Команда ручного обучения текущему вопросу фразами «ответ [текст]»
		&lt;/em&gt; ————————————————————————————————————————————————————————————————————————
        if (cleanRaw.includes(«правильный ответ») || cleanRaw.includes(«ответ») || cleanRaw.includes(«запомни»)) {
            &lt;em&gt; Вырезаем системные триггеры, оставляя чистый текст ответа пользователя
            let userAnswer = cleanRaw.replace(/правильный ответ|ответ|запомни/g, «»).trim();
            
            if (userAnswer.length &amp;gt; 1) {
                &lt;/em&gt; Записываем пару Вопрос→Ответ в структуру оперативной памяти ИИ
                AI.learn(window.pendingQuestion, userAnswer);
                window.isWaitingDecision = false;
                
                if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) {
                    Visual.updateHints(false);
                }
                
                &lt;em&gt; Динамическое считывание фразы успешного обучения из настроек settings.json
                const resp = Tools.humanize(window.allData?.settings?.phrases?.learned || «Запомнила, теперь я буду это знать!» || «Окей, запомнила» || «Записала!»);
                speak(resp);
                if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.addMsg === &amp;#039;function&amp;#039;) {
                    Visual.addMsg(resp, &amp;#039;eva-msg&amp;#039;);
                }
            } else {
                &lt;/em&gt; Если пользователь не назвал сам текст ответа, Ева запрашивает его
                speak(«Я слушаю, какой правильный ответ?»);
            }
            return; &lt;em&gt; Прерываем речевой конвейер на этом шаге
        }
		
		    &lt;/em&gt; ————————————————————————————————————————————————————————————————————————
			&lt;em&gt; Перехват 1.4: Команда принудительного обращения к локальной нейросети Ollama
			&lt;/em&gt; ————————————————————————————————————————————————————————————————————————
			if (cleanRaw.includes(«подумай») || cleanRaw.includes(«думай») || cleanRaw.includes(«ну подумай») || cleanRaw.includes(«хорошо, подумай») || cleanRaw.includes(«включи мозг») || cleanRaw.includes(«поразмысли»)) {
				if (window.pendingQuestion &amp;amp;&amp;amp; window.pendingQuestion.length &amp;gt; 0) {
					window.isWaitingDecision = false;
					
					&lt;em&gt; Гасим подсказки, включаем режим размышления Евы
					if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) Visual.updateHints(false);
					if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setState === &amp;#039;function&amp;#039;) Visual.setState(&amp;#039;think&amp;#039;);
					if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setLiveText === &amp;#039;function&amp;#039;) {
						Visual.setLiveText(«Ева думает…»);
					}

					(async () ⇒ {
						try {
							&lt;/em&gt; Отправляем сохраненный вопрос в ollama.php
							const response = await fetch(&amp;#039;ollama.php&amp;#039;, { 
								method: &amp;#039;POST&amp;#039;,
								headers: { &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039; },
								body: JSON.stringify({ message: window.pendingQuestion }) 
							});

							const data = await response.json();
							let aiResponse = data.message?.content || data.reply || «Не удалось сформулировать ответ.»;

							if (typeof Tools !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Tools.humanize === &amp;#039;function&amp;#039;) {
								aiResponse = Tools.humanize(aiResponse);
							}

							&lt;em&gt; 💾 Сохраняем диалог в базу знаний ai_base.json через save_ai.php
							fetch(&amp;#039;save_ai.php&amp;#039;, {
								method: &amp;#039;POST&amp;#039;,
								headers: { &amp;#039;Content-Type&amp;#039;: &amp;#039;application/json&amp;#039; },
								body: JSON.stringify({ q: window.pendingQuestion, a: aiResponse })
							})
							.then(res ⇒ res.json())
							.then(saveResult ⇒ console.log(«[База Данных ИИ]:», saveResult.message))
							.catch(err ⇒ console.error(«[База Данных ИИ Ошибка записи]:», err));

							&lt;/em&gt; Озвучка и вывод в чат речевого конвейера
							if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setState === &amp;#039;function&amp;#039;) Visual.setState(&amp;#039;speak&amp;#039;);
							speak(aiResponse);
							if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.addMsg === &amp;#039;function&amp;#039;) {
								Visual.addMsg(aiResponse, &amp;#039;eva-msg&amp;#039;);
							}

							window.pendingQuestion = «»; &lt;em&gt; Очищаем буфер

						} catch (error) {
							console.error(«[Ollama Модуль Критическая ошибка]:», error);
							window.isWaitingDecision = true;
							if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setState === &amp;#039;function&amp;#039;) Visual.setState(&amp;#039;listen&amp;#039;);
							speak(«Ошибка связи с нейросетью. Попробуйте ещё раз.»);
						}
					})();
				} else {
					speak(«О чём именно мне подумать?»);
				}
				return;
			}		
    }
    &lt;/em&gt; ————————————————————————
    &lt;em&gt; ШАГ 6.2: РЕЖИМ ПРЯМОГО ПОШАГОВОГО ИНТЕРАКТИВНОГО ОБУЧЕНИЯ (window.isLearning)
    &lt;/em&gt; ————————————————————————
    if (window.isLearning) {
        &lt;em&gt; Проверяем команду выхода из жесткого пошагового режима обучения фраз
        if (cleanRaw.includes(«не запоминай») || cleanRaw.includes(«отмена») || cleanRaw.includes(«проехали»)) {
            window.isLearning = false;
            if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) Visual.updateHints(false);
            
            &lt;/em&gt; Динамическое считывание фразы сброса проехали (forgot) из админки личности Евы
            speak(Tools.humanize(window.allData?.settings?.phrases?.forgot || «хорошо, проехали»));
            return; 
        }
        
        &lt;em&gt; Обучаем систему: связываем прошлый зафиксированный вопрос window.lastQ с текущей репликой ответа
        AI.learn(window.lastQ, text);
        window.isLearning = false;
        if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) Visual.updateHints(false);
        
        &lt;/em&gt; Динамическое считывание короткой фразы успеха (learned) для пошагового обучения
        speak(Tools.humanize(window.allData?.settings?.phrases?.learned || «запомнила» || «записала»));
        return; 
    }

    &lt;em&gt; ————————————————————————
    &lt;/em&gt; ШАГ 6.3: ИНСТРУМЕНТЫ АВТОМАТИЗАЦИИ (МАТЕМАТИКА, ВРЕМЯ, СЛОВАРЬ ХАРАКТЕРА)
    &lt;em&gt; ————————————————————————
    
    &lt;/em&gt; Проверка 3.1: Поиск совпадений в текстовой матрице характера личности Евы из tools.js
    const personalResp = Tools.processPersonality(cleanRaw);
    if (personalResp &amp;amp;&amp;amp; !window.isWaitingDecision) {
        speak(personalResp);
        Visual.addMsg(personalResp, &amp;#039;eva-msg&amp;#039;);
        return; 
    }

    &lt;em&gt; Проверка 3.2: Математический калькулятор (вычисление регулярными выражениями фраз типа «пять плюс два»)
    const mathResult = Tools.calculate(cleanRaw);
    if (mathResult) {
        speak(mathResult);
        Visual.addMsg(mathResult, &amp;#039;eva-msg&amp;#039;);
        return; 
    }

    &lt;/em&gt; Проверка 3.3: Запрос текущего системного времени или даты с веб-сервера
    if (cleanRaw.includes(«время») || cleanRaw.includes(«час») || cleanRaw.includes(«число»)) {
        const timeStr = await Tools.getServerDateTime();
        speak(timeStr);
        Visual.addMsg(timeStr, &amp;#039;eva-msg&amp;#039;);
        return; 
    }

    &lt;em&gt; ————————————————————————
    &lt;/em&gt; ШАГ 6.4: ПРОВЕРКА НАЛИЧИЯ ИМЕНИ (АКТИВАЦИОННЫЙ ФИЛЬТР ВХОДНОГО ПОТОКА)
    &lt;em&gt; ————————————————————————
    &lt;/em&gt; Система реагирует, если найдено имя «Ева», «Еву» ИЛИ активирован режим freeTalk (без имени)
    const hasName = cleanRaw.includes(«ева») || cleanRaw.includes(«еву») || window.freeTalk;
    if (!hasName) {
        &lt;em&gt; Если имя не произнесено, просто пишем текст в плашку, не запуская глубокий анализ логики баз данных
        Visual.setLiveText(text);
        return;
    }

    &lt;/em&gt; Вычленяем чистый запрос для передачи в ассоциативный ИИ-мозг (ai.js)
    const cleanForAI = text.replace(/ева|еву/gi, &amp;#039;&amp;#039;).trim();
    if (cleanForAI.length &amp;lt; 1) return; &lt;em&gt; Выходим, если пользователь назвал только имя Евы без вопроса
    
    &lt;/em&gt; Рендерим статус размышлений аватара на верхней панели
    Visual.setState(&amp;#039;think&amp;#039;);

    &lt;em&gt; ————————————————————————
    &lt;/em&gt; ШАГ 6.5: СЕМАНТИЧЕСКИЙ АССОЦИАТИВНЫЙ ПОИСК В БАЗАХ ЗНАНИЙ (AI.THINK)
    &lt;em&gt; ————————————————————————
	
	&lt;/em&gt; Каскад 1: Ищем в основной ассоциативной базе знаний
    let aiResult = (typeof AI !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof AI.think === &amp;#039;function&amp;#039;) ? AI.think(cleanForAI) : null;

    &lt;em&gt; Каскад 2: Если в основной базе пусто — ищем в базе ИИ (ai_base.json)
    if ((!aiResult || !aiResult.found) &amp;amp;&amp;amp; window.allData?.aiBase) {&lt;pre class=&quot;code&quot;&gt;      // Пробегаем по массиву вопросов ai_base.json, приводя строки к нижнему регистру
      const aiBaseMatch = window.allData.aiBase.find(item =&amp;gt; 
          item.questions &amp;amp;&amp;amp; item.questions.some(q =&amp;gt; q.toLowerCase().trim() === cleanForAI.toLowerCase())
      );&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      if (aiBaseMatch) {
          console.log(&amp;quot;[Ева]: Ответ успешно найден в ai_base.json&amp;quot;);
          aiResult = {
              found: { answers: aiBaseMatch.answers || [&amp;quot;По памяти.&amp;quot;] },
              clean: cleanForAI
          };
      }
  }&lt;/pre&gt;


&lt;pre class=&quot;code&quot;&gt;  // Третий каскад: Если и в ai_base пусто — ищем в энциклопедической Wiki-базе (wiki_base.json)
  if ((!aiResult || !aiResult.found) &amp;amp;&amp;amp; window.allData?.wiki) {
      // Пробегаем по массиву вопросов wiki-базы, приводя строки к нижнему регистру
      const wikiMatch = window.allData.wiki.find(item =&amp;gt; 
          item.questions &amp;amp;&amp;amp; item.questions.some(q =&amp;gt; q.toLowerCase().trim() === cleanForAI.toLowerCase())
      );
      
      if (wikiMatch) {
          // ЗАЩИТНЫЙ МЕХАНИЗМ: Формируем искусственный массив answers, если структура Wiki-объекта отличается
          console.log(&amp;quot;[Ева]: Ответ успешно найден в wiki_base.json&amp;quot;);
          const fallbackAnswers = wikiMatch.answers || [wikiMatch.text || wikiMatch.description || &amp;quot;По записям.&amp;quot;];
          aiResult = { 
              found: { answers: fallbackAnswers || [&amp;quot;По записям.&amp;quot;] }, 
              clean: cleanForAI 
          };
      }
  }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // ВЫВОД РЕЗУЛЬТАТОВ АНАЛИЗА БАЗ ДАННЫХ
  if (aiResult &amp;amp;&amp;amp; aiResult.found &amp;amp;&amp;amp; aiResult.found.answers &amp;amp;&amp;amp; aiResult.found.answers.length &amp;gt; 0) {
      // Реакция А: Ответ НАЙДЕН. Выбираем случайный вариант из массива ответов для живости диалога
      let response = aiResult.found.answers[Math.floor(Math.random() * aiResult.found.answers.length)];&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Прогоняем сухой ответ через фильтр лингвистического очеловечивания и обращения по имени
      if (typeof Tools !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Tools.humanize === &amp;#039;function&amp;#039;) {
          response = Tools.humanize(response);     
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Переводим аватар в статус генерации реплики
      Visual.setState(&amp;#039;speak&amp;#039;);
      speak(response);
      Visual.addMsg(response, &amp;#039;eva-msg&amp;#039;);
      
      // Фиксируем контекст текущей ноды для обеспечения поддержки древовидных sub-веток
      if (typeof AI !== &amp;#039;undefined&amp;#039;) AI.currentContext = aiResult.found;
      
  } else {
      // ============================================================================
      // 💥 РЕАКЦИЯ Б: ОТВЕТ АБСОЛЮТНО НЕ НАЙДЕН В ПАМЯТИ ИИ ЕВЫ
      // Активируем шлюзы интерактивного диалога обучения и ожидания решения
      // ============================================================================
      window.isWaitingDecision = true; 
      window.pendingQuestion   = cleanForAI; 
      
      // Запоминаем текущий чистый вопрос для режима прямого пошагового обучения
      window.lastQ = cleanForAI;
      
      // Считываем строку оранжевых подсказок выбора действий из папки data/settings.json
      const currentDecisionHints = window.allData?.settings?.hints?.decision_hints || &amp;quot;ПОИЩИ / ПОДУМАЙ / ОТВЕТ... / ОТМЕНА&amp;quot;;
      
      // Обновляем оранжевые подсказки действий на верхнем статус-баре экрана Евы
      if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) {
          Visual.updateHints(true, currentDecisionHints);
      }
      
      // Считываем главный предустановленный вопрос Евы из папки data/settings.json
      const prompt = window.allData?.settings?.phrases?.no_answer || &amp;quot;Я не знаю ответа, но могу подумать! А может подскажешь ответ? Или мне поискать в интернете?&amp;quot;;
      
      // Запускаем генерацию речи ИИ через TTS речевую систему voice_system.js
      speak(prompt);
      
      // Выводим текстовое облако сообщения ассистента в центральный чат приложения
      if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.addMsg === &amp;#039;function&amp;#039;) {
          Visual.addMsg(prompt, &amp;#039;eva-msg&amp;#039;);
      }
  }&lt;/pre&gt;
}


&lt;em&gt; ============================================================================
&lt;/em&gt; БЛОК 7: АВТОНОМНЫЙ ТАЙМЕР ИНИЦИАТИВЫ И ПРОАКТИВНОСТИ ЕВЫ (СКУКА)
&lt;em&gt; ============================================================================

/&lt;strong&gt;
 * Сброс и перезапуск таймера неактивности пользователя.
 * Если пользователь молчит, Ева с вероятностью 30% может проявить инициативу и задать вопрос сама.
 */
function resetIdleTimer() {
    &lt;em&gt; Стираем предыдущий запущенный таймер активности
    clearTimeout(window.idleTimer);
    
    &lt;/em&gt; Защитные условия: Ева молчит, если микрофон выключен, идет обучение или ожидается решение команды
    if (!window.isLive || window.isLearning || window.isWaitingDecision) return;
    
    &lt;em&gt; Запускаем новый таймер ожидания на базе глобальной конфигурации window.IDLE_TIME
    window.idleTimer = setTimeout(() ⇒ {
        &lt;/em&gt; Проверяем, не говорит ли Ева прямо сейчас, и вычисляем случайный шанс (30%)
        if (!window.speechSynthesis.speaking &amp;amp;&amp;amp; Math.random() ⇐ 0.3) {
            
            &lt;em&gt; Запрашиваем из ИИ случайную заготовку вопроса для пользователя
            const entry = AI.getEvaQuestionEntry();
            if (entry) {
                &lt;/em&gt; Выбираем случайный вариант вопроса, очеловечиваем его и воспроизводим
                const text = Tools.humanize(entry.answers[Math.floor(Math.random() * entry.answers.length)]);
                AI.currentContext = entry; &lt;em&gt; Запоминаем контекст для анализа ответа пользователя
                
                speak(text);
                Visual.addMsg(text, &amp;#039;eva-msg&amp;#039;);
            }
            &lt;/em&gt; Рекурсивно перезапускаем таймер для следующего шага проверки
            resetIdleTimer();
        } else {
            &lt;em&gt; Если условия рандома не прошли, просто уходим на новый круг ожидания
            resetIdleTimer();
        }
    }, window.IDLE_TIME);
}


&lt;/em&gt; ============================================================================
&lt;em&gt; БЛОК 8: СЕРВЕРНОЕ АВТОМАТИЧЕСКОЕ СОХРАНЕНИЕ ДАННЫХ И СБРОС БЛОКИРОВОК
&lt;/em&gt; ============================================================================

/&lt;/strong&gt;
 * Асинхронное автоматическое сохранение полученных из интернета знаний на server.
 * Выполняет обновление оперативной памяти, запись в файл и полную разблокировку UI.
 * @param {string} question - Вопрос пользователя.
 * @param {string} answer - Текст найденной статьи из Wikipedia.
 */
async function autoSaveToWiki(question, answer) {
    console.log(«[AutoSave Модуль]: Подготовка структуры объекта данных для записи…»);

    &lt;/em&gt; Создаем каноничную структуру сущности знаний для базы данных&lt;pre class=&quot;code&quot;&gt;  const newEntry = {
      type: &amp;quot;qa&amp;quot;,
      questions: [question.toLowerCase().trim()],
      answers: [answer],
      sub: []
  };&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  // Проверяем существование массива и пушим новый элемент в оперативную память браузера
  if (!window.allData.wiki) window.allData.wiki = [];
  window.allData.wiki.push(newEntry);&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;  console.log(&amp;quot;[AutoSave Модуль]: Отправка обновленного массива в Database.saveWiki...&amp;quot;);
  
  // Асинхронно передаем массив модулю сохранения и дожидаемся ответа от сервера
  const success = await Database.saveWiki(window.allData.wiki);
  
  // Анализируем маркер успешности проведения дисковой операции записи сервером
  if (success) {
      console.log(&amp;quot;%c[AutoSave Модуль]: УСПЕШНО ЗАПИСАНО В wiki_base.json&amp;quot;, &amp;quot;color: green; font-weight: bold;&amp;quot;);
      
      // --- КРИТИЧЕСКИЙ СБРОС ВСЕХ СИСТЕМНЫХ БЛОКИРОВОК ДЛЯ ПОДДЕРЖАНИЯ ДИАЛОГА ---
      window.isWaitingDecision = false; // Разблокируем шлюзы обработки новых фраз (Слон, Бублик)
      window.pendingQuestion   = &amp;quot;&amp;quot;;     // Очищаем буфер временного вопроса
      window.isSpeakingWiki    = false;   // Отключаем защиту чтения статьи Википедии
      window.isEvaSpeaking     = false;    // Сбрасываем статус речи&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // --- ИНТЕРФЕЙСНАЯ ОЧИСТКА ЭКРАНА ---
      // Полностью очищаем текстовую строку от застрявших серых/мусорных букв
      if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setLiveText === &amp;#039;function&amp;#039;) {
          Visual.setLiveText(&amp;quot;&amp;quot;); 
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Деактивируем оранжевую строку подсказок команд
      if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.updateHints === &amp;#039;function&amp;#039;) {
          Visual.updateHints(false); 
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // Автоматически закрываем всплывающие формы обучения диалогов изменением инлайновых CSS свойств
      const windows = document.querySelectorAll(&amp;#039;.learn-window, .learn-form, #learnModal, [id*=&amp;quot;learn&amp;quot;], [class*=&amp;quot;learn&amp;quot;]&amp;#039;);
      windows.forEach(win =&amp;gt; {
          win.style.display = &amp;#039;none&amp;#039;; 
          win.classList.remove(&amp;#039;active&amp;#039;, &amp;#039;open&amp;#039;, &amp;#039;show&amp;#039;); 
      });&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      if (typeof Visual !== &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof Visual.setState === &amp;#039;function&amp;#039;) {
          Visual.setState(&amp;#039;wait&amp;#039;);
      }&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;      // --- ПРОАКТИВНАЯ АКТИВАЦИЯ МИКРОФОНА ---
      // Если сессия продолжается, принудительно перезапускаем аудиопоток захвата голоса
      if (window.isLive &amp;amp;&amp;amp; window.rec) {
          try {
              window.rec.start();
              console.log(&amp;quot;%c[AutoSave Модуль]: МИКРОФОН СНОВА АКТИВЕН ДЛЯ НОВОГО ДИАЛОГА!&amp;quot;, &amp;quot;color: green; font-weight: bold;&amp;quot;);
          } catch(e) { 
              console.log(&amp;quot;[AutoSave Модуль]: Поток микрофона уже запущен или управляется извне.&amp;quot;); 
          }
      }
  } else {
      console.error(&amp;quot;[AutoSave Модуль]: КРИТИЧЕСКАЯ ОШИБКА: Сервер вернул статус false при записи файла.&amp;quot;);
  }&lt;/pre&gt;
}


&lt;em&gt; ============================================================================
&lt;/em&gt; БЛОК 9: ТОЧКА ВХОДА И РЕГИСТРАЦИЯ КОМПОНЕНТОВ СИСТЕМЫ
&lt;em&gt; ============================================================================

&lt;/em&gt; Автоматический выпуск первичного каскада инициализации при подключении скрипта
startApp();

&lt;em&gt; ГЛОБАЛЬНАЯ РЕГИСТРАЦИЯ: Назначаем финальную монолитную функцию handleSpeech в глобальное окно window
window.handleSpeech = handleSpeech;

&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 07 Jun 2026 14:21:27 +0000</pubDate>
        </item>
        <item>
            <title>ai_chat_bot_eva_v3</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?id=software:development:demo:ai_eva:ai_chat_bot_eva_v3&amp;rev=1780842018</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;js_chatbot_evav3&quot;&gt;JS chatbot eva.v3&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;JS chatbot eva.v3&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;js_chatbot_evav3&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-32&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;введение&quot;&gt;Введение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Чат-бот &lt;strong&gt;Eva v3&lt;/strong&gt;, — это пример самообучающейся системы на связке &lt;strong&gt;JavaScript + PHP&lt;/strong&gt;, которая хранит свои знания в обычном текстовом файле &lt;strong&gt;base.json&lt;/strong&gt;.
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteshadow&quot;&gt;
&lt;iframe height=&quot;350&quot; width=&quot;550&quot; scrolling=&quot;yes&quot; title=&quot;Untitled&quot; src=&quot;./demo_ai/ai/index.php&quot; frameborder=&quot;no&quot; loading=&quot;lazy&quot; allowtransparency=&quot;true&quot; allowfullscreen=&quot;true&quot;&gt;
&lt;/iframe&gt;


&lt;/div&gt;
&lt;p&gt;
Особенностью версии v3 является поддержка &lt;strong&gt;древовидной структуры диалогов&lt;/strong&gt;, позволяющая боту удерживать контекст беседы и создавать вложенные ветки ответов через &lt;strong&gt;массив sub&lt;/strong&gt;. &lt;br/&gt;

Благодаря интеграции &lt;strong&gt;Web Speech &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;&lt;/strong&gt;, система способна не только анализировать текстовые команды, но и &lt;strong&gt;воспринимать живую речь&lt;/strong&gt;, превращаясь в полноценного голосового ассистента. &lt;br/&gt;

В отличие от жестко запрограммированных скриптов, Ева динамически &lt;strong&gt;расширяет свой кругозор&lt;/strong&gt;: если ответ на вопрос отсутствует, она переходит в &lt;strong&gt;режим активного обучения&lt;/strong&gt;, запоминая реакцию пользователя и мгновенно применяя её в будущих диалогах. &lt;br/&gt;

Вся архитектура построена на принципе &lt;strong&gt;максимальной автономности&lt;/strong&gt;, где PHP-сервер выступает лишь в роли надежного хранилища, гарантируя сохранность накопленного опыта между сессиями.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;33-1989&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;основные_характеристики_евы&quot;&gt;Основные характеристики «Евы»:&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u00ab\u0415\u0432\u044b\u00bb:&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435_\u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438_\u0435\u0432\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1990-2059&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;архитектура_системы&quot;&gt;Архитектура системы&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Front-end (JS):&lt;/strong&gt; Работает в браузере. Отвечает за распознавание речи, логику поиска ответа в ОЗУ и озвучку.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Back-end (PHP):&lt;/strong&gt; Нужен только для того, чтобы сохранять изменения из памяти браузера обратно в файл на сервере (через save.php).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;База данных (base.json):&lt;/strong&gt; Простой JSON-массив, где хранятся объекты с вопросами, ответами и ветками диалогов.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430_\u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2060-2709&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;как_она_думает_логика_поиска&quot;&gt;Как она «думает» (Логика поиска)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ева не просто ищет точное совпадение строки. В коде используется функция &lt;strong&gt;normalize()&lt;/strong&gt;, которая убирает лишние символы и приводит текст к одному регистру.
&lt;/p&gt;

&lt;p&gt;
* Она ищет ваш вопрос в массиве &lt;strong&gt;questions&lt;/strong&gt;.
* Если находит — выбирает случайный вариант из массива answers (чтобы общение не было однообразным).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u0430\u043a \u043e\u043d\u0430 \u00ab\u0434\u0443\u043c\u0430\u0435\u0442\u00bb (\u041b\u043e\u0433\u0438\u043a\u0430 \u043f\u043e\u0438\u0441\u043a\u0430)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u0430\u043a_\u043e\u043d\u0430_\u0434\u0443\u043c\u0430\u0435\u0442_\u043b\u043e\u0433\u0438\u043a\u0430_\u043f\u043e\u0438\u0441\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2710-3310&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;режим_обучения_self-learning&quot;&gt;Режим обучения (Self-Learning)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Это главная «фишка» кода. Если Ева не находит ответ в базе:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Она переходит в состояние &lt;strong&gt;isLearning = true&lt;/strong&gt; (режим обучения).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Спрашивает пользователя: «Как мне ответить на это?».&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Следующую фраза пользователя она не обрабатывает как вопрос, а записывает как ответ для предыдущей фразы.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Новая пара «вопрос-ответ» добавляется в общую базу в памяти.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0436\u0438\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (Self-Learning)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0436\u0438\u043c_\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f_self-learning&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3311-3996&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;контекст_и_вложенность_sub&quot;&gt;Контекст и вложенность (sub)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Вчерашний пример кода показал, что Ева умеет работать с контекстом. У каждой записи есть массив sub. Это позволяет создавать древовидные диалоги:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Вы: «Давай поиграем».&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ева: «Окей, во что?». (Здесь Ева запоминает контекст)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Вы: «В города».&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ева поймет, что «В города» — это ответ на её вопрос про игру, а не просто случайная фраза.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0438 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c (sub)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442_\u0438_\u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c_sub&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3997-4663&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;слабые_места_исправлено_07052026&quot;&gt;Слабые места (Исправлено 07.05.2026)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Кэширование: Браузер часто «подсовывал» Еве старую базу из памяти, поэтому мы добавили &lt;strong&gt;?v=Date.now()&lt;/strong&gt; к запросу.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Потеря данных: При сохранении файл мог затереться, если в коде была ошибка или база была пуста. Мы добавили проверку &lt;strong&gt;if (responses.length === 0)&lt;/strong&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Синтаксис JSON: Ручное редактирование часто ломало базу из-за лишних запятых, что приводило к &lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;strong&gt;ошибке JSON CORRUPT&lt;/strong&gt;&lt;/span&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043b\u0430\u0431\u044b\u0435 \u043c\u0435\u0441\u0442\u0430 (\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e 07.05.2026)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043b\u0430\u0431\u044b\u0435_\u043c\u0435\u0441\u0442\u0430_\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e_07052026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4664-5411&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;изменения_070626&quot;&gt;изменения 07.06.26&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавлена интеграция нейросети.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавлена интеграция голоса&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f 07.06.26&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f_070626&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5412-5570&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;планы&quot;&gt;Планы&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Обработку данных в оперативной памяти браузера.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Разобрать проект по архитектурным папкам&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавить «если ева не знает», то на ее выбор Алиса/вика&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В базе вопросы «про погоду» и «про кота», подогнать наблон под 100% ответ Алисы, пока 30-35%&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавить вопрос «кто такой» и «что такое» искать без этих слов&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043b\u0430\u043d\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043b\u0430\u043d\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5571-6141&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;см_так_же&quot;&gt;См. так же&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?id=software:development:demo:cms:ucms:appendix:appendix_js_speech_chat_bot_eva_v2&quot; class=&quot;wikilink1&quot; title=&quot;software:development:demo:cms:ucms:appendix:appendix_js_speech_chat_bot_eva_v2&quot; data-wiki-id=&quot;software:development:demo:cms:ucms:appendix:appendix_js_speech_chat_bot_eva_v2&quot;&gt;JS chatbot eva.v2&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?id=software:development:demo:cms:ucms:appendix:appendix_js_speech_audio_search_v2_comment&quot; class=&quot;wikilink1&quot; title=&quot;software:development:demo:cms:ucms:appendix:appendix_js_speech_audio_search_v2_comment&quot; data-wiki-id=&quot;software:development:demo:cms:ucms:appendix:appendix_js_speech_audio_search_v2_comment&quot;&gt;Код примера Speech Audio Seach v2&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?id=software:development:demo:cms:ucms:appendix:appendix_js_speech_audio_search_v2&quot; class=&quot;wikilink1&quot; title=&quot;software:development:demo:cms:ucms:appendix:appendix_js_speech_audio_search_v2&quot; data-wiki-id=&quot;software:development:demo:cms:ucms:appendix:appendix_js_speech_audio_search_v2&quot;&gt;JS audio searhe.v2&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043c. \u0442\u0430\u043a \u0436\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043c_\u0442\u0430\u043a_\u0436\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;6142-6520&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;дополнения_и_файлы&quot;&gt;Дополнения и Файлы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:demo:cms:ucms:appendix:js_speech_chat_bot_eva_v2.rar&quot; class=&quot;media mediafile mf_rar&quot; title=&quot;software:development:demo:cms:ucms:appendix:js_speech_chat_bot_eva_v2.rar (51.6 MB)&quot;&gt; Архив с примером AI ассистента Eva v2&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/doku.php?id=software:development:demo:cms:ucms:appendix:js_speech_chat_bot_eva_v2_comment&quot; class=&quot;wikilink1&quot; title=&quot;software:development:demo:cms:ucms:appendix:js_speech_chat_bot_eva_v2_comment&quot; data-wiki-id=&quot;software:development:demo:cms:ucms:appendix:js_speech_chat_bot_eva_v2_comment&quot;&gt; Код примера AI ассистента Eva v2&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:demo:cms:ucms:appendix:ai_%D0%B0%D0%B1%D0%BE%D1%87%D0%B0%D1%8F_%D1%81_%D0%B2%D0%B8%D0%BA%D0%B8_%D1%81%D1%82%D0%B0%D1%80%D0%B0%D1%8F.rar&quot; class=&quot;media mediafile mf_rar&quot; title=&quot;software:development:demo:cms:ucms:appendix:ai_абочая_с_вики_старая.rar (46.2 KB)&quot;&gt;Код примера AI ассистента Eva v2 старый код&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?media=software:development:demo:cms:ucms:appendix:ai_%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B0%D1%8F_07.06.2026.rar&quot; class=&quot;media mediafile mf_rar&quot; title=&quot;software:development:demo:cms:ucms:appendix:ai_рабочая_07.06.2026.rar (227.9 MB)&quot;&gt;ai_рабочая_07.06.2026.rar&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0424\u0430\u0439\u043b\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f_\u0438_\u0444\u0430\u0439\u043b\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;6521-&amp;quot;} --&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 07 Jun 2026 14:20:18 +0000</pubDate>
        </item>
        <item>
            <title>ai_рабочая_07.06.2026.rar - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Adevelopment%3Ademo%3Acms%3Aucms%3Aappendix%3Aai_%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B0%D1%8F_07.06.2026.rar&amp;ns=software%3Adevelopment%3Ademo%3Acms%3Aucms%3Aappendix&amp;rev=1780840237&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/images/fileicons/svg/rar.svg&quot; alt=&quot;ai_рабочая_07.06.2026.rar&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 07 Jun 2026 13:50:37 +0000</pubDate>
        </item>
        <item>
            <title>ai_абочая_с_вики_старая.rar - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Adevelopment%3Ademo%3Acms%3Aucms%3Aappendix%3Aai_%D0%B0%D0%B1%D0%BE%D1%87%D0%B0%D1%8F_%D1%81_%D0%B2%D0%B8%D0%BA%D0%B8_%D1%81%D1%82%D0%B0%D1%80%D0%B0%D1%8F.rar&amp;ns=software%3Adevelopment%3Ademo%3Acms%3Aucms%3Aappendix&amp;rev=1780840174&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/images/fileicons/svg/rar.svg&quot; alt=&quot;ai_абочая_с_вики_старая.rar&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Sun, 07 Jun 2026 13:49:34 +0000</pubDate>
        </item>
        <item>
            <title>nginx_html.rar - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Anginx_html.rar&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779823702&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/images/fileicons/svg/rar.svg&quot; alt=&quot;nginx_html.rar&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 19:28:22 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_259.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_259.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779821963&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=7dafd1&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_259.png&quot; alt=&quot;iso_image_arch_linux_server_259.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 18:59:23 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_258.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_258.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779821963&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=dc2d3f&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_258.png&quot; alt=&quot;iso_image_arch_linux_server_258.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 18:59:23 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_257.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_257.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779821415&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=dd8ae4&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_257.png&quot; alt=&quot;iso_image_arch_linux_server_257.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 18:50:15 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_256.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_256.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779821187&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=0a5e35&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_256.png&quot; alt=&quot;iso_image_arch_linux_server_256.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 18:46:27 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_255.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_255.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779820817&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=3ba6b2&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_255.png&quot; alt=&quot;iso_image_arch_linux_server_255.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 18:40:17 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_254.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_254.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779820551&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=c91f2d&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_254.png&quot; alt=&quot;iso_image_arch_linux_server_254.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 18:35:51 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_253.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_253.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779820352&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=d96bb6&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_253.png&quot; alt=&quot;iso_image_arch_linux_server_253.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 18:32:32 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_252.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_252.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779813623&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=029a86&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_252.png&quot; alt=&quot;iso_image_arch_linux_server_252.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 16:40:23 +0000</pubDate>
        </item>
        <item>
            <title>iso_image_arch_linux_server_251.png - создано</title>
            <link>https://wwoss.direct.quickconnect.to/doku.php?image=software%3Alinux_server%3Aarch_linux%3Aiso_image_arch_linux_server_251.png&amp;ns=software%3Alinux_server%3Aarch_linux&amp;rev=1779813120&amp;do=media</link>
            <description>&lt;img src=&quot;https://wwoss.direct.quickconnect.to/lib/exe/fetch.php?w=500&amp;amp;h=500&amp;amp;tok=d16cab&amp;amp;media=software:linux_server:arch_linux:iso_image_arch_linux_server_251.png&quot; alt=&quot;iso_image_arch_linux_server_251.png&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;</description>
            <author>vladpolskiy@undisclosed.example.com (VladPolskiy)</author>
            <pubDate>Tue, 26 May 2026 16:32:00 +0000</pubDate>
        </item>
    </channel>
</rss>
