diff --git a/DebugVarEdit.exe b/DebugVarEdit.exe index 844e757..21bc803 100644 Binary files a/DebugVarEdit.exe and b/DebugVarEdit.exe differ diff --git a/Src/DebugVarEdit_GUI.py b/Src/DebugVarEdit_GUI.py index 3070585..2e62963 100644 --- a/Src/DebugVarEdit_GUI.py +++ b/Src/DebugVarEdit_GUI.py @@ -222,8 +222,8 @@ class VarEditor(QWidget): var_data = { 'name': name_edit.text(), 'type': 'pt_' + pt_type_combo.currentText(), - 'iq_type': iq_combo.currentText(), - 'return_type': ret_combo.currentText() if ret_combo.currentText() else 'int', + 'iq_type': 't_' + iq_combo.currentText(), + 'return_type': 't_' + ret_combo.currentText() if ret_combo.currentText() else 't_iq_none', 'short_name': short_name_edit.text(), } vars_out.append(var_data) @@ -352,15 +352,15 @@ class VarEditor(QWidget): super().keyPressEvent(event) def __browse_makefile(self): - file_path, _ = QFileDialog.getOpenFileName( - self, "Выберите Makefile", filter="Makefile (makefile);;All Files (*)" - ) - if file_path and self.proj_path: - path = myXML.make_relative_path(file_path, self.proj_path) - else: - path = file_path - self.makefile_edit.setText(path) - self.makefile_path = path + file_path, _ = QFileDialog.getOpenFileName( + self, "Выберите Makefile", filter="Makefile (makefile);;All Files (*)" + ) + if file_path and self.proj_path: + path = myXML.make_relative_path(file_path, self.proj_path) + else: + path = file_path + self.makefile_edit.setText(path) + self.makefile_path = path def __browse_source_output(self): dir_path = QFileDialog.getExistingDirectory(self, "Выберите папку для debug_vars.c") @@ -399,20 +399,23 @@ class VarEditor(QWidget): def __after_scanvars_finished(self): - self.update_all_paths() if not os.path.isfile(self.xml_path): + self.makefile_path = None + self.structs_path = None + self.proj_path = None QMessageBox.critical(self, "Ошибка", f"Файл не найден: {self.xml_path}") return try: + self.update_all_paths() + self.update() + + except Exception as e: self.makefile_path = None self.structs_path = None self.proj_path = None - self.update() - - - except Exception as e: QMessageBox.critical(self, "Ошибка", f"Не удалось загрузить переменные:\n{e}") + def delete_selected_rows(self): # Получаем имена всех выбранных переменных из первого столбца diff --git a/Src/VariableSelector.py b/Src/VariableSelector.py index 7c8f0dd..91f2a76 100644 --- a/Src/VariableSelector.py +++ b/Src/VariableSelector.py @@ -142,10 +142,21 @@ class VariableSelectorDialog(QDialog): self.update_vars_widget() def update_vars_widget(self): + t_start = time.perf_counter() + + t1 = time.perf_counter() self.selected_vars, self.unselected_vars = setupVars.split_vars_by_show_flag(self.expanded_vars) + + t2 = time.perf_counter() self.vars_widget.set_data(self.unselected_vars) + + t3 = time.perf_counter() self.vars_widget.filter_tree() + + t4 = time.perf_counter() self.selected_vars_widget.set_data(self.selected_vars) + + t5 = time.perf_counter() self.selected_vars_widget.filter_tree() diff --git a/Src/selectTable.py b/Src/selectTable.py index c9983fb..dde4266 100644 --- a/Src/selectTable.py +++ b/Src/selectTable.py @@ -7,6 +7,10 @@ from PySide2.QtGui import QKeyEvent from PySide2.QtCore import Qt, QStringListModel import pickle import time +import hashlib + +def compute_vars_hash(vars_list): + return hashlib.sha1(pickle.dumps(vars_list)).hexdigest() # Вспомогательные функции, которые теперь будут использоваться виджетом def split_path(path): @@ -145,6 +149,7 @@ class VariableSelectWidget(QWidget): self.is_autocomplete_on = True # <--- ДОБАВИТЬ ЭТУ СТРОКУ self._bckspc_pressed = False self.manual_completion_active = False + self._vars_hash = None # --- UI Элементы --- self.search_input = QLineEdit() @@ -159,6 +164,7 @@ class VariableSelectWidget(QWidget): QTreeWidget::item:selected { background-color: #87CEFA; color: black; } QTreeWidget::item:hover { background-color: #D3D3D3; } """) + self.tree.itemExpanded.connect(self.on_item_expanded) self.completer = QCompleter() self.completer.setCompletionMode(QCompleter.PopupCompletion) @@ -193,52 +199,49 @@ class VariableSelectWidget(QWidget): def populate_tree(self, vars_list=None): if vars_list is None: vars_list = self.expanded_vars + + new_hash = compute_vars_hash(vars_list) + if self._vars_hash == new_hash: + return + + self._vars_hash = new_hash self.tree.setUpdatesEnabled(False) self.tree.blockSignals(True) self.tree.clear() self.node_index.clear() - start_add = time.perf_counter() - stats = {'count': 0, 'time': 0.0} - for var in vars_list: - self.add_tree_item_recursively(None, var, stats) - end_add = time.perf_counter() - print(f" add items: {end_add - start_add:.6f} s") - print(f" └ recursive only: {stats['time']:.6f} s") - print(f" └ total items: {stats['count']} шт") + for var in vars_list: + self.add_tree_item_lazy(None, var) self.tree.setUpdatesEnabled(True) self.tree.blockSignals(False) header = self.tree.header() - header.setSectionResizeMode(QHeaderView.Interactive) # вручную можно менять + header.setSectionResizeMode(QHeaderView.Interactive) + header.setSectionResizeMode(1, QHeaderView.Stretch) self.tree.setColumnWidth(0, 400) - self.tree.resizeColumnToContents(1) + + def on_item_expanded(self, item): + if self.is_lazy_item(item): + item.removeChild(item.child(0)) + var = item.data(0, Qt.UserRole + 100) + if var: + for child_var in var.get('children', []): + self.add_tree_item_lazy(item, child_var) + - def get_full_item_name(self, item): - names = [] - while item: - names.append(item.text(0)) - item = item.parent() - fullname = '.'.join(reversed(names)) + fullname = item.text(0) # Заменяем '->' на '.' fullname = fullname.replace('->', '.') + fullname = fullname.replace('[', '.[') return fullname - - def add_tree_item_recursively(self, parent, var, stats=None, parent_path=""): - if stats is None: - stats = {'count': 0, 'time': 0.0} - - start = time.perf_counter() - + def add_tree_item_lazy(self, parent, var): name = var['name'] - full_name = f"{parent_path}.{name}" if parent_path else name - full_name = full_name.replace('->', '.') # если нужно - type_str = var.get('type', '') item = QTreeWidgetItem([name, type_str]) item.setData(0, Qt.UserRole, name) + full_name = self.get_full_item_name(item) self.node_index[full_name.lower()] = item if "(bitfield:" in type_str: @@ -253,16 +256,16 @@ class VariableSelectWidget(QWidget): else: parent.addChild(item) - stats['count'] += 1 + # Если есть дети — добавляем заглушку (чтобы можно было раскрыть) + if var.get('children'): + dummy = QTreeWidgetItem(["lazy_marker"]) + item.addChild(dummy) - for child in var.get('children', []): - self.add_tree_item_recursively(item, child, stats, parent_path=full_name) - - end = time.perf_counter() - stats['time'] += end - start - return stats + # Кэшируем детей для подгрузки по событию + item.setData(0, Qt.UserRole + 100, var) # Сохраняем var целиком + def filter_tree(self): text = self.search_input.text().strip().lower() path_parts = split_path(text) if text else [] @@ -373,7 +376,7 @@ class VariableSelectWidget(QWidget): if not name_parts: continue last_part = name_parts[-1].lower() - if prefix == '' or last_part.startswith(prefix): # ← строго startswith + if prefix == '' or prefix in last_part: # ← строго startswith completions.append(name) self.completer.setModel(QStringListModel(completions)) @@ -386,6 +389,7 @@ class VariableSelectWidget(QWidget): if name is None: return None normalized_name = name.replace('->', '.').lower() + normalized_name = normalized_name.replace('[', '.[').lower() return self.node_index.get(normalized_name) def insert_completion(self, text): @@ -514,13 +518,17 @@ class VariableSelectWidget(QWidget): item.setToolTip(1, text) def get_all_items(self): - """Возвращает все конечные (leaf) элементы, исключая битовые поля и элементы с детьми.""" + """Возвращает все конечные (leaf) элементы, исключая битовые поля и элементы с детьми (реальными).""" def collect_leaf_items(parent): leaf_items = [] for i in range(parent.childCount()): child = parent.child(i) if child.isHidden(): continue + + # Если есть заглушка — раскрываем + self.on_item_expanded(child) + if child.childCount() == 0: item_type = child.text(1) if item_type and 'bitfield' in str(item_type).lower(): @@ -533,6 +541,10 @@ class VariableSelectWidget(QWidget): all_leaf_items = [] for i in range(self.tree.topLevelItemCount()): top = self.tree.topLevelItem(i) + + # Раскрываем lazy, если надо + self.on_item_expanded(top) + if top.childCount() == 0: item_type = top.text(1) if item_type and 'bitfield' in str(item_type).lower(): @@ -543,17 +555,17 @@ class VariableSelectWidget(QWidget): return all_leaf_items - def get_all_var_names(self): - """Возвращает имена всех конечных (leaf) переменных, исключая битовые поля и группы.""" - return [item.text(0) for item in self.get_all_items() if item.text(0)] - def _get_internal_selected_items(self): - """Возвращает выделенные элементы и всех их потомков.""" + """Возвращает выделенные элементы и всех их потомков, включая lazy.""" selected = self.tree.selectedItems() all_items = [] def collect_children(item): + # Раскрываем при необходимости + # Раскрываем lazy, если надо + self.on_item_expanded(item) + items = [item] for i in range(item.childCount()): child = item.child(i) @@ -565,23 +577,34 @@ class VariableSelectWidget(QWidget): return all_items - def _get_internal_selected_var_names(self): - """Возвращает имена выделенных переменных.""" - return [item.text(0) for item in self._get_internal_selected_items() if item.text(0)] - def get_selected_items(self): """Возвращает только конечные (leaf) выделенные элементы, исключая bitfield.""" selected = self.tree.selectedItems() leaf_items = [] for item in selected: - # Проверка: если нет выбранных/видимых детей — это лист + # Раскрываем lazy, если надо + self.on_item_expanded(item) + + # Если у узла нет видимых/выделенных детей — он лист if all(item.child(i).isHidden() or not item.child(i).isSelected() for i in range(item.childCount())): item_type = item.data(0, Qt.UserRole) if item_type and 'bitfield' in str(item_type).lower(): - continue # Пропускаем битовые поля + continue leaf_items.append(item) return leaf_items + def is_lazy_item(self, item): + return item.childCount() == 1 and item.child(0).text(0) == 'lazy_marker' + + + def get_all_var_names(self): + """Возвращает имена всех конечных (leaf) переменных, исключая битовые поля и группы.""" + return [item.text(0) for item in self.get_all_items() if item.text(0)] + + + def _get_internal_selected_var_names(self): + """Возвращает имена выделенных переменных.""" + return [item.text(0) for item in self._get_internal_selected_items() if item.text(0)] def get_selected_var_names(self): diff --git a/debug_vars.c b/debug_vars.c index 5535f04..439a64f 100644 --- a/debug_vars.c +++ b/debug_vars.c @@ -3,34 +3,34 @@ // -#include "v_pwm24.h" -#include "f281xpwm.h" #include "xp_project.h" #include "RS_Functions_modbus.h" -#include "pwm_vector_regul.h" +#include "adc_tools.h" #include "errors.h" +#include "pwm_vector_regul.h" +#include "vector.h" +#include "f281xpwm.h" +#include "log_can.h" +#include "v_pwm24.h" +#include "xp_write_xpwm_time.h" #include "rotation_speed.h" #include "teta_calc.h" -#include "vector.h" -#include "adc_tools.h" -#include "log_can.h" -#include "xp_write_xpwm_time.h" #include "dq_to_alphabeta_cos.h" -#include "svgen_dq.h" +#include "xp_controller.h" #include "x_parallel_bus.h" -#include "x_serial_bus.h" #include "xPeriphSP6_loader.h" #include "Spartan2E_Functions.h" -#include "xp_controller.h" +#include "x_serial_bus.h" #include "xp_rotation_sensor.h" #include "RS_Functions.h" #include "detect_phase_break2.h" -#include "pid_reg3.h" -#include "log_params.h" -#include "CRC_Functions.h" -#include "global_time.h" -#include "CAN_Setup.h" #include "log_to_memory.h" +#include "CRC_Functions.h" +#include "CAN_Setup.h" +#include "log_params.h" +#include "global_time.h" +#include "svgen_dq.h" +#include "pid_reg3.h" #include "IQmathLib.h" #include "doors_control.h" #include "isolation.h" diff --git a/structs.xml b/structs.xml index 896041a..bb15e3c 100644 --- a/structs.xml +++ b/structs.xml @@ -54,7 +54,7 @@ - + @@ -142,7 +142,7 @@ - + @@ -165,7 +165,7 @@ - + @@ -189,7 +189,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -223,7 +223,7 @@ - + @@ -240,7 +240,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -274,7 +274,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -308,7 +308,7 @@ - + @@ -325,7 +325,7 @@ - + @@ -342,7 +342,7 @@ - + @@ -359,7 +359,7 @@ - + @@ -376,7 +376,7 @@ - + @@ -393,7 +393,7 @@ - + @@ -410,7 +410,7 @@ - + @@ -427,7 +427,7 @@ - + @@ -444,7 +444,7 @@ - + @@ -461,7 +461,7 @@ - + @@ -478,7 +478,7 @@ - + @@ -495,7 +495,7 @@ - + @@ -512,7 +512,7 @@ - + @@ -529,7 +529,7 @@ - + @@ -546,7 +546,7 @@ - + @@ -563,7 +563,7 @@ - + @@ -580,7 +580,7 @@ - + @@ -597,7 +597,7 @@ - + @@ -614,7 +614,7 @@ - + @@ -631,7 +631,7 @@ - + @@ -648,7 +648,7 @@ - + @@ -665,7 +665,7 @@ - + @@ -682,7 +682,7 @@ - + @@ -699,7 +699,7 @@ - + @@ -716,7 +716,7 @@ - + @@ -733,7 +733,7 @@ - + @@ -750,7 +750,7 @@ - + @@ -767,7 +767,7 @@ - + @@ -784,7 +784,7 @@ - + @@ -801,7 +801,7 @@ - + @@ -818,7 +818,7 @@ - + @@ -835,7 +835,7 @@ - + @@ -852,7 +852,7 @@ - + @@ -869,7 +869,7 @@ - + @@ -886,7 +886,7 @@ - + @@ -903,7 +903,7 @@ - + @@ -920,7 +920,7 @@ - + @@ -937,7 +937,7 @@ - + @@ -954,7 +954,7 @@ - + @@ -971,7 +971,7 @@ - + @@ -988,7 +988,7 @@ - + @@ -1005,7 +1005,7 @@ - + @@ -1022,7 +1022,7 @@ - + @@ -1039,7 +1039,7 @@ - + @@ -1056,7 +1056,7 @@ - + @@ -1073,7 +1073,7 @@ - + @@ -1090,7 +1090,7 @@ - + @@ -1107,7 +1107,7 @@ - + @@ -1124,7 +1124,7 @@ - + @@ -1141,7 +1141,7 @@ - + @@ -1158,7 +1158,7 @@ - + @@ -1175,7 +1175,7 @@ - + @@ -1192,7 +1192,7 @@ - + @@ -1211,7 +1211,7 @@ - + @@ -1228,7 +1228,7 @@ - + @@ -1245,7 +1245,7 @@ - + @@ -1262,7 +1262,7 @@ - + @@ -1279,7 +1279,7 @@ - + @@ -1296,7 +1296,7 @@ - + @@ -1313,7 +1313,7 @@ - + @@ -1330,7 +1330,7 @@ - + @@ -1347,7 +1347,7 @@ - + @@ -1364,7 +1364,7 @@ - + @@ -1381,7 +1381,7 @@ - + @@ -1398,7 +1398,7 @@ - + @@ -1415,7 +1415,7 @@ - + @@ -1432,7 +1432,7 @@ - + @@ -1449,7 +1449,7 @@ - + @@ -1466,7 +1466,7 @@ - + @@ -1483,7 +1483,7 @@ - + @@ -1500,7 +1500,7 @@ - + @@ -1517,7 +1517,7 @@ - + @@ -1534,7 +1534,7 @@ - + @@ -1551,7 +1551,7 @@ - + @@ -1568,7 +1568,7 @@ - + @@ -1585,7 +1585,7 @@ - + @@ -1602,7 +1602,7 @@ - + @@ -1620,7 +1620,7 @@ - + @@ -1630,7 +1630,7 @@ - + @@ -1642,7 +1642,7 @@ - + @@ -1655,7 +1655,7 @@ - + @@ -1672,7 +1672,7 @@ - + @@ -1695,7 +1695,7 @@ - + @@ -1704,7 +1704,7 @@ - + @@ -1722,7 +1722,7 @@ - + @@ -1761,7 +1761,7 @@ - + @@ -1778,7 +1778,7 @@ - + @@ -1795,7 +1795,7 @@ - + @@ -1812,7 +1812,7 @@ - + @@ -1829,7 +1829,7 @@ - + @@ -1846,7 +1846,7 @@ - + @@ -1863,7 +1863,7 @@ - + @@ -1882,7 +1882,7 @@ - + @@ -1899,7 +1899,7 @@ - + @@ -1916,7 +1916,7 @@ - + @@ -1933,7 +1933,7 @@ - + @@ -1950,7 +1950,7 @@ - + @@ -1967,7 +1967,7 @@ - + @@ -1984,7 +1984,7 @@ - + @@ -2001,7 +2001,7 @@ - + @@ -2018,7 +2018,7 @@ - + @@ -2035,7 +2035,7 @@ - + @@ -2052,7 +2052,7 @@ - + @@ -2069,7 +2069,7 @@ - + @@ -2124,7 +2124,7 @@ - + @@ -2141,7 +2141,7 @@ - + @@ -2158,7 +2158,7 @@ - + @@ -2175,7 +2175,7 @@ - + @@ -2192,7 +2192,7 @@ - + @@ -2209,7 +2209,7 @@ - + @@ -2249,7 +2249,7 @@ - + @@ -2266,7 +2266,7 @@ - + @@ -2283,7 +2283,7 @@ - + @@ -2300,7 +2300,7 @@ - + @@ -2317,7 +2317,7 @@ - + @@ -2334,7 +2334,7 @@ - + @@ -2351,7 +2351,7 @@ - + @@ -2368,7 +2368,7 @@ - + @@ -2385,7 +2385,7 @@ - + @@ -2402,7 +2402,7 @@ - + @@ -2419,7 +2419,7 @@ - + @@ -2436,7 +2436,7 @@ - + @@ -2472,7 +2472,7 @@ - + @@ -2491,7 +2491,7 @@ - + @@ -2506,7 +2506,7 @@ - + @@ -2536,7 +2536,7 @@ - + @@ -2561,7 +2561,7 @@ - + @@ -2586,7 +2586,7 @@ - + @@ -2604,7 +2604,7 @@ - + @@ -2629,7 +2629,7 @@ - + @@ -2654,7 +2654,7 @@ - + @@ -2679,7 +2679,7 @@ - + @@ -2697,7 +2697,7 @@ - + @@ -2722,7 +2722,7 @@ - + @@ -2747,7 +2747,7 @@ - + @@ -2772,7 +2772,7 @@ - + @@ -2797,7 +2797,7 @@ - + @@ -2820,7 +2820,7 @@ - + @@ -2845,7 +2845,7 @@ - + @@ -2866,7 +2866,7 @@ - + @@ -2887,7 +2887,7 @@ - + @@ -2909,7 +2909,7 @@ - + @@ -2931,7 +2931,7 @@ - + @@ -2956,7 +2956,7 @@ - + @@ -2977,7 +2977,7 @@ - + @@ -2995,7 +2995,7 @@ - + @@ -3020,7 +3020,7 @@ - + @@ -3045,7 +3045,7 @@ - + @@ -3070,7 +3070,7 @@ - + @@ -3095,7 +3095,7 @@ - + @@ -3120,7 +3120,7 @@ - + @@ -3145,7 +3145,7 @@ - + @@ -3170,7 +3170,7 @@ - + @@ -3188,7 +3188,7 @@ - + @@ -3210,7 +3210,7 @@ - + @@ -3232,7 +3232,7 @@ - + @@ -3255,7 +3255,7 @@ - + @@ -3278,7 +3278,7 @@ - + @@ -3301,7 +3301,7 @@ - + @@ -3324,7 +3324,7 @@ - + @@ -3470,10 +3470,10 @@ - + - + @@ -3527,7 +3527,7 @@ - + @@ -3545,7 +3545,7 @@ - + @@ -3568,7 +3568,7 @@ - + @@ -3584,7 +3584,7 @@ - + @@ -3600,7 +3600,7 @@ - + @@ -3625,7 +3625,7 @@ - + @@ -3636,7 +3636,7 @@ - + @@ -3654,7 +3654,7 @@ - + @@ -3679,7 +3679,7 @@ - + @@ -3703,7 +3703,7 @@ - + @@ -3728,7 +3728,7 @@ - + @@ -3751,10 +3751,10 @@ - + - + @@ -3762,10 +3762,10 @@ - + - + @@ -3787,10 +3787,10 @@ - + - + @@ -3815,7 +3815,7 @@ - + @@ -3835,7 +3835,7 @@ - + @@ -3871,7 +3871,7 @@ - + @@ -4021,7 +4021,7 @@ - + @@ -4043,7 +4043,7 @@ - + @@ -4104,9 +4104,9 @@ - + - + @@ -4153,7 +4153,7 @@ - + @@ -4176,7 +4176,7 @@ - + @@ -4199,7 +4199,7 @@ - + @@ -4260,7 +4260,7 @@ - + @@ -4271,7 +4271,7 @@ - + @@ -4302,7 +4302,7 @@ - + @@ -4348,7 +4348,7 @@ - + @@ -4361,7 +4361,7 @@ - + @@ -4377,7 +4377,7 @@ - + @@ -4397,7 +4397,7 @@ - + @@ -4418,7 +4418,7 @@ - + @@ -4459,7 +4459,7 @@ - + @@ -4673,7 +4673,7 @@ - + @@ -4704,7 +4704,7 @@ - + @@ -4940,7 +4940,7 @@ - + @@ -4957,7 +4957,7 @@ - + @@ -4974,7 +4974,7 @@ - + @@ -4991,7 +4991,7 @@ - + @@ -5008,7 +5008,7 @@ - + @@ -5025,7 +5025,7 @@ - + @@ -5042,7 +5042,7 @@ - + @@ -5059,7 +5059,7 @@ - + @@ -5076,7 +5076,7 @@ - + @@ -5093,7 +5093,7 @@ - + @@ -5110,7 +5110,7 @@ - + @@ -5127,7 +5127,7 @@ - + @@ -5144,7 +5144,7 @@ - + @@ -5161,7 +5161,7 @@ - + @@ -5178,7 +5178,7 @@ - + @@ -5195,7 +5195,7 @@ - + @@ -5212,7 +5212,7 @@ - + @@ -5229,7 +5229,7 @@ - + @@ -5246,7 +5246,7 @@ - + @@ -5263,7 +5263,7 @@ - + @@ -5280,7 +5280,7 @@ - + @@ -5297,7 +5297,7 @@ - + @@ -5314,7 +5314,7 @@ - + @@ -5331,7 +5331,7 @@ - + @@ -5348,7 +5348,7 @@ - + @@ -5365,7 +5365,7 @@ - + @@ -5382,7 +5382,7 @@ - + @@ -5399,7 +5399,7 @@ - + @@ -5416,7 +5416,7 @@ - + @@ -5433,7 +5433,7 @@ - + @@ -5450,7 +5450,7 @@ - + @@ -5467,7 +5467,7 @@ - + @@ -5484,7 +5484,7 @@ - + @@ -5501,7 +5501,7 @@ - + @@ -5518,7 +5518,7 @@ - + @@ -5535,7 +5535,7 @@ - + @@ -5552,7 +5552,7 @@ - + @@ -5569,7 +5569,7 @@ - + @@ -5586,7 +5586,7 @@ - + @@ -5603,7 +5603,7 @@ - + @@ -5620,7 +5620,7 @@ - + @@ -5637,7 +5637,7 @@ - + @@ -5654,7 +5654,7 @@ - + @@ -5671,7 +5671,7 @@ - + @@ -5688,7 +5688,7 @@ - + @@ -5705,7 +5705,7 @@ - + @@ -5722,7 +5722,7 @@ - + @@ -5739,7 +5739,7 @@ - + @@ -5756,7 +5756,7 @@ - + @@ -5773,7 +5773,7 @@ - + @@ -5790,7 +5790,7 @@ - + @@ -5807,7 +5807,7 @@ - + @@ -5824,7 +5824,7 @@ - + @@ -5841,7 +5841,7 @@ - + @@ -5858,7 +5858,7 @@ - + @@ -5875,7 +5875,7 @@ - + @@ -5892,7 +5892,7 @@ - + @@ -5909,7 +5909,7 @@ - + @@ -5926,7 +5926,7 @@ - + @@ -5943,7 +5943,7 @@ - + @@ -6121,7 +6121,7 @@ - + @@ -6138,7 +6138,7 @@ - + @@ -6155,7 +6155,7 @@ - + @@ -6172,7 +6172,7 @@ - + @@ -6189,7 +6189,7 @@ - + @@ -6206,7 +6206,7 @@ - + @@ -6223,7 +6223,7 @@ - + @@ -6240,7 +6240,7 @@ - + @@ -6257,7 +6257,7 @@ - + @@ -6274,7 +6274,7 @@ - + @@ -6291,7 +6291,7 @@ - + @@ -6308,7 +6308,7 @@ - + @@ -6325,7 +6325,7 @@ - + @@ -6342,7 +6342,7 @@ - + @@ -6359,7 +6359,7 @@ - + @@ -6376,7 +6376,7 @@ - + @@ -6393,7 +6393,7 @@ - + @@ -6410,7 +6410,7 @@ - + @@ -6427,7 +6427,7 @@ - + @@ -6444,7 +6444,7 @@ - + @@ -6461,7 +6461,7 @@ - + @@ -6478,7 +6478,7 @@ - + @@ -6495,7 +6495,7 @@ - + @@ -6512,7 +6512,7 @@ - + @@ -6703,7 +6703,7 @@ - + @@ -6757,7 +6757,7 @@ - + @@ -6799,7 +6799,7 @@ - + @@ -6848,7 +6848,7 @@ - + @@ -6872,7 +6872,7 @@ - + @@ -6927,10 +6927,10 @@ - + - + @@ -6938,10 +6938,10 @@ - + - + @@ -6951,10 +6951,10 @@ - + - + @@ -6964,10 +6964,10 @@ - + - + @@ -6987,10 +6987,10 @@ - + - + @@ -7002,10 +7002,10 @@ - + - + @@ -7016,10 +7016,10 @@ - + - + @@ -7031,10 +7031,10 @@ - + - + @@ -7050,10 +7050,10 @@ - + - + @@ -7075,10 +7075,10 @@ - + - + @@ -7100,10 +7100,10 @@ - + - + @@ -7138,7 +7138,7 @@ - + @@ -7151,10 +7151,10 @@ - + - + @@ -7166,10 +7166,10 @@ - + - + @@ -7180,10 +7180,10 @@ - + - + @@ -7195,10 +7195,10 @@ - + - + @@ -7214,10 +7214,10 @@ - + - + @@ -7239,10 +7239,10 @@ - + - + @@ -7264,10 +7264,10 @@ - + - + @@ -7280,10 +7280,10 @@ - + - + @@ -7305,10 +7305,10 @@ - + - + @@ -7330,10 +7330,10 @@ - + - + @@ -7344,10 +7344,10 @@ - + - + @@ -7359,10 +7359,10 @@ - + - + @@ -7373,10 +7373,10 @@ - + - + @@ -7388,10 +7388,10 @@ - + - + @@ -7407,7 +7407,7 @@ - + @@ -7459,10 +7459,10 @@ - + - + @@ -7470,10 +7470,10 @@ - + - + @@ -7483,10 +7483,10 @@ - + - + @@ -7496,10 +7496,10 @@ - + - + @@ -7519,10 +7519,10 @@ - + - + @@ -7534,10 +7534,10 @@ - + - + @@ -7548,10 +7548,10 @@ - + - + @@ -7563,10 +7563,10 @@ - + - + @@ -7582,10 +7582,10 @@ - + - + @@ -7607,10 +7607,10 @@ - + - + @@ -7632,10 +7632,10 @@ - + - + @@ -7670,10 +7670,10 @@ - + - + @@ -7688,10 +7688,10 @@ - + - + @@ -7701,10 +7701,10 @@ - + - + @@ -7729,7 +7729,7 @@ - + @@ -7748,10 +7748,10 @@ - + - + @@ -7779,7 +7779,7 @@ - + @@ -7801,10 +7801,10 @@ - + - + @@ -7832,7 +7832,7 @@ - + @@ -7847,10 +7847,10 @@ - + - + @@ -7876,7 +7876,7 @@ - + @@ -7891,10 +7891,10 @@ - + - + @@ -7909,10 +7909,10 @@ - + - + @@ -7922,10 +7922,10 @@ - + - + @@ -7950,7 +7950,7 @@ - + @@ -7968,7 +7968,7 @@ - + @@ -7981,10 +7981,10 @@ - + - + @@ -7999,10 +7999,10 @@ - + - + @@ -8012,10 +8012,10 @@ - + - + @@ -8029,10 +8029,10 @@ - + - + @@ -8040,10 +8040,10 @@ - + - + @@ -8053,10 +8053,10 @@ - + - + @@ -8066,10 +8066,10 @@ - + - + @@ -8085,10 +8085,10 @@ - + - + @@ -8096,10 +8096,10 @@ - + - + @@ -8109,10 +8109,10 @@ - + - + @@ -8122,10 +8122,10 @@ - + - + @@ -8145,10 +8145,10 @@ - + - + @@ -8194,10 +8194,10 @@ - + - + @@ -8212,10 +8212,10 @@ - + - + @@ -8223,10 +8223,10 @@ - + - + @@ -8234,10 +8234,10 @@ - + - + @@ -8259,10 +8259,10 @@ - + - + @@ -8284,10 +8284,10 @@ - + - + @@ -8302,10 +8302,10 @@ - + - + @@ -8313,10 +8313,10 @@ - + - + @@ -8324,10 +8324,10 @@ - + - + @@ -8349,10 +8349,10 @@ - + - + @@ -8365,10 +8365,10 @@ - + - + @@ -8390,10 +8390,10 @@ - + - + @@ -8415,10 +8415,10 @@ - + - + @@ -8434,10 +8434,10 @@ - + - + @@ -8459,10 +8459,10 @@ - + - + @@ -8470,10 +8470,10 @@ - + - + @@ -8489,10 +8489,10 @@ - + - + @@ -8505,30 +8505,30 @@ - + - + - + - + - + - + @@ -8616,10 +8616,10 @@ - + - + @@ -8634,10 +8634,10 @@ - + - + @@ -8645,10 +8645,10 @@ - + - + @@ -8656,10 +8656,10 @@ - + - + @@ -8681,10 +8681,10 @@ - + - + @@ -8697,10 +8697,10 @@ - + - + @@ -8722,10 +8722,10 @@ - + - + @@ -8747,10 +8747,10 @@ - + - + @@ -8766,10 +8766,10 @@ - + - + @@ -8791,10 +8791,10 @@ - + - + @@ -8802,10 +8802,10 @@ - + - + @@ -8821,10 +8821,10 @@ - + - + @@ -8837,30 +8837,30 @@ - + - + - + - + - + - + @@ -8878,10 +8878,10 @@ - + - + @@ -8894,30 +8894,30 @@ - + - + - + - + - + - + @@ -8932,10 +8932,10 @@ - + - + @@ -8950,10 +8950,10 @@ - + - + @@ -8961,10 +8961,10 @@ - + - + @@ -8972,10 +8972,10 @@ - + - + @@ -8997,10 +8997,10 @@ - + - + @@ -9013,10 +9013,10 @@ - + - + @@ -9038,10 +9038,10 @@ - + - + @@ -9063,10 +9063,10 @@ - + - + @@ -9082,10 +9082,10 @@ - + - + @@ -9107,10 +9107,10 @@ - + - + @@ -9118,10 +9118,10 @@ - + - + @@ -9136,10 +9136,10 @@ - + - + @@ -9156,10 +9156,10 @@ - + - + @@ -9174,10 +9174,10 @@ - + - + @@ -9185,10 +9185,10 @@ - + - + @@ -9196,10 +9196,10 @@ - + - + @@ -9221,10 +9221,10 @@ - + - + @@ -9242,10 +9242,10 @@ - + - + @@ -9260,10 +9260,10 @@ - + - + @@ -9271,10 +9271,10 @@ - + - + @@ -9282,10 +9282,10 @@ - + - + @@ -9307,10 +9307,10 @@ - + - + @@ -9359,10 +9359,10 @@ - + - + @@ -9384,10 +9384,10 @@ - + - + @@ -9409,10 +9409,10 @@ - + - + @@ -9426,10 +9426,10 @@ - + - + @@ -9442,10 +9442,10 @@ - + - + @@ -9466,10 +9466,10 @@ - + - + @@ -9491,10 +9491,10 @@ - + - + @@ -9516,10 +9516,10 @@ - + - + @@ -9541,10 +9541,10 @@ - + - + @@ -9555,10 +9555,10 @@ - + - + @@ -9570,10 +9570,10 @@ - + - + @@ -9604,10 +9604,10 @@ - + - + @@ -9629,10 +9629,10 @@ - + - + @@ -9654,10 +9654,10 @@ - + - + @@ -9679,10 +9679,10 @@ - + - + @@ -9693,10 +9693,10 @@ - + - + @@ -9708,10 +9708,10 @@ - + - + @@ -9727,10 +9727,10 @@ - + - + @@ -9752,10 +9752,10 @@ - + - + @@ -9777,10 +9777,10 @@ - + - + @@ -9802,10 +9802,10 @@ - + - + @@ -9816,10 +9816,10 @@ - + - + @@ -9831,10 +9831,10 @@ - + - + @@ -9850,10 +9850,10 @@ - + - + @@ -9875,10 +9875,10 @@ - + - + @@ -9900,10 +9900,10 @@ - + - + @@ -9917,10 +9917,10 @@ - + - + @@ -9933,10 +9933,10 @@ - + - + @@ -9953,10 +9953,10 @@ - + - + @@ -9978,10 +9978,10 @@ - + - + @@ -10003,10 +10003,10 @@ - + - + @@ -10020,10 +10020,10 @@ - + - + @@ -10036,10 +10036,10 @@ - + - + @@ -10055,7 +10055,7 @@ - + @@ -10084,7 +10084,7 @@ - + @@ -10113,7 +10113,7 @@ - + @@ -10133,7 +10133,7 @@ - + @@ -10153,7 +10153,7 @@ - + @@ -10205,7 +10205,7 @@ - + @@ -10247,7 +10247,7 @@ - + @@ -10282,7 +10282,7 @@ - + @@ -10318,7 +10318,7 @@ - + @@ -10354,7 +10354,7 @@ - + @@ -10374,7 +10374,7 @@ - + @@ -10394,7 +10394,7 @@ - + @@ -10476,10 +10476,10 @@ - + - + @@ -10494,10 +10494,10 @@ - + - + @@ -10505,10 +10505,10 @@ - + - + @@ -10516,10 +10516,10 @@ - + - + @@ -10541,10 +10541,10 @@ - + - + @@ -10556,10 +10556,10 @@ - + - + @@ -10575,10 +10575,10 @@ - + - + @@ -10593,10 +10593,10 @@ - + - + @@ -10604,10 +10604,10 @@ - + - + @@ -10615,10 +10615,10 @@ - + - + @@ -10640,10 +10640,10 @@ - + - + @@ -10654,10 +10654,10 @@ - + - + @@ -10679,10 +10679,10 @@ - + - + @@ -10704,10 +10704,10 @@ - + - + @@ -10719,10 +10719,10 @@ - + - + @@ -10744,10 +10744,10 @@ - + - + @@ -10755,10 +10755,10 @@ - + - + @@ -10784,10 +10784,10 @@ - + - + @@ -10850,10 +10850,10 @@ - + - + @@ -10868,10 +10868,10 @@ - + - + @@ -10879,10 +10879,10 @@ - + - + @@ -10890,10 +10890,10 @@ - + - + @@ -10915,10 +10915,10 @@ - + - + @@ -10930,10 +10930,10 @@ - + - + @@ -10949,10 +10949,10 @@ - + - + @@ -10967,10 +10967,10 @@ - + - + @@ -10978,10 +10978,10 @@ - + - + @@ -10989,10 +10989,10 @@ - + - + @@ -11014,10 +11014,10 @@ - + - + @@ -11028,10 +11028,10 @@ - + - + @@ -11053,10 +11053,10 @@ - + - + @@ -11078,10 +11078,10 @@ - + - + @@ -11093,10 +11093,10 @@ - + - + @@ -11118,10 +11118,10 @@ - + - + @@ -11129,10 +11129,10 @@ - + - + @@ -11158,10 +11158,10 @@ - + - + @@ -11224,10 +11224,10 @@ - + - + @@ -11242,10 +11242,10 @@ - + - + @@ -11253,10 +11253,10 @@ - + - + @@ -11264,10 +11264,10 @@ - + - + @@ -11289,10 +11289,10 @@ - + - + @@ -11311,10 +11311,10 @@ - + - + @@ -11330,10 +11330,10 @@ - + - + @@ -11348,10 +11348,10 @@ - + - + @@ -11359,10 +11359,10 @@ - + - + @@ -11370,10 +11370,10 @@ - + - + @@ -11395,10 +11395,10 @@ - + - + @@ -11416,10 +11416,10 @@ - + - + @@ -11441,10 +11441,10 @@ - + - + @@ -11466,10 +11466,10 @@ - + - + @@ -11487,10 +11487,10 @@ - + - + @@ -11512,10 +11512,10 @@ - + - + @@ -11523,10 +11523,10 @@ - + - + @@ -11534,10 +11534,10 @@ - + - + @@ -11602,10 +11602,10 @@ - + - + @@ -11620,10 +11620,10 @@ - + - + @@ -11631,10 +11631,10 @@ - + - + @@ -11642,10 +11642,10 @@ - + - + @@ -11667,10 +11667,10 @@ - + - + @@ -11682,10 +11682,10 @@ - + - + @@ -11701,10 +11701,10 @@ - + - + @@ -11719,10 +11719,10 @@ - + - + @@ -11730,10 +11730,10 @@ - + - + @@ -11741,10 +11741,10 @@ - + - + @@ -11766,10 +11766,10 @@ - + - + @@ -11780,10 +11780,10 @@ - + - + @@ -11805,10 +11805,10 @@ - + - + @@ -11830,10 +11830,10 @@ - + - + @@ -11845,10 +11845,10 @@ - + - + @@ -11870,10 +11870,10 @@ - + - + @@ -11881,10 +11881,10 @@ - + - + @@ -11910,10 +11910,10 @@ - + - + @@ -11976,10 +11976,10 @@ - + - + @@ -11994,10 +11994,10 @@ - + - + @@ -12005,10 +12005,10 @@ - + - + @@ -12016,10 +12016,10 @@ - + - + @@ -12041,10 +12041,10 @@ - + - + @@ -12066,10 +12066,10 @@ - + - + @@ -12084,10 +12084,10 @@ - + - + @@ -12095,10 +12095,10 @@ - + - + @@ -12106,10 +12106,10 @@ - + - + @@ -12131,10 +12131,10 @@ - + - + @@ -12147,10 +12147,10 @@ - + - + @@ -12172,10 +12172,10 @@ - + - + @@ -12197,10 +12197,10 @@ - + - + @@ -12216,10 +12216,10 @@ - + - + @@ -12241,10 +12241,10 @@ - + - + @@ -12252,10 +12252,10 @@ - + - + @@ -12286,10 +12286,10 @@ - + - + @@ -12304,10 +12304,10 @@ - + - + @@ -12315,10 +12315,10 @@ - + - + @@ -12326,10 +12326,10 @@ - + - + @@ -12351,10 +12351,10 @@ - + - + @@ -12365,10 +12365,10 @@ - + - + @@ -12390,10 +12390,10 @@ - + - + @@ -12415,10 +12415,10 @@ - + - + @@ -12430,10 +12430,10 @@ - + - + @@ -12455,10 +12455,10 @@ - + - + @@ -12466,10 +12466,10 @@ - + - + @@ -12495,10 +12495,10 @@ - + - + @@ -12516,10 +12516,10 @@ - + - + @@ -12534,10 +12534,10 @@ - + - + @@ -12545,10 +12545,10 @@ - + - + @@ -12556,10 +12556,10 @@ - + - + @@ -12581,10 +12581,10 @@ - + - + @@ -12595,10 +12595,10 @@ - + - + @@ -12620,10 +12620,10 @@ - + - + @@ -12645,10 +12645,10 @@ - + - + @@ -12660,10 +12660,10 @@ - + - + @@ -12685,10 +12685,10 @@ - + - + @@ -12696,10 +12696,10 @@ - + - + @@ -12725,10 +12725,10 @@ - + - + @@ -12746,10 +12746,10 @@ - + - + @@ -12764,10 +12764,10 @@ - + - + @@ -12775,10 +12775,10 @@ - + - + @@ -12786,10 +12786,10 @@ - + - + @@ -12811,10 +12811,10 @@ - + - + @@ -12832,10 +12832,10 @@ - + - + @@ -12857,10 +12857,10 @@ - + - + @@ -12882,10 +12882,10 @@ - + - + @@ -12903,10 +12903,10 @@ - + - + @@ -12928,10 +12928,10 @@ - + - + @@ -12939,10 +12939,10 @@ - + - + @@ -12950,10 +12950,10 @@ - + - + @@ -12973,10 +12973,10 @@ - + - + @@ -12991,10 +12991,10 @@ - + - + @@ -13002,10 +13002,10 @@ - + - + @@ -13013,10 +13013,10 @@ - + - + @@ -13038,10 +13038,10 @@ - + - + @@ -13052,10 +13052,10 @@ - + - + @@ -13077,10 +13077,10 @@ - + - + @@ -13102,10 +13102,10 @@ - + - + @@ -13117,10 +13117,10 @@ - + - + @@ -13142,10 +13142,10 @@ - + - + @@ -13153,10 +13153,10 @@ - + - + @@ -13182,10 +13182,10 @@ - + - + @@ -13203,10 +13203,10 @@ - + - + @@ -13221,10 +13221,10 @@ - + - + @@ -13232,10 +13232,10 @@ - + - + @@ -13243,10 +13243,10 @@ - + - + @@ -13268,10 +13268,10 @@ - + - + @@ -13284,10 +13284,10 @@ - + - + @@ -13309,10 +13309,10 @@ - + - + @@ -13334,10 +13334,10 @@ - + - + @@ -13353,10 +13353,10 @@ - + - + @@ -13378,10 +13378,10 @@ - + - + @@ -13389,10 +13389,10 @@ - + - + @@ -13408,10 +13408,10 @@ - + - + @@ -13419,10 +13419,10 @@ - + - + @@ -13431,10 +13431,10 @@ - + - + @@ -13442,10 +13442,10 @@ - + - + @@ -13456,10 +13456,10 @@ - + - + @@ -13474,10 +13474,10 @@ - + - + @@ -13485,10 +13485,10 @@ - + - + @@ -13496,10 +13496,10 @@ - + - + @@ -13521,10 +13521,10 @@ - + - + @@ -13535,10 +13535,10 @@ - + - + @@ -13560,10 +13560,10 @@ - + - + @@ -13585,10 +13585,10 @@ - + - + @@ -13600,10 +13600,10 @@ - + - + @@ -13625,10 +13625,10 @@ - + - + @@ -13636,10 +13636,10 @@ - + - + @@ -13665,10 +13665,10 @@ - + - + @@ -13682,10 +13682,10 @@ - + - + @@ -13700,10 +13700,10 @@ - + - + @@ -13711,10 +13711,10 @@ - + - + @@ -13722,10 +13722,10 @@ - + - + @@ -13747,10 +13747,10 @@ - + - + @@ -13761,10 +13761,10 @@ - + - + @@ -13786,10 +13786,10 @@ - + - + @@ -13811,10 +13811,10 @@ - + - + @@ -13826,10 +13826,10 @@ - + - + @@ -13851,10 +13851,10 @@ - + - + @@ -13862,10 +13862,10 @@ - + - + @@ -13891,10 +13891,10 @@ - + - + @@ -13908,10 +13908,10 @@ - + - + @@ -13926,10 +13926,10 @@ - + - + @@ -13937,10 +13937,10 @@ - + - + @@ -13948,10 +13948,10 @@ - + - + @@ -13973,10 +13973,10 @@ - + - + @@ -13994,10 +13994,10 @@ - + - + @@ -14019,10 +14019,10 @@ - + - + @@ -14044,10 +14044,10 @@ - + - + @@ -14065,10 +14065,10 @@ - + - + @@ -14090,10 +14090,10 @@ - + - + @@ -14101,10 +14101,10 @@ - + - + @@ -14112,10 +14112,10 @@ - + - + @@ -14131,10 +14131,10 @@ - + - + @@ -14149,10 +14149,10 @@ - + - + @@ -14160,10 +14160,10 @@ - + - + @@ -14171,10 +14171,10 @@ - + - + @@ -14196,10 +14196,10 @@ - + - + @@ -14210,10 +14210,10 @@ - + - + @@ -14235,10 +14235,10 @@ - + - + @@ -14260,10 +14260,10 @@ - + - + @@ -14275,10 +14275,10 @@ - + - + @@ -14300,10 +14300,10 @@ - + - + @@ -14311,10 +14311,10 @@ - + - + @@ -14340,10 +14340,10 @@ - + - + @@ -14357,10 +14357,10 @@ - + - + @@ -14375,10 +14375,10 @@ - + - + @@ -14386,10 +14386,10 @@ - + - + @@ -14397,10 +14397,10 @@ - + - + @@ -14422,10 +14422,10 @@ - + - + @@ -14438,10 +14438,10 @@ - + - + @@ -14463,10 +14463,10 @@ - + - + @@ -14488,10 +14488,10 @@ - + - + @@ -14507,10 +14507,10 @@ - + - + @@ -14532,10 +14532,10 @@ - + - + @@ -14543,10 +14543,10 @@ - + - + @@ -14562,10 +14562,10 @@ - + - + @@ -14580,10 +14580,10 @@ - + - + @@ -14591,10 +14591,10 @@ - + - + @@ -14602,10 +14602,10 @@ - + - + @@ -14627,10 +14627,10 @@ - + - + @@ -14642,10 +14642,10 @@ - + - + @@ -14659,10 +14659,10 @@ - + - + @@ -14677,10 +14677,10 @@ - + - + @@ -14688,10 +14688,10 @@ - + - + @@ -14699,10 +14699,10 @@ - + - + @@ -14724,10 +14724,10 @@ - + - + @@ -14739,10 +14739,10 @@ - + - + @@ -14756,10 +14756,10 @@ - + - + @@ -14774,10 +14774,10 @@ - + - + @@ -14785,10 +14785,10 @@ - + - + @@ -14796,10 +14796,10 @@ - + - + @@ -14821,10 +14821,10 @@ - + - + @@ -14843,10 +14843,10 @@ - + - + @@ -14860,10 +14860,10 @@ - + - + @@ -14878,10 +14878,10 @@ - + - + @@ -14889,10 +14889,10 @@ - + - + @@ -14900,10 +14900,10 @@ - + - + @@ -14925,10 +14925,10 @@ - + - + @@ -14940,10 +14940,10 @@ - + - + @@ -14957,10 +14957,10 @@ - + - + @@ -14975,10 +14975,10 @@ - + - + @@ -14986,10 +14986,10 @@ - + - + @@ -14997,10 +14997,10 @@ - + - + @@ -15022,10 +15022,10 @@ - + - + @@ -15043,10 +15043,10 @@ - + - + @@ -15061,10 +15061,10 @@ - + - + @@ -15072,10 +15072,10 @@ - + - + @@ -15083,10 +15083,10 @@ - + - + @@ -15108,10 +15108,10 @@ - + - + @@ -15123,10 +15123,10 @@ - + - + @@ -15136,10 +15136,10 @@ - + - + @@ -15154,10 +15154,10 @@ - + - + @@ -15165,10 +15165,10 @@ - + - + @@ -15176,10 +15176,10 @@ - + - + @@ -15201,10 +15201,10 @@ - + - + @@ -15216,10 +15216,10 @@ - + - + @@ -15229,10 +15229,10 @@ - + - + @@ -15247,10 +15247,10 @@ - + - + @@ -15258,10 +15258,10 @@ - + - + @@ -15269,10 +15269,10 @@ - + - + @@ -15294,10 +15294,10 @@ - + - + @@ -15316,10 +15316,10 @@ - + - + @@ -15329,10 +15329,10 @@ - + - + @@ -15347,10 +15347,10 @@ - + - + @@ -15358,10 +15358,10 @@ - + - + @@ -15369,10 +15369,10 @@ - + - + @@ -15394,10 +15394,10 @@ - + - + @@ -15409,10 +15409,10 @@ - + - + @@ -15422,10 +15422,10 @@ - + - + @@ -15440,10 +15440,10 @@ - + - + @@ -15451,10 +15451,10 @@ - + - + @@ -15462,10 +15462,10 @@ - + - + @@ -15487,10 +15487,10 @@ - + - + @@ -15510,10 +15510,10 @@ - + - + @@ -15527,10 +15527,10 @@ - + - + @@ -15549,10 +15549,10 @@ - + - + @@ -15566,10 +15566,10 @@ - + - + @@ -15616,10 +15616,10 @@ - + - + @@ -15641,10 +15641,10 @@ - + - + @@ -15670,10 +15670,10 @@ - + - + @@ -15695,10 +15695,10 @@ - + - + @@ -15728,10 +15728,10 @@ - + - + @@ -15753,10 +15753,10 @@ - + - + @@ -15782,10 +15782,10 @@ - + - + @@ -15807,10 +15807,10 @@ - + - + @@ -15850,7 +15850,7 @@ - + @@ -15861,7 +15861,7 @@ - + @@ -15879,7 +15879,7 @@ - + @@ -15904,7 +15904,7 @@ - + @@ -15928,7 +15928,7 @@ - + @@ -15953,7 +15953,7 @@ - + @@ -15976,10 +15976,10 @@ - + - + @@ -15987,10 +15987,10 @@ - + - + @@ -16012,10 +16012,10 @@ - + - + @@ -16053,10 +16053,10 @@ - + - + @@ -16078,10 +16078,10 @@ - + - + @@ -16105,10 +16105,10 @@ - + - + @@ -16134,10 +16134,10 @@ - + - + @@ -16159,10 +16159,10 @@ - + - + @@ -16188,10 +16188,10 @@ - + - + @@ -16213,10 +16213,10 @@ - + - + @@ -16244,10 +16244,10 @@ - + - + @@ -16269,10 +16269,10 @@ - + - + @@ -16298,10 +16298,10 @@ - + - + @@ -16323,10 +16323,10 @@ - + - + @@ -16367,10 +16367,10 @@ - + - + @@ -16384,10 +16384,10 @@ - + - + @@ -16442,10 +16442,10 @@ - + - + @@ -16460,10 +16460,10 @@ - + - + @@ -16471,10 +16471,10 @@ - + - + @@ -16482,10 +16482,10 @@ - + - + @@ -16507,10 +16507,10 @@ - + - + @@ -16529,10 +16529,10 @@ - + - + @@ -16548,10 +16548,10 @@ - + - + @@ -16566,10 +16566,10 @@ - + - + @@ -16577,10 +16577,10 @@ - + - + @@ -16588,10 +16588,10 @@ - + - + @@ -16613,10 +16613,10 @@ - + - + @@ -16634,10 +16634,10 @@ - + - + @@ -16659,10 +16659,10 @@ - + - + @@ -16684,10 +16684,10 @@ - + - + @@ -16705,10 +16705,10 @@ - + - + @@ -16730,10 +16730,10 @@ - + - + @@ -16741,10 +16741,10 @@ - + - + @@ -16752,10 +16752,10 @@ - + - + @@ -16895,10 +16895,10 @@ - + - + @@ -16906,10 +16906,10 @@ - + - + @@ -16919,10 +16919,10 @@ - + - + @@ -16932,10 +16932,10 @@ - + - + @@ -16955,10 +16955,10 @@ - + - + @@ -16970,10 +16970,10 @@ - + - + @@ -16984,10 +16984,10 @@ - + - + @@ -16999,10 +16999,10 @@ - + - + @@ -17018,10 +17018,10 @@ - + - + @@ -17043,10 +17043,10 @@ - + - + @@ -17068,10 +17068,10 @@ - + - + @@ -17137,10 +17137,10 @@ - + - + @@ -17162,10 +17162,10 @@ - + - + @@ -17187,10 +17187,10 @@ - + - + @@ -17204,10 +17204,10 @@ - + - + @@ -17220,10 +17220,10 @@ - + - + @@ -17244,10 +17244,10 @@ - + - + @@ -17269,10 +17269,10 @@ - + - + @@ -17294,10 +17294,10 @@ - + - + @@ -17319,10 +17319,10 @@ - + - + @@ -17333,10 +17333,10 @@ - + - + @@ -17348,10 +17348,10 @@ - + - + @@ -17419,7 +17419,7 @@ - + @@ -17461,7 +17461,7 @@ - + @@ -17526,10 +17526,10 @@ - + - + @@ -17551,10 +17551,10 @@ - + - + @@ -17580,10 +17580,10 @@ - + - + @@ -17605,10 +17605,10 @@ - + - + @@ -17638,10 +17638,10 @@ - + - + @@ -17663,10 +17663,10 @@ - + - + @@ -17692,10 +17692,10 @@ - + - + @@ -17717,10 +17717,10 @@ - + - + @@ -17760,7 +17760,7 @@ - + @@ -17771,7 +17771,7 @@ - + @@ -17789,7 +17789,7 @@ - + @@ -17814,7 +17814,7 @@ - + @@ -17838,7 +17838,7 @@ - + @@ -17863,7 +17863,7 @@ - + @@ -17886,10 +17886,10 @@ - + - + @@ -17897,10 +17897,10 @@ - + - + @@ -17922,10 +17922,10 @@ - + - + @@ -17967,10 +17967,10 @@ - + - + @@ -18016,10 +18016,10 @@ - + - + @@ -18034,10 +18034,10 @@ - + - + @@ -18045,10 +18045,10 @@ - + - + @@ -18056,10 +18056,10 @@ - + - + @@ -18081,10 +18081,10 @@ - + - + @@ -18106,10 +18106,10 @@ - + - + @@ -18124,10 +18124,10 @@ - + - + @@ -18135,10 +18135,10 @@ - + - + @@ -18146,10 +18146,10 @@ - + - + @@ -18171,10 +18171,10 @@ - + - + @@ -18187,10 +18187,10 @@ - + - + @@ -18212,10 +18212,10 @@ - + - + @@ -18237,10 +18237,10 @@ - + - + @@ -18256,10 +18256,10 @@ - + - + @@ -18281,10 +18281,10 @@ - + - + @@ -18292,10 +18292,10 @@ - + - + @@ -18311,10 +18311,10 @@ - + - + @@ -18327,30 +18327,30 @@ - + - + - + - + - + - + @@ -18418,7 +18418,7 @@ - + @@ -18454,7 +18454,7 @@ - + @@ -18520,7 +18520,7 @@ - + @@ -18572,10 +18572,10 @@ - + - + @@ -18583,10 +18583,10 @@ - + - + @@ -18596,10 +18596,10 @@ - + - + @@ -18609,10 +18609,10 @@ - + - + @@ -18632,10 +18632,10 @@ - + - + @@ -18647,10 +18647,10 @@ - + - + @@ -18661,10 +18661,10 @@ - + - + @@ -18676,10 +18676,10 @@ - + - + @@ -18695,10 +18695,10 @@ - + - + @@ -18720,10 +18720,10 @@ - + - + @@ -18745,10 +18745,10 @@ - + - + @@ -18783,10 +18783,10 @@ - + - + @@ -18801,10 +18801,10 @@ - + - + @@ -18814,10 +18814,10 @@ - + - + @@ -18842,7 +18842,7 @@ - + @@ -18861,10 +18861,10 @@ - + - + @@ -18892,7 +18892,7 @@ - + @@ -18914,7 +18914,7 @@ - + @@ -18968,7 +18968,7 @@ - + @@ -19010,7 +19010,7 @@ - + @@ -19059,7 +19059,7 @@ - + @@ -19083,7 +19083,7 @@ - + @@ -19110,7 +19110,7 @@ - + @@ -19122,7 +19122,7 @@ - + @@ -19157,7 +19157,7 @@ - + @@ -19218,7 +19218,7 @@ - + @@ -19253,7 +19253,7 @@ - + @@ -19276,7 +19276,7 @@ - + @@ -19333,7 +19333,7 @@ - + @@ -19343,7 +19343,7 @@ - + @@ -19366,7 +19366,7 @@ - + @@ -19438,7 +19438,7 @@ - + @@ -19468,7 +19468,7 @@ - + @@ -19513,7 +19513,7 @@ - + @@ -19530,7 +19530,7 @@ - + @@ -19562,7 +19562,7 @@ - + @@ -19786,7 +19786,7 @@ - + @@ -19920,8 +19920,8 @@ - - + + @@ -20087,8 +20087,8 @@ - - + + diff --git a/vars.xml b/vars.xml index f5e81f1..3e770b2 100644 --- a/vars.xml +++ b/vars.xml @@ -1,5 +1,5 @@ - + true @@ -1139,7 +1139,7 @@ char Src/myLibs/bender.c false - true + True false @@ -1151,7 +1151,7 @@ char Src/myLibs/bender.c false - true + True false @@ -1259,7 +1259,7 @@ unsigned int Src/myXilinx/x_serial_bus.c false - true + True false @@ -1295,7 +1295,7 @@ int Src/myLibs/message_modbus.c false - true + True false @@ -1319,7 +1319,7 @@ int Src/myLibs/message_modbus.c false - true + True false @@ -1343,7 +1343,7 @@ int Src/main/init_protect_levels.c false - true + True false @@ -1355,7 +1355,7 @@ int Src/main/init_protect_levels.c false - true + True false @@ -1367,7 +1367,7 @@ int Src/main/init_protect_levels.c false - true + True false @@ -1379,7 +1379,7 @@ int Src/main/init_protect_levels.c false - true + True false @@ -2015,7 +2015,7 @@ int Src/myLibs/bender.c false - true + True false @@ -2255,7 +2255,7 @@ int Src/myLibs/bender.c false - true + True false @@ -2351,7 +2351,7 @@ int Src/main/PWMTMSHandle.c false - true + True false @@ -2363,7 +2363,7 @@ int Src/main/PWMTMSHandle.c false - true + True false @@ -2507,7 +2507,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -2519,7 +2519,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -2531,7 +2531,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -2543,7 +2543,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -2555,7 +2555,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -2567,7 +2567,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -2579,7 +2579,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -2591,7 +2591,7 @@ int Src/myLibs/modbus_read_table.c false - true + True false @@ -3275,7 +3275,7 @@ unsigned int Src/main/main22220.c false - true + True false @@ -3287,7 +3287,7 @@ unsigned int Src/main/main22220.c false - true + True false @@ -3769,33 +3769,69 @@ false false + + true + true + Bender[0].KOhms + pt_uint16 + t_iq_none + iq_none + unsigned int + Src/myLibs/bender.c + false + false + + + true + true + Bender[0].Times + pt_uint16 + t_iq_none + iq_none + unsigned int + Src/myLibs/bender.c + false + false + + + true + true + Bender[0].Error.all + pt_uint16 + t_iq_none + iq_none + unsigned int + Src/myLibs/bender.c + false + false + - Src/myXilinx/xp_project.h - Src/myXilinx/RS_Functions_modbus.h - Src/main/adc_tools.h - Src/main/errors.h - Src/VectorControl/pwm_vector_regul.h Src/main/vector.h - Src/main/f281xpwm.h + Src/main/errors.h + Src/myXilinx/RS_Functions_modbus.h + Src/myXilinx/xp_project.h + Src/main/adc_tools.h + Src/VectorControl/pwm_vector_regul.h Src/myLibs/log_can.h + Src/main/f281xpwm.h Src/main/v_pwm24.h Src/myXilinx/xp_write_xpwm_time.h - Src/main/rotation_speed.h - Src/VectorControl/teta_calc.h Src/VectorControl/dq_to_alphabeta_cos.h + Src/VectorControl/teta_calc.h + Src/main/rotation_speed.h + Src/myLibs/detect_phase_break2.h + Src/myXilinx/RS_Functions.h + Src/myXilinx/Spartan2E_Functions.h Src/myXilinx/xp_controller.h + Src/myXilinx/xp_rotation_sensor.h + Src/myXilinx/x_serial_bus.h Src/myXilinx/x_parallel_bus.h Src/myXilinx/xPeriphSP6_loader.h - Src/myXilinx/Spartan2E_Functions.h - Src/myXilinx/x_serial_bus.h - Src/myXilinx/xp_rotation_sensor.h - Src/myXilinx/RS_Functions.h - Src/myLibs/detect_phase_break2.h - Src/myLibs/log_to_memory.h - Src/myXilinx/CRC_Functions.h - Src/myLibs/CAN_Setup.h Src/myLibs/log_params.h + Src/myLibs/CAN_Setup.h + Src/myXilinx/CRC_Functions.h + Src/myLibs/log_to_memory.h Src/main/global_time.h Src/myLibs/svgen_dq.h Src/myLibs/pid_reg3.h @@ -4676,10 +4712,6 @@ TMS_TO_TERMINAL_TEST_ALL_STRUCT Src/myXilinx/RS_Functions_modbus.c - - long - Src/main/Main.c - RMP_MY1 Src/main/PWMTools.c @@ -4820,10 +4852,6 @@ UNITES_CAN_SETUP Src/myLibs/CAN_Setup.c - - long - Src/main/Main.c - VECTOR_CONTROL Src/VectorControl/pwm_vector_regul.c