diff --git a/README.md b/README.md
index cff9e1f..daca18e 100755
--- a/README.md
+++ b/README.md
@@ -114,6 +114,9 @@
# Примеры использования
+Начальный пример работы с платформой описан в документации:
+[пример](https://vovaman.github.io/peresvet/examples.html).
+
Примеры работы с платформой собраны в отдельном проекте
[peresvet_examples](https://github.com/Vovaman/peresvet_examples).
diff --git a/docs/source/configurator/configurator.rst b/docs/source/configurator/configurator.rst
new file mode 100644
index 0000000..0cffae3
--- /dev/null
+++ b/docs/source/configurator/configurator.rst
@@ -0,0 +1,134 @@
+.. _configurator:
+
+Конфигуратор модели
+-------------------
+
+.. note::
+ Конфигуратор работает с платформой через :ref:`API `.
+ Форматы всех команд создания/чтения/обновления/удаления узлов иерархии
+ можно найти в документации по указанной ссылке.
+
+Первый запуск
+^^^^^^^^^^^^^
+Запускаем платформу (:ref:`installation`).
+
+Запускаем браузер и в строке адреса пишем: http://localhost/grafana.
+
+При первом запуске вводим имя пользователя ``admin``, пароль также ``admin``.
+Grafana предложит сменить пароль.
+
+.. figure:: pics/01.welcome.png
+ :alt: Пересвет
+
+По умолчанию открывается экран с конфигуратором.
+
+.. figure:: pics/02.configurator.png
+ :alt: Конфигуратор
+
+При первом запуске в низ экрана атоматически добавляется панель, которую можно удалить:
+
+.. figure:: pics/03.remove_panel.png
+ :alt: Дополнительная панель
+
+Папки модели
+^^^^^^^^^^^^
+Создаваемая модель объекта и информационной системы имеет иерархическую структуру.
+
+На верхнем уровне иерархии находятся узлы, в которых создаются экземпляры соответствующих
+:ref:`сущностей `.
+
+Проще освоить работу с конфигуратором на :ref:`примерах `.
+
+Объекты
+_______
+Внутри этой папки создаётся основная иерархия - модель объекта. Иерархия имеет любой уровень
+вложенности и может включать в себя объекты, теги, тревоги, методы.
+
+Теги
+____
+Наиболее простой случай модели объекта - это линейный список его параметров (тегов).
+
+В таком случае теги можно создавать, не привязывая их к какому-либо объекту.
+
+Для этого случая служит отдельная папка ``Теги``.
+
+Коннекторы
+__________
+В этой папке создаются описания :ref:`коннекторов `.
+Параметры, задаваемые в узле-описании коннектора, зависят от конкретного коннектора.
+
+Расписания
+__________
+Папка для создания расписаний - генераторов событий.
+
+Хранилища данных
+________________
+Папка, в которой хранятся описания хранилищ данных.
+Исторические данные, факты возникновения, пропадания
+и квитирования тревог хранятся в этих хранилищах.
+
+.. note:: Открытая версия платформы "Пересвет" поддерживает работу только с одним хранилищем,
+ поэтому в конфигураторе для открытой платформы отсутствует узел "Хранилища данных".
+
+Создание новых узлов
+^^^^^^^^^^^^^^^^^^^^
+1. Выбираем нужный узел, внутри которого хотим создать дочерний.
+2. Выбираем нужную синюю кнопку и, нажав её, создаём новый экземпляр необходимой нам сущности.
+
+.. figure:: pics/04.new_node.png
+
+После нажатия кнопки в иерархию добавится новый экземпляр выбранной сущности.
+Узел в иерархии, соответствующий данному экземпляру, станет текущим и справа появится панель
+со свойствами нового узла.
+
+Кроме того, изменится набор кнопок в верхней части конфигуратора.
+
+**Синие кнопки** показывают, экземпляры каких сущностей могут быть созданы внутри выбранного узла.
+
+Например: внутри объекта могут быть созданы другие объекты или теги; внутри тега могут быть созданы
+методы и тревоги.
+
+.. figure:: pics/06.but_new_object.png
+
+ Новый объект
+
+.. figure:: pics/07.but_new_tag.png
+
+ Новый тег
+
+.. figure:: pics/08.but_delete.png
+
+ **Красная кнопка** - удаление выбранного узла из иерархии.
+
+.. figure:: pics/05.new_object_created.png
+
+При создании нового узла в иерархии с помощью конфигуратора он создаётся с параметрами по умолчанию.
+Поэтому имя нового узла совпадает с его идентификатором.
+
+Редактирование свойств узла
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+На панели справа редактируем свойства узла. При этом изменённые свойства обводятся синей рамкой.
+
+Если у узла изменено хотя бы одно свойство, то активизируются две кнопки:
+
+**Записать** - сохранение в модели изменённых свойств и
+
+**Сбросить** - отмена внесённых изменений, возврат к начальным параметрам.
+
+.. figure:: pics/09.edit.png
+
+Нажимаем кнопку **Записать**:
+
+.. figure:: pics/10.changes_saved.png
+
+Удаление узла
+^^^^^^^^^^^^^
+Выбираем нужный узел в иерархии и нажимаем красную кнопку:
+
+.. figure:: pics/08.but_delete.png
+
+Из иерархии удаляется узел и все его потомки.
+
+Примеры
+^^^^^^^
+Работу в конфигураторе с отдельными сущностями проще освоить на :ref:`примерах `.
\ No newline at end of file
diff --git a/docs/source/configurator/pics/01.welcome.png b/docs/source/configurator/pics/01.welcome.png
new file mode 100644
index 0000000..ff58c73
Binary files /dev/null and b/docs/source/configurator/pics/01.welcome.png differ
diff --git a/docs/source/configurator/pics/02.configurator.png b/docs/source/configurator/pics/02.configurator.png
new file mode 100644
index 0000000..40e9a62
Binary files /dev/null and b/docs/source/configurator/pics/02.configurator.png differ
diff --git a/docs/source/configurator/pics/03.remove_panel.png b/docs/source/configurator/pics/03.remove_panel.png
new file mode 100644
index 0000000..b4897b9
Binary files /dev/null and b/docs/source/configurator/pics/03.remove_panel.png differ
diff --git a/docs/source/configurator/pics/04.new_node.png b/docs/source/configurator/pics/04.new_node.png
new file mode 100644
index 0000000..84f7a96
Binary files /dev/null and b/docs/source/configurator/pics/04.new_node.png differ
diff --git a/docs/source/configurator/pics/05.new_object_created.png b/docs/source/configurator/pics/05.new_object_created.png
new file mode 100644
index 0000000..67403be
Binary files /dev/null and b/docs/source/configurator/pics/05.new_object_created.png differ
diff --git a/docs/source/configurator/pics/06.but_new_object.png b/docs/source/configurator/pics/06.but_new_object.png
new file mode 100644
index 0000000..d7bd5bf
Binary files /dev/null and b/docs/source/configurator/pics/06.but_new_object.png differ
diff --git a/docs/source/configurator/pics/07.but_new_tag.png b/docs/source/configurator/pics/07.but_new_tag.png
new file mode 100644
index 0000000..c6d9989
Binary files /dev/null and b/docs/source/configurator/pics/07.but_new_tag.png differ
diff --git a/docs/source/configurator/pics/08.but_delete.png b/docs/source/configurator/pics/08.but_delete.png
new file mode 100644
index 0000000..6d43ef0
Binary files /dev/null and b/docs/source/configurator/pics/08.but_delete.png differ
diff --git a/docs/source/configurator/pics/09.edit.png b/docs/source/configurator/pics/09.edit.png
new file mode 100644
index 0000000..1a6a6de
Binary files /dev/null and b/docs/source/configurator/pics/09.edit.png differ
diff --git a/docs/source/configurator/pics/10.changes_saved.png b/docs/source/configurator/pics/10.changes_saved.png
new file mode 100644
index 0000000..f459c43
Binary files /dev/null and b/docs/source/configurator/pics/10.changes_saved.png differ
diff --git a/docs/source/examples/examples.rst b/docs/source/examples/examples.rst
new file mode 100644
index 0000000..20a2df6
--- /dev/null
+++ b/docs/source/examples/examples.rst
@@ -0,0 +1,348 @@
+.. _examples:
+
+Примеры
+-------
+Для демонстрации работы с платформой создан отдельный
+`проект `_, пополняемый новыми примерами.
+
+Также в указанном проекте можно создавать новые задачи с запросами на новые примеры.
+
+Здесь рассмотрим самый простой пример.
+
+Простой пример с одним объектом
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Для демонстрации работы с объектами, тегами, методами и экранами Grafana сделаем следующий пример.
+
+Допустим, у нас есть лампочка и мы можем тем или иным способом получить
+данные по току и напряжению (работу с коннекторами рассмотрим в следующих примерах).
+
+Кроме тока и напряжения у лампочки есть третий, расчётный тег - мощность.
+
+При изменении силы тока или напряжения мощность должна перерасчитываться.
+
+1. Объект
+.........
+Открываем конфигуратор, выбираем папку "Объекты" и нажимаем кнопку "Новый объект":
+
+.. figure:: pics/01.start.png
+
+В появившемся окне свойств меняем имя объекта на "Лампочка"...
+
+.. figure:: pics/02.before_save.png
+
+...и, нажав кнопку "Записать", сохраняем изменения:
+
+.. figure:: pics/03.after_save.png
+
+2. Теги
+.......
+Оставляя текущим объектом "Лампочку", нажимаем кнопку "Новый тег":
+
+.. figure:: pics/04.new_tag.png
+
+Меняем имя тега и единицы измерения...
+
+.. figure:: pics/05.tag_props.png
+
+...и, нажав кнопку "Записать", сохраняем изменения:
+
+.. figure:: pics/06.tag_saved_props.png
+
+Аналогичным образом создаём ещё два тега, U и P:
+
+.. figure:: pics/07.IUP.png
+
+3. Запись/чтение данных
+.......................
+Проверим, что данные в теги записываются и читаются.
+
+Выберем тег "I" и откроем панель "Данные тега":
+
+.. figure:: pics/08.open_read_save.png
+
+#. В поле "Значение" впишем 0.
+#. В поле "body" можно посмотреть сформированное тело запроса на запись.
+
+.. figure:: pics/09.set_data.png
+
+Нажимаем кнопку "Записать", затем "Получить данные".
+
+В таблице "Значение-время-качество" появится текущее значение тега "I":
+
+.. figure:: pics/10.get_data.png
+
+4. Расчётный метод
+..................
+Создадим метод для расчёта мощности лампочки.
+
+Для этого выберем тег "P" и нажмём кнопку "Новый метод":
+
+.. figure:: pics/11.new_method.png
+
+Затем:
+
+1. Изменим имя метода
+2. В поле "Адрес" введём название метода, под которым он будет зарегистрирован в системе для вызовов.
+ Запомним это имя - ``power``:
+
+ .. figure:: pics/12.method_name_address.png
+
+3. Блок "Инициаторы". Очень важный блок, в котором мы выбираем, какие события могут инициировать выполнение
+ расчётного метода.
+
+ Здесь выберем оба предложенных тега: I и U, то есть изменения обоих этих тегов будут приводить к
+ перерасчёту мощности.
+
+ .. attention:: Обратите внимание, что в списке возможных инициаторов расчёта нет самого тега
+ "P": изменение тега не может приводить к перерасчёту его самого, так как это вызовет бесконечный цикл
+ расчётов.
+
+ .. figure:: pics/13.method_initiators.png
+
+4. Укажем, какие данные необходимо передать методу для расчёта.
+
+ Данные, передаваемые в метод в каждом параметре - это результат запроса
+ :py:meth:`получения данных `.
+
+ Для расчёта мощности нужны текущие значения двух тегов: силы тока и напряжения.
+ Поэтому создаём два параметра, дважды нажав на синюю кнопку с плюсом.
+ Заполняем данные параметров как показано на картинке:
+
+ .. figure:: pics/14.method_parameters.png
+
+ Здесь мы указали, что в метод передаются два параметра: первым (индекс = 1) - сила тока.
+
+ Вторым (индекс = 2) - напряжение.
+
+ Поле "Конфигурация" заполняется автоматически после выбора тега в поле "Тег".
+
+ .. attention:: После изучения документации на запрос
+ :py:meth:`получения данных ` можно вручную править поле "Конфигурация",
+ составляя сколь угодно сложные запросы получения данных. Поле "Конфигурация" можно расширять
+ для удобства ввода текста.
+
+ .. figure:: pics/15.extend_config.png
+
+ .. attention:: Очень важный момент, относящийся к расчётам значений тегов: тег мощности рассчитывается,
+ когда изменяется значение тегов "I" и "U". Допустим, расчёт инициируется изменением тега "I" и метка
+ времени нового значения "I" - "2024-10-27 10:00:00+03:00". В этом случае запрос данных в параметрах
+ будет производиться также на метку времени "2024-10-27 10:00:00+03:00" и новое рассчитанное значение
+ тега мощности также будет записано с этой меткой времени, не смотря на то, что сам расчёт, возможно,
+ будет производиться в другое время.
+
+5. Нажимаем кнопку "Записать" для сохранения изменений:
+
+ .. figure:: pics/16.save_method.png
+
+Теперь напишем код метода.
+
+В папке ``methods`` проекта https://github.com/Vovaman/peresvet уже написан метод для этого примера.
+
+Откроем файл ``methods/test_method.py`` и рассмотрим метод ``calc_power``:
+
+.. code-block:: python
+
+ @rpc("power")
+ async def calc_power(I: dict, U: dict) -> float:
+ """Метод возвращает произведение двух параметров.
+
+ """
+ print(f"I: {json.dumps(I, indent=4)}")
+ print(f"U: {json.dumps(U, indent=4)}")
+
+ cur_I = I["data"][0]["data"][0][0]
+ cur_U = U["data"][0]["data"][0][0]
+
+ if cur_I == None or cur_U == None:
+ return 0
+
+ return cur_I * cur_U
+
+.. attention:: Первая строка: ``@rpc("power")``: именно "power" мы вводили в поле
+ "Адрес" при создании метода!
+
+Далее - строка объявления метода: ``async def calc_power(I: dict, U: dict) -> float:``.
+Первым параметром указана сила тока, вторым - напряжение. Точно так же, как мы указывали
+индексы у параметров.
+
+Далее метод просто для удобства выводит в консоль пришедшие данные, затем рассчитывает мощность
+как произведение двух параметров.
+
+5. Запуск расчётного метода
+...........................
+Для запуска метода необходимо установить пакеты, указанные в файле ``methods/requirements.txt`` либо
+для всех пользователей:
+
+.. code-block:: bash
+
+ $ pip3 install -r requirements.txt
+
+Либо создав виртуальную среду проекта.
+
+После установки пакетов запускаем в терминале скрипт в папке ``methods``:
+
+.. code-block:: bash
+
+ $ python3 test_method.py
+
+Результат должен быть примерно таким:
+
+.. figure:: pics/17.run_method.png
+
+6. Проверим расчёт
+..................
+Помним, что расчёт мощности инициируется изменениями значений тока и напряжения.
+
+Запишем в тег "U" значение 230.
+
+Для этого выберем в иерархии тег "U" и запишем в него требуемое значение:
+
+.. figure:: pics/18.set_u.png
+
+В консоли, в которой мы запустили метод, появится вывод:
+
+.. figure:: pics/19.print_calc.png
+
+Проверим значение тега мощности "P". Оно должно быть равно 0, так как перед этим
+в тег "I" мы записали 0:
+
+.. figure:: pics/20.P_is_0.png
+
+Теперь запишем в тег "I" значение 1:
+
+.. figure:: pics/21.I_is_1.png
+
+И проверим значение мощности, которое должно быть равно 230 Вт:
+
+.. figure:: pics/22.P_is_230.png
+
+.. note:: В следующих примерах будет показано, как настроить получение данных в теги
+ из внешних источников.
+
+7. Отображение данных в Grafana
+...............................
+.. note:: Данные из платформы можно получать
+ :py:meth:`описанным в документации запросом `.
+
+ Данные тегов (как, впрочем, и всё общение с платформой) приходят в виде json и для манипулирования
+ этими данными в Grafan'е рекомендуется изучить языки манипулирования json-данными
+ `JSONata `_ или
+ `JSONPath `_.
+
+ Предпочтительнее JSONata, так как обладает большими возможностями.
+
+ Настроим отображение:
+
+ * текущих значений тегов "I", "U" и "P";
+ * трендов значений этих тегов;
+
+1. Создадим новую доску данных.
+
+ Для этого заходим в меню "Home --> Dashboards" и нажимаем кнопку "New"
+
+ .. figure:: pics/23.new_dashboard.png
+
+ Выбрав в выпадающем меню команду "New dashboard", попадаем на экран создания новой панели:
+
+ .. figure:: pics/24.new_panel.png
+
+ ...и выбираем источник данных "peresvet":
+
+ .. figure:: pics/25.ds.png
+
+2. В появившемся окне настройки панели выберем тип панели "Stat".
+
+ .. figure:: pics/26.stat.png
+
+3. Настроим путь для получения данных, вписав ``/data/`` на закладке ``Path``.
+
+ .. note:: По умолчанию в источнике данных "peresvet" настроен путь к
+ платформе: ``http:///v1/``.
+ Добавляя к этому пути расширения ``data``, ``objects``, ``tags`` и т.д.,
+ мы получаем возможность работать не только с данными, но и вообще
+ со всеми сущностями платформы.
+
+ .. figure:: pics/27.path.png
+
+4. Настроим запросы получения данных.
+
+ Для того, чтобы не писать запрос вручную, его можно скопировать из конфигуратора.
+
+ Открываем конфигуратор, выбираем тег "I" и копируем запрос получения текущего значения тега.
+
+ .. figure:: pics/28.q.png
+
+ В окне настройки панели выбираем закладку "Params" и добавляем новый ключ "q".
+ Значение ключа - скопированный нами запрос:
+
+ .. figure:: pics/29.params.png
+
+ Далее:
+
+ #. Переходим на закладку "Fields";
+ #. Меняем имя очереди на "I";
+ #. Вводим выражение на языке JSONPath, разбирающее ответ от платформы с текущим значением тега
+ #. На экране появится "1" - текущее, введённое нами на предыдущих шагах значение тока.
+
+ .. figure:: pics/30.data.png
+
+ Повторим предыдущие шаги для оставшихся двух тегов напряжения и мощности,
+ добавляя новые запросы нажатием кнопки "Add query":
+
+ .. figure:: pics/31.add_query.png
+
+ .. warning:: У каждого поля отменим кэширование данных:
+
+ .. figure:: pics/39.cache.png
+
+5. Окончательная настройка панели.
+
+ После настройки данных значения напряжения и мощности отображаются красным цветом.
+ Так выставлены настройки по умолчанию.
+
+ #. Чтобы все значения отражались зелёным цветом, уберём порог значения "80";
+
+ .. figure:: pics/32.remove_threshold.png
+
+ #. Переименуем панель и нажмем кнопку "Save":
+
+ .. figure:: pics/33.save.png
+
+ Появится окно, в котором нужно задать имя доски данных.
+
+ .. warning:: Чтобы на панели рядом с именем тега не отображался 0, введите в поля
+ ``Alias`` пробел:
+
+ .. figure:: pics/35.space.png
+
+6. Выровняем новую панель на экране и создадим новую панель, с трендом, для чего
+ выберем команду "Add --> Visualization":
+
+ .. figure:: pics/34.trend.png
+
+7. Настройка панели с трендом.
+
+ Тип панели оставим по умолчанию - "Time series".
+
+ Получение данных настроим похоже предыдущей панели, за исключением того, что ключ запроса "q"
+ будет включать функции Grafan'ы ``$__isoFrom()`` и ``$__isoTo()``, обозначающие начало и конец
+ запрашиваемого временного периода:
+
+ ``q={"tagId":"2d95d0a6-28c7-103f-9c49-d763ac5895e8","format":true,"start":"$__isoFrom()","finish":"$__isoTo()"}``.
+
+ Закладки "Fields" у всех трёх запросов должны быть такого вида:
+
+ .. figure:: pics/36.trend_fields.png
+
+8. Выбор временных периодов.
+
+ Настроив панель с трендом для отображения трёх тегов, приведём доску данных приблизительно к такому
+ виду и выберем диапазон времени для отображения на экране, а также периодичность обновления данных:
+
+ .. figure:: pics/37.periods.png
+
+9. Проверим работу модели. Для чего записываем новые значения в теги "I" и "U" и наблюдаем
+ изменение данных на панели с электрическими параметрами:
+
+ .. figure:: pics/38.check.png
+
\ No newline at end of file
diff --git a/docs/source/examples/pics/01.start.png b/docs/source/examples/pics/01.start.png
new file mode 100644
index 0000000..5af7003
Binary files /dev/null and b/docs/source/examples/pics/01.start.png differ
diff --git a/docs/source/examples/pics/02.before_save.png b/docs/source/examples/pics/02.before_save.png
new file mode 100644
index 0000000..2d14a6d
Binary files /dev/null and b/docs/source/examples/pics/02.before_save.png differ
diff --git a/docs/source/examples/pics/03.after_save.png b/docs/source/examples/pics/03.after_save.png
new file mode 100644
index 0000000..6ead9b4
Binary files /dev/null and b/docs/source/examples/pics/03.after_save.png differ
diff --git a/docs/source/examples/pics/04.new_tag.png b/docs/source/examples/pics/04.new_tag.png
new file mode 100644
index 0000000..03742df
Binary files /dev/null and b/docs/source/examples/pics/04.new_tag.png differ
diff --git a/docs/source/examples/pics/05.tag_props.png b/docs/source/examples/pics/05.tag_props.png
new file mode 100644
index 0000000..f1b80ba
Binary files /dev/null and b/docs/source/examples/pics/05.tag_props.png differ
diff --git a/docs/source/examples/pics/06.tag_saved_props.png b/docs/source/examples/pics/06.tag_saved_props.png
new file mode 100644
index 0000000..e6fa4fd
Binary files /dev/null and b/docs/source/examples/pics/06.tag_saved_props.png differ
diff --git a/docs/source/examples/pics/07.IUP.png b/docs/source/examples/pics/07.IUP.png
new file mode 100644
index 0000000..7337549
Binary files /dev/null and b/docs/source/examples/pics/07.IUP.png differ
diff --git a/docs/source/examples/pics/08.open_read_save.png b/docs/source/examples/pics/08.open_read_save.png
new file mode 100644
index 0000000..e18b13e
Binary files /dev/null and b/docs/source/examples/pics/08.open_read_save.png differ
diff --git a/docs/source/examples/pics/09.set_data.png b/docs/source/examples/pics/09.set_data.png
new file mode 100644
index 0000000..80b1cb4
Binary files /dev/null and b/docs/source/examples/pics/09.set_data.png differ
diff --git a/docs/source/examples/pics/10.get_data.png b/docs/source/examples/pics/10.get_data.png
new file mode 100644
index 0000000..6ec495f
Binary files /dev/null and b/docs/source/examples/pics/10.get_data.png differ
diff --git a/docs/source/examples/pics/11.new_method.png b/docs/source/examples/pics/11.new_method.png
new file mode 100644
index 0000000..fd49822
Binary files /dev/null and b/docs/source/examples/pics/11.new_method.png differ
diff --git a/docs/source/examples/pics/12.method_name_address.png b/docs/source/examples/pics/12.method_name_address.png
new file mode 100644
index 0000000..ad85af1
Binary files /dev/null and b/docs/source/examples/pics/12.method_name_address.png differ
diff --git a/docs/source/examples/pics/13.method_initiators.png b/docs/source/examples/pics/13.method_initiators.png
new file mode 100644
index 0000000..3dfe5ec
Binary files /dev/null and b/docs/source/examples/pics/13.method_initiators.png differ
diff --git a/docs/source/examples/pics/14.method_parameters.png b/docs/source/examples/pics/14.method_parameters.png
new file mode 100644
index 0000000..8ca78a1
Binary files /dev/null and b/docs/source/examples/pics/14.method_parameters.png differ
diff --git a/docs/source/examples/pics/15.extend_config.png b/docs/source/examples/pics/15.extend_config.png
new file mode 100644
index 0000000..015a9bd
Binary files /dev/null and b/docs/source/examples/pics/15.extend_config.png differ
diff --git a/docs/source/examples/pics/16.save_method.png b/docs/source/examples/pics/16.save_method.png
new file mode 100644
index 0000000..79f2450
Binary files /dev/null and b/docs/source/examples/pics/16.save_method.png differ
diff --git a/docs/source/examples/pics/17.run_method.png b/docs/source/examples/pics/17.run_method.png
new file mode 100644
index 0000000..2085f67
Binary files /dev/null and b/docs/source/examples/pics/17.run_method.png differ
diff --git a/docs/source/examples/pics/18.set_u.png b/docs/source/examples/pics/18.set_u.png
new file mode 100644
index 0000000..66d2bba
Binary files /dev/null and b/docs/source/examples/pics/18.set_u.png differ
diff --git a/docs/source/examples/pics/19.print_calc.png b/docs/source/examples/pics/19.print_calc.png
new file mode 100644
index 0000000..b565d15
Binary files /dev/null and b/docs/source/examples/pics/19.print_calc.png differ
diff --git a/docs/source/examples/pics/20.P_is_0.png b/docs/source/examples/pics/20.P_is_0.png
new file mode 100644
index 0000000..8431cbf
Binary files /dev/null and b/docs/source/examples/pics/20.P_is_0.png differ
diff --git a/docs/source/examples/pics/21.I_is_1.png b/docs/source/examples/pics/21.I_is_1.png
new file mode 100644
index 0000000..ea40ac2
Binary files /dev/null and b/docs/source/examples/pics/21.I_is_1.png differ
diff --git a/docs/source/examples/pics/22.P_is_230.png b/docs/source/examples/pics/22.P_is_230.png
new file mode 100644
index 0000000..7ef3975
Binary files /dev/null and b/docs/source/examples/pics/22.P_is_230.png differ
diff --git a/docs/source/examples/pics/23.new_dashboard.png b/docs/source/examples/pics/23.new_dashboard.png
new file mode 100644
index 0000000..90b0228
Binary files /dev/null and b/docs/source/examples/pics/23.new_dashboard.png differ
diff --git a/docs/source/examples/pics/24.new_panel.png b/docs/source/examples/pics/24.new_panel.png
new file mode 100644
index 0000000..56d083c
Binary files /dev/null and b/docs/source/examples/pics/24.new_panel.png differ
diff --git a/docs/source/examples/pics/25.ds.png b/docs/source/examples/pics/25.ds.png
new file mode 100644
index 0000000..e378776
Binary files /dev/null and b/docs/source/examples/pics/25.ds.png differ
diff --git a/docs/source/examples/pics/26.stat.png b/docs/source/examples/pics/26.stat.png
new file mode 100644
index 0000000..f3e3dd0
Binary files /dev/null and b/docs/source/examples/pics/26.stat.png differ
diff --git a/docs/source/examples/pics/27.path.png b/docs/source/examples/pics/27.path.png
new file mode 100644
index 0000000..bdd1672
Binary files /dev/null and b/docs/source/examples/pics/27.path.png differ
diff --git a/docs/source/examples/pics/28.q.png b/docs/source/examples/pics/28.q.png
new file mode 100644
index 0000000..30a6088
Binary files /dev/null and b/docs/source/examples/pics/28.q.png differ
diff --git a/docs/source/examples/pics/29.params.png b/docs/source/examples/pics/29.params.png
new file mode 100644
index 0000000..5447dd6
Binary files /dev/null and b/docs/source/examples/pics/29.params.png differ
diff --git a/docs/source/examples/pics/30.data.png b/docs/source/examples/pics/30.data.png
new file mode 100644
index 0000000..136bf93
Binary files /dev/null and b/docs/source/examples/pics/30.data.png differ
diff --git a/docs/source/examples/pics/31.add_query.png b/docs/source/examples/pics/31.add_query.png
new file mode 100644
index 0000000..d010070
Binary files /dev/null and b/docs/source/examples/pics/31.add_query.png differ
diff --git a/docs/source/examples/pics/32.remove_threshold.png b/docs/source/examples/pics/32.remove_threshold.png
new file mode 100644
index 0000000..6d336d7
Binary files /dev/null and b/docs/source/examples/pics/32.remove_threshold.png differ
diff --git a/docs/source/examples/pics/33.save.png b/docs/source/examples/pics/33.save.png
new file mode 100644
index 0000000..445a6e2
Binary files /dev/null and b/docs/source/examples/pics/33.save.png differ
diff --git a/docs/source/examples/pics/34.trend.png b/docs/source/examples/pics/34.trend.png
new file mode 100644
index 0000000..f4d4bf8
Binary files /dev/null and b/docs/source/examples/pics/34.trend.png differ
diff --git a/docs/source/examples/pics/35.space.png b/docs/source/examples/pics/35.space.png
new file mode 100644
index 0000000..e1ad54e
Binary files /dev/null and b/docs/source/examples/pics/35.space.png differ
diff --git a/docs/source/examples/pics/36.trend_fields.png b/docs/source/examples/pics/36.trend_fields.png
new file mode 100644
index 0000000..5270c59
Binary files /dev/null and b/docs/source/examples/pics/36.trend_fields.png differ
diff --git a/docs/source/examples/pics/37.periods.png b/docs/source/examples/pics/37.periods.png
new file mode 100644
index 0000000..12601f6
Binary files /dev/null and b/docs/source/examples/pics/37.periods.png differ
diff --git a/docs/source/examples/pics/38.check.png b/docs/source/examples/pics/38.check.png
new file mode 100644
index 0000000..50210ed
Binary files /dev/null and b/docs/source/examples/pics/38.check.png differ
diff --git a/docs/source/examples/pics/39.cache.png b/docs/source/examples/pics/39.cache.png
new file mode 100644
index 0000000..a7dc192
Binary files /dev/null and b/docs/source/examples/pics/39.cache.png differ