diff --git a/README.md b/README.md
index 586a562..eeb0eec 100644
--- a/README.md
+++ b/README.md
@@ -885,8 +885,8 @@ Stored in:
- `FrameInfo::comment`
- `SignalInfo::comment`
-Comments accept spaces and tabs between fields, escaped quotes (`\"`) and
-backslashes (`\\`), and text spanning multiple physical lines. Newlines, blank
+Comments accept spaces and tabs between fields, quotes and backslashes escaped
+with a preceding backslash, and text spanning multiple physical lines. Newlines, blank
lines, and indentation inside quoted text are preserved; CRLF becomes LF.
Comments may appear before their frame or signal definitions. References use the
same decimal CAN ID validation and normalization as `BO_`, including reserved-bit
@@ -1196,7 +1196,8 @@ VAL_ 256 State 0 "Off" 1 "On" 2 "Error";
Each statement must occupy one physical line, contain at least one integer/text
pair, and end with a semicolon. Spaces and tabs are accepted between fields;
descriptions may contain whitespace, semicolons, and empty text. Inside quoted
-text, `\"` and `\\` represent a quote and a backslash; other escapes are rejected.
+text, escape a quote or a backslash with a preceding backslash; other escapes
+are rejected.
Keys are decimal integers in `INT64_MIN..UINT64_MAX`, with an optional minus
sign; plus signs, fractions, hexadecimal numbers, exponents, and overflow are
rejected. Keys never pass through `double`.
@@ -1506,6 +1507,18 @@ tree nodes. It verifies all supported metadata in both builders, standard and
extended frames sharing a numeric ID, empty databases, comments, and replacement
with another fixture or an empty database.
+## Code review and additional checks
+
+Attribute numeric parsing shares one locale-independent converter for integer and
+floating-point values. Default application skips unrelated scopes, CAN ID
+normalization uses the validated identifier mask, and signal layout validation
+owns the length checks. Statement handlers continue to use `TypeFactory`.
+Core, adapter, example, and test C++ sources use explicit return types and contain
+no lambdas. Public metadata and parser-state comments use Doxygen descriptions.
+
+See [tests/README.md](tests/README.md#extended-validation) for attribute boundary
+regressions, sanitizer commands, and the latest validation results.
+
## Measuring code coverage
Coverage instrumentation is separate from the QtTest suite named `CoverageTest`:
diff --git a/build-coverage/.qmake.stash b/build-coverage/.qmake.stash
new file mode 100644
index 0000000..76dc16c
--- /dev/null
+++ b/build-coverage/.qmake.stash
@@ -0,0 +1,23 @@
+QMAKE_CXX.QT_COMPILER_STDCXX = 201703L
+QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 14
+QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 2
+QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
+QMAKE_CXX.COMPILER_MACROS = \
+ QT_COMPILER_STDCXX \
+ QMAKE_GCC_MAJOR_VERSION \
+ QMAKE_GCC_MINOR_VERSION \
+ QMAKE_GCC_PATCH_VERSION
+QMAKE_CXX.INCDIRS = \
+ /usr/include/c++/14 \
+ /usr/include/x86_64-linux-gnu/c++/14 \
+ /usr/include/c++/14/backward \
+ /usr/lib/gcc/x86_64-linux-gnu/14/include \
+ /usr/local/include \
+ /usr/include/x86_64-linux-gnu \
+ /usr/include
+QMAKE_CXX.LIBDIRS = \
+ /usr/lib/gcc/x86_64-linux-gnu/14 \
+ /usr/lib/x86_64-linux-gnu \
+ /usr/lib \
+ /lib/x86_64-linux-gnu \
+ /lib
diff --git a/build-coverage/Makefile b/build-coverage/Makefile
new file mode 100644
index 0000000..4a35aec
--- /dev/null
+++ b/build-coverage/Makefile
@@ -0,0 +1,642 @@
+#############################################################################
+# Makefile for building: dbc
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../dbc.pro
+# Template: subdirs
+# Command: /usr/bin/qmake6 -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+first: make_first
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/.tmp/dbc1.0.0
+SUBTARGETS = \
+ sub-core \
+ sub-tests \
+ sub-tests-tree_tests-pro \
+ sub-qt \
+ sub-tests-model_tests-pro
+
+
+sub-core-qmake_all: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+ cd core/ && $(MAKE) -f Makefile qmake_all
+sub-core: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
+sub-core-make_first: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
+sub-core-all: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile all
+sub-core-clean: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile clean
+sub-core-distclean: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile distclean
+sub-core-install_subtargets: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile install
+sub-core-uninstall_subtargets: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile uninstall
+sub-tests-qmake_all: sub-core-qmake_all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+ cd tests/ && $(MAKE) -f Makefile qmake_all
+sub-tests: sub-core FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
+sub-tests-make_first: sub-core-make_first FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
+sub-tests-all: sub-core-all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile all
+sub-tests-clean: sub-core-clean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile clean
+sub-tests-distclean: sub-core-distclean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile distclean
+sub-tests-install_subtargets: sub-core-install_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile install
+sub-tests-uninstall_subtargets: sub-core-uninstall_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile uninstall
+sub-tests-tree_tests-pro-qmake_all: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+ cd tests/ && $(MAKE) -f Makefile.tree_tests qmake_all
+sub-tests-tree_tests-pro: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests
+sub-tests-tree_tests-pro-make_first: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests
+sub-tests-tree_tests-pro-all: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests all
+sub-tests-tree_tests-pro-clean: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests clean
+sub-tests-tree_tests-pro-distclean: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests distclean
+sub-tests-tree_tests-pro-install_subtargets: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests install
+sub-tests-tree_tests-pro-uninstall_subtargets: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests uninstall
+sub-qt-qmake_all: sub-core-qmake_all FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+ cd qt/ && $(MAKE) -f Makefile qmake_all
+sub-qt: sub-core FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
+sub-qt-make_first: sub-core-make_first FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile
+sub-qt-all: sub-core-all FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile all
+sub-qt-clean: sub-core-clean FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile clean
+sub-qt-distclean: sub-core-distclean FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile distclean
+sub-qt-install_subtargets: sub-core-install_subtargets FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile install
+sub-qt-uninstall_subtargets: sub-core-uninstall_subtargets FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile uninstall
+sub-tests-model_tests-pro-qmake_all: sub-qt-qmake_all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+ cd tests/ && $(MAKE) -f Makefile.model_tests qmake_all
+sub-tests-model_tests-pro: sub-qt FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests
+sub-tests-model_tests-pro-make_first: sub-qt-make_first FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests
+sub-tests-model_tests-pro-all: sub-qt-all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests all
+sub-tests-model_tests-pro-clean: sub-qt-clean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests clean
+sub-tests-model_tests-pro-distclean: sub-qt-distclean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests distclean
+sub-tests-model_tests-pro-install_subtargets: sub-qt-install_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests install
+sub-tests-model_tests-pro-uninstall_subtargets: sub-qt-uninstall_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests uninstall
+
+Makefile: ../dbc.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../dbc.pro
+ $(QMAKE) -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../dbc.pro:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+
+qmake_all: sub-core-qmake_all sub-tests-qmake_all sub-tests-tree_tests-pro-qmake_all sub-qt-qmake_all sub-tests-model_tests-pro-qmake_all FORCE
+
+make_first: sub-core-make_first sub-tests-make_first sub-tests-tree_tests-pro-make_first sub-qt-make_first sub-tests-model_tests-pro-make_first FORCE
+all: sub-core-all sub-tests-all sub-tests-tree_tests-pro-all sub-qt-all sub-tests-model_tests-pro-all FORCE
+clean: sub-core-clean sub-tests-clean sub-tests-tree_tests-pro-clean sub-qt-clean sub-tests-model_tests-pro-clean FORCE
+distclean: sub-core-distclean sub-tests-distclean sub-tests-tree_tests-pro-distclean sub-qt-distclean sub-tests-model_tests-pro-distclean FORCE
+ -$(DEL_FILE) Makefile
+ -$(DEL_FILE) .qmake.stash
+install_subtargets: sub-core-install_subtargets sub-tests-install_subtargets sub-tests-tree_tests-pro-install_subtargets sub-qt-install_subtargets sub-tests-model_tests-pro-install_subtargets FORCE
+uninstall_subtargets: sub-core-uninstall_subtargets sub-tests-uninstall_subtargets sub-tests-tree_tests-pro-uninstall_subtargets sub-qt-uninstall_subtargets sub-tests-model_tests-pro-uninstall_subtargets FORCE
+
+sub-core-check:
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile check
+sub-tests-check: sub-core-check
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile check
+sub-tests-tree_tests-pro-check:
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests check
+sub-qt-check: sub-core-check
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile check
+sub-tests-model_tests-pro-check: sub-qt-check
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests check
+check: sub-core-check sub-tests-check sub-tests-tree_tests-pro-check sub-qt-check sub-tests-model_tests-pro-check
+
+sub-core-benchmark:
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile benchmark
+sub-tests-benchmark: sub-core-benchmark
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile benchmark
+sub-tests-tree_tests-pro-benchmark:
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.tree_tests benchmark
+sub-qt-benchmark: sub-core-benchmark
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile benchmark
+sub-tests-model_tests-pro-benchmark: sub-qt-benchmark
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -f Makefile.model_tests benchmark
+benchmark: sub-core-benchmark sub-tests-benchmark sub-tests-tree_tests-pro-benchmark sub-qt-benchmark sub-tests-model_tests-pro-benchmark
+install:install_subtargets FORCE
+
+uninstall: uninstall_subtargets FORCE
+
+FORCE:
+
+.SUFFIXES:
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: sub-core-distdir sub-tests-distdir sub-tests-tree_tests-pro-distdir sub-qt-distdir sub-tests-model_tests-pro-distdir FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf ../dbc.pro $(DISTDIR)/
+
+sub-core-distdir: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/core
+
+sub-tests-distdir: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/tests
+
+sub-tests-tree_tests-pro-distdir: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile.tree_tests distdir DISTDIR=$(DISTDIR)/tests
+
+sub-qt-distdir: FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/qt
+
+sub-tests-model_tests-pro-distdir: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage ) && $(MAKE) -e -f Makefile.model_tests distdir DISTDIR=$(DISTDIR)/tests
+
diff --git a/build-coverage/baseline.info b/build-coverage/baseline.info
new file mode 100644
index 0000000..2355d2b
--- /dev/null
+++ b/build-coverage/baseline.info
@@ -0,0 +1,4199 @@
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/attributes.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_attributes.cpp
+FNL:0,108,121
+FNA:0,0,_ZN12_GLOBAL__N_111ParseNumberIdEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN12_GLOBAL__N_111ParseNumberIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:1,123,146
+FNA:1,0,_ZN12_GLOBAL__N_15ValueERKNS_5TokenERK19AttributeDefinitionb
+FNL:2,14,62
+FNA:2,0,_ZN12_GLOBAL__N_18TokenizeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:3,148,196
+FNA:3,0,_ZN12_GLOBAL__N_16DefineERNS_15AttributeTokensER11DbcDatabase
+FNL:4,198,203
+FNA:4,0,_ZN12_GLOBAL__N_114FindDefinitionER11DbcDatabaseRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:5,205,212
+FNA:5,0,_ZN12_GLOBAL__N_17ParseIdERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER19AttributeAssignment
+FNL:6,214,225
+FNA:6,0,_ZN12_GLOBAL__N_16TargetER11DbcDatabaseRK19AttributeAssignment
+FNL:7,227,232
+FNA:7,0,_ZN12_GLOBAL__N_117ValidateCycleTimeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt7variantIJldS5_EE
+FNL:8,234,248
+FNA:8,0,_ZN12_GLOBAL__N_112ApplyDefaultER11DbcDatabaseRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK19AttributeDefinition
+FNL:9,251,253
+FNA:9,0,_ZNK19DbcAttributeHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:10,255,333
+FNA:10,0,_ZN15DbcParseContext17ResolveAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorI13DbcDiagnosticSaIS9_EE
+FNL:11,66,66
+FNA:11,0,_ZN12_GLOBAL__N_115AttributeTokensC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:12,67,71
+FNA:12,0,_ZN12_GLOBAL__N_115AttributeTokens4TakeEv
+FNL:13,72,77
+FNA:13,0,_ZN12_GLOBAL__N_115AttributeTokens4WordEv
+FNL:14,78,83
+FNA:14,0,_ZN12_GLOBAL__N_115AttributeTokens6QuotedEv
+FNL:15,84,84
+FNA:15,0,_ZNK12_GLOBAL__N_115AttributeTokens5EmptyEv
+FNL:16,85,88
+FNA:16,0,_ZNK12_GLOBAL__N_115AttributeTokens3EndEv
+FNL:17,95,97
+FNA:17,0,_ZN12_GLOBAL__N_17IsScopeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:18,99,105
+FNA:18,0,_ZN12_GLOBAL__N_110ParseScopeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:19
+FNH:0
+BRDA:17,0,0,-
+BRDA:17,0,1,-
+BRDA:19,0,0,-
+BRDA:19,0,1,-
+BRDA:19,0,2,-
+BRDA:19,0,3,-
+BRDA:22,0,0,-
+BRDA:22,0,1,-
+BRDA:25,0,0,-
+BRDA:25,0,1,-
+BRDA:27,0,0,-
+BRDA:27,0,1,-
+BRDA:31,0,0,-
+BRDA:31,0,1,-
+BRDA:32,0,0,-
+BRDA:32,0,1,-
+BRDA:33,0,0,-
+BRDA:33,e0,1,-
+BRDA:35,0,0,-
+BRDA:35,0,1,-
+BRDA:35,0,2,-
+BRDA:35,0,3,-
+BRDA:36,0,0,-
+BRDA:36,e0,1,-
+BRDA:38,0,0,-
+BRDA:38,e0,1,-
+BRDA:40,0,0,-
+BRDA:40,0,1,-
+BRDA:41,0,0,-
+BRDA:41,e0,1,-
+BRDA:42,0,0,-
+BRDA:42,0,1,-
+BRDA:42,0,2,-
+BRDA:42,0,3,-
+BRDA:43,0,0,-
+BRDA:43,0,1,-
+BRDA:43,0,2,-
+BRDA:43,0,3,-
+BRDA:43,0,4,-
+BRDA:43,0,5,-
+BRDA:43,0,6,-
+BRDA:43,0,7,-
+BRDA:44,0,0,-
+BRDA:44,e0,1,-
+BRDA:45,0,0,-
+BRDA:45,0,1,-
+BRDA:45,0,2,-
+BRDA:45,0,3,-
+BRDA:46,0,0,-
+BRDA:46,e0,1,-
+BRDA:48,0,0,-
+BRDA:48,e0,1,-
+BRDA:49,0,0,-
+BRDA:49,0,1,-
+BRDA:49,0,2,-
+BRDA:49,0,3,-
+BRDA:50,0,0,-
+BRDA:50,0,1,-
+BRDA:50,0,2,-
+BRDA:50,0,3,-
+BRDA:50,0,4,-
+BRDA:50,0,5,-
+BRDA:50,0,6,-
+BRDA:50,0,7,-
+BRDA:51,0,0,-
+BRDA:51,0,1,-
+BRDA:52,0,0,-
+BRDA:52,e0,1,-
+BRDA:53,0,0,-
+BRDA:53,e0,1,-
+BRDA:56,0,0,-
+BRDA:56,e0,1,-
+BRDA:58,0,0,-
+BRDA:58,0,1,-
+BRDA:58,0,2,-
+BRDA:58,0,3,-
+BRDA:58,0,4,-
+BRDA:58,e0,5,-
+BRDA:58,0,6,-
+BRDA:58,0,7,-
+BRDA:58,0,8,-
+BRDA:58,0,9,-
+BRDA:59,0,0,-
+BRDA:59,e0,1,-
+BRDA:68,0,0,-
+BRDA:68,0,1,-
+BRDA:69,0,0,-
+BRDA:69,e0,1,-
+BRDA:73,0,0,-
+BRDA:73,e0,1,-
+BRDA:74,0,0,-
+BRDA:74,0,1,-
+BRDA:74,0,2,-
+BRDA:74,e0,3,-
+BRDA:74,0,4,-
+BRDA:74,0,5,-
+BRDA:74,0,6,-
+BRDA:74,e0,7,-
+BRDA:74,0,8,-
+BRDA:74,0,9,-
+BRDA:74,0,10,-
+BRDA:74,0,11,-
+BRDA:75,0,0,-
+BRDA:75,e0,1,-
+BRDA:76,0,0,-
+BRDA:76,e0,1,-
+BRDA:79,0,0,-
+BRDA:79,e0,1,-
+BRDA:80,0,0,-
+BRDA:80,0,1,-
+BRDA:81,0,0,-
+BRDA:81,e0,1,-
+BRDA:82,0,0,-
+BRDA:82,e0,1,-
+BRDA:86,0,0,-
+BRDA:86,0,1,-
+BRDA:87,0,0,-
+BRDA:87,e0,1,-
+BRDA:96,0,0,-
+BRDA:96,0,1,-
+BRDA:96,0,2,-
+BRDA:96,0,3,-
+BRDA:96,0,4,-
+BRDA:96,0,5,-
+BRDA:96,0,6,-
+BRDA:96,0,7,-
+BRDA:100,0,0,-
+BRDA:100,0,1,-
+BRDA:101,0,0,-
+BRDA:101,0,1,-
+BRDA:102,0,0,-
+BRDA:102,0,1,-
+BRDA:103,0,0,-
+BRDA:103,0,1,-
+BRDA:104,0,0,-
+BRDA:104,e0,1,-
+BRDA:104,0,2,-
+BRDA:104,e0,3,-
+BRDA:111,0,0,-
+BRDA:111,0,1,-
+BRDA:111,0,2,-
+BRDA:111,0,3,-
+BRDA:113,0,0,-
+BRDA:113,0,1,-
+BRDA:113,0,2,-
+BRDA:113,0,3,-
+BRDA:113,0,4,-
+BRDA:113,0,5,-
+BRDA:114,0,0,-
+BRDA:114,e0,1,-
+BRDA:114,0,2,-
+BRDA:114,e0,3,-
+BRDA:117,0,0,-
+BRDA:117,e0,1,-
+BRDA:118,0,0,-
+BRDA:118,0,1,-
+BRDA:118,0,2,-
+BRDA:118,0,3,-
+BRDA:118,0,4,-
+BRDA:118,0,5,-
+BRDA:118,0,6,-
+BRDA:118,0,7,-
+BRDA:118,0,8,-
+BRDA:118,0,9,-
+BRDA:119,0,0,-
+BRDA:119,e0,1,-
+BRDA:119,0,2,-
+BRDA:119,e0,3,-
+BRDA:124,0,0,-
+BRDA:124,0,1,-
+BRDA:125,0,0,-
+BRDA:125,0,1,-
+BRDA:125,0,2,-
+BRDA:125,e0,3,-
+BRDA:126,0,0,-
+BRDA:126,e0,1,-
+BRDA:128,0,0,-
+BRDA:128,0,1,-
+BRDA:128,0,2,-
+BRDA:128,0,3,-
+BRDA:128,0,4,-
+BRDA:128,0,5,-
+BRDA:129,0,0,-
+BRDA:129,0,1,-
+BRDA:130,0,0,-
+BRDA:130,0,1,-
+BRDA:133,0,0,-
+BRDA:133,e0,1,-
+BRDA:135,0,0,-
+BRDA:135,0,1,-
+BRDA:135,0,2,-
+BRDA:135,e0,3,-
+BRDA:136,0,0,-
+BRDA:136,0,1,-
+BRDA:137,0,0,-
+BRDA:137,e0,1,-
+BRDA:138,0,0,-
+BRDA:138,0,1,-
+BRDA:138,0,2,-
+BRDA:138,0,3,-
+BRDA:139,0,0,-
+BRDA:139,e0,1,-
+BRDA:142,0,0,-
+BRDA:142,e0,1,-
+BRDA:143,0,0,-
+BRDA:143,0,1,-
+BRDA:143,0,2,-
+BRDA:143,0,3,-
+BRDA:144,0,0,-
+BRDA:144,e0,1,-
+BRDA:150,0,0,-
+BRDA:150,e0,1,-
+BRDA:151,0,0,-
+BRDA:151,e0,1,-
+BRDA:152,0,0,-
+BRDA:152,0,1,-
+BRDA:153,0,0,-
+BRDA:153,e0,1,-
+BRDA:154,0,0,-
+BRDA:154,e0,1,-
+BRDA:156,0,0,-
+BRDA:156,0,1,-
+BRDA:156,0,2,-
+BRDA:156,e0,3,-
+BRDA:157,0,0,-
+BRDA:157,e0,1,-
+BRDA:158,0,0,-
+BRDA:158,e0,1,-
+BRDA:158,0,2,-
+BRDA:158,0,3,-
+BRDA:158,0,4,-
+BRDA:158,e0,5,-
+BRDA:158,0,6,-
+BRDA:158,0,7,-
+BRDA:158,0,8,-
+BRDA:158,0,9,-
+BRDA:159,0,0,-
+BRDA:159,e0,1,-
+BRDA:159,0,2,-
+BRDA:159,0,3,-
+BRDA:160,0,0,-
+BRDA:160,e0,1,-
+BRDA:160,0,2,-
+BRDA:160,e0,3,-
+BRDA:161,0,0,-
+BRDA:161,e0,1,-
+BRDA:161,0,2,-
+BRDA:161,e0,3,-
+BRDA:162,0,0,-
+BRDA:162,0,1,-
+BRDA:163,0,0,-
+BRDA:163,e0,1,-
+BRDA:164,0,0,-
+BRDA:164,e0,1,-
+BRDA:164,0,2,-
+BRDA:164,0,3,-
+BRDA:166,0,0,-
+BRDA:166,e0,1,-
+BRDA:166,0,2,-
+BRDA:166,e0,3,-
+BRDA:167,0,0,-
+BRDA:167,e0,1,-
+BRDA:167,0,2,-
+BRDA:167,e0,3,-
+BRDA:168,0,0,-
+BRDA:168,0,1,-
+BRDA:169,0,0,-
+BRDA:169,e0,1,-
+BRDA:170,0,0,-
+BRDA:170,e0,1,-
+BRDA:170,0,2,-
+BRDA:170,0,3,-
+BRDA:172,0,0,-
+BRDA:172,e0,1,-
+BRDA:172,0,2,-
+BRDA:172,0,3,-
+BRDA:176,0,0,-
+BRDA:176,e0,1,-
+BRDA:177,0,0,-
+BRDA:177,e0,1,-
+BRDA:177,0,2,-
+BRDA:177,0,3,-
+BRDA:178,0,0,-
+BRDA:178,e0,1,-
+BRDA:179,0,0,-
+BRDA:179,e0,1,-
+BRDA:180,0,0,-
+BRDA:180,0,1,-
+BRDA:181,0,0,-
+BRDA:181,e0,1,-
+BRDA:182,0,0,-
+BRDA:182,0,1,-
+BRDA:182,0,2,-
+BRDA:182,e0,3,-
+BRDA:182,0,4,-
+BRDA:182,0,5,-
+BRDA:182,0,6,-
+BRDA:182,0,7,-
+BRDA:182,0,8,-
+BRDA:182,e0,9,-
+BRDA:183,0,0,-
+BRDA:183,0,1,-
+BRDA:186,0,0,-
+BRDA:186,e0,1,-
+BRDA:186,0,2,-
+BRDA:186,e0,3,-
+BRDA:188,0,0,-
+BRDA:188,e0,1,-
+BRDA:189,0,0,-
+BRDA:189,e0,1,-
+BRDA:189,0,2,-
+BRDA:189,0,3,-
+BRDA:189,0,4,-
+BRDA:189,0,5,-
+BRDA:189,0,6,-
+BRDA:189,0,7,-
+BRDA:189,0,8,-
+BRDA:189,0,9,-
+BRDA:190,0,0,-
+BRDA:190,e0,1,-
+BRDA:191,0,0,-
+BRDA:191,e0,1,-
+BRDA:191,0,2,-
+BRDA:191,0,3,-
+BRDA:191,0,4,-
+BRDA:191,0,5,-
+BRDA:191,0,6,-
+BRDA:191,0,7,-
+BRDA:192,0,0,-
+BRDA:192,0,1,-
+BRDA:192,0,2,-
+BRDA:192,0,3,-
+BRDA:193,0,0,-
+BRDA:193,e0,1,-
+BRDA:194,0,0,-
+BRDA:194,e0,1,-
+BRDA:194,0,2,-
+BRDA:194,0,3,-
+BRDA:195,0,0,-
+BRDA:195,e0,1,-
+BRDA:195,0,2,-
+BRDA:195,e0,3,-
+BRDA:199,0,0,-
+BRDA:199,e0,1,-
+BRDA:200,0,0,-
+BRDA:200,0,1,-
+BRDA:201,0,0,-
+BRDA:201,e0,1,-
+BRDA:201,0,2,-
+BRDA:201,e0,3,-
+BRDA:207,0,0,-
+BRDA:207,0,1,-
+BRDA:207,0,2,-
+BRDA:207,0,3,-
+BRDA:207,0,4,-
+BRDA:207,0,5,-
+BRDA:207,0,6,-
+BRDA:207,0,7,-
+BRDA:208,0,0,-
+BRDA:208,e0,1,-
+BRDA:211,0,0,-
+BRDA:211,0,1,-
+BRDA:211,0,2,-
+BRDA:211,0,3,-
+BRDA:215,0,0,-
+BRDA:215,0,1,-
+BRDA:216,0,0,-
+BRDA:216,0,1,-
+BRDA:217,0,0,-
+BRDA:217,0,1,-
+BRDA:217,0,2,-
+BRDA:217,0,3,-
+BRDA:218,0,0,-
+BRDA:218,0,1,-
+BRDA:219,0,0,-
+BRDA:219,0,1,-
+BRDA:220,0,0,-
+BRDA:220,0,1,-
+BRDA:222,0,0,-
+BRDA:222,e0,1,-
+BRDA:222,0,2,-
+BRDA:222,e0,3,-
+BRDA:224,0,0,-
+BRDA:224,e0,1,-
+BRDA:228,0,0,-
+BRDA:228,0,1,-
+BRDA:230,0,0,-
+BRDA:230,0,1,-
+BRDA:230,0,2,-
+BRDA:230,0,3,-
+BRDA:230,0,4,-
+BRDA:230,0,5,-
+BRDA:231,0,0,-
+BRDA:231,e0,1,-
+BRDA:235,0,0,-
+BRDA:235,0,1,-
+BRDA:236,0,0,-
+BRDA:236,0,1,-
+BRDA:240,0,0,-
+BRDA:240,0,1,-
+BRDA:240,0,2,-
+BRDA:240,0,3,-
+BRDA:242,0,0,-
+BRDA:242,0,1,-
+BRDA:243,0,0,-
+BRDA:243,0,1,-
+BRDA:243,0,2,-
+BRDA:243,e0,3,-
+BRDA:243,0,4,-
+BRDA:243,e0,5,-
+BRDA:244,0,0,-
+BRDA:244,0,1,-
+BRDA:245,0,0,-
+BRDA:245,e0,1,-
+BRDA:245,0,2,-
+BRDA:245,e0,3,-
+BRDA:245,0,4,-
+BRDA:245,0,5,-
+BRDA:253,0,0,-
+BRDA:253,e0,1,-
+BRDA:253,0,2,-
+BRDA:253,e0,3,-
+BRDA:253,0,4,-
+BRDA:253,0,5,-
+BRDA:260,0,0,-
+BRDA:260,0,1,-
+BRDA:261,0,0,-
+BRDA:261,0,1,-
+BRDA:262,0,0,-
+BRDA:262,e0,1,-
+BRDA:263,0,0,-
+BRDA:263,e0,1,-
+BRDA:263,0,2,-
+BRDA:263,0,3,-
+BRDA:265,0,0,-
+BRDA:265,e0,1,-
+BRDA:266,0,0,-
+BRDA:266,e0,1,-
+BRDA:267,0,0,-
+BRDA:267,e0,1,-
+BRDA:267,0,2,-
+BRDA:267,0,3,-
+BRDA:268,0,0,-
+BRDA:268,e0,1,-
+BRDA:271,0,0,-
+BRDA:271,e0,1,-
+BRDA:272,0,0,-
+BRDA:272,e0,1,-
+BRDA:273,0,0,-
+BRDA:273,e0,1,-
+BRDA:273,0,2,-
+BRDA:273,0,3,-
+BRDA:274,0,0,-
+BRDA:274,0,1,-
+BRDA:274,0,2,-
+BRDA:274,e0,3,-
+BRDA:274,0,4,-
+BRDA:274,e0,5,-
+BRDA:275,0,0,-
+BRDA:275,e0,1,-
+BRDA:275,0,2,-
+BRDA:275,e0,3,-
+BRDA:276,0,0,-
+BRDA:276,e0,1,-
+BRDA:277,0,0,-
+BRDA:277,e0,1,-
+BRDA:278,0,0,-
+BRDA:278,e0,1,-
+BRDA:279,0,0,-
+BRDA:279,e0,1,-
+BRDA:283,0,0,-
+BRDA:283,e0,1,-
+BRDA:284,0,0,-
+BRDA:284,e0,1,-
+BRDA:285,0,0,-
+BRDA:285,0,1,-
+BRDA:285,0,2,-
+BRDA:285,e0,3,-
+BRDA:285,0,4,-
+BRDA:285,0,5,-
+BRDA:285,0,6,-
+BRDA:285,0,7,-
+BRDA:286,0,0,-
+BRDA:286,e0,1,-
+BRDA:287,0,0,-
+BRDA:287,0,1,-
+BRDA:287,0,2,-
+BRDA:287,0,3,-
+BRDA:288,0,0,-
+BRDA:288,e0,1,-
+BRDA:288,0,2,-
+BRDA:288,e0,3,-
+BRDA:289,0,0,-
+BRDA:289,0,1,-
+BRDA:290,0,0,-
+BRDA:290,e0,1,-
+BRDA:291,0,0,-
+BRDA:291,e0,1,-
+BRDA:293,0,0,-
+BRDA:293,0,1,-
+BRDA:293,0,2,-
+BRDA:293,e0,3,-
+BRDA:294,0,0,-
+BRDA:294,e0,1,-
+BRDA:295,0,0,-
+BRDA:295,e0,1,-
+BRDA:296,0,0,-
+BRDA:296,e0,1,-
+BRDA:298,0,0,-
+BRDA:298,0,1,-
+BRDA:298,0,2,-
+BRDA:298,0,3,-
+BRDA:299,0,0,-
+BRDA:299,e0,1,-
+BRDA:299,0,2,-
+BRDA:299,e0,3,-
+BRDA:299,0,4,-
+BRDA:299,e0,5,-
+BRDA:300,0,0,-
+BRDA:300,e0,1,-
+BRDA:301,0,0,-
+BRDA:301,e0,1,-
+BRDA:302,0,0,-
+BRDA:302,0,1,-
+BRDA:302,0,2,-
+BRDA:302,0,3,-
+BRDA:302,0,4,-
+BRDA:302,0,5,-
+BRDA:303,0,0,0
+BRDA:303,e0,1,0
+BRDA:303,0,2,0
+BRDA:303,e0,3,0
+BRDA:305,0,0,-
+BRDA:305,0,1,-
+BRDA:307,0,0,-
+BRDA:307,0,1,-
+BRDA:308,0,0,-
+BRDA:308,0,1,-
+BRDA:309,0,0,-
+BRDA:309,e0,1,-
+BRDA:309,0,2,-
+BRDA:309,0,3,-
+BRDA:309,0,4,-
+BRDA:309,e0,5,-
+BRDA:309,0,6,-
+BRDA:309,0,7,-
+BRDA:309,0,8,-
+BRDA:309,0,9,-
+BRDA:310,0,0,-
+BRDA:310,e0,1,-
+BRDA:311,0,0,-
+BRDA:311,0,1,-
+BRDA:313,0,0,-
+BRDA:313,0,1,-
+BRDA:314,0,0,-
+BRDA:314,0,1,-
+BRDA:314,0,2,-
+BRDA:314,0,3,-
+BRDA:314,0,4,-
+BRDA:314,0,5,-
+BRDA:314,0,6,-
+BRDA:314,0,7,-
+BRDA:317,0,0,-
+BRDA:317,e0,1,-
+BRDA:318,0,0,-
+BRDA:318,e0,1,-
+BRDA:318,0,2,-
+BRDA:318,0,3,-
+BRDA:322,0,0,-
+BRDA:322,e0,1,-
+BRDA:322,0,2,-
+BRDA:322,e0,3,-
+BRDA:325,0,0,-
+BRDA:325,e0,1,-
+BRDA:325,0,2,-
+BRDA:325,0,3,-
+BRDA:325,0,4,-
+BRDA:325,e0,5,-
+BRDA:325,0,6,-
+BRDA:325,0,7,-
+BRDA:325,0,8,-
+BRDA:325,0,9,-
+BRDA:326,0,0,-
+BRDA:326,e0,1,-
+BRDA:326,0,2,-
+BRDA:326,e0,3,-
+BRDA:327,0,0,-
+BRDA:327,e0,1,-
+BRDA:327,0,2,-
+BRDA:327,0,3,-
+BRDA:328,0,0,-
+BRDA:328,e0,1,-
+BRDA:328,0,2,-
+BRDA:328,e0,3,-
+BRDA:329,0,0,-
+BRDA:329,0,1,-
+BRDA:333,0,0,-
+BRDA:333,e0,1,-
+BRDA:333,0,2,-
+BRDA:333,e0,3,-
+BRDA:333,0,4,-
+BRDA:333,e0,5,-
+BRDA:333,0,6,-
+BRDA:333,0,7,-
+BRF:604
+BRH:0
+DA:14,0
+DA:15,0
+DA:16,0
+DA:17,0
+DA:18,0
+DA:19,0
+DA:20,0
+DA:21,0
+DA:22,0
+DA:23,0
+DA:24,0
+DA:25,0
+DA:26,0
+DA:27,0
+DA:28,0
+DA:29,0
+DA:31,0
+DA:32,0
+DA:33,0
+DA:34,0
+DA:35,0
+DA:36,0
+DA:38,0
+DA:40,0
+DA:41,0
+DA:42,0
+DA:43,0
+DA:44,0
+DA:45,0
+DA:46,0
+DA:48,0
+DA:49,0
+DA:50,0
+DA:51,0
+DA:52,0
+DA:53,0
+DA:56,0
+DA:57,0
+DA:58,0
+DA:59,0
+DA:60,0
+DA:61,0
+DA:62,0
+DA:66,0
+DA:67,0
+DA:68,0
+DA:69,0
+DA:70,0
+DA:72,0
+DA:73,0
+DA:74,0
+DA:75,0
+DA:76,0
+DA:77,0
+DA:78,0
+DA:79,0
+DA:80,0
+DA:81,0
+DA:82,0
+DA:83,0
+DA:84,0
+DA:85,0
+DA:86,0
+DA:87,0
+DA:88,0
+DA:95,0
+DA:96,0
+DA:99,0
+DA:100,0
+DA:101,0
+DA:102,0
+DA:103,0
+DA:104,0
+DA:108,0
+DA:109,0
+DA:110,0
+DA:111,0
+DA:112,0
+DA:113,0
+DA:114,0
+DA:116,0
+DA:117,0
+DA:118,0
+DA:119,0
+DA:120,0
+DA:123,0
+DA:124,0
+DA:125,0
+DA:126,0
+DA:128,0
+DA:129,0
+DA:130,0
+DA:131,0
+DA:133,0
+DA:135,0
+DA:136,0
+DA:137,0
+DA:138,0
+DA:139,0
+DA:140,0
+DA:142,0
+DA:143,0
+DA:144,0
+DA:145,0
+DA:148,0
+DA:149,0
+DA:150,0
+DA:151,0
+DA:152,0
+DA:153,0
+DA:154,0
+DA:156,0
+DA:157,0
+DA:158,0
+DA:159,0
+DA:160,0
+DA:161,0
+DA:162,0
+DA:163,0
+DA:164,0
+DA:165,0
+DA:166,0
+DA:167,0
+DA:168,0
+DA:169,0
+DA:170,0
+DA:171,0
+DA:172,0
+DA:173,0
+DA:174,0
+DA:176,0
+DA:177,0
+DA:178,0
+DA:179,0
+DA:180,0
+DA:181,0
+DA:182,0
+DA:183,0
+DA:184,0
+DA:185,0
+DA:186,0
+DA:188,0
+DA:189,0
+DA:190,0
+DA:191,0
+DA:192,0
+DA:193,0
+DA:194,0
+DA:195,0
+DA:196,0
+DA:198,0
+DA:199,0
+DA:200,0
+DA:201,0
+DA:202,0
+DA:205,0
+DA:206,0
+DA:207,0
+DA:208,0
+DA:209,0
+DA:210,0
+DA:211,0
+DA:212,0
+DA:214,0
+DA:215,0
+DA:216,0
+DA:217,0
+DA:218,0
+DA:219,0
+DA:220,0
+DA:222,0
+DA:224,0
+DA:227,0
+DA:228,0
+DA:229,0
+DA:230,0
+DA:231,0
+DA:234,0
+DA:235,0
+DA:236,0
+DA:237,0
+DA:238,0
+DA:240,0
+DA:241,0
+DA:242,0
+DA:243,0
+DA:244,0
+DA:245,0
+DA:251,0
+DA:252,0
+DA:253,0
+DA:255,0
+DA:256,0
+DA:257,0
+DA:259,0
+DA:260,0
+DA:261,0
+DA:262,0
+DA:263,0
+DA:265,0
+DA:266,0
+DA:267,0
+DA:268,0
+DA:269,0
+DA:271,0
+DA:272,0
+DA:273,0
+DA:274,0
+DA:275,0
+DA:276,0
+DA:277,0
+DA:278,0
+DA:279,0
+DA:280,0
+DA:282,0
+DA:283,0
+DA:284,0
+DA:285,0
+DA:286,0
+DA:287,0
+DA:288,0
+DA:289,0
+DA:290,0
+DA:291,0
+DA:293,0
+DA:294,0
+DA:295,0
+DA:296,0
+DA:298,0
+DA:299,0
+DA:300,0
+DA:301,0
+DA:302,0
+DA:303,0
+DA:304,0
+DA:305,0
+DA:307,0
+DA:308,0
+DA:309,0
+DA:310,0
+DA:311,0
+DA:312,0
+DA:313,0
+DA:314,0
+DA:315,0
+DA:317,0
+DA:318,0
+DA:319,0
+DA:320,0
+DA:322,0
+DA:323,0
+DA:324,0
+DA:325,0
+DA:326,0
+DA:327,0
+DA:328,0
+DA:329,0
+DA:330,0
+DA:331,0
+DA:333,0
+LF:260
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_database.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.cpp
+FNL:0,15,61
+FNA:0,0,_ZNK16DbcDecodeBuilder5BuildERK11DbcDatabase
+FNF:1
+FNH:0
+BRDA:17,0,0,-
+BRDA:17,e0,1,-
+BRDA:19,0,0,-
+BRDA:19,0,1,-
+BRDA:22,0,0,-
+BRDA:22,e0,1,-
+BRDA:23,0,0,-
+BRDA:23,e0,1,-
+BRDA:25,0,0,-
+BRDA:25,e0,1,-
+BRDA:31,0,0,-
+BRDA:31,e0,1,-
+BRDA:32,0,0,-
+BRDA:32,e0,1,-
+BRDA:34,0,0,-
+BRDA:34,e0,1,-
+BRDA:35,0,0,-
+BRDA:35,0,1,-
+BRDA:38,0,0,-
+BRDA:38,e0,1,-
+BRDA:40,0,0,-
+BRDA:40,e0,1,-
+BRDA:43,0,0,-
+BRDA:43,0,1,-
+BRDA:44,0,0,-
+BRDA:44,0,1,-
+BRDA:49,0,0,-
+BRDA:49,e0,1,-
+BRDA:50,0,0,-
+BRDA:50,e0,1,-
+BRDA:51,0,0,-
+BRDA:51,e0,1,-
+BRDA:52,0,0,-
+BRDA:52,e0,1,-
+BRDA:54,0,0,-
+BRDA:54,e0,1,-
+BRDA:57,0,0,-
+BRDA:57,e0,1,-
+BRDA:60,0,0,-
+BRDA:60,e0,1,-
+BRF:40
+BRH:0
+DA:15,0
+DA:16,0
+DA:17,0
+DA:19,0
+DA:20,0
+DA:22,0
+DA:23,0
+DA:24,0
+DA:25,0
+DA:26,0
+DA:27,0
+DA:28,0
+DA:29,0
+DA:30,0
+DA:31,0
+DA:32,0
+DA:34,0
+DA:35,0
+DA:36,0
+DA:38,0
+DA:39,0
+DA:40,0
+DA:41,0
+DA:42,0
+DA:43,0
+DA:44,0
+DA:45,0
+DA:46,0
+DA:47,0
+DA:48,0
+DA:49,0
+DA:50,0
+DA:51,0
+DA:52,0
+DA:54,0
+DA:55,0
+DA:57,0
+DA:58,0
+DA:60,0
+DA:61,0
+LF:40
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.cpp
+FNL:0,101,111
+FNA:0,0,_ZN10DbcDecoder17IsValidDefinitionERK12DecodeSignalh
+FNL:1,113,131
+FNA:1,0,_ZN10DbcDecoder12ReadSelectorERK11DecodeFrameRK11RawCanFrame
+FNL:2,133,181
+FNA:2,0,_ZN10DbcDecoder15DecodeOneSignalERK12DecodeSignalhRK11RawCanFrameRKNS_13SelectorStateE
+FNL:3,183,193
+FNA:3,0,_ZN10DbcDecoder15ExtractUnsignedERKSt6vectorIhSaIhEERK12DecodeSignalRm
+FNL:4,195,216
+FNA:4,0,_ZN10DbcDecoder12ExtractIntelERKSt6vectorIhSaIhEEjjRm
+FNL:5,20,24
+FNA:5,0,_ZNK10DbcDecoder9FindFrameERK14DecodeDatabasejb
+FNL:6,218,250
+FNA:6,0,_ZN10DbcDecoder15ExtractMotorolaERKSt6vectorIhSaIhEEjjRm
+FNL:7,252,267
+FNA:7,0,_ZN10DbcDecoder10SignExtendEmj
+FNL:8,26,34
+FNA:8,0,_ZN10DbcDecoder12ResolveFrameERK14DecodeDatabasejb
+FNL:9,36,39
+FNA:9,0,_ZNK10DbcDecoder6DecodeERK14DecodeDatabaseRK11RawCanFrame
+FNL:10,41,45
+FNA:10,0,_ZNK10DbcDecoder6DecodeERK14DecodeDatabaseRK11RawCanFrameRKSt6vectorI9SignalKeySaIS7_EE
+FNL:11,47,99
+FNA:11,0,_ZNK10DbcDecoder10DecodeImplERK14DecodeDatabaseRK11RawCanFramePKSt6vectorI9SignalKeySaIS7_EE
+FNF:12
+FNH:0
+BRDA:23,0,0,-
+BRDA:23,e0,1,-
+BRDA:28,0,0,-
+BRDA:28,e0,1,-
+BRDA:29,0,0,-
+BRDA:29,0,1,-
+BRDA:31,0,0,-
+BRDA:31,0,1,-
+BRDA:31,0,2,-
+BRDA:31,0,3,-
+BRDA:33,0,0,-
+BRDA:33,e0,1,-
+BRDA:52,0,0,-
+BRDA:52,e0,1,-
+BRDA:53,0,0,-
+BRDA:53,0,1,-
+BRDA:58,0,0,-
+BRDA:58,0,1,-
+BRDA:63,0,0,-
+BRDA:63,0,1,-
+BRDA:64,0,0,-
+BRDA:64,e0,1,-
+BRDA:66,0,0,-
+BRDA:66,0,1,-
+BRDA:67,0,0,-
+BRDA:67,0,1,-
+BRDA:68,0,0,-
+BRDA:68,e0,1,-
+BRDA:68,0,2,-
+BRDA:68,e0,3,-
+BRDA:69,0,0,-
+BRDA:69,e0,1,-
+BRDA:69,0,2,-
+BRDA:69,0,3,-
+BRDA:70,0,0,-
+BRDA:70,e0,1,-
+BRDA:70,0,2,-
+BRDA:70,e0,3,-
+BRDA:71,0,0,-
+BRDA:71,e0,1,-
+BRDA:72,0,0,-
+BRDA:72,0,1,-
+BRDA:73,0,0,-
+BRDA:73,e0,1,-
+BRDA:73,0,2,-
+BRDA:73,e0,3,-
+BRDA:74,0,0,-
+BRDA:74,e0,1,-
+BRDA:81,0,0,-
+BRDA:81,0,1,-
+BRDA:84,0,0,-
+BRDA:84,e0,1,-
+BRDA:85,0,0,-
+BRDA:85,0,1,-
+BRDA:86,0,0,-
+BRDA:86,e0,1,-
+BRDA:87,0,0,-
+BRDA:87,0,1,-
+BRDA:88,0,0,-
+BRDA:88,0,1,-
+BRDA:89,0,0,-
+BRDA:89,e0,1,-
+BRDA:90,0,0,-
+BRDA:90,0,1,-
+BRDA:90,0,2,-
+BRDA:90,0,3,-
+BRDA:91,0,0,-
+BRDA:91,0,1,-
+BRDA:94,0,0,-
+BRDA:94,e0,1,-
+BRDA:95,0,0,-
+BRDA:95,e0,1,-
+BRDA:102,0,0,-
+BRDA:102,0,1,-
+BRDA:102,0,2,-
+BRDA:102,0,3,-
+BRDA:103,0,0,-
+BRDA:103,0,1,-
+BRDA:103,0,2,-
+BRDA:103,0,3,-
+BRDA:104,0,0,-
+BRDA:104,0,1,-
+BRDA:105,0,0,-
+BRDA:105,0,1,-
+BRDA:106,0,0,-
+BRDA:106,0,1,-
+BRDA:117,0,0,-
+BRDA:117,0,1,-
+BRDA:118,0,0,-
+BRDA:118,0,1,-
+BRDA:123,0,0,-
+BRDA:123,0,1,-
+BRDA:127,0,0,-
+BRDA:127,0,1,-
+BRDA:128,0,0,-
+BRDA:128,0,1,-
+BRDA:129,0,0,-
+BRDA:129,0,1,-
+BRDA:129,0,2,-
+BRDA:129,0,3,-
+BRDA:140,0,0,-
+BRDA:140,e0,1,-
+BRDA:140,0,2,-
+BRDA:140,0,3,-
+BRDA:140,0,4,-
+BRDA:140,0,5,-
+BRDA:141,0,0,-
+BRDA:141,0,1,-
+BRDA:141,0,2,-
+BRDA:141,0,3,-
+BRDA:144,0,0,-
+BRDA:144,0,1,-
+BRDA:145,0,0,-
+BRDA:145,0,1,-
+BRDA:145,0,2,-
+BRDA:145,0,3,-
+BRDA:148,0,0,-
+BRDA:148,0,1,-
+BRDA:152,0,0,-
+BRDA:152,0,1,-
+BRDA:157,0,0,-
+BRDA:157,e0,1,-
+BRDA:157,0,2,-
+BRDA:157,0,3,-
+BRDA:162,0,0,-
+BRDA:162,0,1,-
+BRDA:163,0,0,-
+BRDA:163,e0,1,-
+BRDA:168,0,0,-
+BRDA:168,0,1,-
+BRDA:171,0,0,-
+BRDA:171,e0,1,-
+BRDA:173,0,0,-
+BRDA:173,0,1,-
+BRDA:186,0,0,-
+BRDA:186,0,1,-
+BRDA:186,0,2,-
+BRDA:186,0,3,-
+BRDA:189,0,0,-
+BRDA:189,0,1,-
+BRDA:201,0,0,-
+BRDA:201,0,1,-
+BRDA:206,0,0,-
+BRDA:206,0,1,-
+BRDA:235,0,0,-
+BRDA:235,0,1,-
+BRDA:236,0,0,-
+BRDA:236,0,1,-
+BRDA:242,0,0,-
+BRDA:242,0,1,-
+BRDA:253,0,0,-
+BRDA:253,0,1,-
+BRDA:253,0,2,-
+BRDA:253,0,3,-
+BRDA:258,0,0,-
+BRDA:258,0,1,-
+BRDA:262,0,0,-
+BRDA:262,0,1,-
+BRF:158
+BRH:0
+DA:20,0
+DA:23,0
+DA:26,0
+DA:28,0
+DA:29,0
+DA:30,0
+DA:31,0
+DA:32,0
+DA:33,0
+DA:34,0
+DA:36,0
+DA:38,0
+DA:41,0
+DA:44,0
+DA:47,0
+DA:50,0
+DA:51,0
+DA:52,0
+DA:53,0
+DA:54,0
+DA:55,0
+DA:57,0
+DA:58,0
+DA:59,0
+DA:60,0
+DA:62,0
+DA:63,0
+DA:64,0
+DA:65,0
+DA:66,0
+DA:67,0
+DA:68,0
+DA:69,0
+DA:70,0
+DA:71,0
+DA:72,0
+DA:73,0
+DA:74,0
+DA:75,0
+DA:76,0
+DA:78,0
+DA:79,0
+DA:80,0
+DA:81,0
+DA:84,0
+DA:85,0
+DA:86,0
+DA:87,0
+DA:88,0
+DA:89,0
+DA:90,0
+DA:91,0
+DA:92,0
+DA:93,0
+DA:94,0
+DA:95,0
+DA:96,0
+DA:98,0
+DA:99,0
+DA:101,0
+DA:102,0
+DA:103,0
+DA:104,0
+DA:105,0
+DA:106,0
+DA:107,0
+DA:109,0
+DA:110,0
+DA:113,0
+DA:115,0
+DA:116,0
+DA:117,0
+DA:118,0
+DA:119,0
+DA:120,0
+DA:123,0
+DA:124,0
+DA:126,0
+DA:127,0
+DA:128,0
+DA:129,0
+DA:130,0
+DA:133,0
+DA:137,0
+DA:138,0
+DA:140,0
+DA:141,0
+DA:142,0
+DA:144,0
+DA:145,0
+DA:146,0
+DA:148,0
+DA:149,0
+DA:150,0
+DA:152,0
+DA:153,0
+DA:154,0
+DA:157,0
+DA:158,0
+DA:159,0
+DA:162,0
+DA:163,0
+DA:165,0
+DA:168,0
+DA:169,0
+DA:171,0
+DA:172,0
+DA:173,0
+DA:174,0
+DA:175,0
+DA:177,0
+DA:178,0
+DA:180,0
+DA:181,0
+DA:183,0
+DA:186,0
+DA:187,0
+DA:189,0
+DA:190,0
+DA:192,0
+DA:195,0
+DA:199,0
+DA:201,0
+DA:202,0
+DA:203,0
+DA:204,0
+DA:206,0
+DA:207,0
+DA:210,0
+DA:212,0
+DA:215,0
+DA:218,0
+DA:230,0
+DA:232,0
+DA:233,0
+DA:235,0
+DA:236,0
+DA:237,0
+DA:239,0
+DA:240,0
+DA:242,0
+DA:243,0
+DA:244,0
+DA:246,0
+DA:249,0
+DA:252,0
+DA:253,0
+DA:254,0
+DA:256,0
+DA:257,0
+DA:258,0
+DA:259,0
+DA:260,0
+DA:262,0
+DA:263,0
+DA:266,0
+LF:156
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h
+FNL:0,29,29
+FNA:0,0,_ZN11RawCanFrameC2Ev
+FNL:1,63,65
+FNA:1,0,_ZNK18DecodedSignalValue19GetValueDescriptionB5cxx11Ev
+FNL:2,67,67
+FNA:2,0,_ZN18DecodedSignalValueC2Ev
+FNL:3,80,80
+FNA:3,0,_ZN17DecodedFrameValueC2Ev
+FNF:4
+FNH:0
+BRDA:64,0,0,-
+BRDA:64,0,1,-
+BRDA:64,0,2,-
+BRDA:64,0,3,-
+BRF:4
+BRH:0
+DA:29,0
+DA:63,0
+DA:64,0
+DA:67,0
+DA:80,0
+LF:5
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h
+FNL:0,43,49
+FNA:0,0,_ZNK14DbcParseResult9HasErrorsEv
+FNF:1
+FNH:0
+BRDA:44,0,0,-
+BRDA:44,0,1,-
+BRDA:45,0,0,-
+BRDA:45,0,1,-
+BRF:4
+BRH:0
+DA:43,0
+DA:44,0
+DA:45,0
+DA:46,0
+DA:48,0
+LF:5
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.cpp
+FNL:0,23,50
+FNA:0,0,_ZN12_GLOBAL__N_116ReadCommentLinesERSt14basic_ifstreamIcSt11char_traitsIcEERNSt7__cxx1112basic_stringIcS2_SaIcEEERm
+FNL:1,52,58
+FNA:1,0,_ZN12_GLOBAL__N_118StatementErrorCodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:2,61,72
+FNA:2,0,_ZNK9DbcParser9ParseFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:3,74,152
+FNA:3,0,_ZNK9DbcParser24ParseFileWithDiagnosticsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:4
+FNH:0
+BRDA:27,0,0,-
+BRDA:27,e0,1,-
+BRDA:29,0,0,-
+BRDA:29,0,1,-
+BRDA:30,0,0,-
+BRDA:30,0,1,-
+BRDA:32,0,0,-
+BRDA:32,0,1,-
+BRDA:32,0,2,-
+BRDA:32,0,3,-
+BRDA:34,0,0,-
+BRDA:34,0,1,-
+BRDA:35,0,0,-
+BRDA:35,0,1,-
+BRDA:40,0,0,-
+BRDA:40,0,1,-
+BRDA:40,0,2,-
+BRDA:40,e0,3,-
+BRDA:40,0,4,-
+BRDA:40,e0,5,-
+BRDA:40,0,6,-
+BRDA:40,0,7,-
+BRDA:40,0,8,-
+BRDA:40,0,9,-
+BRDA:43,0,0,-
+BRDA:43,0,1,-
+BRDA:43,0,2,-
+BRDA:43,0,3,-
+BRDA:43,0,4,-
+BRDA:43,0,5,-
+BRDA:45,0,0,-
+BRDA:45,e0,1,-
+BRDA:46,0,0,-
+BRDA:46,e0,1,-
+BRDA:53,0,0,-
+BRDA:53,0,1,-
+BRDA:55,0,0,-
+BRDA:55,0,1,-
+BRDA:62,0,0,-
+BRDA:62,e0,1,-
+BRDA:63,0,0,-
+BRDA:63,0,1,-
+BRDA:64,0,0,-
+BRDA:64,0,1,-
+BRDA:65,0,0,-
+BRDA:65,0,1,-
+BRDA:66,0,0,-
+BRDA:66,e0,1,-
+BRDA:67,0,0,-
+BRDA:67,e0,1,-
+BRDA:68,0,0,-
+BRDA:68,e0,1,-
+BRDA:68,0,2,-
+BRDA:68,e0,3,-
+BRDA:68,0,4,-
+BRDA:68,e0,5,-
+BRDA:68,0,6,-
+BRDA:68,e0,7,-
+BRDA:68,0,8,-
+BRDA:68,e0,9,-
+BRDA:76,0,0,-
+BRDA:76,e0,1,-
+BRDA:77,0,0,-
+BRDA:77,0,1,-
+BRDA:87,0,0,-
+BRDA:87,e0,1,-
+BRDA:91,0,0,-
+BRDA:91,e0,1,-
+BRDA:91,0,2,-
+BRDA:91,e0,3,-
+BRDA:91,0,4,-
+BRDA:91,0,5,-
+BRDA:93,0,0,-
+BRDA:93,0,1,-
+BRDA:93,0,2,-
+BRDA:93,0,3,-
+BRDA:93,0,4,-
+BRDA:93,0,5,-
+BRDA:95,0,0,-
+BRDA:95,e0,1,-
+BRDA:97,0,0,-
+BRDA:97,e0,1,-
+BRDA:98,0,0,-
+BRDA:98,0,1,-
+BRDA:101,0,0,-
+BRDA:101,e0,1,-
+BRDA:104,0,0,-
+BRDA:104,e0,1,-
+BRDA:105,0,0,-
+BRDA:105,e0,1,-
+BRDA:105,0,2,-
+BRDA:105,e0,3,-
+BRDA:106,0,0,-
+BRDA:106,0,1,-
+BRDA:106,0,2,-
+BRDA:106,e0,3,-
+BRDA:106,0,4,-
+BRDA:106,0,5,-
+BRDA:106,0,6,-
+BRDA:106,e0,7,-
+BRDA:106,0,8,-
+BRDA:106,0,9,-
+BRDA:107,0,0,-
+BRDA:107,e0,1,-
+BRDA:107,0,2,-
+BRDA:107,0,3,-
+BRDA:107,0,4,-
+BRDA:107,e0,5,-
+BRDA:107,0,6,-
+BRDA:107,0,7,-
+BRDA:108,0,0,-
+BRDA:108,0,1,-
+BRDA:108,0,2,-
+BRDA:108,e0,3,-
+BRDA:108,0,4,-
+BRDA:108,0,5,-
+BRDA:108,0,6,-
+BRDA:108,e0,7,-
+BRDA:108,0,8,-
+BRDA:108,0,9,-
+BRDA:108,0,10,-
+BRDA:108,0,11,-
+BRDA:110,0,0,-
+BRDA:110,e0,1,-
+BRDA:110,0,2,-
+BRDA:110,0,3,-
+BRDA:110,0,4,-
+BRDA:110,e0,5,-
+BRDA:110,0,6,-
+BRDA:110,0,7,-
+BRDA:112,0,0,-
+BRDA:112,e0,1,-
+BRDA:112,0,2,-
+BRDA:112,0,3,-
+BRDA:113,0,0,-
+BRDA:113,e0,1,-
+BRDA:114,0,0,-
+BRDA:114,e0,1,-
+BRDA:119,0,0,-
+BRDA:119,e0,1,-
+BRDA:119,0,2,-
+BRDA:119,0,3,-
+BRDA:126,0,0,0
+BRDA:126,0,1,0
+BRDA:132,0,0,-
+BRDA:132,0,1,-
+BRDA:132,0,2,-
+BRDA:132,0,3,-
+BRDA:132,0,4,-
+BRDA:132,0,5,-
+BRDA:132,0,6,-
+BRDA:132,0,7,-
+BRDA:132,0,8,-
+BRDA:132,0,9,-
+BRDA:132,0,10,-
+BRDA:132,0,11,-
+BRDA:134,0,0,-
+BRDA:134,e0,1,-
+BRDA:134,0,2,-
+BRDA:134,0,3,-
+BRDA:134,0,4,-
+BRDA:134,e0,5,-
+BRDA:134,0,6,-
+BRDA:134,0,7,-
+BRDA:134,0,8,-
+BRDA:134,0,9,-
+BRDA:142,0,0,-
+BRDA:142,e0,1,-
+BRDA:143,0,0,-
+BRDA:143,e0,1,-
+BRDA:144,0,0,-
+BRDA:144,e0,1,-
+BRDA:145,0,0,-
+BRDA:145,e0,1,-
+BRDA:146,0,0,0
+BRDA:146,0,1,0
+BRDA:147,0,0,0
+BRDA:147,e0,1,0
+BRDA:149,0,0,0
+BRDA:149,e0,1,0
+BRDA:152,0,0,-
+BRDA:152,e0,1,-
+BRDA:152,0,2,-
+BRDA:152,e0,3,-
+BRDA:152,0,4,-
+BRDA:152,e0,5,-
+BRDA:152,0,6,-
+BRDA:152,e0,7,-
+BRDA:152,0,8,-
+BRDA:152,e0,9,-
+BRDA:152,0,10,-
+BRDA:152,e0,11,-
+BRDA:152,0,12,-
+BRDA:152,e0,13,-
+BRDA:152,0,14,-
+BRDA:152,e0,15,-
+BRDA:152,0,16,-
+BRDA:152,e0,17,-
+BRDA:152,0,18,-
+BRDA:152,e0,19,-
+BRDA:152,0,20,-
+BRDA:152,0,21,-
+BRDA:152,0,22,-
+BRDA:152,0,23,-
+BRDA:152,0,24,-
+BRDA:152,e0,25,-
+BRDA:152,0,26,-
+BRDA:152,e0,27,-
+BRDA:152,0,28,-
+BRDA:152,e0,29,-
+BRDA:152,0,30,-
+BRDA:152,e0,31,-
+BRDA:152,0,32,-
+BRDA:152,0,33,-
+BRDA:152,0,34,-
+BRDA:152,0,35,-
+BRF:216
+BRH:0
+DA:23,0
+DA:25,0
+DA:26,0
+DA:27,0
+DA:29,0
+DA:30,0
+DA:31,0
+DA:32,0
+DA:33,0
+DA:34,0
+DA:35,0
+DA:36,0
+DA:37,0
+DA:40,0
+DA:41,0
+DA:42,0
+DA:43,0
+DA:44,0
+DA:45,0
+DA:46,0
+DA:48,0
+DA:49,0
+DA:50,0
+DA:52,0
+DA:53,0
+DA:54,0
+DA:55,0
+DA:56,0
+DA:57,0
+DA:61,0
+DA:62,0
+DA:63,0
+DA:64,0
+DA:65,0
+DA:66,0
+DA:67,0
+DA:68,0
+DA:71,0
+DA:72,0
+DA:74,0
+DA:75,0
+DA:76,0
+DA:77,0
+DA:78,0
+DA:81,0
+DA:84,0
+DA:85,0
+DA:86,0
+DA:87,0
+DA:88,0
+DA:89,0
+DA:90,0
+DA:91,0
+DA:92,0
+DA:93,0
+DA:94,0
+DA:95,0
+DA:96,0
+DA:97,0
+DA:98,0
+DA:99,0
+DA:101,0
+DA:102,0
+DA:103,0
+DA:104,0
+DA:105,0
+DA:106,0
+DA:107,0
+DA:108,0
+DA:109,0
+DA:110,0
+DA:112,0
+DA:113,0
+DA:114,0
+DA:118,0
+DA:119,0
+DA:120,0
+DA:123,0
+DA:126,0
+DA:127,0
+DA:128,0
+DA:129,0
+DA:130,0
+DA:131,0
+DA:132,0
+DA:134,0
+DA:135,0
+DA:138,0
+DA:142,0
+DA:143,0
+DA:144,0
+DA:145,0
+DA:146,0
+DA:147,0
+DA:148,0
+DA:149,0
+DA:150,0
+DA:151,0
+DA:152,0
+LF:99
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h
+FNL:0,44,44
+FNA:0,0,_ZN9DbcParserC2E16DbcParserOptions
+FNF:1
+FNH:0
+DA:44,0
+LF:1
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.cpp
+FNL:0,103,115
+FNA:0,0,_ZN12_GLOBAL__N_115FindUniqueFrameER11DbcDatabasejb
+FNL:1,117,129
+FNA:1,0,_ZN12_GLOBAL__N_116FindUniqueSignalER9FrameInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:2,131,136
+FNA:2,0,_ZN12_GLOBAL__N_113NextSignalBitEmb
+FNL:3,14,23
+FNA:3,0,_ZN12_GLOBAL__N_112ParseDecimalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjPKc
+FNL:4,143,155
+FNA:4,0,_ZN12_GLOBAL__N_114SplitReceiversERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:5,157,165
+FNA:5,0,_ZN12_GLOBAL__N_114NormalizeCanIdEjRjRb
+FNL:6,168,204
+FNA:6,0,_ZN15DbcFrameHandler14ParseFrameLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:7,206,253
+FNA:7,0,_ZN16DbcSignalHandler15ParseSignalLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:8,25,32
+FNA:8,0,_ZN12_GLOBAL__N_110ParseCanIdERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:9,257,266
+FNA:9,0,_ZN12_GLOBAL__N_113FindFrameByIdER11DbcDatabasejb
+FNL:10,268,275
+FNA:10,0,_ZN12_GLOBAL__N_116FindSignalByNameER9FrameInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:11,278,290
+FNA:11,0,_ZNK15DbcFrameHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:12,292,304
+FNA:12,0,_ZNK16DbcSignalHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:13,306,350
+FNA:13,0,_ZNK17DbcCommentHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:14,34,53
+FNA:14,0,_ZN12_GLOBAL__N_118ParsePhysicalValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc
+FNL:15,352,368
+FNA:15,0,_ZN15DbcParseContext15ResolveCommentsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:16,370,386
+FNA:16,0,_ZN22DbcStatementDispatcherC2Ev
+FNL:17,388,388
+FNA:17,0,_ZNK16DbcHeaderHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:18,390,400
+FNA:18,0,_ZNK22DbcStatementDispatcher8DispatchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:19,402,433
+FNA:19,0,_ZNK26DbcValueDescriptionHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:20,435,449
+FNA:20,0,_ZN15DbcParseContext24ResolveValueDescriptionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:21,451,453
+FNA:21,0,_ZNK33DbcUnsupportedMultiplexingHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:22,456,464
+FNA:22,0,_ZN12_GLOBAL__N_110SignalBitsERK10SignalInfo
+FNL:23,466,470
+FNA:23,0,_ZN12_GLOBAL__N_120AreMutuallyExclusiveERK10SignalInfoS2_
+FNL:24,472,480
+FNA:24,0,_ZN12_GLOBAL__N_114ValidateBranchERK10SignalInfoPS1_
+FNL:25,482,497
+FNA:25,0,_ZN12_GLOBAL__N_112FindSelectorERK9FrameInfoRKSt6vectorImSaImEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:26,499,509
+FNA:26,0,_ZN12_GLOBAL__N_114SignalsOverlapERK10SignalInfoS2_
+FNL:27,512,529
+FNA:27,0,_ZNK15DbcParseContext20ValidateMultiplexingERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:28,55,71
+FNA:28,0,_ZN12_GLOBAL__N_123ParseMultiplexingMarkerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:29,73,91
+FNA:29,0,_ZN12_GLOBAL__N_113ParseValueKeyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:30,93,101
+FNA:30,0,_ZN12_GLOBAL__N_119UnescapeDescriptionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:31
+FNH:0
+BRDA:18,0,0,-
+BRDA:18,e0,1,-
+BRDA:19,0,0,-
+BRDA:19,0,1,-
+BRDA:20,0,0,-
+BRDA:20,0,1,-
+BRDA:20,0,2,-
+BRDA:20,0,3,-
+BRDA:20,0,4,-
+BRDA:20,0,5,-
+BRDA:20,0,6,-
+BRDA:20,0,7,-
+BRDA:21,0,0,-
+BRDA:21,e0,1,-
+BRDA:21,0,2,-
+BRDA:21,e0,3,-
+BRDA:21,0,4,-
+BRDA:21,e0,5,-
+BRDA:21,0,6,-
+BRDA:21,e0,7,-
+BRDA:21,0,8,-
+BRDA:21,e0,9,-
+BRDA:29,0,0,-
+BRDA:29,0,1,-
+BRDA:30,0,0,-
+BRDA:30,e0,1,-
+BRDA:36,0,0,-
+BRDA:36,0,1,-
+BRDA:36,0,2,-
+BRDA:36,0,3,-
+BRDA:36,0,4,-
+BRDA:36,e0,5,-
+BRDA:36,0,6,-
+BRDA:36,0,7,-
+BRDA:37,0,0,-
+BRDA:37,e0,1,-
+BRDA:37,0,2,-
+BRDA:37,0,3,-
+BRDA:38,0,0,-
+BRDA:38,e0,1,-
+BRDA:38,0,2,-
+BRDA:38,e0,3,-
+BRDA:38,0,4,-
+BRDA:38,e0,5,-
+BRDA:38,0,6,-
+BRDA:38,e0,7,-
+BRDA:38,0,8,-
+BRDA:38,e0,9,-
+BRDA:43,0,0,-
+BRDA:43,0,1,-
+BRDA:49,0,0,-
+BRDA:49,0,1,-
+BRDA:49,0,2,-
+BRDA:49,0,3,-
+BRDA:49,0,4,-
+BRDA:49,0,5,-
+BRDA:49,0,6,-
+BRDA:49,0,7,-
+BRDA:49,0,8,-
+BRDA:49,0,9,-
+BRDA:51,0,0,-
+BRDA:51,e0,1,-
+BRDA:51,0,2,-
+BRDA:51,e0,3,-
+BRDA:51,0,4,-
+BRDA:51,e0,5,-
+BRDA:51,0,6,-
+BRDA:51,e0,7,-
+BRDA:51,0,8,-
+BRDA:51,e0,9,-
+BRDA:57,0,0,-
+BRDA:57,e0,1,-
+BRDA:57,0,2,-
+BRDA:57,0,3,-
+BRDA:59,0,0,-
+BRDA:59,0,1,-
+BRDA:60,0,0,-
+BRDA:60,0,1,-
+BRDA:61,0,0,-
+BRDA:61,e0,1,-
+BRDA:62,0,0,-
+BRDA:62,e0,1,-
+BRDA:64,0,0,-
+BRDA:64,e0,1,-
+BRDA:65,0,0,-
+BRDA:65,0,1,-
+BRDA:65,0,2,-
+BRDA:65,0,3,-
+BRDA:65,0,4,-
+BRDA:65,0,5,-
+BRDA:65,0,6,-
+BRDA:65,0,7,-
+BRDA:66,0,0,-
+BRDA:66,e0,1,-
+BRDA:75,0,0,-
+BRDA:75,0,1,-
+BRDA:75,0,2,-
+BRDA:75,0,3,-
+BRDA:75,0,4,-
+BRDA:75,0,5,-
+BRDA:78,0,0,-
+BRDA:78,e0,1,-
+BRDA:79,0,0,-
+BRDA:79,0,1,-
+BRDA:79,0,2,-
+BRDA:79,0,3,-
+BRDA:79,0,4,-
+BRDA:79,0,5,-
+BRDA:80,0,0,-
+BRDA:80,e0,1,-
+BRDA:80,0,2,-
+BRDA:80,e0,3,-
+BRDA:85,0,0,-
+BRDA:85,e0,1,-
+BRDA:86,0,0,-
+BRDA:86,0,1,-
+BRDA:86,0,2,-
+BRDA:86,0,3,-
+BRDA:86,0,4,-
+BRDA:86,0,5,-
+BRDA:86,0,6,-
+BRDA:86,0,7,-
+BRDA:87,0,0,-
+BRDA:87,e0,1,-
+BRDA:87,0,2,-
+BRDA:87,e0,3,-
+BRDA:95,0,0,-
+BRDA:95,0,1,-
+BRDA:96,0,0,-
+BRDA:96,0,1,-
+BRDA:98,0,0,-
+BRDA:98,e0,1,-
+BRDA:105,0,0,-
+BRDA:105,0,1,-
+BRDA:106,0,0,-
+BRDA:106,0,1,-
+BRDA:106,0,2,-
+BRDA:106,0,3,-
+BRDA:107,0,0,-
+BRDA:107,0,1,-
+BRDA:108,0,0,-
+BRDA:108,e0,1,-
+BRDA:112,0,0,-
+BRDA:112,0,1,-
+BRDA:113,0,0,-
+BRDA:113,e0,1,-
+BRDA:119,0,0,-
+BRDA:119,0,1,-
+BRDA:120,0,0,-
+BRDA:120,0,1,-
+BRDA:121,0,0,-
+BRDA:121,0,1,-
+BRDA:122,0,0,-
+BRDA:122,e0,1,-
+BRDA:122,0,2,-
+BRDA:122,e0,3,-
+BRDA:126,0,0,-
+BRDA:126,0,1,-
+BRDA:127,0,0,-
+BRDA:127,e0,1,-
+BRDA:127,0,2,-
+BRDA:127,e0,3,-
+BRDA:132,0,0,-
+BRDA:132,0,1,-
+BRDA:135,0,0,-
+BRDA:135,0,1,-
+BRDA:146,0,0,-
+BRDA:146,e0,1,-
+BRDA:148,0,0,-
+BRDA:148,e0,1,-
+BRDA:148,0,2,-
+BRDA:148,e0,3,-
+BRDA:148,0,4,-
+BRDA:148,0,5,-
+BRDA:149,0,0,-
+BRDA:149,e0,1,-
+BRDA:150,0,0,-
+BRDA:150,0,1,-
+BRDA:151,0,0,-
+BRDA:151,e0,1,-
+BRDA:163,0,0,-
+BRDA:163,0,1,-
+BRDA:163,0,2,-
+BRDA:163,0,3,-
+BRDA:174,0,0,-
+BRDA:174,e0,1,-
+BRDA:177,0,0,-
+BRDA:177,e0,1,-
+BRDA:177,0,2,-
+BRDA:177,e0,3,-
+BRDA:177,0,4,-
+BRDA:177,e0,5,-
+BRDA:177,0,6,-
+BRDA:177,0,7,-
+BRDA:177,0,8,-
+BRDA:177,e0,9,-
+BRDA:177,0,10,-
+BRDA:177,0,11,-
+BRDA:177,0,12,-
+BRDA:177,0,13,-
+BRDA:178,0,0,-
+BRDA:178,e0,1,-
+BRDA:180,0,0,-
+BRDA:180,e0,1,-
+BRDA:183,0,0,-
+BRDA:183,e0,1,-
+BRDA:183,0,2,-
+BRDA:183,e0,3,-
+BRDA:183,0,4,-
+BRDA:183,0,5,-
+BRDA:183,0,6,-
+BRDA:183,e0,7,-
+BRDA:183,0,8,-
+BRDA:183,0,9,-
+BRDA:183,0,10,-
+BRDA:183,0,11,-
+BRDA:184,0,0,-
+BRDA:184,e0,1,-
+BRDA:185,0,0,-
+BRDA:185,e0,1,-
+BRDA:188,0,0,-
+BRDA:188,e0,1,-
+BRDA:188,0,2,-
+BRDA:188,e0,3,-
+BRDA:188,0,4,-
+BRDA:188,0,5,-
+BRDA:188,0,6,-
+BRDA:188,e0,7,-
+BRDA:188,0,8,-
+BRDA:188,e0,9,-
+BRDA:188,0,10,-
+BRDA:188,0,11,-
+BRDA:188,0,12,-
+BRDA:188,0,13,-
+BRDA:189,0,0,-
+BRDA:189,e0,1,-
+BRDA:192,0,0,-
+BRDA:192,e0,1,-
+BRDA:192,0,2,-
+BRDA:192,e0,3,-
+BRDA:192,0,4,-
+BRDA:192,0,5,-
+BRDA:193,0,0,-
+BRDA:193,e0,1,-
+BRDA:194,0,0,-
+BRDA:194,e0,1,-
+BRDA:196,0,0,-
+BRDA:196,e0,1,-
+BRDA:196,0,2,-
+BRDA:196,e0,3,-
+BRDA:196,0,4,-
+BRDA:196,0,5,-
+BRDA:197,0,0,-
+BRDA:197,e0,1,-
+BRDA:198,0,0,-
+BRDA:198,e0,1,-
+BRDA:198,0,2,-
+BRDA:198,e0,3,-
+BRDA:198,0,4,-
+BRDA:198,0,5,-
+BRDA:199,0,0,-
+BRDA:199,e0,1,-
+BRDA:199,0,2,-
+BRDA:199,e0,3,-
+BRDA:222,0,0,-
+BRDA:222,0,1,-
+BRDA:222,0,2,-
+BRDA:222,0,3,-
+BRDA:222,0,4,-
+BRDA:222,e0,5,-
+BRDA:222,0,6,-
+BRDA:222,0,7,-
+BRDA:224,0,0,-
+BRDA:224,e0,1,-
+BRDA:224,0,2,-
+BRDA:224,0,3,-
+BRDA:225,0,0,-
+BRDA:225,e0,1,-
+BRDA:228,0,0,-
+BRDA:228,e0,1,-
+BRDA:228,0,2,-
+BRDA:228,e0,3,-
+BRDA:228,0,4,-
+BRDA:228,e0,5,-
+BRDA:231,0,0,-
+BRDA:231,e0,1,-
+BRDA:231,0,2,-
+BRDA:231,e0,3,-
+BRDA:232,0,0,-
+BRDA:232,0,1,-
+BRDA:232,0,2,-
+BRDA:232,e0,3,-
+BRDA:232,0,4,-
+BRDA:232,e0,5,-
+BRDA:232,0,6,-
+BRDA:232,0,7,-
+BRDA:232,0,8,-
+BRDA:232,0,9,-
+BRDA:233,0,0,-
+BRDA:233,e0,1,-
+BRDA:234,0,0,-
+BRDA:234,e0,1,-
+BRDA:236,0,0,-
+BRDA:236,e0,1,-
+BRDA:236,0,2,-
+BRDA:236,e0,3,-
+BRDA:236,0,4,-
+BRDA:236,e0,5,-
+BRDA:238,0,0,-
+BRDA:238,e0,1,-
+BRDA:238,0,2,-
+BRDA:238,e0,3,-
+BRDA:238,0,4,-
+BRDA:238,e0,5,-
+BRDA:239,0,0,-
+BRDA:239,0,1,-
+BRDA:240,0,0,-
+BRDA:240,e0,1,-
+BRDA:241,0,0,-
+BRDA:241,e0,1,-
+BRDA:241,0,2,-
+BRDA:241,e0,3,-
+BRDA:241,0,4,-
+BRDA:241,e0,5,-
+BRDA:242,0,0,-
+BRDA:242,e0,1,-
+BRDA:242,0,2,-
+BRDA:242,e0,3,-
+BRDA:242,0,4,-
+BRDA:242,e0,5,-
+BRDA:244,0,0,-
+BRDA:244,e0,1,-
+BRDA:244,0,2,-
+BRDA:244,e0,3,-
+BRDA:244,0,4,-
+BRDA:244,e0,5,-
+BRDA:245,0,0,-
+BRDA:245,e0,1,-
+BRDA:245,0,2,-
+BRDA:245,e0,3,-
+BRDA:245,0,4,-
+BRDA:245,e0,5,-
+BRDA:246,0,0,-
+BRDA:246,e0,1,-
+BRDA:246,0,2,-
+BRDA:246,e0,3,-
+BRDA:246,0,4,-
+BRDA:246,e0,5,-
+BRDA:247,0,0,-
+BRDA:247,e0,1,-
+BRDA:247,0,2,-
+BRDA:247,e0,3,-
+BRDA:247,0,4,-
+BRDA:247,e0,5,-
+BRDA:248,0,0,-
+BRDA:248,0,1,-
+BRDA:249,0,0,-
+BRDA:249,e0,1,-
+BRDA:250,0,0,-
+BRDA:250,e0,1,-
+BRDA:250,0,2,-
+BRDA:250,e0,3,-
+BRDA:251,0,0,-
+BRDA:251,e0,1,-
+BRDA:251,0,2,-
+BRDA:251,e0,3,-
+BRDA:251,0,4,-
+BRDA:251,e0,5,-
+BRDA:260,0,0,-
+BRDA:260,0,1,-
+BRDA:261,0,0,-
+BRDA:261,0,1,-
+BRDA:261,0,2,-
+BRDA:261,0,3,-
+BRDA:269,0,0,-
+BRDA:269,0,1,-
+BRDA:270,0,0,-
+BRDA:270,0,1,-
+BRDA:279,0,0,-
+BRDA:279,e0,1,-
+BRDA:280,0,0,-
+BRDA:280,0,1,-
+BRDA:280,0,2,-
+BRDA:280,0,3,-
+BRDA:284,0,0,-
+BRDA:284,0,1,-
+BRDA:285,0,0,-
+BRDA:285,0,1,-
+BRDA:285,0,2,-
+BRDA:285,e0,3,-
+BRDA:285,0,4,-
+BRDA:285,e0,5,-
+BRDA:286,0,0,-
+BRDA:286,e0,1,-
+BRDA:286,0,2,-
+BRDA:286,e0,3,-
+BRDA:286,0,4,-
+BRDA:286,e0,5,-
+BRDA:287,0,0,-
+BRDA:287,e0,1,-
+BRDA:289,0,0,-
+BRDA:289,e0,1,-
+BRDA:293,0,0,-
+BRDA:293,0,1,-
+BRDA:294,0,0,-
+BRDA:294,e0,1,-
+BRDA:295,0,0,-
+BRDA:295,e0,1,-
+BRDA:296,0,0,-
+BRDA:296,0,1,-
+BRDA:298,0,0,-
+BRDA:298,e0,1,-
+BRDA:298,0,2,-
+BRDA:298,e0,3,-
+BRDA:298,0,4,-
+BRDA:298,e0,5,-
+BRDA:298,0,6,-
+BRDA:298,e0,7,-
+BRDA:298,0,8,-
+BRDA:298,e0,9,-
+BRDA:299,0,0,-
+BRDA:299,0,1,-
+BRDA:301,0,0,-
+BRDA:301,e0,1,-
+BRDA:302,0,0,-
+BRDA:302,e0,1,-
+BRDA:303,0,0,-
+BRDA:303,e0,1,-
+BRDA:307,0,0,-
+BRDA:307,e0,1,-
+BRDA:310,0,0,-
+BRDA:310,e0,1,-
+BRDA:310,0,2,-
+BRDA:310,e0,3,-
+BRDA:311,0,0,-
+BRDA:311,e0,1,-
+BRDA:311,0,2,-
+BRDA:311,0,3,-
+BRDA:311,0,4,-
+BRDA:311,e0,5,-
+BRDA:311,0,6,-
+BRDA:311,0,7,-
+BRDA:311,0,8,-
+BRDA:311,e0,9,-
+BRDA:311,0,10,-
+BRDA:311,0,11,-
+BRDA:311,0,12,-
+BRDA:311,0,13,-
+BRDA:315,0,0,-
+BRDA:315,e0,1,-
+BRDA:318,0,0,-
+BRDA:318,e0,1,-
+BRDA:318,0,2,-
+BRDA:318,e0,3,-
+BRDA:318,0,4,-
+BRDA:318,0,5,-
+BRDA:319,0,0,-
+BRDA:319,e0,1,-
+BRDA:320,0,0,-
+BRDA:320,e0,1,-
+BRDA:321,0,0,-
+BRDA:321,0,1,-
+BRDA:321,0,2,-
+BRDA:321,e0,3,-
+BRDA:321,0,4,-
+BRDA:321,e0,5,-
+BRDA:321,0,6,-
+BRDA:321,0,7,-
+BRDA:321,0,8,-
+BRDA:321,0,9,-
+BRDA:321,0,10,-
+BRDA:321,0,11,-
+BRDA:323,0,0,-
+BRDA:323,e0,1,-
+BRDA:325,0,0,-
+BRDA:325,e0,1,-
+BRDA:326,0,0,-
+BRDA:326,e0,1,-
+BRDA:326,0,2,-
+BRDA:326,0,3,-
+BRDA:327,0,0,-
+BRDA:327,e0,1,-
+BRDA:330,0,0,-
+BRDA:330,e0,1,-
+BRDA:330,0,2,-
+BRDA:330,e0,3,-
+BRDA:330,0,4,-
+BRDA:330,0,5,-
+BRDA:331,0,0,-
+BRDA:331,0,1,-
+BRDA:335,0,0,-
+BRDA:335,0,1,-
+BRDA:336,0,0,-
+BRDA:336,e0,1,-
+BRDA:336,0,2,-
+BRDA:336,e0,3,-
+BRDA:336,0,4,-
+BRDA:336,0,5,-
+BRDA:336,0,6,-
+BRDA:336,0,7,-
+BRDA:336,0,8,-
+BRDA:336,0,9,-
+BRDA:336,0,10,-
+BRDA:336,0,11,-
+BRDA:337,0,0,-
+BRDA:337,e0,1,-
+BRDA:339,0,0,-
+BRDA:339,e0,1,-
+BRDA:341,0,0,-
+BRDA:341,0,1,-
+BRDA:342,0,0,-
+BRDA:342,e0,1,-
+BRDA:343,0,0,-
+BRDA:343,e0,1,-
+BRDA:344,0,0,-
+BRDA:344,e0,1,-
+BRDA:344,0,2,-
+BRDA:344,0,3,-
+BRDA:345,0,0,-
+BRDA:345,e0,1,-
+BRDA:346,0,0,-
+BRDA:346,e0,1,-
+BRDA:347,0,0,-
+BRDA:347,e0,1,-
+BRDA:347,0,2,-
+BRDA:347,0,3,-
+BRDA:348,0,0,-
+BRDA:348,e0,1,-
+BRDA:349,0,0,-
+BRDA:349,e0,1,-
+BRDA:350,0,0,-
+BRDA:350,0,1,-
+BRDA:350,0,2,-
+BRDA:350,0,3,-
+BRDA:350,0,4,-
+BRDA:350,0,5,-
+BRDA:353,0,0,-
+BRDA:353,0,1,-
+BRDA:355,0,0,-
+BRDA:355,0,1,-
+BRDA:357,0,0,-
+BRDA:357,e0,1,-
+BRDA:357,0,2,-
+BRDA:357,e0,3,-
+BRDA:358,0,0,-
+BRDA:358,0,1,-
+BRDA:360,0,0,-
+BRDA:360,0,1,-
+BRDA:362,0,0,-
+BRDA:362,e0,1,-
+BRDA:362,0,2,-
+BRDA:362,e0,3,-
+BRDA:363,0,0,-
+BRDA:363,e0,1,-
+BRDA:365,0,0,-
+BRDA:365,e0,1,-
+BRDA:371,0,0,-
+BRDA:371,e0,1,-
+BRDA:371,0,2,-
+BRDA:371,e0,3,-
+BRDA:372,0,0,-
+BRDA:372,e0,1,-
+BRDA:372,0,2,-
+BRDA:372,e0,3,-
+BRDA:373,0,0,-
+BRDA:373,e0,1,-
+BRDA:373,0,2,-
+BRDA:373,e0,3,-
+BRDA:374,0,0,-
+BRDA:374,e0,1,-
+BRDA:374,0,2,-
+BRDA:374,e0,3,-
+BRDA:375,0,0,-
+BRDA:375,e0,1,-
+BRDA:375,0,2,-
+BRDA:375,e0,3,-
+BRDA:376,0,0,-
+BRDA:376,e0,1,-
+BRDA:376,0,2,-
+BRDA:376,e0,3,-
+BRDA:377,0,0,-
+BRDA:377,e0,1,-
+BRDA:377,0,2,-
+BRDA:377,e0,3,-
+BRDA:378,0,0,-
+BRDA:378,e0,1,-
+BRDA:378,0,2,-
+BRDA:378,e0,3,-
+BRDA:379,0,0,-
+BRDA:379,e0,1,-
+BRDA:379,0,2,-
+BRDA:379,e0,3,-
+BRDA:380,0,0,-
+BRDA:380,e0,1,-
+BRDA:380,0,2,-
+BRDA:380,e0,3,-
+BRDA:381,0,0,-
+BRDA:381,e0,1,-
+BRDA:381,0,2,-
+BRDA:381,e0,3,-
+BRDA:382,0,0,-
+BRDA:382,e0,1,-
+BRDA:382,0,2,-
+BRDA:382,e0,3,-
+BRDA:383,0,0,-
+BRDA:383,e0,1,-
+BRDA:383,0,2,-
+BRDA:383,e0,3,-
+BRDA:384,0,0,-
+BRDA:384,e0,1,-
+BRDA:384,0,2,-
+BRDA:384,e0,3,-
+BRDA:385,0,0,-
+BRDA:385,e0,1,-
+BRDA:385,0,2,-
+BRDA:385,e0,3,-
+BRDA:392,0,0,-
+BRDA:392,e0,1,-
+BRDA:394,0,0,-
+BRDA:394,e0,1,-
+BRDA:395,0,0,-
+BRDA:395,e0,1,-
+BRDA:396,0,0,-
+BRDA:396,0,1,-
+BRDA:398,0,0,-
+BRDA:398,e0,1,-
+BRDA:403,0,0,-
+BRDA:403,0,1,-
+BRDA:403,0,2,-
+BRDA:403,0,3,-
+BRDA:403,0,4,-
+BRDA:403,e0,5,-
+BRDA:403,0,6,-
+BRDA:403,0,7,-
+BRDA:404,0,0,-
+BRDA:404,0,1,-
+BRDA:404,0,2,-
+BRDA:404,0,3,-
+BRDA:404,0,4,-
+BRDA:404,e0,5,-
+BRDA:404,0,6,-
+BRDA:404,0,7,-
+BRDA:406,0,0,-
+BRDA:406,e0,1,-
+BRDA:406,0,2,-
+BRDA:406,0,3,-
+BRDA:407,0,0,-
+BRDA:407,e0,1,-
+BRDA:408,0,0,-
+BRDA:408,e0,1,-
+BRDA:408,0,2,-
+BRDA:408,e0,3,-
+BRDA:408,0,4,-
+BRDA:408,e0,5,-
+BRDA:409,0,0,-
+BRDA:409,0,1,-
+BRDA:410,0,0,-
+BRDA:410,e0,1,-
+BRDA:413,0,0,-
+BRDA:413,e0,1,-
+BRDA:413,0,2,-
+BRDA:413,e0,3,-
+BRDA:415,0,0,-
+BRDA:415,e0,1,-
+BRDA:415,0,2,-
+BRDA:415,e0,3,-
+BRDA:416,0,0,-
+BRDA:416,e0,1,-
+BRDA:416,0,2,-
+BRDA:416,0,3,-
+BRDA:417,0,0,-
+BRDA:417,e0,1,-
+BRDA:417,0,2,-
+BRDA:417,0,3,-
+BRDA:418,0,0,-
+BRDA:418,e0,1,-
+BRDA:419,0,0,-
+BRDA:419,e0,1,-
+BRDA:419,0,2,-
+BRDA:419,e0,3,-
+BRDA:420,0,0,-
+BRDA:420,e0,1,-
+BRDA:421,0,0,-
+BRDA:421,e0,1,-
+BRDA:421,0,2,-
+BRDA:421,e0,3,-
+BRDA:421,0,4,-
+BRDA:421,e0,5,-
+BRDA:422,0,0,-
+BRDA:422,e0,1,-
+BRDA:422,0,2,-
+BRDA:422,0,3,-
+BRDA:423,0,0,-
+BRDA:423,e0,1,-
+BRDA:423,0,2,-
+BRDA:423,e0,3,-
+BRDA:424,0,0,-
+BRDA:424,e0,1,-
+BRDA:425,0,0,-
+BRDA:425,e0,1,-
+BRDA:426,0,0,-
+BRDA:426,0,1,-
+BRDA:426,0,2,-
+BRDA:426,e0,3,-
+BRDA:426,0,4,-
+BRDA:426,0,5,-
+BRDA:426,0,6,-
+BRDA:426,e0,7,-
+BRDA:426,0,8,-
+BRDA:426,0,9,-
+BRDA:426,0,10,-
+BRDA:426,e0,11,-
+BRDA:426,0,12,-
+BRDA:426,0,13,-
+BRDA:426,0,14,-
+BRDA:426,0,15,-
+BRDA:427,0,0,-
+BRDA:427,e0,1,-
+BRDA:428,0,0,-
+BRDA:428,e0,1,-
+BRDA:430,0,0,-
+BRDA:430,0,1,-
+BRDA:431,0,0,-
+BRDA:431,e0,1,-
+BRDA:432,0,0,-
+BRDA:432,e0,1,-
+BRDA:436,0,0,-
+BRDA:436,0,1,-
+BRDA:438,0,0,-
+BRDA:438,e0,1,-
+BRDA:439,0,0,-
+BRDA:439,e0,1,-
+BRDA:440,0,0,-
+BRDA:440,0,1,-
+BRDA:441,0,0,-
+BRDA:441,e0,1,-
+BRDA:441,0,2,-
+BRDA:441,0,3,-
+BRDA:442,0,0,-
+BRDA:442,e0,1,-
+BRDA:442,0,2,-
+BRDA:442,e0,3,-
+BRDA:444,0,0,0
+BRDA:444,0,1,0
+BRDA:446,0,0,0
+BRDA:446,e0,1,0
+BRDA:446,0,2,0
+BRDA:446,e0,3,0
+BRDA:452,0,0,-
+BRDA:452,e0,1,-
+BRDA:459,0,0,-
+BRDA:459,0,1,-
+BRDA:460,0,0,-
+BRDA:460,e0,1,-
+BRDA:468,0,0,-
+BRDA:468,0,1,-
+BRDA:468,0,2,-
+BRDA:468,0,3,-
+BRDA:469,0,0,-
+BRDA:469,0,1,-
+BRDA:473,0,0,-
+BRDA:473,0,1,-
+BRDA:475,0,0,-
+BRDA:475,0,1,-
+BRDA:476,0,0,-
+BRDA:476,e0,1,-
+BRDA:477,0,0,-
+BRDA:477,0,1,-
+BRDA:477,0,2,-
+BRDA:477,0,3,-
+BRDA:478,0,0,-
+BRDA:478,e0,1,-
+BRDA:486,0,0,-
+BRDA:486,0,1,-
+BRDA:488,0,0,-
+BRDA:488,0,1,-
+BRDA:490,0,0,-
+BRDA:490,0,1,-
+BRDA:490,0,2,-
+BRDA:490,0,3,-
+BRDA:493,0,0,-
+BRDA:493,e0,1,-
+BRDA:493,0,2,-
+BRDA:493,e0,3,-
+BRDA:500,0,0,-
+BRDA:500,e0,1,-
+BRDA:501,0,0,-
+BRDA:501,e0,1,-
+BRDA:502,0,0,-
+BRDA:502,0,1,-
+BRDA:503,0,0,-
+BRDA:503,0,1,-
+BRDA:504,0,0,-
+BRDA:504,0,1,-
+BRDA:513,0,0,-
+BRDA:513,0,1,-
+BRDA:516,0,0,-
+BRDA:516,0,1,-
+BRDA:518,0,0,-
+BRDA:518,e0,1,-
+BRDA:519,0,0,-
+BRDA:519,0,1,-
+BRDA:519,0,2,-
+BRDA:519,0,3,-
+BRDA:519,0,4,-
+BRDA:519,0,5,-
+BRDA:521,0,0,-
+BRDA:521,0,1,-
+BRDA:521,0,2,-
+BRDA:521,e0,3,-
+BRDA:521,0,4,-
+BRDA:521,0,5,-
+BRDA:521,0,6,-
+BRDA:521,0,7,-
+BRDA:522,0,0,-
+BRDA:522,e0,1,-
+BRDA:524,0,0,-
+BRDA:524,0,1,-
+BRDA:526,0,0,-
+BRDA:526,e0,1,-
+BRF:820
+BRH:0
+DA:14,0
+DA:17,0
+DA:18,0
+DA:19,0
+DA:20,0
+DA:21,0
+DA:22,0
+DA:25,0
+DA:26,0
+DA:29,0
+DA:30,0
+DA:31,0
+DA:34,0
+DA:36,0
+DA:37,0
+DA:38,0
+DA:41,0
+DA:42,0
+DA:43,0
+DA:44,0
+DA:45,0
+DA:47,0
+DA:49,0
+DA:50,0
+DA:51,0
+DA:52,0
+DA:55,0
+DA:56,0
+DA:57,0
+DA:58,0
+DA:59,0
+DA:60,0
+DA:61,0
+DA:62,0
+DA:64,0
+DA:65,0
+DA:66,0
+DA:67,0
+DA:68,0
+DA:70,0
+DA:73,0
+DA:74,0
+DA:75,0
+DA:76,0
+DA:78,0
+DA:79,0
+DA:80,0
+DA:81,0
+DA:83,0
+DA:85,0
+DA:86,0
+DA:87,0
+DA:88,0
+DA:90,0
+DA:93,0
+DA:94,0
+DA:95,0
+DA:96,0
+DA:97,0
+DA:98,0
+DA:100,0
+DA:101,0
+DA:103,0
+DA:104,0
+DA:105,0
+DA:106,0
+DA:107,0
+DA:108,0
+DA:109,0
+DA:112,0
+DA:113,0
+DA:114,0
+DA:117,0
+DA:118,0
+DA:119,0
+DA:120,0
+DA:121,0
+DA:122,0
+DA:123,0
+DA:126,0
+DA:127,0
+DA:128,0
+DA:131,0
+DA:132,0
+DA:133,0
+DA:135,0
+DA:143,0
+DA:144,0
+DA:145,0
+DA:146,0
+DA:148,0
+DA:149,0
+DA:150,0
+DA:151,0
+DA:154,0
+DA:155,0
+DA:157,0
+DA:163,0
+DA:164,0
+DA:165,0
+DA:168,0
+DA:174,0
+DA:175,0
+DA:176,0
+DA:177,0
+DA:178,0
+DA:180,0
+DA:182,0
+DA:183,0
+DA:184,0
+DA:185,0
+DA:186,0
+DA:187,0
+DA:188,0
+DA:189,0
+DA:191,0
+DA:192,0
+DA:193,0
+DA:194,0
+DA:195,0
+DA:196,0
+DA:197,0
+DA:198,0
+DA:199,0
+DA:201,0
+DA:203,0
+DA:204,0
+DA:206,0
+DA:222,0
+DA:223,0
+DA:224,0
+DA:225,0
+DA:227,0
+DA:228,0
+DA:229,0
+DA:230,0
+DA:231,0
+DA:232,0
+DA:233,0
+DA:234,0
+DA:236,0
+DA:238,0
+DA:239,0
+DA:240,0
+DA:241,0
+DA:242,0
+DA:244,0
+DA:245,0
+DA:246,0
+DA:247,0
+DA:248,0
+DA:249,0
+DA:250,0
+DA:251,0
+DA:252,0
+DA:253,0
+DA:257,0
+DA:260,0
+DA:261,0
+DA:262,0
+DA:265,0
+DA:268,0
+DA:269,0
+DA:270,0
+DA:271,0
+DA:274,0
+DA:278,0
+DA:279,0
+DA:280,0
+DA:281,0
+DA:282,0
+DA:284,0
+DA:285,0
+DA:286,0
+DA:287,0
+DA:288,0
+DA:289,0
+DA:290,0
+DA:292,0
+DA:293,0
+DA:294,0
+DA:295,0
+DA:296,0
+DA:297,0
+DA:298,0
+DA:299,0
+DA:300,0
+DA:301,0
+DA:302,0
+DA:303,0
+DA:304,0
+DA:306,0
+DA:307,0
+DA:308,0
+DA:309,0
+DA:310,0
+DA:311,0
+DA:312,0
+DA:314,0
+DA:315,0
+DA:316,0
+DA:317,0
+DA:318,0
+DA:319,0
+DA:320,0
+DA:321,0
+DA:322,0
+DA:323,0
+DA:325,0
+DA:326,0
+DA:327,0
+DA:328,0
+DA:330,0
+DA:331,0
+DA:332,0
+DA:333,0
+DA:335,0
+DA:336,0
+DA:337,0
+DA:339,0
+DA:341,0
+DA:342,0
+DA:343,0
+DA:344,0
+DA:345,0
+DA:346,0
+DA:347,0
+DA:348,0
+DA:349,0
+DA:350,0
+DA:352,0
+DA:353,0
+DA:354,0
+DA:355,0
+DA:357,0
+DA:358,0
+DA:359,0
+DA:360,0
+DA:362,0
+DA:363,0
+DA:365,0
+DA:368,0
+DA:370,0
+DA:371,0
+DA:372,0
+DA:373,0
+DA:374,0
+DA:375,0
+DA:376,0
+DA:377,0
+DA:378,0
+DA:379,0
+DA:380,0
+DA:381,0
+DA:382,0
+DA:383,0
+DA:384,0
+DA:385,0
+DA:386,0
+DA:388,0
+DA:390,0
+DA:392,0
+DA:393,0
+DA:394,0
+DA:395,0
+DA:396,0
+DA:397,0
+DA:398,0
+DA:399,0
+DA:400,0
+DA:402,0
+DA:403,0
+DA:404,0
+DA:405,0
+DA:406,0
+DA:407,0
+DA:408,0
+DA:409,0
+DA:410,0
+DA:411,0
+DA:412,0
+DA:413,0
+DA:414,0
+DA:415,0
+DA:416,0
+DA:417,0
+DA:418,0
+DA:419,0
+DA:420,0
+DA:421,0
+DA:422,0
+DA:423,0
+DA:424,0
+DA:425,0
+DA:426,0
+DA:427,0
+DA:428,0
+DA:429,0
+DA:430,0
+DA:431,0
+DA:432,0
+DA:433,0
+DA:435,0
+DA:436,0
+DA:438,0
+DA:439,0
+DA:440,0
+DA:441,0
+DA:442,0
+DA:444,0
+DA:446,0
+DA:447,0
+DA:449,0
+DA:451,0
+DA:452,0
+DA:456,0
+DA:457,0
+DA:458,0
+DA:459,0
+DA:460,0
+DA:461,0
+DA:463,0
+DA:464,0
+DA:466,0
+DA:467,0
+DA:468,0
+DA:469,0
+DA:472,0
+DA:473,0
+DA:474,0
+DA:475,0
+DA:476,0
+DA:477,0
+DA:478,0
+DA:479,0
+DA:482,0
+DA:485,0
+DA:486,0
+DA:487,0
+DA:488,0
+DA:489,0
+DA:490,0
+DA:492,0
+DA:493,0
+DA:494,0
+DA:496,0
+DA:499,0
+DA:500,0
+DA:501,0
+DA:502,0
+DA:503,0
+DA:504,0
+DA:505,0
+DA:508,0
+DA:509,0
+DA:512,0
+DA:513,0
+DA:514,0
+DA:515,0
+DA:516,0
+DA:517,0
+DA:518,0
+DA:519,0
+DA:520,0
+DA:521,0
+DA:522,0
+DA:524,0
+DA:526,0
+DA:527,0
+DA:529,0
+LF:370
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h
+FNL:0,137,140
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI15CountingHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI15DbcFrameHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI16DbcHeaderHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI16DbcSignalHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI17DbcCommentHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI19DbcAttributeHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI26DbcValueDescriptionHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,0,_ZN22DbcStatementDispatcher12RegisterTypeI33DbcUnsupportedMultiplexingHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:1,35,38
+FNA:1,0,_ZN18DbcDiagnosticErrorC2E17DbcDiagnosticCodeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_
+FNL:2,76,76
+FNA:2,0,_ZN19DbcStatementHandlerD0Ev
+FNA:2,0,_ZN19DbcStatementHandlerD2Ev
+FNF:3
+FNH:0
+BRDA:37,0,0,-
+BRDA:37,e0,1,-
+BRDA:37,0,2,-
+BRDA:37,e0,3,-
+BRDA:37,0,4,-
+BRDA:37,e0,5,-
+BRDA:37,0,6,-
+BRDA:37,e0,7,-
+BRDA:38,0,0,-
+BRDA:38,e0,1,-
+BRDA:38,0,2,-
+BRDA:38,e0,3,-
+BRDA:38,0,4,-
+BRDA:38,e0,5,-
+BRDA:38,0,6,-
+BRDA:38,e0,7,-
+BRDA:38,0,8,-
+BRDA:38,0,9,-
+BRDA:139,0,0,-
+BRDA:139,e0,1,-
+BRDA:139,0,2,-
+BRDA:139,e0,3,-
+BRF:22
+BRH:0
+DA:35,0
+DA:37,0
+DA:38,0
+DA:76,0
+DA:137,0
+DA:138,0
+DA:139,0
+DA:140,0
+LF:8
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.cpp
+FNL:0,14,29
+FNA:0,0,_ZNK14DbcTreeBuilder5BuildERK11DbcDatabase
+FNF:1
+FNH:0
+BRDA:17,0,0,-
+BRDA:17,0,1,-
+BRDA:18,0,0,-
+BRDA:18,e0,1,-
+BRDA:20,0,0,-
+BRDA:20,0,1,-
+BRDA:21,0,0,-
+BRDA:21,e0,1,-
+BRDA:22,0,0,-
+BRDA:22,e0,1,-
+BRDA:25,0,0,-
+BRDA:25,e0,1,-
+BRF:12
+BRH:0
+DA:14,0
+DA:15,0
+DA:17,0
+DA:18,0
+DA:20,0
+DA:21,0
+DA:22,0
+DA:23,0
+DA:25,0
+DA:26,0
+DA:28,0
+DA:29,0
+LF:12
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.cpp
+FNL:0,111,113
+FNA:0,0,_ZN14DecodeDatabaseC2ERKSt6vectorI11DecodeFrameSaIS1_EE
+FNL:1,115,118
+FNA:1,0,_ZNK14DecodeDatabase9GetFramesEv
+FNL:2,120,128
+FNA:2,0,_ZNK14DecodeDatabase9FindFrameERK8FrameKey
+FNL:3,130,144
+FNA:3,0,_ZNK14DecodeDatabase14FindFrameByPgnEj
+FNL:4,146,155
+FNA:4,0,_ZNK14DecodeDatabase10FindSignalERK9SignalKey
+FNL:5,17,33
+FNA:5,0,_ZN12_GLOBAL__N_114ValidateSignalERK12DecodeSignalh
+FNL:6,35,46
+FNA:6,0,_ZN12_GLOBAL__N_113GetSignalBitsERK12DecodeSignal
+FNL:7,48,52
+FNA:7,0,_ZN12_GLOBAL__N_120AreMutuallyExclusiveERK12DecodeSignalS2_
+FNL:8,54,90
+FNA:8,0,_ZN12_GLOBAL__N_113ValidateFrameERK11DecodeFrame
+FNL:9,93,109
+FNA:9,0,_ZN14DecodeDatabase7StorageC2ERKSt6vectorI11DecodeFrameSaIS2_EE
+FNF:10
+FNH:0
+BRDA:18,0,0,-
+BRDA:18,0,1,-
+BRDA:18,0,2,-
+BRDA:18,0,3,-
+BRDA:19,0,0,-
+BRDA:19,e0,1,-
+BRDA:19,0,2,-
+BRDA:19,e0,3,-
+BRDA:20,0,0,-
+BRDA:20,0,1,-
+BRDA:20,0,2,-
+BRDA:20,0,3,-
+BRDA:21,0,0,-
+BRDA:21,e0,1,-
+BRDA:21,0,2,-
+BRDA:21,e0,3,-
+BRDA:22,0,0,-
+BRDA:22,0,1,-
+BRDA:23,0,0,-
+BRDA:23,0,1,-
+BRDA:24,0,0,-
+BRDA:24,0,1,-
+BRDA:25,0,0,-
+BRDA:25,e0,1,-
+BRDA:25,0,2,-
+BRDA:25,e0,3,-
+BRDA:26,0,0,-
+BRDA:26,0,1,-
+BRDA:28,0,0,-
+BRDA:28,e0,1,-
+BRDA:28,0,2,-
+BRDA:28,e0,3,-
+BRDA:29,0,0,-
+BRDA:29,0,1,-
+BRDA:30,0,0,-
+BRDA:30,0,1,-
+BRDA:30,0,2,-
+BRDA:30,0,3,-
+BRDA:30,0,4,-
+BRDA:30,0,5,-
+BRDA:30,0,6,-
+BRDA:30,0,7,-
+BRDA:31,0,0,-
+BRDA:31,0,1,-
+BRDA:32,0,0,-
+BRDA:32,e0,1,-
+BRDA:32,0,2,-
+BRDA:32,e0,3,-
+BRDA:39,0,0,-
+BRDA:39,0,1,-
+BRDA:41,0,0,-
+BRDA:41,0,1,-
+BRDA:50,0,0,-
+BRDA:50,0,1,-
+BRDA:50,0,2,-
+BRDA:50,0,3,-
+BRDA:51,0,0,-
+BRDA:51,0,1,-
+BRDA:55,0,0,-
+BRDA:55,0,1,-
+BRDA:56,0,0,-
+BRDA:56,0,1,-
+BRDA:57,0,0,-
+BRDA:57,e0,1,-
+BRDA:57,0,2,-
+BRDA:57,e0,3,-
+BRDA:59,0,0,-
+BRDA:59,0,1,-
+BRDA:59,0,2,-
+BRDA:59,0,3,-
+BRDA:59,0,4,-
+BRDA:59,0,5,-
+BRDA:59,0,6,-
+BRDA:59,0,7,-
+BRDA:60,0,0,-
+BRDA:60,e0,1,-
+BRDA:60,0,2,-
+BRDA:60,e0,3,-
+BRDA:64,0,0,-
+BRDA:64,0,1,-
+BRDA:65,0,0,-
+BRDA:65,e0,1,-
+BRDA:65,0,2,-
+BRDA:65,0,3,-
+BRDA:66,0,0,-
+BRDA:66,e0,1,-
+BRDA:66,0,2,-
+BRDA:66,e0,3,-
+BRDA:67,0,0,-
+BRDA:67,e0,1,-
+BRDA:68,0,0,-
+BRDA:68,0,1,-
+BRDA:69,0,0,-
+BRDA:69,0,1,-
+BRDA:69,0,2,-
+BRDA:69,0,3,-
+BRDA:70,0,0,-
+BRDA:70,e0,1,-
+BRDA:76,0,0,-
+BRDA:76,e0,1,-
+BRDA:77,0,0,-
+BRDA:77,0,1,-
+BRDA:79,0,0,-
+BRDA:79,0,1,-
+BRDA:79,0,2,-
+BRDA:79,0,3,-
+BRDA:81,0,0,-
+BRDA:81,0,1,-
+BRDA:81,0,2,-
+BRDA:81,0,3,-
+BRDA:82,0,0,-
+BRDA:82,e0,1,-
+BRDA:82,0,2,-
+BRDA:82,e0,3,-
+BRDA:83,0,0,-
+BRDA:83,e0,1,-
+BRDA:84,0,0,-
+BRDA:84,0,1,-
+BRDA:85,0,0,-
+BRDA:85,0,1,-
+BRDA:85,0,2,-
+BRDA:85,0,3,-
+BRDA:85,0,4,-
+BRDA:85,0,5,-
+BRDA:86,0,0,-
+BRDA:86,e0,1,-
+BRDA:86,0,2,-
+BRDA:86,e0,3,-
+BRDA:88,0,0,-
+BRDA:88,e0,1,-
+BRDA:97,0,0,-
+BRDA:97,e0,1,-
+BRDA:98,0,0,-
+BRDA:98,0,1,-
+BRDA:99,0,0,-
+BRDA:99,e0,1,-
+BRDA:100,0,0,-
+BRDA:100,e0,1,-
+BRDA:100,0,2,-
+BRDA:100,0,3,-
+BRDA:101,0,0,-
+BRDA:101,e0,1,-
+BRDA:103,0,0,-
+BRDA:103,e0,1,-
+BRDA:104,0,0,-
+BRDA:104,0,1,-
+BRDA:105,0,0,-
+BRDA:105,e0,1,-
+BRDA:106,0,0,-
+BRDA:106,0,1,-
+BRDA:107,0,0,-
+BRDA:107,e0,1,-
+BRDA:107,0,2,-
+BRDA:107,e0,3,-
+BRDA:116,0,0,-
+BRDA:116,0,1,-
+BRDA:116,0,2,-
+BRDA:116,0,3,-
+BRDA:117,0,0,-
+BRDA:117,0,1,-
+BRDA:121,0,0,-
+BRDA:121,0,1,-
+BRDA:124,0,0,-
+BRDA:124,e0,1,-
+BRDA:125,0,0,-
+BRDA:125,0,1,-
+BRDA:132,0,0,-
+BRDA:132,0,1,-
+BRDA:135,0,0,-
+BRDA:135,e0,1,-
+BRDA:136,0,0,-
+BRDA:136,0,1,-
+BRDA:138,0,0,-
+BRDA:138,0,1,-
+BRDA:147,0,0,-
+BRDA:147,e0,1,-
+BRDA:148,0,0,-
+BRDA:148,0,1,-
+BRDA:150,0,0,-
+BRDA:150,0,1,-
+BRDA:151,0,0,-
+BRDA:151,0,1,-
+BRF:182
+BRH:0
+DA:17,0
+DA:18,0
+DA:19,0
+DA:20,0
+DA:21,0
+DA:22,0
+DA:23,0
+DA:24,0
+DA:25,0
+DA:26,0
+DA:27,0
+DA:28,0
+DA:29,0
+DA:30,0
+DA:31,0
+DA:32,0
+DA:33,0
+DA:35,0
+DA:36,0
+DA:37,0
+DA:38,0
+DA:39,0
+DA:40,0
+DA:41,0
+DA:42,0
+DA:43,0
+DA:45,0
+DA:48,0
+DA:49,0
+DA:50,0
+DA:51,0
+DA:54,0
+DA:55,0
+DA:56,0
+DA:57,0
+DA:59,0
+DA:60,0
+DA:62,0
+DA:63,0
+DA:64,0
+DA:65,0
+DA:66,0
+DA:67,0
+DA:68,0
+DA:69,0
+DA:70,0
+DA:71,0
+DA:75,0
+DA:76,0
+DA:77,0
+DA:78,0
+DA:79,0
+DA:80,0
+DA:81,0
+DA:82,0
+DA:83,0
+DA:84,0
+DA:85,0
+DA:86,0
+DA:88,0
+DA:90,0
+DA:93,0
+DA:94,0
+DA:96,0
+DA:97,0
+DA:98,0
+DA:99,0
+DA:100,0
+DA:101,0
+DA:103,0
+DA:104,0
+DA:105,0
+DA:106,0
+DA:107,0
+DA:109,0
+DA:111,0
+DA:112,0
+DA:113,0
+DA:115,0
+DA:116,0
+DA:117,0
+DA:120,0
+DA:121,0
+DA:122,0
+DA:124,0
+DA:125,0
+DA:126,0
+DA:127,0
+DA:130,0
+DA:131,0
+DA:132,0
+DA:133,0
+DA:135,0
+DA:136,0
+DA:137,0
+DA:138,0
+DA:139,0
+DA:140,0
+DA:142,0
+DA:143,0
+DA:144,0
+DA:146,0
+DA:147,0
+DA:148,0
+DA:149,0
+DA:150,0
+DA:151,0
+DA:152,0
+DA:154,0
+DA:155,0
+LF:110
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h
+FNL:0,103,103
+FNA:0,0,_ZN14DecodeDatabaseC2Ev
+FNL:1,62,62
+FNA:1,0,_ZN12DecodeSignalC2Ev
+FNL:2,83,83
+FNA:2,0,_ZN11DecodeFrameC2Ev
+FNL:3,86,88
+FNA:3,0,_ZNK11DecodeFrame6GetKeyEv
+FNF:4
+FNH:0
+DA:62,0
+DA:83,0
+DA:86,0
+DA:87,0
+DA:103,0
+LF:5
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h
+FNL:0,19,19
+FNA:0,0,_ZN8FrameKeyC2Ev
+FNL:1,22,24
+FNA:1,0,_ZN8FrameKeyC2Ejb
+FNL:2,27,29
+FNA:2,0,_ZNK8FrameKeyeqERKS_
+FNL:3,37,41
+FNA:3,0,_ZNK14FrameKeyHasherclERK8FrameKey
+FNL:4,49,49
+FNA:4,0,_ZN9SignalKeyC2Ev
+FNL:5,51,53
+FNA:5,0,_ZN9SignalKeyC2E8FrameKeyNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:6,56,58
+FNA:6,0,_ZNK9SignalKeyeqERKS_
+FNL:7,64,66
+FNA:7,0,_ZNK15SignalKeyHasherclERK9SignalKey
+FNF:8
+FNH:0
+BRDA:28,0,0,-
+BRDA:28,0,1,-
+BRDA:28,0,2,-
+BRDA:28,0,3,-
+BRDA:39,0,0,-
+BRDA:39,0,1,-
+BRDA:57,0,0,-
+BRDA:57,0,1,-
+BRDA:57,0,2,-
+BRDA:57,0,3,-
+BRF:10
+BRH:0
+DA:19,0
+DA:22,0
+DA:23,0
+DA:24,0
+DA:27,0
+DA:28,0
+DA:37,0
+DA:38,0
+DA:39,0
+DA:40,0
+DA:49,0
+DA:51,0
+DA:52,0
+DA:53,0
+DA:56,0
+DA:57,0
+DA:64,0
+DA:65,0
+LF:18
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h
+FNL:0,41,41
+FNA:0,0,_ZN9FrameInfoC2Ev
+FNF:1
+FNH:0
+DA:41,0
+LF:1
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h
+FNL:0,11,15
+FNA:0,0,_Z15ExtractJ1939Pgnj
+FNF:1
+FNH:0
+BRDA:14,0,0,-
+BRDA:14,0,1,-
+BRF:2
+BRH:0
+DA:11,0
+DA:12,0
+DA:13,0
+DA:14,0
+LF:4
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/multiplexing.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h
+FNL:0,43,43
+FNA:0,0,_ZN10SignalInfoC2Ev
+FNF:1
+FNH:0
+DA:43,0
+LF:1
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h
+FNL:0,13,17
+FNA:0,0,_Z19IsValidSignalLayoutjjbh
+FNL:1,8,11
+FNA:1,0,_Z21SignalStartCoordinatejb
+FNF:2
+FNH:0
+BRDA:9,0,0,-
+BRDA:9,0,1,-
+BRDA:15,0,0,-
+BRDA:15,0,1,-
+BRDA:15,0,2,-
+BRDA:15,0,3,-
+BRDA:16,0,0,-
+BRDA:16,0,1,-
+BRF:8
+BRH:0
+DA:8,0
+DA:9,0
+DA:10,0
+DA:13,0
+DA:15,0
+DA:16,0
+LF:6
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h
+FNL:0,8,20
+FNA:0,0,_ZN10dbc_detail8TrimTextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:1
+FNH:0
+BRDA:10,0,0,-
+BRDA:10,0,1,-
+BRDA:10,0,2,-
+BRDA:10,0,3,-
+BRDA:11,0,0,-
+BRDA:11,0,1,-
+BRDA:15,0,0,-
+BRDA:15,0,1,-
+BRDA:15,0,2,-
+BRDA:15,0,3,-
+BRDA:16,0,0,-
+BRDA:16,0,1,-
+BRF:12
+BRH:0
+DA:8,0
+DA:9,0
+DA:10,0
+DA:11,0
+DA:12,0
+DA:14,0
+DA:15,0
+DA:16,0
+DA:17,0
+DA:19,0
+LF:10
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.cpp
+FNL:0,15,17
+FNA:0,0,_ZN8TreeNodeC2Ev
+FNL:1,19,21
+FNA:1,0,_ZN8TreeNodeC2ERK9FrameInfo
+FNL:2,23,25
+FNA:2,0,_ZN8TreeNodeC2ERK10SignalInfo
+FNL:3,27,39
+FNA:3,0,_ZN8TreeNode8AddChildEOSt10unique_ptrIS_St14default_deleteIS_EE
+FNL:4,41,43
+FNA:4,0,_ZNK8TreeNode13GetChildCountEv
+FNL:5,45,50
+FNA:5,0,_ZNK8TreeNode8GetChildEm
+FNL:6,52,57
+FNA:6,0,_ZN8TreeNode8GetChildEm
+FNL:7,59,61
+FNA:7,0,_ZNK8TreeNode7GetTypeEv
+FNL:8,63,65
+FNA:8,0,_ZNK8TreeNode7GetNameB5cxx11Ev
+FNL:9,67,69
+FNA:9,0,_ZNK8TreeNode8GetFrameEv
+FNL:10,71,73
+FNA:10,0,_ZNK8TreeNode9GetSignalEv
+FNL:11,75,77
+FNA:11,0,_ZNK8TreeNode9GetParentEv
+FNL:12,79,81
+FNA:12,0,_ZNK8TreeNode6GetRowEv
+FNL:13,83,89
+FNA:13,0,_ZNK8TreeNode11GetFrameKeyEv
+FNL:14,91,96
+FNA:14,0,_ZNK8TreeNode12GetSignalKeyEv
+FNF:15
+FNH:0
+BRDA:16,0,0,-
+BRDA:16,e0,1,-
+BRDA:20,0,0,-
+BRDA:20,e0,1,-
+BRDA:24,0,0,-
+BRDA:24,e0,1,-
+BRDA:28,0,0,-
+BRDA:28,0,1,-
+BRDA:29,0,0,-
+BRDA:29,0,1,-
+BRDA:30,0,0,-
+BRDA:30,0,1,-
+BRDA:31,0,0,-
+BRDA:31,e0,1,-
+BRDA:33,0,0,-
+BRDA:33,0,1,-
+BRDA:34,0,0,-
+BRDA:34,e0,1,-
+BRDA:46,0,0,-
+BRDA:46,0,1,-
+BRDA:53,0,0,-
+BRDA:53,0,1,-
+BRDA:84,0,0,-
+BRDA:84,0,1,-
+BRDA:86,0,0,-
+BRDA:86,0,1,-
+BRDA:86,0,2,-
+BRDA:86,0,3,-
+BRDA:86,0,4,-
+BRDA:86,0,5,-
+BRDA:86,0,6,-
+BRDA:86,0,7,-
+BRDA:92,0,0,-
+BRDA:92,e0,1,-
+BRDA:93,0,0,-
+BRDA:93,0,1,-
+BRDA:93,0,2,-
+BRDA:93,0,3,-
+BRDA:93,0,4,-
+BRDA:93,0,5,-
+BRDA:94,0,0,-
+BRDA:94,e0,1,-
+BRF:42
+BRH:0
+DA:15,0
+DA:16,0
+DA:17,0
+DA:19,0
+DA:20,0
+DA:21,0
+DA:23,0
+DA:24,0
+DA:25,0
+DA:27,0
+DA:28,0
+DA:29,0
+DA:30,0
+DA:31,0
+DA:33,0
+DA:34,0
+DA:35,0
+DA:36,0
+DA:37,0
+DA:39,0
+DA:41,0
+DA:42,0
+DA:45,0
+DA:46,0
+DA:47,0
+DA:49,0
+DA:52,0
+DA:53,0
+DA:54,0
+DA:56,0
+DA:59,0
+DA:60,0
+DA:63,0
+DA:64,0
+DA:67,0
+DA:68,0
+DA:71,0
+DA:72,0
+DA:75,0
+DA:76,0
+DA:79,0
+DA:80,0
+DA:83,0
+DA:84,0
+DA:85,0
+DA:86,0
+DA:87,0
+DA:88,0
+DA:91,0
+DA:92,0
+DA:93,0
+DA:94,0
+DA:95,0
+LF:53
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h
+FNL:0,56,56
+FNA:0,0,_ZN8TreeNodeD2Ev
+FNF:1
+FNH:0
+DA:56,0
+LF:1
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h
+FNL:0,106,108
+FNA:0,0,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE8containsERKS5_
+FNL:1,116,118
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI15CountingHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI15DbcFrameHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI16DbcHeaderHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI16DbcSignalHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI17DbcCommentHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI19DbcAttributeHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI26DbcValueDescriptionHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI33DbcUnsupportedMultiplexingHandlerEESt10shared_ptrIS6_Ev
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE11instantiateINS6_12FactoryFirstEEESt10shared_ptrIS7_ESB_
+FNA:1,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE11instantiateINS6_13FactorySecondEEESt10shared_ptrIS7_ESB_
+FNL:2,66,66
+FNA:2,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEEC2Ev
+FNA:2,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEEC2Ev
+FNL:3,78,85
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI15CountingHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI15DbcFrameHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI16DbcHeaderHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI16DbcSignalHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI17DbcCommentHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI19DbcAttributeHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI26DbcValueDescriptionHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI33DbcUnsupportedMultiplexingHandlerEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE12registerTypeINS6_12FactoryFirstEEEvRKS5_
+FNA:3,0,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE12registerTypeINS6_13FactorySecondEEEvRKS5_
+FNL:4,91,93
+FNA:4,0,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE7creatorERKS5_
+FNA:4,0,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE7creatorERKS5_
+FNL:5,99,101
+FNA:5,0,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE6createERKS5_
+FNA:5,0,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE6createERKS5_SB_
+FNF:6
+FNH:0
+BRDA:84,0,0,-
+BRDA:84,e0,1,-
+BRDA:100,0,0,-
+BRDA:100,e0,1,-
+BRDA:107,0,0,-
+BRDA:107,e0,1,-
+BRDA:117,0,0,-
+BRDA:117,e0,1,-
+BRF:8
+BRH:0
+DA:66,0
+DA:78,0
+DA:84,0
+DA:85,0
+DA:91,0
+DA:92,0
+DA:99,0
+DA:100,0
+DA:106,0
+DA:107,0
+DA:116,0
+DA:117,0
+LF:12
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h
+FNL:0,13,19
+FNA:0,0,_Z17NormalizeValueKeyRKSt7variantIJlmEE
+FNL:1,24,28
+FNA:1,0,_Z20FindValueDescriptionRKSt3mapISt7variantIJlmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS1_ESaISt4pairIKS1_S7_EEERSB_
+FNF:2
+FNH:0
+BRDA:14,0,0,-
+BRDA:14,0,1,-
+BRDA:15,0,0,-
+BRDA:15,0,1,-
+BRDA:26,0,0,-
+BRDA:26,e0,1,-
+BRDA:27,0,0,-
+BRDA:27,0,1,-
+BRF:8
+BRH:0
+DA:13,0
+DA:14,0
+DA:15,0
+DA:16,0
+DA:18,0
+DA:24,0
+DA:26,0
+DA:27,0
+LF:8
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/dbc_tree_model.cpp
+FNL:0,138,143
+FNA:0,0,_ZNK12DbcTreeModel10headerDataEiN2Qt11OrientationEi
+FNL:1,145,147
+FNA:1,0,_ZNK12DbcTreeModel5flagsERK11QModelIndex
+FNL:2,25,25
+FNA:2,0,_ZN12DbcTreeModelC2EP7QObject
+FNL:3,27,33
+FNA:3,0,_ZN12DbcTreeModel7SetTreeESt10unique_ptrI8TreeNodeSt14default_deleteIS1_EE
+FNL:4,35,40
+FNA:4,0,_ZNK12DbcTreeModel4NodeERK11QModelIndex
+FNL:5,42,51
+FNA:5,0,_ZNK12DbcTreeModel5indexEiiRK11QModelIndex
+FNL:6,53,59
+FNA:6,0,_ZNK12DbcTreeModel6parentERK11QModelIndex
+FNL:7,61,68
+FNA:7,0,_ZNK12DbcTreeModel8rowCountERK11QModelIndex
+FNL:8,70,72
+FNA:8,0,_ZNK12DbcTreeModel11columnCountERK11QModelIndex
+FNL:9,74,136
+FNA:9,0,_ZNK12DbcTreeModel4dataERK11QModelIndexi
+FNL:10,9,22
+FNA:10,0,_ZN12_GLOBAL__N_113ToVariantListERKSt3mapISt7variantIJlmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS2_ESaISt4pairIKS2_S8_EEE
+FNF:11
+FNH:0
+BRDA:11,0,0,-
+BRDA:11,0,1,-
+BRDA:13,0,0,-
+BRDA:13,0,1,-
+BRDA:14,0,0,-
+BRDA:14,e0,1,-
+BRDA:14,0,2,-
+BRDA:14,e0,3,-
+BRDA:16,0,0,-
+BRDA:16,e0,1,-
+BRDA:16,0,2,-
+BRDA:16,e0,3,-
+BRDA:17,0,0,-
+BRDA:17,e0,1,-
+BRDA:18,0,0,-
+BRDA:18,e0,1,-
+BRDA:18,0,2,-
+BRDA:18,e0,3,-
+BRDA:18,0,4,-
+BRDA:18,e0,5,-
+BRDA:19,0,0,-
+BRDA:19,e0,1,-
+BRDA:28,0,0,-
+BRDA:28,0,1,-
+BRDA:28,0,2,-
+BRDA:28,0,3,-
+BRDA:28,0,4,-
+BRDA:28,0,5,-
+BRDA:28,0,6,-
+BRDA:28,0,7,-
+BRDA:29,0,0,-
+BRDA:29,e0,1,-
+BRDA:36,0,0,-
+BRDA:36,0,1,-
+BRDA:36,0,2,-
+BRDA:36,0,3,-
+BRDA:36,0,4,-
+BRDA:36,0,5,-
+BRDA:37,0,0,-
+BRDA:37,0,1,-
+BRDA:37,0,2,-
+BRDA:37,0,3,-
+BRDA:37,0,4,-
+BRDA:37,0,5,-
+BRDA:43,0,0,-
+BRDA:43,0,1,-
+BRDA:43,0,2,-
+BRDA:43,0,3,-
+BRDA:43,0,4,-
+BRDA:43,0,5,-
+BRDA:43,0,6,-
+BRDA:43,0,7,-
+BRDA:43,0,8,-
+BRDA:43,0,9,-
+BRDA:44,0,0,-
+BRDA:44,0,1,-
+BRDA:46,0,0,-
+BRDA:46,0,1,-
+BRDA:47,0,0,-
+BRDA:47,0,1,-
+BRDA:50,0,0,-
+BRDA:50,0,1,-
+BRDA:55,0,0,-
+BRDA:55,0,1,-
+BRDA:56,0,0,-
+BRDA:56,0,1,-
+BRDA:56,0,2,-
+BRDA:56,0,3,-
+BRDA:56,0,4,-
+BRDA:56,0,5,-
+BRDA:62,0,0,-
+BRDA:62,0,1,-
+BRDA:62,0,2,-
+BRDA:62,0,3,-
+BRDA:62,0,4,-
+BRDA:62,0,5,-
+BRDA:64,0,0,-
+BRDA:64,0,1,-
+BRDA:65,0,0,-
+BRDA:65,0,1,-
+BRDA:67,0,0,-
+BRDA:67,e0,1,-
+BRDA:71,0,0,-
+BRDA:71,0,1,-
+BRDA:71,0,2,-
+BRDA:71,0,3,-
+BRDA:75,0,0,-
+BRDA:75,e0,1,-
+BRDA:76,0,0,-
+BRDA:76,0,1,-
+BRDA:78,0,0,-
+BRDA:78,e0,1,-
+BRDA:79,0,0,-
+BRDA:79,e0,1,-
+BRDA:81,0,0,-
+BRDA:81,0,1,-
+BRDA:82,0,0,-
+BRDA:82,e0,1,-
+BRDA:83,0,0,-
+BRDA:83,0,1,-
+BRDA:84,0,0,-
+BRDA:84,e0,1,-
+BRDA:85,0,0,-
+BRDA:85,0,1,-
+BRDA:85,0,2,-
+BRDA:85,0,3,-
+BRDA:87,0,0,-
+BRDA:87,0,1,-
+BRDA:88,0,0,-
+BRDA:88,e0,1,-
+BRDA:89,0,0,-
+BRDA:89,0,1,-
+BRDA:89,0,2,-
+BRDA:89,0,3,-
+BRDA:90,0,0,-
+BRDA:90,e0,1,-
+BRDA:92,0,0,-
+BRDA:92,0,1,-
+BRDA:93,0,0,-
+BRDA:93,0,1,-
+BRDA:95,0,0,-
+BRDA:95,0,1,-
+BRDA:97,0,0,-
+BRDA:97,0,1,-
+BRDA:100,0,0,-
+BRDA:100,0,1,-
+BRDA:101,0,0,-
+BRDA:101,0,1,-
+BRDA:103,0,0,-
+BRDA:103,0,1,-
+BRDA:105,0,0,-
+BRDA:105,0,1,-
+BRDA:107,0,0,-
+BRDA:107,0,1,-
+BRDA:109,0,0,-
+BRDA:109,0,1,-
+BRDA:110,0,0,-
+BRDA:110,e0,1,-
+BRDA:112,0,0,-
+BRDA:112,0,1,-
+BRDA:114,0,0,-
+BRDA:114,0,1,-
+BRDA:114,0,2,-
+BRDA:114,0,3,-
+BRDA:114,0,4,-
+BRDA:114,0,5,-
+BRDA:114,0,6,-
+BRDA:114,0,7,-
+BRDA:114,0,8,-
+BRDA:114,0,9,-
+BRDA:116,0,0,-
+BRDA:116,e0,1,-
+BRDA:116,0,2,-
+BRDA:116,e0,3,-
+BRDA:118,0,0,-
+BRDA:118,0,1,-
+BRDA:118,0,2,-
+BRDA:118,e0,3,-
+BRDA:118,0,4,-
+BRDA:118,e0,5,-
+BRDA:118,0,6,-
+BRDA:118,e0,7,-
+BRDA:118,0,8,-
+BRDA:118,0,9,-
+BRDA:118,0,10,-
+BRDA:118,0,11,-
+BRDA:118,0,12,-
+BRDA:118,0,13,-
+BRDA:118,0,14,-
+BRDA:118,0,15,-
+BRDA:118,0,16,-
+BRDA:118,0,17,-
+BRDA:118,0,18,-
+BRDA:118,0,19,-
+BRDA:120,0,0,-
+BRDA:120,0,1,-
+BRDA:122,0,0,-
+BRDA:122,0,1,-
+BRDA:124,0,0,-
+BRDA:124,0,1,-
+BRDA:126,0,0,-
+BRDA:126,0,1,-
+BRDA:126,0,2,-
+BRDA:126,0,3,-
+BRDA:126,0,4,-
+BRDA:126,e0,5,-
+BRDA:128,0,0,-
+BRDA:128,0,1,-
+BRDA:128,0,2,-
+BRDA:128,0,3,-
+BRDA:128,0,4,-
+BRDA:128,e0,5,-
+BRDA:130,0,0,-
+BRDA:130,0,1,-
+BRDA:130,0,2,-
+BRDA:130,e0,3,-
+BRDA:130,0,4,-
+BRDA:130,0,5,-
+BRDA:130,0,6,-
+BRDA:130,0,7,-
+BRDA:140,0,0,-
+BRDA:140,0,1,-
+BRDA:140,0,2,-
+BRDA:140,0,3,-
+BRDA:140,0,4,-
+BRDA:140,0,5,-
+BRDA:140,0,6,-
+BRDA:140,0,7,-
+BRDA:142,0,0,-
+BRDA:142,e0,1,-
+BRDA:146,0,0,-
+BRDA:146,0,1,-
+BRF:212
+BRH:0
+DA:9,0
+DA:10,0
+DA:11,0
+DA:12,0
+DA:13,0
+DA:14,0
+DA:16,0
+DA:17,0
+DA:18,0
+DA:19,0
+DA:20,0
+DA:21,0
+DA:22,0
+DA:25,0
+DA:27,0
+DA:28,0
+DA:29,0
+DA:30,0
+DA:31,0
+DA:32,0
+DA:33,0
+DA:35,0
+DA:36,0
+DA:37,0
+DA:38,0
+DA:39,0
+DA:42,0
+DA:43,0
+DA:44,0
+DA:45,0
+DA:46,0
+DA:47,0
+DA:48,0
+DA:49,0
+DA:50,0
+DA:53,0
+DA:54,0
+DA:55,0
+DA:56,0
+DA:57,0
+DA:58,0
+DA:61,0
+DA:62,0
+DA:63,0
+DA:64,0
+DA:65,0
+DA:66,0
+DA:67,0
+DA:70,0
+DA:71,0
+DA:74,0
+DA:75,0
+DA:76,0
+DA:77,0
+DA:78,0
+DA:79,0
+DA:80,0
+DA:81,0
+DA:82,0
+DA:83,0
+DA:84,0
+DA:85,0
+DA:86,0
+DA:87,0
+DA:88,0
+DA:89,0
+DA:90,0
+DA:92,0
+DA:93,0
+DA:94,0
+DA:95,0
+DA:96,0
+DA:97,0
+DA:98,0
+DA:100,0
+DA:101,0
+DA:102,0
+DA:103,0
+DA:104,0
+DA:105,0
+DA:106,0
+DA:107,0
+DA:108,0
+DA:109,0
+DA:110,0
+DA:112,0
+DA:113,0
+DA:114,0
+DA:115,0
+DA:116,0
+DA:117,0
+DA:118,0
+DA:119,0
+DA:120,0
+DA:121,0
+DA:122,0
+DA:123,0
+DA:124,0
+DA:125,0
+DA:126,0
+DA:127,0
+DA:128,0
+DA:129,0
+DA:130,0
+DA:131,0
+DA:132,0
+DA:133,0
+DA:134,0
+DA:136,0
+DA:138,0
+DA:140,0
+DA:141,0
+DA:142,0
+DA:145,0
+DA:146,0
+LF:115
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/dbc_tree_model.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
diff --git a/build-coverage/core/Makefile b/build-coverage/core/Makefile
new file mode 100644
index 0000000..4148689
--- /dev/null
+++ b/build-coverage/core/Makefile
@@ -0,0 +1,842 @@
+#############################################################################
+# Makefile for building: libdbc_core.a
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../core/core.pro
+# Template: lib
+# Command: /usr/bin/qmake6 -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES =
+CFLAGS = -pipe -g -fPIC -Wall -Wextra $(DEFINES)
+CXXFLAGS = -pipe --coverage -fprofile-abs-path -g -fPIC -std=gnu++1z -Wall -Wextra $(DEFINES)
+INCPATH = -I../../core -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_core1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/core/.tmp/dbc_core1.0.0
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../core/dbc_attributes.cpp \
+ ../../core/decode_database.cpp \
+ ../../core/dbc_decode_builder.cpp \
+ ../../core/dbc_decoder.cpp \
+ ../../core/dbc_parser.cpp \
+ ../../core/dbc_statement_handler.cpp \
+ ../../core/dbc_tree_builder.cpp \
+ ../../core/tree_node.cpp
+OBJECTS = dbc_attributes.o \
+ decode_database.o \
+ dbc_decode_builder.o \
+ dbc_decoder.o \
+ dbc_parser.o \
+ dbc_statement_handler.o \
+ dbc_tree_builder.o \
+ tree_node.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../core/core_files.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../core/core.pro /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/attributes.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/multiplexing.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_database.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h ../../core/dbc_attributes.cpp \
+ ../../core/decode_database.cpp \
+ ../../core/dbc_decode_builder.cpp \
+ ../../core/dbc_decoder.cpp \
+ ../../core/dbc_parser.cpp \
+ ../../core/dbc_statement_handler.cpp \
+ ../../core/dbc_tree_builder.cpp \
+ ../../core/tree_node.cpp
+QMAKE_TARGET = dbc_core
+DESTDIR =
+TARGET = libdbc_core.a
+
+
+first: all
+####### Build rules
+
+staticlib: $(TARGET)
+
+libdbc_core.a: $(OBJECTS) $(OBJCOMP)
+ -$(DEL_FILE) $(TARGET)
+ $(AR) $(DESTDIR)$(TARGET) $(OBJECTS)
+
+
+Makefile: ../../core/core.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../core/core_files.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../core/core.pro
+ $(QMAKE) -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../core/core_files.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../core/core.pro:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+
+qmake_all: FORCE
+
+
+all: Makefile libdbc_core.a
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+####### Sub-libraries
+
+check: first
+
+benchmark: first
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean:
+
+####### Compile
+
+dbc_attributes.o: ../../core/dbc_attributes.cpp ../../core/dbc_statement_handler.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/typefactory.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_attributes.o ../../core/dbc_attributes.cpp
+
+decode_database.o: ../../core/decode_database.cpp ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/j1939.h \
+ ../../core/signal_layout.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o decode_database.o ../../core/decode_database.cpp
+
+dbc_decode_builder.o: ../../core/dbc_decode_builder.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decode_builder.o ../../core/dbc_decode_builder.cpp
+
+dbc_decoder.o: ../../core/dbc_decoder.cpp ../../core/dbc_decoder.h \
+ ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/j1939.h \
+ ../../core/signal_layout.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decoder.o ../../core/dbc_decoder.cpp
+
+dbc_parser.o: ../../core/dbc_parser.cpp ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/text_utils.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_parser.o ../../core/dbc_parser.cpp
+
+dbc_statement_handler.o: ../../core/dbc_statement_handler.cpp ../../core/dbc_statement_handler.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/typefactory.h \
+ ../../core/j1939.h \
+ ../../core/text_utils.h \
+ ../../core/signal_layout.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_statement_handler.o ../../core/dbc_statement_handler.cpp
+
+dbc_tree_builder.o: ../../core/dbc_tree_builder.cpp ../../core/dbc_tree_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_builder.o ../../core/dbc_tree_builder.cpp
+
+tree_node.o: ../../core/tree_node.cpp ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node.o ../../core/tree_node.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-coverage/core/dbc_attributes.gcda b/build-coverage/core/dbc_attributes.gcda
new file mode 100644
index 0000000..6c84d43
Binary files /dev/null and b/build-coverage/core/dbc_attributes.gcda differ
diff --git a/build-coverage/core/dbc_attributes.gcno b/build-coverage/core/dbc_attributes.gcno
new file mode 100644
index 0000000..e69de29
diff --git a/build-coverage/core/dbc_attributes.o b/build-coverage/core/dbc_attributes.o
new file mode 100644
index 0000000..e69de29
diff --git a/build-coverage/core/dbc_decode_builder.gcda b/build-coverage/core/dbc_decode_builder.gcda
new file mode 100644
index 0000000..196606b
Binary files /dev/null and b/build-coverage/core/dbc_decode_builder.gcda differ
diff --git a/build-coverage/core/dbc_decode_builder.gcno b/build-coverage/core/dbc_decode_builder.gcno
new file mode 100644
index 0000000..1f52831
Binary files /dev/null and b/build-coverage/core/dbc_decode_builder.gcno differ
diff --git a/build-coverage/core/dbc_decode_builder.o b/build-coverage/core/dbc_decode_builder.o
new file mode 100644
index 0000000..e69de29
diff --git a/build-coverage/core/dbc_decoder.gcda b/build-coverage/core/dbc_decoder.gcda
new file mode 100644
index 0000000..fe9df4c
Binary files /dev/null and b/build-coverage/core/dbc_decoder.gcda differ
diff --git a/build-coverage/core/dbc_decoder.gcno b/build-coverage/core/dbc_decoder.gcno
new file mode 100644
index 0000000..77e761d
Binary files /dev/null and b/build-coverage/core/dbc_decoder.gcno differ
diff --git a/build-coverage/core/dbc_decoder.o b/build-coverage/core/dbc_decoder.o
new file mode 100644
index 0000000..c10311f
Binary files /dev/null and b/build-coverage/core/dbc_decoder.o differ
diff --git a/build-coverage/core/dbc_parser.gcda b/build-coverage/core/dbc_parser.gcda
new file mode 100644
index 0000000..26d7811
Binary files /dev/null and b/build-coverage/core/dbc_parser.gcda differ
diff --git a/build-coverage/core/dbc_parser.gcno b/build-coverage/core/dbc_parser.gcno
new file mode 100644
index 0000000..e3066e5
Binary files /dev/null and b/build-coverage/core/dbc_parser.gcno differ
diff --git a/build-coverage/core/dbc_parser.o b/build-coverage/core/dbc_parser.o
new file mode 100644
index 0000000..c6cd5d2
Binary files /dev/null and b/build-coverage/core/dbc_parser.o differ
diff --git a/build-coverage/core/dbc_statement_handler.gcda b/build-coverage/core/dbc_statement_handler.gcda
new file mode 100644
index 0000000..5746671
Binary files /dev/null and b/build-coverage/core/dbc_statement_handler.gcda differ
diff --git a/build-coverage/core/dbc_statement_handler.gcno b/build-coverage/core/dbc_statement_handler.gcno
new file mode 100644
index 0000000..e6b0257
Binary files /dev/null and b/build-coverage/core/dbc_statement_handler.gcno differ
diff --git a/build-coverage/core/dbc_statement_handler.o b/build-coverage/core/dbc_statement_handler.o
new file mode 100644
index 0000000..5d3ef1b
Binary files /dev/null and b/build-coverage/core/dbc_statement_handler.o differ
diff --git a/build-coverage/core/dbc_tree_builder.gcda b/build-coverage/core/dbc_tree_builder.gcda
new file mode 100644
index 0000000..ccd762b
Binary files /dev/null and b/build-coverage/core/dbc_tree_builder.gcda differ
diff --git a/build-coverage/core/dbc_tree_builder.gcno b/build-coverage/core/dbc_tree_builder.gcno
new file mode 100644
index 0000000..8ce8fe4
Binary files /dev/null and b/build-coverage/core/dbc_tree_builder.gcno differ
diff --git a/build-coverage/core/dbc_tree_builder.o b/build-coverage/core/dbc_tree_builder.o
new file mode 100644
index 0000000..74cc6f1
Binary files /dev/null and b/build-coverage/core/dbc_tree_builder.o differ
diff --git a/build-coverage/core/decode_database.gcda b/build-coverage/core/decode_database.gcda
new file mode 100644
index 0000000..35a73dc
Binary files /dev/null and b/build-coverage/core/decode_database.gcda differ
diff --git a/build-coverage/core/decode_database.gcno b/build-coverage/core/decode_database.gcno
new file mode 100644
index 0000000..3b4ff54
Binary files /dev/null and b/build-coverage/core/decode_database.gcno differ
diff --git a/build-coverage/core/decode_database.o b/build-coverage/core/decode_database.o
new file mode 100644
index 0000000..e69de29
diff --git a/build-coverage/core/libdbc_core.a b/build-coverage/core/libdbc_core.a
new file mode 100644
index 0000000..58de028
Binary files /dev/null and b/build-coverage/core/libdbc_core.a differ
diff --git a/build-coverage/core/tree_node.gcda b/build-coverage/core/tree_node.gcda
new file mode 100644
index 0000000..1357b59
Binary files /dev/null and b/build-coverage/core/tree_node.gcda differ
diff --git a/build-coverage/core/tree_node.gcno b/build-coverage/core/tree_node.gcno
new file mode 100644
index 0000000..dcd1471
Binary files /dev/null and b/build-coverage/core/tree_node.gcno differ
diff --git a/build-coverage/core/tree_node.o b/build-coverage/core/tree_node.o
new file mode 100644
index 0000000..2769dff
Binary files /dev/null and b/build-coverage/core/tree_node.o differ
diff --git a/build-coverage/coverage.info b/build-coverage/coverage.info
new file mode 100644
index 0000000..036224e
--- /dev/null
+++ b/build-coverage/coverage.info
@@ -0,0 +1,4171 @@
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_attributes.cpp
+FNL:0,108,121
+FNA:0,239,_ZN12_GLOBAL__N_111ParseNumberIdEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,627,_ZN12_GLOBAL__N_111ParseNumberIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:1,123,146
+FNA:1,204,_ZN12_GLOBAL__N_15ValueERKNS_5TokenERK19AttributeDefinitionb
+FNL:2,14,62
+FNA:2,621,_ZN12_GLOBAL__N_18TokenizeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:3,148,196
+FNA:3,393,_ZN12_GLOBAL__N_16DefineERNS_15AttributeTokensER11DbcDatabase
+FNL:4,198,203
+FNA:4,218,_ZN12_GLOBAL__N_114FindDefinitionER11DbcDatabaseRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:5,205,212
+FNA:5,32,_ZN12_GLOBAL__N_17ParseIdERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER19AttributeAssignment
+FNL:6,214,225
+FNA:6,15,_ZN12_GLOBAL__N_16TargetER11DbcDatabaseRK19AttributeAssignment
+FNL:7,227,232
+FNA:7,36,_ZN12_GLOBAL__N_117ValidateCycleTimeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt7variantIJldS5_EE
+FNL:8,234,248
+FNA:8,15,_ZN12_GLOBAL__N_112ApplyDefaultER11DbcDatabaseRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK19AttributeDefinition
+FNL:9,251,253
+FNA:9,621,_ZNK19DbcAttributeHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:10,255,333
+FNA:10,549,_ZN15DbcParseContext17ResolveAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorI13DbcDiagnosticSaIS9_EE
+FNL:11,66,66
+FNA:11,621,_ZN12_GLOBAL__N_115AttributeTokensC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:12,67,71
+FNA:12,2639,_ZN12_GLOBAL__N_115AttributeTokens4TakeEv
+FNL:13,72,77
+FNA:13,1681,_ZN12_GLOBAL__N_115AttributeTokens4WordEv
+FNL:14,78,83
+FNA:14,315,_ZN12_GLOBAL__N_115AttributeTokens6QuotedEv
+FNL:15,84,84
+FNA:15,262,_ZNK12_GLOBAL__N_115AttributeTokens5EmptyEv
+FNL:16,85,88
+FNA:16,245,_ZNK12_GLOBAL__N_115AttributeTokens3EndEv
+FNL:17,95,97
+FNA:17,115,_ZN12_GLOBAL__N_17IsScopeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:18,99,105
+FNA:18,110,_ZN12_GLOBAL__N_110ParseScopeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:19
+FNH:19
+BRDA:17,0,0,5528
+BRDA:17,0,1,613
+BRDA:19,0,0,3390
+BRDA:19,0,1,2138
+BRDA:19,0,2,0
+BRDA:19,0,3,3390
+BRDA:22,0,0,652
+BRDA:22,0,1,2738
+BRDA:25,0,0,1936
+BRDA:25,0,1,2
+BRDA:27,0,0,648
+BRDA:27,0,1,1288
+BRDA:31,0,0,4
+BRDA:31,0,1,1284
+BRDA:32,0,0,0
+BRDA:32,0,1,4
+BRDA:33,0,0,-
+BRDA:33,e0,1,-
+BRDA:35,0,0,3
+BRDA:35,0,1,1
+BRDA:35,0,2,2
+BRDA:35,0,3,1
+BRDA:36,0,0,2
+BRDA:36,e0,1,0
+BRDA:38,0,0,1286
+BRDA:38,e0,1,0
+BRDA:40,0,0,2
+BRDA:40,0,1,648
+BRDA:41,0,0,2
+BRDA:41,e0,1,0
+BRDA:42,0,0,33
+BRDA:42,0,1,615
+BRDA:42,0,2,33
+BRDA:42,0,3,0
+BRDA:43,0,0,648
+BRDA:43,0,1,0
+BRDA:43,0,2,23
+BRDA:43,0,3,10
+BRDA:43,0,4,2
+BRDA:43,0,5,21
+BRDA:43,0,6,2
+BRDA:43,0,7,646
+BRDA:44,0,0,2
+BRDA:44,e0,1,0
+BRDA:45,0,0,2125
+BRDA:45,0,1,613
+BRDA:45,0,2,10
+BRDA:45,0,3,2115
+BRDA:46,0,0,623
+BRDA:46,e0,1,0
+BRDA:48,0,0,2115
+BRDA:48,e0,1,0
+BRDA:49,0,0,7618
+BRDA:49,0,1,1521
+BRDA:49,0,2,7618
+BRDA:49,0,3,0
+BRDA:50,0,0,9139
+BRDA:50,0,1,2
+BRDA:50,0,2,7028
+BRDA:50,0,3,590
+BRDA:50,0,4,7028
+BRDA:50,0,5,0
+BRDA:50,0,6,7028
+BRDA:50,0,7,2113
+BRDA:51,0,0,2
+BRDA:51,0,1,7026
+BRDA:52,0,0,2
+BRDA:52,e0,1,0
+BRDA:53,0,0,7026
+BRDA:53,e0,1,0
+BRDA:56,0,0,3382
+BRDA:56,e0,1,0
+BRDA:58,0,0,613
+BRDA:58,0,1,0
+BRDA:58,0,2,613
+BRDA:58,0,3,0
+BRDA:58,0,4,613
+BRDA:58,e0,5,0
+BRDA:58,0,6,2
+BRDA:58,0,7,611
+BRDA:58,0,8,2
+BRDA:58,0,9,611
+BRDA:59,0,0,2
+BRDA:59,e0,1,0
+BRDA:68,0,0,4
+BRDA:68,0,1,2635
+BRDA:69,0,0,4
+BRDA:69,e0,1,0
+BRDA:73,0,0,1681
+BRDA:73,e0,1,0
+BRDA:74,0,0,1679
+BRDA:74,0,1,2
+BRDA:74,0,2,1679
+BRDA:74,e0,3,0
+BRDA:74,0,4,1679
+BRDA:74,0,5,0
+BRDA:74,0,6,1679
+BRDA:74,e0,7,0
+BRDA:74,0,8,0
+BRDA:74,0,9,1679
+BRDA:74,0,10,2
+BRDA:74,0,11,1679
+BRDA:75,0,0,2
+BRDA:75,e0,1,0
+BRDA:76,0,0,1679
+BRDA:76,e0,1,0
+BRDA:79,0,0,311
+BRDA:79,e0,1,4
+BRDA:80,0,0,2
+BRDA:80,0,1,309
+BRDA:81,0,0,2
+BRDA:81,e0,1,0
+BRDA:82,0,0,309
+BRDA:82,e0,1,0
+BRDA:86,0,0,0
+BRDA:86,0,1,245
+BRDA:87,0,0,-
+BRDA:87,e0,1,-
+BRDA:96,0,0,88
+BRDA:96,0,1,27
+BRDA:96,0,2,83
+BRDA:96,0,3,5
+BRDA:96,0,4,82
+BRDA:96,0,5,1
+BRDA:96,0,6,1
+BRDA:96,0,7,81
+BRDA:100,0,0,93
+BRDA:100,0,1,17
+BRDA:101,0,0,11
+BRDA:101,0,1,6
+BRDA:102,0,0,2
+BRDA:102,0,1,4
+BRDA:103,0,0,2
+BRDA:103,0,1,2
+BRDA:104,0,0,2
+BRDA:104,e0,1,0
+BRDA:104,0,2,2
+BRDA:104,e0,3,0
+BRDA:111,0,0,866
+BRDA:111,0,1,0
+BRDA:111,0,2,78
+BRDA:111,0,3,788
+BRDA:113,0,0,54
+BRDA:113,0,1,24
+BRDA:113,0,2,30
+BRDA:113,0,3,24
+BRDA:113,0,4,24
+BRDA:113,0,5,6
+BRDA:114,0,0,48
+BRDA:114,e0,1,0
+BRDA:114,0,2,48
+BRDA:114,e0,3,0
+BRDA:117,0,0,595
+BRDA:117,e0,1,0
+BRDA:118,0,0,794
+BRDA:118,0,1,24
+BRDA:118,0,2,664
+BRDA:118,0,3,130
+BRDA:118,0,4,576
+BRDA:118,0,5,88
+BRDA:118,0,6,28
+BRDA:118,0,7,548
+BRDA:118,0,8,270
+BRDA:118,0,9,548
+BRDA:119,0,0,270
+BRDA:119,e0,1,0
+BRDA:119,0,2,270
+BRDA:119,e0,3,0
+BRDA:124,0,0,6
+BRDA:124,0,1,198
+BRDA:125,0,0,2
+BRDA:125,0,1,4
+BRDA:125,0,2,2
+BRDA:125,e0,3,0
+BRDA:126,0,0,4
+BRDA:126,e0,1,0
+BRDA:128,0,0,10
+BRDA:128,0,1,188
+BRDA:128,0,2,5
+BRDA:128,0,3,5
+BRDA:128,0,4,4
+BRDA:128,0,5,1
+BRDA:129,0,0,7
+BRDA:129,0,1,2
+BRDA:130,0,0,2
+BRDA:130,0,1,5
+BRDA:133,0,0,2
+BRDA:133,e0,1,0
+BRDA:135,0,0,2
+BRDA:135,0,1,192
+BRDA:135,0,2,2
+BRDA:135,e0,3,0
+BRDA:136,0,0,53
+BRDA:136,0,1,139
+BRDA:137,0,0,5
+BRDA:137,e0,1,48
+BRDA:138,0,0,5
+BRDA:138,0,1,0
+BRDA:138,0,2,2
+BRDA:138,0,3,3
+BRDA:139,0,0,2
+BRDA:139,e0,1,0
+BRDA:142,0,0,31
+BRDA:142,e0,1,108
+BRDA:143,0,0,31
+BRDA:143,0,1,0
+BRDA:143,0,2,4
+BRDA:143,0,3,27
+BRDA:144,0,0,4
+BRDA:144,e0,1,0
+BRDA:150,0,0,393
+BRDA:150,e0,1,0
+BRDA:151,0,0,393
+BRDA:151,e0,1,0
+BRDA:152,0,0,76
+BRDA:152,0,1,317
+BRDA:153,0,0,74
+BRDA:153,e0,1,2
+BRDA:154,0,0,72
+BRDA:154,e0,1,2
+BRDA:156,0,0,0
+BRDA:156,0,1,389
+BRDA:156,0,2,0
+BRDA:156,e0,3,0
+BRDA:157,0,0,387
+BRDA:157,e0,1,2
+BRDA:158,0,0,387
+BRDA:158,e0,1,0
+BRDA:158,0,2,230
+BRDA:158,0,3,157
+BRDA:158,0,4,230
+BRDA:158,e0,5,0
+BRDA:158,0,6,98
+BRDA:158,0,7,132
+BRDA:158,0,8,255
+BRDA:158,0,9,132
+BRDA:159,0,0,255
+BRDA:159,e0,1,0
+BRDA:159,0,2,157
+BRDA:159,0,3,98
+BRDA:160,0,0,255
+BRDA:160,e0,1,0
+BRDA:160,0,2,201
+BRDA:160,e0,3,54
+BRDA:161,0,0,201
+BRDA:161,e0,1,0
+BRDA:161,0,2,145
+BRDA:161,e0,3,56
+BRDA:162,0,0,2
+BRDA:162,0,1,143
+BRDA:163,0,0,2
+BRDA:163,e0,1,0
+BRDA:164,0,0,132
+BRDA:164,e0,1,0
+BRDA:164,0,2,106
+BRDA:164,0,3,26
+BRDA:166,0,0,106
+BRDA:166,e0,1,0
+BRDA:166,0,2,80
+BRDA:166,e0,3,26
+BRDA:167,0,0,80
+BRDA:167,e0,1,0
+BRDA:167,0,2,54
+BRDA:167,e0,3,26
+BRDA:168,0,0,2
+BRDA:168,0,1,52
+BRDA:169,0,0,2
+BRDA:169,e0,1,0
+BRDA:170,0,0,26
+BRDA:170,e0,1,0
+BRDA:170,0,2,11
+BRDA:170,0,3,15
+BRDA:172,0,0,15
+BRDA:172,e0,1,0
+BRDA:172,0,2,13
+BRDA:172,0,3,2
+BRDA:176,0,0,19
+BRDA:176,e0,1,4
+BRDA:177,0,0,19
+BRDA:177,e0,1,0
+BRDA:177,0,2,2
+BRDA:177,0,3,17
+BRDA:178,0,0,2
+BRDA:178,e0,1,0
+BRDA:179,0,0,17
+BRDA:179,e0,1,0
+BRDA:180,0,0,7
+BRDA:180,0,1,10
+BRDA:181,0,0,10
+BRDA:181,e0,1,0
+BRDA:182,0,0,10
+BRDA:182,0,1,0
+BRDA:182,0,2,10
+BRDA:182,e0,3,0
+BRDA:182,0,4,0
+BRDA:182,0,5,10
+BRDA:182,0,6,0
+BRDA:182,0,7,10
+BRDA:182,0,8,0
+BRDA:182,e0,9,0
+BRDA:183,0,0,10
+BRDA:183,0,1,7
+BRDA:186,0,0,2
+BRDA:186,e0,1,0
+BRDA:186,0,2,2
+BRDA:186,e0,3,0
+BRDA:188,0,0,213
+BRDA:188,e0,1,0
+BRDA:189,0,0,213
+BRDA:189,e0,1,0
+BRDA:189,0,2,4
+BRDA:189,0,3,209
+BRDA:189,0,4,4
+BRDA:189,0,5,0
+BRDA:189,0,6,2
+BRDA:189,0,7,2
+BRDA:189,0,8,2
+BRDA:189,0,9,211
+BRDA:190,0,0,2
+BRDA:190,e0,1,0
+BRDA:191,0,0,211
+BRDA:191,e0,1,0
+BRDA:191,0,2,8
+BRDA:191,0,3,203
+BRDA:191,0,4,6
+BRDA:191,0,5,2
+BRDA:191,0,6,2
+BRDA:191,0,7,209
+BRDA:192,0,0,0
+BRDA:192,0,1,6
+BRDA:192,0,2,0
+BRDA:192,0,3,0
+BRDA:193,0,0,2
+BRDA:193,e0,1,0
+BRDA:194,0,0,209
+BRDA:194,e0,1,0
+BRDA:194,0,2,2
+BRDA:194,0,3,207
+BRDA:195,0,0,2
+BRDA:195,e0,1,0
+BRDA:195,0,2,2
+BRDA:195,e0,3,0
+BRDA:199,0,0,218
+BRDA:199,e0,1,0
+BRDA:200,0,0,4
+BRDA:200,0,1,214
+BRDA:201,0,0,4
+BRDA:201,e0,1,0
+BRDA:201,0,2,4
+BRDA:201,e0,3,0
+BRDA:207,0,0,30
+BRDA:207,0,1,2
+BRDA:207,0,2,28
+BRDA:207,0,3,2
+BRDA:207,0,4,2
+BRDA:207,0,5,26
+BRDA:207,0,6,6
+BRDA:207,0,7,26
+BRDA:208,0,0,6
+BRDA:208,e0,1,0
+BRDA:211,0,0,24
+BRDA:211,0,1,2
+BRDA:211,0,2,0
+BRDA:211,0,3,24
+BRDA:215,0,0,3
+BRDA:215,0,1,12
+BRDA:216,0,0,14
+BRDA:216,0,1,2
+BRDA:217,0,0,12
+BRDA:217,0,1,2
+BRDA:217,0,2,2
+BRDA:217,0,3,10
+BRDA:218,0,0,7
+BRDA:218,0,1,3
+BRDA:219,0,0,1
+BRDA:219,0,1,2
+BRDA:220,0,0,1
+BRDA:220,0,1,0
+BRDA:222,0,0,2
+BRDA:222,e0,1,0
+BRDA:222,0,2,2
+BRDA:222,e0,3,0
+BRDA:224,0,0,2
+BRDA:224,e0,1,0
+BRDA:228,0,0,28
+BRDA:228,0,1,8
+BRDA:230,0,0,6
+BRDA:230,0,1,2
+BRDA:230,0,2,2
+BRDA:230,0,3,4
+BRDA:230,0,4,4
+BRDA:230,0,5,4
+BRDA:231,0,0,4
+BRDA:231,e0,1,0
+BRDA:235,0,0,0
+BRDA:235,0,1,15
+BRDA:236,0,0,5
+BRDA:236,0,1,10
+BRDA:240,0,0,2
+BRDA:240,0,1,8
+BRDA:240,0,2,0
+BRDA:240,0,3,2
+BRDA:242,0,0,18
+BRDA:242,0,1,10
+BRDA:243,0,0,14
+BRDA:243,0,1,4
+BRDA:243,0,2,14
+BRDA:243,e0,3,0
+BRDA:243,0,4,14
+BRDA:243,e0,5,0
+BRDA:244,0,0,4
+BRDA:244,0,1,14
+BRDA:245,0,0,2
+BRDA:245,e0,1,0
+BRDA:245,0,2,2
+BRDA:245,e0,3,0
+BRDA:245,0,4,2
+BRDA:245,0,5,4
+BRDA:253,0,0,621
+BRDA:253,e0,1,0
+BRDA:253,0,2,621
+BRDA:253,e0,3,0
+BRDA:253,0,4,0
+BRDA:253,0,5,0
+BRDA:260,0,0,1177
+BRDA:260,0,1,163
+BRDA:261,0,0,1303
+BRDA:261,0,1,791
+BRDA:262,0,0,1303
+BRDA:262,e0,1,0
+BRDA:263,0,0,1303
+BRDA:263,e0,1,0
+BRDA:263,0,2,682
+BRDA:263,0,3,621
+BRDA:265,0,0,611
+BRDA:265,e0,1,10
+BRDA:266,0,0,611
+BRDA:266,e0,1,0
+BRDA:267,0,0,611
+BRDA:267,e0,1,0
+BRDA:267,0,2,393
+BRDA:267,0,3,218
+BRDA:268,0,0,207
+BRDA:268,e0,1,186
+BRDA:271,0,0,218
+BRDA:271,e0,1,0
+BRDA:272,0,0,214
+BRDA:272,e0,1,4
+BRDA:273,0,0,214
+BRDA:273,e0,1,0
+BRDA:273,0,2,99
+BRDA:273,0,3,115
+BRDA:274,0,0,2
+BRDA:274,0,1,97
+BRDA:274,0,2,2
+BRDA:274,e0,3,0
+BRDA:274,0,4,2
+BRDA:274,e0,5,0
+BRDA:275,0,0,97
+BRDA:275,e0,1,0
+BRDA:275,0,2,17
+BRDA:275,e0,3,80
+BRDA:276,0,0,15
+BRDA:276,e0,1,2
+BRDA:277,0,0,15
+BRDA:277,e0,1,0
+BRDA:278,0,0,15
+BRDA:278,e0,1,0
+BRDA:279,0,0,15
+BRDA:279,e0,1,0
+BRDA:283,0,0,115
+BRDA:283,e0,1,0
+BRDA:284,0,0,115
+BRDA:284,e0,1,0
+BRDA:285,0,0,115
+BRDA:285,0,1,0
+BRDA:285,0,2,115
+BRDA:285,e0,3,0
+BRDA:285,0,4,34
+BRDA:285,0,5,81
+BRDA:285,0,6,34
+BRDA:285,0,7,81
+BRDA:286,0,0,34
+BRDA:286,e0,1,0
+BRDA:287,0,0,7
+BRDA:287,0,1,27
+BRDA:287,0,2,5
+BRDA:287,0,3,2
+BRDA:288,0,0,32
+BRDA:288,e0,1,0
+BRDA:288,0,2,26
+BRDA:288,e0,3,6
+BRDA:289,0,0,7
+BRDA:289,0,1,21
+BRDA:290,0,0,7
+BRDA:290,e0,1,0
+BRDA:291,0,0,28
+BRDA:291,e0,1,0
+BRDA:293,0,0,2
+BRDA:293,0,1,107
+BRDA:293,0,2,2
+BRDA:293,e0,3,0
+BRDA:294,0,0,19
+BRDA:294,e0,1,88
+BRDA:295,0,0,17
+BRDA:295,e0,1,2
+BRDA:296,0,0,17
+BRDA:296,e0,1,0
+BRDA:298,0,0,16
+BRDA:298,0,1,1
+BRDA:298,0,2,15
+BRDA:298,0,3,1
+BRDA:299,0,0,11
+BRDA:299,e0,1,4
+BRDA:299,0,2,11
+BRDA:299,e0,3,0
+BRDA:299,0,4,11
+BRDA:299,e0,5,0
+BRDA:300,0,0,13
+BRDA:300,e0,1,0
+BRDA:301,0,0,13
+BRDA:301,e0,1,0
+BRDA:302,0,0,13
+BRDA:302,0,1,15
+BRDA:302,0,2,13
+BRDA:302,0,3,222
+BRDA:302,0,4,0
+BRDA:302,0,5,386
+BRDA:303,0,0,386
+BRDA:303,e0,1,0
+BRDA:303,0,2,386
+BRDA:303,e0,3,0
+BRDA:305,0,0,13
+BRDA:305,0,1,904
+BRDA:307,0,0,179
+BRDA:307,0,1,163
+BRDA:308,0,0,12
+BRDA:308,0,1,179
+BRDA:309,0,0,12
+BRDA:309,e0,1,0
+BRDA:309,0,2,7
+BRDA:309,0,3,5
+BRDA:309,0,4,7
+BRDA:309,e0,5,0
+BRDA:309,0,6,3
+BRDA:309,0,7,4
+BRDA:309,0,8,3
+BRDA:309,0,9,9
+BRDA:310,0,0,9
+BRDA:310,e0,1,0
+BRDA:311,0,0,28
+BRDA:311,0,1,9
+BRDA:313,0,0,12
+BRDA:313,0,1,0
+BRDA:314,0,0,12
+BRDA:314,0,1,16
+BRDA:314,0,2,9
+BRDA:314,0,3,3
+BRDA:314,0,4,5
+BRDA:314,0,5,4
+BRDA:314,0,6,5
+BRDA:314,0,7,23
+BRDA:317,0,0,9
+BRDA:317,e0,1,0
+BRDA:318,0,0,9
+BRDA:318,e0,1,0
+BRDA:318,0,2,4
+BRDA:318,0,3,5
+BRDA:322,0,0,5
+BRDA:322,e0,1,0
+BRDA:322,0,2,5
+BRDA:322,e0,3,0
+BRDA:325,0,0,5
+BRDA:325,e0,1,0
+BRDA:325,0,2,3
+BRDA:325,0,3,2
+BRDA:325,0,4,3
+BRDA:325,e0,5,0
+BRDA:325,0,6,2
+BRDA:325,0,7,1
+BRDA:325,0,8,2
+BRDA:325,0,9,3
+BRDA:326,0,0,2
+BRDA:326,e0,1,0
+BRDA:326,0,2,2
+BRDA:326,e0,3,0
+BRDA:327,0,0,3
+BRDA:327,e0,1,0
+BRDA:327,0,2,1
+BRDA:327,0,3,2
+BRDA:328,0,0,1
+BRDA:328,e0,1,0
+BRDA:328,0,2,1
+BRDA:328,e0,3,0
+BRDA:329,0,0,3
+BRDA:329,0,1,2
+BRDA:333,0,0,3
+BRDA:333,e0,1,0
+BRDA:333,0,2,3
+BRDA:333,e0,3,0
+BRDA:333,0,4,3
+BRDA:333,e0,5,0
+BRDA:333,0,6,0
+BRDA:333,0,7,0
+BRF:604
+BRH:444
+DA:14,621
+DA:15,621
+DA:16,621
+DA:17,6141
+DA:18,5528
+DA:19,5528
+DA:20,2138
+DA:21,3390
+DA:22,3390
+DA:23,652
+DA:24,652
+DA:25,1938
+DA:26,1936
+DA:27,1936
+DA:28,648
+DA:29,648
+DA:31,1288
+DA:32,4
+DA:33,0
+DA:34,4
+DA:35,4
+DA:36,2
+DA:38,1286
+DA:40,650
+DA:41,2
+DA:42,1296
+DA:43,1296
+DA:44,2
+DA:45,2738
+DA:46,623
+DA:48,2115
+DA:49,18280
+DA:50,18280
+DA:51,7028
+DA:52,2
+DA:53,7026
+DA:56,3382
+DA:57,3390
+DA:58,613
+DA:59,2
+DA:60,611
+DA:61,611
+DA:62,10
+DA:66,621
+DA:67,2639
+DA:68,2639
+DA:69,4
+DA:70,2635
+DA:72,1681
+DA:73,1681
+DA:74,1681
+DA:75,2
+DA:76,3358
+DA:77,1681
+DA:78,315
+DA:79,315
+DA:80,311
+DA:81,2
+DA:82,618
+DA:83,311
+DA:84,262
+DA:85,245
+DA:86,245
+DA:87,0
+DA:88,245
+DA:95,115
+DA:96,115
+DA:99,110
+DA:100,110
+DA:101,17
+DA:102,6
+DA:103,4
+DA:104,2
+DA:108,866
+DA:109,866
+DA:110,866
+DA:111,866
+DA:112,78
+DA:113,78
+DA:114,48
+DA:116,818
+DA:117,818
+DA:118,818
+DA:119,270
+DA:120,548
+DA:123,204
+DA:124,204
+DA:125,6
+DA:126,4
+DA:128,198
+DA:129,9
+DA:130,7
+DA:131,2
+DA:133,2
+DA:135,194
+DA:136,192
+DA:137,53
+DA:138,5
+DA:139,2
+DA:140,3
+DA:142,139
+DA:143,31
+DA:144,4
+DA:145,27
+DA:148,393
+DA:149,393
+DA:150,393
+DA:151,393
+DA:152,393
+DA:153,76
+DA:154,74
+DA:156,389
+DA:157,389
+DA:158,387
+DA:159,255
+DA:160,309
+DA:161,257
+DA:162,145
+DA:163,2
+DA:164,132
+DA:165,106
+DA:166,132
+DA:167,106
+DA:168,54
+DA:169,2
+DA:170,26
+DA:171,11
+DA:172,15
+DA:173,13
+DA:174,13
+DA:176,23
+DA:177,19
+DA:178,2
+DA:179,17
+DA:180,17
+DA:181,10
+DA:182,10
+DA:183,29
+DA:184,7
+DA:185,13
+DA:186,2
+DA:188,213
+DA:189,213
+DA:190,2
+DA:191,217
+DA:192,6
+DA:193,2
+DA:194,209
+DA:195,2
+DA:196,945
+DA:198,218
+DA:199,218
+DA:200,218
+DA:201,4
+DA:202,428
+DA:205,32
+DA:206,32
+DA:207,32
+DA:208,6
+DA:209,26
+DA:210,26
+DA:211,26
+DA:212,26
+DA:214,15
+DA:215,15
+DA:216,16
+DA:217,14
+DA:218,11
+DA:219,3
+DA:220,1
+DA:222,2
+DA:224,2
+DA:227,36
+DA:228,36
+DA:229,8
+DA:230,8
+DA:231,4
+DA:234,15
+DA:235,15
+DA:236,15
+DA:237,5
+DA:238,5
+DA:240,10
+DA:241,0
+DA:242,28
+DA:243,18
+DA:244,18
+DA:245,6
+DA:251,621
+DA:252,621
+DA:253,1242
+DA:255,549
+DA:256,549
+DA:257,549
+DA:259,549
+DA:260,1340
+DA:261,2094
+DA:262,1303
+DA:263,1303
+DA:265,621
+DA:266,611
+DA:267,611
+DA:268,393
+DA:269,207
+DA:271,218
+DA:272,218
+DA:273,214
+DA:274,99
+DA:275,177
+DA:276,17
+DA:277,15
+DA:278,15
+DA:279,15
+DA:280,15
+DA:282,115
+DA:283,115
+DA:284,115
+DA:285,115
+DA:286,34
+DA:287,34
+DA:288,38
+DA:289,28
+DA:290,7
+DA:291,28
+DA:293,109
+DA:294,107
+DA:295,19
+DA:296,17
+DA:298,17
+DA:299,15
+DA:300,13
+DA:301,13
+DA:302,1406
+DA:303,1158
+DA:304,386
+DA:305,1303
+DA:307,342
+DA:308,191
+DA:309,16
+DA:310,9
+DA:311,37
+DA:312,28
+DA:313,40
+DA:314,40
+DA:315,5
+DA:317,9
+DA:318,9
+DA:319,4
+DA:320,4
+DA:322,5
+DA:323,5
+DA:324,5
+DA:325,5
+DA:326,2
+DA:327,3
+DA:328,1
+DA:329,5
+DA:330,3
+DA:331,5
+DA:333,938
+LF:260
+LH:257
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.cpp
+FNL:0,15,61
+FNA:0,108,_ZNK16DbcDecodeBuilder5BuildERK11DbcDatabase
+FNF:1
+FNH:1
+BRDA:17,0,0,108
+BRDA:17,e0,1,0
+BRDA:19,0,0,140
+BRDA:19,0,1,108
+BRDA:22,0,0,140
+BRDA:22,e0,1,0
+BRDA:23,0,0,140
+BRDA:23,e0,1,0
+BRDA:25,0,0,140
+BRDA:25,e0,1,0
+BRDA:31,0,0,140
+BRDA:31,e0,1,0
+BRDA:32,0,0,140
+BRDA:32,e0,1,0
+BRDA:34,0,0,140
+BRDA:34,e0,1,0
+BRDA:35,0,0,173
+BRDA:35,0,1,140
+BRDA:38,0,0,173
+BRDA:38,e0,1,0
+BRDA:40,0,0,173
+BRDA:40,e0,1,0
+BRDA:43,0,0,155
+BRDA:43,0,1,18
+BRDA:44,0,0,6
+BRDA:44,0,1,167
+BRDA:49,0,0,173
+BRDA:49,e0,1,0
+BRDA:50,0,0,173
+BRDA:50,e0,1,0
+BRDA:51,0,0,173
+BRDA:51,e0,1,0
+BRDA:52,0,0,173
+BRDA:52,e0,1,0
+BRDA:54,0,0,173
+BRDA:54,e0,1,0
+BRDA:57,0,0,140
+BRDA:57,e0,1,0
+BRDA:60,0,0,68
+BRDA:60,e0,1,40
+BRF:40
+BRH:25
+DA:15,108
+DA:16,108
+DA:17,108
+DA:19,248
+DA:20,140
+DA:22,140
+DA:23,140
+DA:24,140
+DA:25,140
+DA:26,140
+DA:27,140
+DA:28,140
+DA:29,140
+DA:30,140
+DA:31,140
+DA:32,140
+DA:34,140
+DA:35,313
+DA:36,173
+DA:38,173
+DA:39,173
+DA:40,173
+DA:41,173
+DA:42,173
+DA:43,173
+DA:44,173
+DA:45,173
+DA:46,173
+DA:47,173
+DA:48,173
+DA:49,173
+DA:50,173
+DA:51,173
+DA:52,173
+DA:54,173
+DA:55,173
+DA:57,140
+DA:58,140
+DA:60,176
+DA:61,108
+LF:40
+LH:40
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.cpp
+FNL:0,101,111
+FNA:0,6396,_ZN10DbcDecoder17IsValidDefinitionERK12DecodeSignalh
+FNL:1,113,131
+FNA:1,6341,_ZN10DbcDecoder12ReadSelectorERK11DecodeFrameRK11RawCanFrame
+FNL:2,133,181
+FNA:2,6375,_ZN10DbcDecoder15DecodeOneSignalERK12DecodeSignalhRK11RawCanFrameRKNS_13SelectorStateE
+FNL:3,183,193
+FNA:3,6380,_ZN10DbcDecoder15ExtractUnsignedERKSt6vectorIhSaIhEERK12DecodeSignalRm
+FNL:4,195,216
+FNA:4,3242,_ZN10DbcDecoder12ExtractIntelERKSt6vectorIhSaIhEEjjRm
+FNL:5,20,24
+FNA:5,32,_ZNK10DbcDecoder9FindFrameERK14DecodeDatabasejb
+FNL:6,218,250
+FNA:6,3138,_ZN10DbcDecoder15ExtractMotorolaERKSt6vectorIhSaIhEEjjRm
+FNL:7,252,267
+FNA:7,81,_ZN10DbcDecoder10SignExtendEmj
+FNL:8,26,34
+FNA:8,6440,_ZN10DbcDecoder12ResolveFrameERK14DecodeDatabasejb
+FNL:9,36,39
+FNA:9,6396,_ZNK10DbcDecoder6DecodeERK14DecodeDatabaseRK11RawCanFrame
+FNL:10,41,45
+FNA:10,12,_ZNK10DbcDecoder6DecodeERK14DecodeDatabaseRK11RawCanFrameRKSt6vectorI9SignalKeySaIS7_EE
+FNL:11,47,99
+FNA:11,6408,_ZNK10DbcDecoder10DecodeImplERK14DecodeDatabaseRK11RawCanFramePKSt6vectorI9SignalKeySaIS7_EE
+FNF:12
+FNH:12
+BRDA:23,0,0,32
+BRDA:23,e0,1,0
+BRDA:28,0,0,6440
+BRDA:28,e0,1,0
+BRDA:29,0,0,6335
+BRDA:29,0,1,105
+BRDA:31,0,0,87
+BRDA:31,0,1,18
+BRDA:31,0,2,7
+BRDA:31,0,3,80
+BRDA:33,0,0,80
+BRDA:33,e0,1,0
+BRDA:52,0,0,6408
+BRDA:52,e0,1,0
+BRDA:53,0,0,8
+BRDA:53,0,1,6400
+BRDA:58,0,0,55
+BRDA:58,0,1,6345
+BRDA:63,0,0,8
+BRDA:63,0,1,6337
+BRDA:64,0,0,8
+BRDA:64,e0,1,0
+BRDA:66,0,0,8
+BRDA:66,0,1,4
+BRDA:67,0,0,4
+BRDA:67,0,1,4
+BRDA:68,0,0,4
+BRDA:68,e0,1,0
+BRDA:68,0,2,4
+BRDA:68,e0,3,0
+BRDA:69,0,0,4
+BRDA:69,e0,1,0
+BRDA:69,0,2,0
+BRDA:69,0,3,4
+BRDA:70,0,0,-
+BRDA:70,e0,1,-
+BRDA:70,0,2,-
+BRDA:70,e0,3,-
+BRDA:71,0,0,4
+BRDA:71,e0,1,0
+BRDA:72,0,0,0
+BRDA:72,0,1,4
+BRDA:73,0,0,-
+BRDA:73,e0,1,-
+BRDA:73,0,2,-
+BRDA:73,e0,3,-
+BRDA:74,0,0,4
+BRDA:74,e0,1,0
+BRDA:81,0,0,6238
+BRDA:81,0,1,103
+BRDA:84,0,0,6341
+BRDA:84,e0,1,0
+BRDA:85,0,0,4
+BRDA:85,0,1,6337
+BRDA:86,0,0,6341
+BRDA:86,e0,1,0
+BRDA:87,0,0,6375
+BRDA:87,0,1,6341
+BRDA:88,0,0,4
+BRDA:88,0,1,6371
+BRDA:89,0,0,6375
+BRDA:89,e0,1,0
+BRDA:90,0,0,44
+BRDA:90,0,1,6331
+BRDA:90,0,2,31
+BRDA:90,0,3,13
+BRDA:91,0,0,5
+BRDA:91,0,1,26
+BRDA:94,0,0,6375
+BRDA:94,e0,1,0
+BRDA:95,0,0,6375
+BRDA:95,e0,1,0
+BRDA:102,0,0,3144
+BRDA:102,0,1,3252
+BRDA:102,0,2,3144
+BRDA:102,0,3,0
+BRDA:103,0,0,85
+BRDA:103,0,1,6311
+BRDA:103,0,2,85
+BRDA:103,0,3,0
+BRDA:104,0,0,71
+BRDA:104,0,1,6325
+BRDA:105,0,0,29
+BRDA:105,0,1,42
+BRDA:106,0,0,0
+BRDA:106,0,1,29
+BRDA:117,0,0,6375
+BRDA:117,0,1,6341
+BRDA:118,0,0,21
+BRDA:118,0,1,6354
+BRDA:123,0,0,6320
+BRDA:123,0,1,21
+BRDA:127,0,0,21
+BRDA:127,0,1,0
+BRDA:128,0,0,21
+BRDA:128,0,1,0
+BRDA:129,0,0,21
+BRDA:129,0,1,0
+BRDA:129,0,2,19
+BRDA:129,0,3,2
+BRDA:140,0,0,6375
+BRDA:140,e0,1,0
+BRDA:140,0,2,6375
+BRDA:140,0,3,0
+BRDA:140,0,4,0
+BRDA:140,0,5,6375
+BRDA:141,0,0,50
+BRDA:141,0,1,6325
+BRDA:141,0,2,0
+BRDA:141,0,3,50
+BRDA:144,0,0,29
+BRDA:144,0,1,6346
+BRDA:145,0,0,23
+BRDA:145,0,1,6
+BRDA:145,0,2,0
+BRDA:145,0,3,23
+BRDA:148,0,0,3
+BRDA:148,0,1,26
+BRDA:152,0,0,13
+BRDA:152,0,1,13
+BRDA:157,0,0,6359
+BRDA:157,e0,1,0
+BRDA:157,0,2,23
+BRDA:157,0,3,6336
+BRDA:162,0,0,81
+BRDA:162,0,1,6255
+BRDA:163,0,0,81
+BRDA:163,e0,1,0
+BRDA:168,0,0,81
+BRDA:168,0,1,6255
+BRDA:171,0,0,6255
+BRDA:171,e0,1,0
+BRDA:173,0,0,5
+BRDA:173,0,1,6331
+BRDA:186,0,0,6380
+BRDA:186,0,1,0
+BRDA:186,0,2,0
+BRDA:186,0,3,6380
+BRDA:189,0,0,3242
+BRDA:189,0,1,3138
+BRDA:201,0,0,102334
+BRDA:201,0,1,3224
+BRDA:206,0,0,18
+BRDA:206,0,1,102316
+BRDA:235,0,0,101601
+BRDA:235,0,1,3131
+BRDA:236,0,0,7
+BRDA:236,0,1,101594
+BRDA:242,0,0,12688
+BRDA:242,0,1,88906
+BRDA:253,0,0,81
+BRDA:253,0,1,0
+BRDA:253,0,2,0
+BRDA:253,0,3,81
+BRDA:258,0,0,68
+BRDA:258,0,1,13
+BRDA:262,0,0,41
+BRDA:262,0,1,40
+BRF:158
+BRH:115
+DA:20,32
+DA:23,32
+DA:26,6440
+DA:28,6440
+DA:29,6440
+DA:30,6335
+DA:31,105
+DA:32,25
+DA:33,80
+DA:34,6440
+DA:36,6396
+DA:38,6396
+DA:41,12
+DA:44,12
+DA:47,6408
+DA:50,6408
+DA:51,6408
+DA:52,6408
+DA:53,6408
+DA:54,8
+DA:55,8
+DA:57,6400
+DA:58,6400
+DA:59,55
+DA:60,6345
+DA:62,6345
+DA:63,6345
+DA:64,8
+DA:65,8
+DA:66,12
+DA:67,8
+DA:68,4
+DA:69,4
+DA:70,0
+DA:71,4
+DA:72,4
+DA:73,0
+DA:74,4
+DA:75,4
+DA:76,8
+DA:78,6341
+DA:79,6341
+DA:80,6341
+DA:81,6341
+DA:84,6341
+DA:85,6341
+DA:86,6341
+DA:87,12716
+DA:88,6375
+DA:89,6375
+DA:90,6375
+DA:91,31
+DA:92,5
+DA:93,6375
+DA:94,6375
+DA:95,6375
+DA:96,6375
+DA:98,6341
+DA:99,6420
+DA:101,6396
+DA:102,6396
+DA:103,6396
+DA:104,6396
+DA:105,71
+DA:106,29
+DA:107,0
+DA:109,6396
+DA:110,6396
+DA:113,6341
+DA:115,6341
+DA:116,6341
+DA:117,12716
+DA:118,6375
+DA:119,21
+DA:120,21
+DA:123,6341
+DA:124,6320
+DA:126,21
+DA:127,42
+DA:128,21
+DA:129,21
+DA:130,21
+DA:133,6375
+DA:137,6375
+DA:138,6375
+DA:140,12750
+DA:141,6375
+DA:142,0
+DA:144,6375
+DA:145,29
+DA:146,0
+DA:148,29
+DA:149,3
+DA:150,3
+DA:152,26
+DA:153,13
+DA:154,13
+DA:157,6359
+DA:158,23
+DA:159,23
+DA:162,6336
+DA:163,81
+DA:165,6255
+DA:168,6336
+DA:169,81
+DA:171,6255
+DA:172,6336
+DA:173,6336
+DA:174,5
+DA:175,5
+DA:177,6331
+DA:178,6331
+DA:180,6331
+DA:181,0
+DA:183,6380
+DA:186,6380
+DA:187,0
+DA:189,6380
+DA:190,3242
+DA:192,3138
+DA:195,3242
+DA:199,3242
+DA:201,105558
+DA:202,102334
+DA:203,102334
+DA:204,102334
+DA:206,102334
+DA:207,18
+DA:210,102316
+DA:212,102316
+DA:215,3224
+DA:218,3138
+DA:230,3138
+DA:232,3138
+DA:233,3138
+DA:235,104732
+DA:236,101601
+DA:237,7
+DA:239,101594
+DA:240,101594
+DA:242,101594
+DA:243,12688
+DA:244,12688
+DA:246,88906
+DA:249,3131
+DA:252,81
+DA:253,81
+DA:254,0
+DA:256,81
+DA:257,81
+DA:258,81
+DA:259,68
+DA:260,81
+DA:262,81
+DA:263,41
+DA:266,40
+LF:156
+LH:148
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h
+FNL:0,29,29
+FNA:0,2220,_ZN11RawCanFrameC2Ev
+FNL:1,63,65
+FNA:1,79,_ZNK18DecodedSignalValue19GetValueDescriptionB5cxx11Ev
+FNL:2,67,67
+FNA:2,6380,_ZN18DecodedSignalValueC2Ev
+FNL:3,80,80
+FNA:3,6409,_ZN17DecodedFrameValueC2Ev
+FNF:4
+FNH:4
+BRDA:64,0,0,64
+BRDA:64,0,1,15
+BRDA:64,0,2,64
+BRDA:64,0,3,0
+BRF:4
+BRH:3
+DA:29,2220
+DA:63,79
+DA:64,79
+DA:67,6380
+DA:80,6409
+LF:5
+LH:5
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h
+FNL:0,43,49
+FNA:0,293,_ZNK14DbcParseResult9HasErrorsEv
+FNF:1
+FNH:1
+BRDA:44,0,0,283
+BRDA:44,0,1,44
+BRDA:45,0,0,249
+BRDA:45,0,1,34
+BRF:4
+BRH:4
+DA:43,293
+DA:44,327
+DA:45,283
+DA:46,249
+DA:48,44
+LF:5
+LH:5
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.cpp
+FNL:0,23,50
+FNA:0,140,_ZN12_GLOBAL__N_116ReadCommentLinesERSt14basic_ifstreamIcSt11char_traitsIcEERNSt7__cxx1112basic_stringIcS2_SaIcEEERm
+FNL:1,52,58
+FNA:1,349,_ZN12_GLOBAL__N_118StatementErrorCodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:2,61,72
+FNA:2,656,_ZNK9DbcParser9ParseFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:3,74,152
+FNA:3,951,_ZNK9DbcParser24ParseFileWithDiagnosticsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:4
+FNH:4
+BRDA:27,0,0,140
+BRDA:27,e0,1,0
+BRDA:29,0,0,3662
+BRDA:29,0,1,15
+BRDA:30,0,0,5
+BRDA:30,0,1,3657
+BRDA:32,0,0,1289
+BRDA:32,0,1,2368
+BRDA:32,0,2,7
+BRDA:32,0,3,1282
+BRDA:34,0,0,268
+BRDA:34,0,1,3382
+BRDA:35,0,0,132
+BRDA:35,0,1,136
+BRDA:40,0,0,11
+BRDA:40,0,1,4
+BRDA:40,0,2,11
+BRDA:40,e0,3,0
+BRDA:40,0,4,11
+BRDA:40,e0,5,0
+BRDA:40,0,6,4
+BRDA:40,0,7,7
+BRDA:40,0,8,8
+BRDA:40,0,9,7
+BRDA:43,0,0,7
+BRDA:43,0,1,0
+BRDA:43,0,2,2
+BRDA:43,0,3,5
+BRDA:43,0,4,2
+BRDA:43,0,5,5
+BRDA:45,0,0,7
+BRDA:45,e0,1,0
+BRDA:46,0,0,7
+BRDA:46,e0,1,0
+BRDA:53,0,0,4
+BRDA:53,0,1,345
+BRDA:55,0,0,25
+BRDA:55,0,1,320
+BRDA:62,0,0,656
+BRDA:62,e0,1,0
+BRDA:63,0,0,545
+BRDA:63,0,1,117
+BRDA:64,0,0,539
+BRDA:64,0,1,6
+BRDA:65,0,0,3
+BRDA:65,0,1,536
+BRDA:66,0,0,3
+BRDA:66,e0,1,0
+BRDA:67,0,0,536
+BRDA:67,e0,1,0
+BRDA:68,0,0,536
+BRDA:68,e0,1,0
+BRDA:68,0,2,536
+BRDA:68,e0,3,0
+BRDA:68,0,4,536
+BRDA:68,e0,5,0
+BRDA:68,0,6,536
+BRDA:68,e0,7,0
+BRDA:68,0,8,536
+BRDA:68,e0,9,0
+BRDA:76,0,0,951
+BRDA:76,e0,1,0
+BRDA:77,0,0,3
+BRDA:77,0,1,948
+BRDA:87,0,0,948
+BRDA:87,e0,1,0
+BRDA:91,0,0,3097
+BRDA:91,e0,1,0
+BRDA:91,0,2,3097
+BRDA:91,e0,3,0
+BRDA:91,0,4,2498
+BRDA:91,0,5,599
+BRDA:93,0,0,2162
+BRDA:93,0,1,336
+BRDA:93,0,2,19
+BRDA:93,0,3,2143
+BRDA:93,0,4,19
+BRDA:93,0,5,2479
+BRDA:95,0,0,2498
+BRDA:95,e0,1,0
+BRDA:97,0,0,2498
+BRDA:97,e0,1,0
+BRDA:98,0,0,342
+BRDA:98,0,1,2156
+BRDA:101,0,0,2156
+BRDA:101,e0,1,0
+BRDA:104,0,0,2156
+BRDA:104,e0,1,0
+BRDA:105,0,0,2156
+BRDA:105,e0,1,0
+BRDA:105,0,2,2156
+BRDA:105,e0,3,0
+BRDA:106,0,0,39
+BRDA:106,0,1,5
+BRDA:106,0,2,39
+BRDA:106,e0,3,0
+BRDA:106,0,4,37
+BRDA:106,0,5,2
+BRDA:106,0,6,37
+BRDA:106,e0,7,0
+BRDA:106,0,8,36
+BRDA:106,0,9,1
+BRDA:107,0,0,36
+BRDA:107,e0,1,0
+BRDA:107,0,2,35
+BRDA:107,0,3,1
+BRDA:107,0,4,35
+BRDA:107,e0,5,0
+BRDA:107,0,6,31
+BRDA:107,0,7,4
+BRDA:108,0,0,44
+BRDA:108,0,1,2112
+BRDA:108,0,2,31
+BRDA:108,e0,3,0
+BRDA:108,0,4,30
+BRDA:108,0,5,1
+BRDA:108,0,6,30
+BRDA:108,e0,7,0
+BRDA:108,0,8,29
+BRDA:108,0,9,1
+BRDA:108,0,10,29
+BRDA:108,0,11,2127
+BRDA:110,0,0,2127
+BRDA:110,e0,1,0
+BRDA:110,0,2,2115
+BRDA:110,0,3,12
+BRDA:110,0,4,2115
+BRDA:110,e0,5,0
+BRDA:110,0,6,3
+BRDA:110,0,7,2112
+BRDA:112,0,0,2127
+BRDA:112,e0,1,0
+BRDA:112,0,2,140
+BRDA:112,0,3,1987
+BRDA:113,0,0,140
+BRDA:113,e0,1,0
+BRDA:114,0,0,140
+BRDA:114,e0,1,0
+BRDA:119,0,0,1778
+BRDA:119,e0,1,349
+BRDA:119,0,2,37
+BRDA:119,0,3,1741
+BRDA:126,0,0,0
+BRDA:126,0,1,349
+BRDA:132,0,0,1778
+BRDA:132,0,1,29
+BRDA:132,0,2,349
+BRDA:132,0,3,1778
+BRDA:132,0,4,29
+BRDA:132,0,5,349
+BRDA:132,0,6,1778
+BRDA:132,0,7,29
+BRDA:132,0,8,349
+BRDA:132,0,9,1778
+BRDA:132,0,10,371
+BRDA:132,0,11,349
+BRDA:134,0,0,599
+BRDA:134,e0,1,0
+BRDA:134,0,2,597
+BRDA:134,0,3,2
+BRDA:134,0,4,597
+BRDA:134,e0,5,0
+BRDA:134,0,6,0
+BRDA:134,0,7,597
+BRDA:134,0,8,2
+BRDA:134,0,9,597
+BRDA:142,0,0,587
+BRDA:142,e0,1,10
+BRDA:143,0,0,576
+BRDA:143,e0,1,11
+BRDA:144,0,0,549
+BRDA:144,e0,1,27
+BRDA:145,0,0,163
+BRDA:145,e0,1,386
+BRDA:146,0,0,0
+BRDA:146,0,1,434
+BRDA:147,0,0,434
+BRDA:147,e0,1,0
+BRDA:149,0,0,434
+BRDA:149,e0,1,0
+BRDA:152,0,0,3
+BRDA:152,e0,1,0
+BRDA:152,0,2,3
+BRDA:152,e0,3,0
+BRDA:152,0,4,3
+BRDA:152,e0,5,0
+BRDA:152,0,6,37
+BRDA:152,e0,7,0
+BRDA:152,0,8,37
+BRDA:152,e0,9,0
+BRDA:152,0,10,37
+BRDA:152,e0,11,0
+BRDA:152,0,12,37
+BRDA:152,e0,13,0
+BRDA:152,0,14,2
+BRDA:152,e0,15,0
+BRDA:152,0,16,2
+BRDA:152,e0,17,0
+BRDA:152,0,18,2
+BRDA:152,e0,19,0
+BRDA:152,0,20,0
+BRDA:152,0,21,0
+BRDA:152,0,22,0
+BRDA:152,0,23,0
+BRDA:152,0,24,349
+BRDA:152,e0,25,0
+BRDA:152,0,26,349
+BRDA:152,e0,27,0
+BRDA:152,0,28,349
+BRDA:152,e0,29,0
+BRDA:152,0,30,349
+BRDA:152,e0,31,0
+BRDA:152,0,32,0
+BRDA:152,0,33,0
+BRDA:152,0,34,0
+BRDA:152,0,35,0
+BRF:216
+BRH:152
+DA:23,140
+DA:25,140
+DA:26,140
+DA:27,140
+DA:29,3677
+DA:30,3662
+DA:31,5
+DA:32,3657
+DA:33,7
+DA:34,3650
+DA:35,268
+DA:36,132
+DA:37,136
+DA:40,15
+DA:41,8
+DA:42,7
+DA:43,7
+DA:44,2
+DA:45,7
+DA:46,7
+DA:48,7
+DA:49,7
+DA:50,140
+DA:52,349
+DA:53,349
+DA:54,4
+DA:55,345
+DA:56,25
+DA:57,320
+DA:61,656
+DA:62,656
+DA:63,662
+DA:64,545
+DA:65,539
+DA:66,3
+DA:67,1072
+DA:68,1608
+DA:71,234
+DA:72,656
+DA:74,951
+DA:75,951
+DA:76,951
+DA:77,951
+DA:78,3
+DA:81,3
+DA:84,948
+DA:85,948
+DA:86,948
+DA:87,948
+DA:88,948
+DA:89,948
+DA:90,948
+DA:91,3097
+DA:92,2498
+DA:93,2498
+DA:94,19
+DA:95,2498
+DA:96,2498
+DA:97,2498
+DA:98,2498
+DA:99,342
+DA:101,2156
+DA:102,2156
+DA:103,2156
+DA:104,2156
+DA:105,2156
+DA:106,44
+DA:107,36
+DA:108,2200
+DA:109,29
+DA:110,2127
+DA:112,2127
+DA:113,140
+DA:114,140
+DA:118,2127
+DA:119,2127
+DA:120,37
+DA:123,37
+DA:126,349
+DA:127,349
+DA:128,698
+DA:129,0
+DA:130,349
+DA:131,349
+DA:132,3632
+DA:134,599
+DA:135,2
+DA:138,2
+DA:142,597
+DA:143,587
+DA:144,576
+DA:145,549
+DA:146,434
+DA:147,434
+DA:148,434
+DA:149,434
+DA:150,163
+DA:151,163
+DA:152,1691
+LF:99
+LH:98
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h
+FNL:0,44,44
+FNA:0,930,_ZN9DbcParserC2E16DbcParserOptions
+FNF:1
+FNH:1
+DA:44,930
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.cpp
+FNL:0,103,115
+FNA:0,67,_ZN12_GLOBAL__N_115FindUniqueFrameER11DbcDatabasejb
+FNL:1,117,129
+FNA:1,62,_ZN12_GLOBAL__N_116FindUniqueSignalER9FrameInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:2,131,136
+FNA:2,884,_ZN12_GLOBAL__N_113NextSignalBitEmb
+FNL:3,14,23
+FNA:3,2466,_ZN12_GLOBAL__N_112ParseDecimalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjPKc
+FNL:4,143,155
+FNA:4,317,_ZN12_GLOBAL__N_114SplitReceiversERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:5,157,165
+FNA:5,803,_ZN12_GLOBAL__N_114NormalizeCanIdEjRjRb
+FNL:6,168,204
+FNA:6,649,_ZN15DbcFrameHandler14ParseFrameLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:7,206,253
+FNA:7,521,_ZN16DbcSignalHandler15ParseSignalLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:8,25,32
+FNA:8,784,_ZN12_GLOBAL__N_110ParseCanIdERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:9,257,266
+FNA:9,698,_ZN12_GLOBAL__N_113FindFrameByIdER11DbcDatabasejb
+FNL:10,268,275
+FNA:10,364,_ZN12_GLOBAL__N_116FindSignalByNameER9FrameInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:11,278,290
+FNA:11,649,_ZNK15DbcFrameHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:12,292,304
+FNA:12,526,_ZNK16DbcSignalHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:13,306,350
+FNA:13,149,_ZNK17DbcCommentHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:14,34,53
+FNA:14,1666,_ZN12_GLOBAL__N_118ParsePhysicalValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc
+FNL:15,352,368
+FNA:15,597,_ZN15DbcParseContext15ResolveCommentsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:16,370,386
+FNA:16,949,_ZN22DbcStatementDispatcherC2Ev
+FNL:17,388,388
+FNA:17,62,_ZNK16DbcHeaderHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:18,390,400
+FNA:18,2132,_ZNK22DbcStatementDispatcher8DispatchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:19,402,433
+FNA:19,94,_ZNK26DbcValueDescriptionHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:20,435,449
+FNA:20,592,_ZN15DbcParseContext24ResolveValueDescriptionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:21,451,453
+FNA:21,4,_ZNK33DbcUnsupportedMultiplexingHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:22,456,464
+FNA:22,114,_ZN12_GLOBAL__N_110SignalBitsERK10SignalInfo
+FNL:23,466,470
+FNA:23,58,_ZN12_GLOBAL__N_120AreMutuallyExclusiveERK10SignalInfoS2_
+FNL:24,472,480
+FNA:24,193,_ZN12_GLOBAL__N_114ValidateBranchERK10SignalInfoPS1_
+FNL:25,482,497
+FNA:25,280,_ZN12_GLOBAL__N_112FindSelectorERK9FrameInfoRKSt6vectorImSaImEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:26,499,509
+FNA:26,57,_ZN12_GLOBAL__N_114SignalsOverlapERK10SignalInfoS2_
+FNL:27,512,529
+FNA:27,576,_ZNK15DbcParseContext20ValidateMultiplexingERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:28,55,71
+FNA:28,496,_ZN12_GLOBAL__N_123ParseMultiplexingMarkerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:29,73,91
+FNA:29,104,_ZN12_GLOBAL__N_113ParseValueKeyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:30,93,101
+FNA:30,96,_ZN12_GLOBAL__N_119UnescapeDescriptionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:31
+FNH:31
+BRDA:18,0,0,2466
+BRDA:18,e0,1,0
+BRDA:19,0,0,2429
+BRDA:19,0,1,37
+BRDA:20,0,0,2466
+BRDA:20,0,1,0
+BRDA:20,0,2,2410
+BRDA:20,0,3,19
+BRDA:20,0,4,2
+BRDA:20,0,5,2408
+BRDA:20,0,6,58
+BRDA:20,0,7,2408
+BRDA:21,0,0,58
+BRDA:21,e0,1,0
+BRDA:21,0,2,58
+BRDA:21,e0,3,0
+BRDA:21,0,4,58
+BRDA:21,e0,5,0
+BRDA:21,0,6,58
+BRDA:21,e0,7,0
+BRDA:21,0,8,58
+BRDA:21,e0,9,0
+BRDA:29,0,0,20
+BRDA:29,0,1,730
+BRDA:30,0,0,20
+BRDA:30,e0,1,0
+BRDA:36,0,0,2
+BRDA:36,0,1,1664
+BRDA:36,0,2,2
+BRDA:36,0,3,0
+BRDA:36,0,4,2
+BRDA:36,e0,5,0
+BRDA:36,0,6,0
+BRDA:36,0,7,0
+BRDA:37,0,0,1666
+BRDA:37,e0,1,0
+BRDA:37,0,2,112
+BRDA:37,0,3,1554
+BRDA:38,0,0,112
+BRDA:38,e0,1,0
+BRDA:38,0,2,112
+BRDA:38,e0,3,0
+BRDA:38,0,4,112
+BRDA:38,e0,5,0
+BRDA:38,0,6,112
+BRDA:38,e0,7,0
+BRDA:38,0,8,112
+BRDA:38,e0,9,0
+BRDA:43,0,0,18
+BRDA:43,0,1,1536
+BRDA:49,0,0,1530
+BRDA:49,0,1,24
+BRDA:49,0,2,1530
+BRDA:49,0,3,0
+BRDA:49,0,4,1530
+BRDA:49,0,5,0
+BRDA:49,0,6,16
+BRDA:49,0,7,1514
+BRDA:49,0,8,40
+BRDA:49,0,9,1514
+BRDA:51,0,0,40
+BRDA:51,e0,1,0
+BRDA:51,0,2,40
+BRDA:51,e0,3,0
+BRDA:51,0,4,40
+BRDA:51,e0,5,0
+BRDA:51,0,6,40
+BRDA:51,e0,7,0
+BRDA:51,0,8,40
+BRDA:51,e0,9,0
+BRDA:57,0,0,496
+BRDA:57,e0,1,0
+BRDA:57,0,2,34
+BRDA:57,0,3,462
+BRDA:59,0,0,38
+BRDA:59,0,1,424
+BRDA:60,0,0,1
+BRDA:60,0,1,37
+BRDA:61,0,0,1
+BRDA:61,e0,1,0
+BRDA:62,0,0,37
+BRDA:62,e0,1,0
+BRDA:64,0,0,37
+BRDA:64,e0,1,0
+BRDA:65,0,0,36
+BRDA:65,0,1,1
+BRDA:65,0,2,33
+BRDA:65,0,3,3
+BRDA:65,0,4,3
+BRDA:65,0,5,30
+BRDA:65,0,6,7
+BRDA:65,0,7,30
+BRDA:66,0,0,7
+BRDA:66,e0,1,0
+BRDA:75,0,0,104
+BRDA:75,0,1,0
+BRDA:75,0,2,16
+BRDA:75,0,3,88
+BRDA:75,0,4,16
+BRDA:75,0,5,88
+BRDA:78,0,0,16
+BRDA:78,e0,1,0
+BRDA:79,0,0,14
+BRDA:79,0,1,2
+BRDA:79,0,2,0
+BRDA:79,0,3,14
+BRDA:79,0,4,2
+BRDA:79,0,5,14
+BRDA:80,0,0,2
+BRDA:80,e0,1,0
+BRDA:80,0,2,2
+BRDA:80,e0,3,0
+BRDA:85,0,0,88
+BRDA:85,e0,1,0
+BRDA:86,0,0,88
+BRDA:86,0,1,0
+BRDA:86,0,2,86
+BRDA:86,0,3,2
+BRDA:86,0,4,4
+BRDA:86,0,5,82
+BRDA:86,0,6,6
+BRDA:86,0,7,82
+BRDA:87,0,0,6
+BRDA:87,e0,1,0
+BRDA:87,0,2,6
+BRDA:87,e0,3,0
+BRDA:95,0,0,628
+BRDA:95,0,1,96
+BRDA:96,0,0,7
+BRDA:96,0,1,621
+BRDA:98,0,0,628
+BRDA:98,e0,1,0
+BRDA:105,0,0,113
+BRDA:105,0,1,65
+BRDA:106,0,0,84
+BRDA:106,0,1,29
+BRDA:106,0,2,66
+BRDA:106,0,3,18
+BRDA:107,0,0,2
+BRDA:107,0,1,64
+BRDA:108,0,0,2
+BRDA:108,e0,1,0
+BRDA:112,0,0,3
+BRDA:112,0,1,62
+BRDA:113,0,0,3
+BRDA:113,e0,1,0
+BRDA:119,0,0,89
+BRDA:119,0,1,60
+BRDA:120,0,0,59
+BRDA:120,0,1,30
+BRDA:121,0,0,2
+BRDA:121,0,1,57
+BRDA:122,0,0,2
+BRDA:122,e0,1,0
+BRDA:122,0,2,2
+BRDA:122,e0,3,0
+BRDA:126,0,0,5
+BRDA:126,0,1,55
+BRDA:127,0,0,5
+BRDA:127,e0,1,0
+BRDA:127,0,2,5
+BRDA:127,e0,3,0
+BRDA:132,0,0,724
+BRDA:132,0,1,160
+BRDA:135,0,0,20
+BRDA:135,0,1,140
+BRDA:146,0,0,317
+BRDA:146,e0,1,0
+BRDA:148,0,0,639
+BRDA:148,e0,1,0
+BRDA:148,0,2,639
+BRDA:148,e0,3,0
+BRDA:148,0,4,322
+BRDA:148,0,5,317
+BRDA:149,0,0,322
+BRDA:149,e0,1,0
+BRDA:150,0,0,0
+BRDA:150,0,1,322
+BRDA:151,0,0,322
+BRDA:151,e0,1,0
+BRDA:163,0,0,724
+BRDA:163,0,1,79
+BRDA:163,0,2,23
+BRDA:163,0,3,701
+BRDA:174,0,0,649
+BRDA:174,e0,1,0
+BRDA:177,0,0,649
+BRDA:177,e0,1,0
+BRDA:177,0,2,649
+BRDA:177,e0,3,0
+BRDA:177,0,4,649
+BRDA:177,e0,5,0
+BRDA:177,0,6,646
+BRDA:177,0,7,3
+BRDA:177,0,8,646
+BRDA:177,e0,9,0
+BRDA:177,0,10,0
+BRDA:177,0,11,646
+BRDA:177,0,12,3
+BRDA:177,0,13,646
+BRDA:178,0,0,3
+BRDA:178,e0,1,0
+BRDA:180,0,0,628
+BRDA:180,e0,1,18
+BRDA:183,0,0,628
+BRDA:183,e0,1,0
+BRDA:183,0,2,628
+BRDA:183,e0,3,0
+BRDA:183,0,4,627
+BRDA:183,0,5,1
+BRDA:183,0,6,627
+BRDA:183,e0,7,0
+BRDA:183,0,8,1
+BRDA:183,0,9,626
+BRDA:183,0,10,2
+BRDA:183,0,11,626
+BRDA:184,0,0,2
+BRDA:184,e0,1,0
+BRDA:185,0,0,626
+BRDA:185,e0,1,0
+BRDA:188,0,0,626
+BRDA:188,e0,1,0
+BRDA:188,0,2,626
+BRDA:188,e0,3,0
+BRDA:188,0,4,625
+BRDA:188,0,5,1
+BRDA:188,0,6,625
+BRDA:188,e0,7,0
+BRDA:188,0,8,625
+BRDA:188,e0,9,0
+BRDA:188,0,10,1
+BRDA:188,0,11,624
+BRDA:188,0,12,2
+BRDA:188,0,13,624
+BRDA:189,0,0,2
+BRDA:189,e0,1,0
+BRDA:192,0,0,624
+BRDA:192,e0,1,0
+BRDA:192,0,2,624
+BRDA:192,e0,3,0
+BRDA:192,0,4,1
+BRDA:192,0,5,623
+BRDA:193,0,0,1
+BRDA:193,e0,1,0
+BRDA:194,0,0,617
+BRDA:194,e0,1,6
+BRDA:196,0,0,617
+BRDA:196,e0,1,0
+BRDA:196,0,2,617
+BRDA:196,e0,3,0
+BRDA:196,0,4,1
+BRDA:196,0,5,616
+BRDA:197,0,0,1
+BRDA:197,e0,1,0
+BRDA:198,0,0,616
+BRDA:198,e0,1,0
+BRDA:198,0,2,616
+BRDA:198,e0,3,0
+BRDA:198,0,4,1
+BRDA:198,0,5,615
+BRDA:199,0,0,1
+BRDA:199,e0,1,0
+BRDA:199,0,2,1
+BRDA:199,e0,3,0
+BRDA:222,0,0,2
+BRDA:222,0,1,519
+BRDA:222,0,2,2
+BRDA:222,0,3,0
+BRDA:222,0,4,2
+BRDA:222,e0,5,0
+BRDA:222,0,6,0
+BRDA:222,0,7,0
+BRDA:224,0,0,521
+BRDA:224,e0,1,0
+BRDA:224,0,2,23
+BRDA:224,0,3,498
+BRDA:225,0,0,23
+BRDA:225,e0,1,0
+BRDA:228,0,0,498
+BRDA:228,e0,1,0
+BRDA:228,0,2,498
+BRDA:228,e0,3,0
+BRDA:228,0,4,498
+BRDA:228,e0,5,0
+BRDA:231,0,0,498
+BRDA:231,e0,1,0
+BRDA:231,0,2,498
+BRDA:231,e0,3,0
+BRDA:232,0,0,497
+BRDA:232,0,1,1
+BRDA:232,0,2,497
+BRDA:232,e0,3,0
+BRDA:232,0,4,497
+BRDA:232,e0,5,0
+BRDA:232,0,6,1
+BRDA:232,0,7,496
+BRDA:232,0,8,2
+BRDA:232,0,9,496
+BRDA:233,0,0,2
+BRDA:233,e0,1,0
+BRDA:234,0,0,488
+BRDA:234,e0,1,8
+BRDA:236,0,0,488
+BRDA:236,e0,1,0
+BRDA:236,0,2,488
+BRDA:236,e0,3,0
+BRDA:236,0,4,481
+BRDA:236,e0,5,7
+BRDA:238,0,0,481
+BRDA:238,e0,1,0
+BRDA:238,0,2,481
+BRDA:238,e0,3,0
+BRDA:238,0,4,473
+BRDA:238,e0,5,8
+BRDA:239,0,0,1
+BRDA:239,0,1,472
+BRDA:240,0,0,1
+BRDA:240,e0,1,0
+BRDA:241,0,0,472
+BRDA:241,e0,1,0
+BRDA:241,0,2,472
+BRDA:241,e0,3,0
+BRDA:241,0,4,472
+BRDA:241,e0,5,0
+BRDA:242,0,0,472
+BRDA:242,e0,1,0
+BRDA:242,0,2,472
+BRDA:242,e0,3,0
+BRDA:242,0,4,472
+BRDA:242,e0,5,0
+BRDA:244,0,0,472
+BRDA:244,e0,1,0
+BRDA:244,0,2,472
+BRDA:244,e0,3,0
+BRDA:244,0,4,440
+BRDA:244,e0,5,32
+BRDA:245,0,0,440
+BRDA:245,e0,1,0
+BRDA:245,0,2,440
+BRDA:245,e0,3,0
+BRDA:245,0,4,396
+BRDA:245,e0,5,44
+BRDA:246,0,0,396
+BRDA:246,e0,1,0
+BRDA:246,0,2,396
+BRDA:246,e0,3,0
+BRDA:246,0,4,358
+BRDA:246,e0,5,38
+BRDA:247,0,0,358
+BRDA:247,e0,1,0
+BRDA:247,0,2,358
+BRDA:247,e0,3,0
+BRDA:247,0,4,320
+BRDA:247,e0,5,38
+BRDA:248,0,0,3
+BRDA:248,0,1,317
+BRDA:249,0,0,3
+BRDA:249,e0,1,0
+BRDA:250,0,0,317
+BRDA:250,e0,1,0
+BRDA:250,0,2,317
+BRDA:250,e0,3,0
+BRDA:251,0,0,317
+BRDA:251,e0,1,0
+BRDA:251,0,2,317
+BRDA:251,e0,3,0
+BRDA:251,0,4,317
+BRDA:251,e0,5,0
+BRDA:260,0,0,144
+BRDA:260,0,1,613
+BRDA:261,0,0,109
+BRDA:261,0,1,35
+BRDA:261,0,2,85
+BRDA:261,0,3,24
+BRDA:269,0,0,126
+BRDA:269,0,1,315
+BRDA:270,0,0,49
+BRDA:270,0,1,77
+BRDA:279,0,0,615
+BRDA:279,e0,1,34
+BRDA:280,0,0,31
+BRDA:280,0,1,584
+BRDA:280,0,2,27
+BRDA:280,0,3,4
+BRDA:284,0,0,8
+BRDA:284,0,1,607
+BRDA:285,0,0,4
+BRDA:285,0,1,4
+BRDA:285,0,2,8
+BRDA:285,e0,3,0
+BRDA:285,0,4,8
+BRDA:285,e0,5,0
+BRDA:286,0,0,8
+BRDA:286,e0,1,0
+BRDA:286,0,2,8
+BRDA:286,e0,3,0
+BRDA:286,0,4,8
+BRDA:286,e0,5,0
+BRDA:287,0,0,607
+BRDA:287,e0,1,0
+BRDA:289,0,0,607
+BRDA:289,e0,1,0
+BRDA:293,0,0,5
+BRDA:293,0,1,521
+BRDA:294,0,0,5
+BRDA:294,e0,1,0
+BRDA:295,0,0,317
+BRDA:295,e0,1,204
+BRDA:296,0,0,6
+BRDA:296,0,1,311
+BRDA:298,0,0,6
+BRDA:298,e0,1,0
+BRDA:298,0,2,6
+BRDA:298,e0,3,0
+BRDA:298,0,4,6
+BRDA:298,e0,5,0
+BRDA:298,0,6,6
+BRDA:298,e0,7,0
+BRDA:298,0,8,6
+BRDA:298,e0,9,0
+BRDA:299,0,0,7
+BRDA:299,0,1,304
+BRDA:301,0,0,7
+BRDA:301,e0,1,0
+BRDA:302,0,0,304
+BRDA:302,e0,1,0
+BRDA:303,0,0,304
+BRDA:303,e0,1,0
+BRDA:307,0,0,149
+BRDA:307,e0,1,0
+BRDA:310,0,0,149
+BRDA:310,e0,1,0
+BRDA:310,0,2,149
+BRDA:310,e0,3,0
+BRDA:311,0,0,149
+BRDA:311,e0,1,0
+BRDA:311,0,2,145
+BRDA:311,0,3,4
+BRDA:311,0,4,145
+BRDA:311,e0,5,0
+BRDA:311,0,6,78
+BRDA:311,0,7,67
+BRDA:311,0,8,78
+BRDA:311,e0,9,0
+BRDA:311,0,10,5
+BRDA:311,0,11,73
+BRDA:311,0,12,9
+BRDA:311,0,13,140
+BRDA:315,0,0,140
+BRDA:315,e0,1,0
+BRDA:318,0,0,140
+BRDA:318,e0,1,0
+BRDA:318,0,2,140
+BRDA:318,e0,3,0
+BRDA:318,0,4,2
+BRDA:318,0,5,138
+BRDA:319,0,0,2
+BRDA:319,e0,1,0
+BRDA:320,0,0,102
+BRDA:320,e0,1,36
+BRDA:321,0,0,55
+BRDA:321,0,1,47
+BRDA:321,0,2,55
+BRDA:321,e0,3,0
+BRDA:321,0,4,55
+BRDA:321,e0,5,0
+BRDA:321,0,6,55
+BRDA:321,0,7,0
+BRDA:321,0,8,2
+BRDA:321,0,9,53
+BRDA:321,0,10,2
+BRDA:321,0,11,100
+BRDA:323,0,0,2
+BRDA:323,e0,1,0
+BRDA:325,0,0,100
+BRDA:325,e0,1,0
+BRDA:326,0,0,100
+BRDA:326,e0,1,0
+BRDA:326,0,2,4
+BRDA:326,0,3,96
+BRDA:327,0,0,4
+BRDA:327,e0,1,0
+BRDA:330,0,0,1096
+BRDA:330,e0,1,0
+BRDA:330,0,2,1096
+BRDA:330,e0,3,0
+BRDA:330,0,4,1094
+BRDA:330,0,5,2
+BRDA:331,0,0,90
+BRDA:331,0,1,1004
+BRDA:335,0,0,7
+BRDA:335,0,1,997
+BRDA:336,0,0,7
+BRDA:336,e0,1,0
+BRDA:336,0,2,7
+BRDA:336,e0,3,0
+BRDA:336,0,4,5
+BRDA:336,0,5,2
+BRDA:336,0,6,3
+BRDA:336,0,7,2
+BRDA:336,0,8,2
+BRDA:336,0,9,1
+BRDA:336,0,10,4
+BRDA:336,0,11,3
+BRDA:337,0,0,4
+BRDA:337,e0,1,0
+BRDA:339,0,0,1000
+BRDA:339,e0,1,0
+BRDA:341,0,0,2
+BRDA:341,0,1,90
+BRDA:342,0,0,2
+BRDA:342,e0,1,0
+BRDA:343,0,0,90
+BRDA:343,e0,1,0
+BRDA:344,0,0,90
+BRDA:344,e0,1,0
+BRDA:344,0,2,4
+BRDA:344,0,3,86
+BRDA:345,0,0,4
+BRDA:345,e0,1,0
+BRDA:346,0,0,86
+BRDA:346,e0,1,0
+BRDA:347,0,0,86
+BRDA:347,e0,1,0
+BRDA:347,0,2,2
+BRDA:347,0,3,84
+BRDA:348,0,0,2
+BRDA:348,e0,1,0
+BRDA:349,0,0,84
+BRDA:349,e0,1,0
+BRDA:350,0,0,84
+BRDA:350,0,1,9
+BRDA:350,0,2,84
+BRDA:350,0,3,9
+BRDA:350,0,4,84
+BRDA:350,0,5,9
+BRDA:353,0,0,83
+BRDA:353,0,1,587
+BRDA:355,0,0,6
+BRDA:355,0,1,77
+BRDA:357,0,0,6
+BRDA:357,e0,1,0
+BRDA:357,0,2,6
+BRDA:357,e0,3,0
+BRDA:358,0,0,47
+BRDA:358,0,1,30
+BRDA:360,0,0,4
+BRDA:360,0,1,43
+BRDA:362,0,0,4
+BRDA:362,e0,1,0
+BRDA:362,0,2,4
+BRDA:362,e0,3,0
+BRDA:363,0,0,43
+BRDA:363,e0,1,0
+BRDA:365,0,0,30
+BRDA:365,e0,1,0
+BRDA:371,0,0,949
+BRDA:371,e0,1,0
+BRDA:371,0,2,949
+BRDA:371,e0,3,0
+BRDA:372,0,0,949
+BRDA:372,e0,1,0
+BRDA:372,0,2,949
+BRDA:372,e0,3,0
+BRDA:373,0,0,949
+BRDA:373,e0,1,0
+BRDA:373,0,2,949
+BRDA:373,e0,3,0
+BRDA:374,0,0,949
+BRDA:374,e0,1,0
+BRDA:374,0,2,949
+BRDA:374,e0,3,0
+BRDA:375,0,0,949
+BRDA:375,e0,1,0
+BRDA:375,0,2,949
+BRDA:375,e0,3,0
+BRDA:376,0,0,949
+BRDA:376,e0,1,0
+BRDA:376,0,2,949
+BRDA:376,e0,3,0
+BRDA:377,0,0,949
+BRDA:377,e0,1,0
+BRDA:377,0,2,949
+BRDA:377,e0,3,0
+BRDA:378,0,0,949
+BRDA:378,e0,1,0
+BRDA:378,0,2,949
+BRDA:378,e0,3,0
+BRDA:379,0,0,949
+BRDA:379,e0,1,0
+BRDA:379,0,2,949
+BRDA:379,e0,3,0
+BRDA:380,0,0,949
+BRDA:380,e0,1,0
+BRDA:380,0,2,949
+BRDA:380,e0,3,0
+BRDA:381,0,0,949
+BRDA:381,e0,1,0
+BRDA:381,0,2,949
+BRDA:381,e0,3,0
+BRDA:382,0,0,949
+BRDA:382,e0,1,0
+BRDA:382,0,2,949
+BRDA:382,e0,3,0
+BRDA:383,0,0,949
+BRDA:383,e0,1,0
+BRDA:383,0,2,949
+BRDA:383,e0,3,0
+BRDA:384,0,0,949
+BRDA:384,e0,1,0
+BRDA:384,0,2,949
+BRDA:384,e0,3,0
+BRDA:385,0,0,949
+BRDA:385,e0,1,0
+BRDA:385,0,2,949
+BRDA:385,e0,3,0
+BRDA:392,0,0,2132
+BRDA:392,e0,1,0
+BRDA:394,0,0,2132
+BRDA:394,e0,1,0
+BRDA:395,0,0,2132
+BRDA:395,e0,1,0
+BRDA:396,0,0,40
+BRDA:396,0,1,2092
+BRDA:398,0,0,1743
+BRDA:398,e0,1,349
+BRDA:403,0,0,2
+BRDA:403,0,1,92
+BRDA:403,0,2,2
+BRDA:403,0,3,0
+BRDA:403,0,4,2
+BRDA:403,e0,5,0
+BRDA:403,0,6,0
+BRDA:403,0,7,0
+BRDA:404,0,0,2
+BRDA:404,0,1,92
+BRDA:404,0,2,2
+BRDA:404,0,3,0
+BRDA:404,0,4,2
+BRDA:404,e0,5,0
+BRDA:404,0,6,0
+BRDA:404,0,7,0
+BRDA:406,0,0,94
+BRDA:406,e0,1,0
+BRDA:406,0,2,4
+BRDA:406,0,3,90
+BRDA:407,0,0,4
+BRDA:407,e0,1,0
+BRDA:408,0,0,90
+BRDA:408,e0,1,0
+BRDA:408,0,2,90
+BRDA:408,e0,3,0
+BRDA:408,0,4,87
+BRDA:408,e0,5,3
+BRDA:409,0,0,1
+BRDA:409,0,1,86
+BRDA:410,0,0,1
+BRDA:410,e0,1,0
+BRDA:413,0,0,86
+BRDA:413,e0,1,0
+BRDA:413,0,2,86
+BRDA:413,e0,3,0
+BRDA:415,0,0,86
+BRDA:415,e0,1,0
+BRDA:415,0,2,86
+BRDA:415,e0,3,0
+BRDA:416,0,0,179
+BRDA:416,e0,1,0
+BRDA:416,0,2,109
+BRDA:416,0,3,70
+BRDA:417,0,0,109
+BRDA:417,e0,1,0
+BRDA:417,0,2,5
+BRDA:417,0,3,104
+BRDA:418,0,0,5
+BRDA:418,e0,1,0
+BRDA:419,0,0,104
+BRDA:419,e0,1,0
+BRDA:419,0,2,104
+BRDA:419,e0,3,0
+BRDA:420,0,0,96
+BRDA:420,e0,1,8
+BRDA:421,0,0,96
+BRDA:421,e0,1,0
+BRDA:421,0,2,96
+BRDA:421,e0,3,0
+BRDA:421,0,4,96
+BRDA:421,e0,5,0
+BRDA:422,0,0,96
+BRDA:422,e0,1,0
+BRDA:422,0,2,2
+BRDA:422,0,3,94
+BRDA:423,0,0,2
+BRDA:423,e0,1,0
+BRDA:423,0,2,2
+BRDA:423,e0,3,0
+BRDA:424,0,0,94
+BRDA:424,e0,1,0
+BRDA:425,0,0,94
+BRDA:425,e0,1,0
+BRDA:426,0,0,93
+BRDA:426,0,1,1
+BRDA:426,0,2,93
+BRDA:426,e0,3,0
+BRDA:426,0,4,23
+BRDA:426,0,5,70
+BRDA:426,0,6,23
+BRDA:426,e0,7,0
+BRDA:426,0,8,2
+BRDA:426,0,9,21
+BRDA:426,0,10,2
+BRDA:426,e0,11,0
+BRDA:426,0,12,1
+BRDA:426,0,13,1
+BRDA:426,0,14,1
+BRDA:426,0,15,93
+BRDA:427,0,0,1
+BRDA:427,e0,1,0
+BRDA:428,0,0,93
+BRDA:428,e0,1,0
+BRDA:430,0,0,1
+BRDA:430,0,1,69
+BRDA:431,0,0,1
+BRDA:431,e0,1,0
+BRDA:432,0,0,69
+BRDA:432,e0,1,0
+BRDA:436,0,0,67
+BRDA:436,0,1,577
+BRDA:438,0,0,62
+BRDA:438,e0,1,5
+BRDA:439,0,0,55
+BRDA:439,e0,1,7
+BRDA:440,0,0,75
+BRDA:440,0,1,52
+BRDA:441,0,0,75
+BRDA:441,e0,1,0
+BRDA:441,0,2,3
+BRDA:441,0,3,72
+BRDA:442,0,0,3
+BRDA:442,e0,1,0
+BRDA:442,0,2,3
+BRDA:442,e0,3,0
+BRDA:444,0,0,0
+BRDA:444,0,1,15
+BRDA:446,0,0,15
+BRDA:446,e0,1,0
+BRDA:446,0,2,15
+BRDA:446,e0,3,0
+BRDA:452,0,0,4
+BRDA:452,e0,1,0
+BRDA:459,0,0,884
+BRDA:459,0,1,114
+BRDA:460,0,0,884
+BRDA:460,e0,1,0
+BRDA:468,0,0,21
+BRDA:468,0,1,37
+BRDA:468,0,2,4
+BRDA:468,0,3,17
+BRDA:469,0,0,1
+BRDA:469,0,1,3
+BRDA:473,0,0,164
+BRDA:473,0,1,29
+BRDA:475,0,0,4
+BRDA:475,0,1,25
+BRDA:476,0,0,4
+BRDA:476,e0,1,0
+BRDA:477,0,0,24
+BRDA:477,0,1,1
+BRDA:477,0,2,5
+BRDA:477,0,3,19
+BRDA:478,0,0,5
+BRDA:478,e0,1,0
+BRDA:486,0,0,207
+BRDA:486,0,1,272
+BRDA:488,0,0,173
+BRDA:488,0,1,34
+BRDA:490,0,0,30
+BRDA:490,0,1,4
+BRDA:490,0,2,4
+BRDA:490,0,3,26
+BRDA:493,0,0,8
+BRDA:493,e0,1,0
+BRDA:493,0,2,8
+BRDA:493,e0,3,0
+BRDA:500,0,0,57
+BRDA:500,e0,1,0
+BRDA:501,0,0,57
+BRDA:501,e0,1,0
+BRDA:502,0,0,442
+BRDA:502,0,1,47
+BRDA:503,0,0,2948
+BRDA:503,0,1,432
+BRDA:504,0,0,10
+BRDA:504,0,1,2938
+BRDA:513,0,0,280
+BRDA:513,0,1,549
+BRDA:516,0,0,193
+BRDA:516,0,1,253
+BRDA:518,0,0,193
+BRDA:518,e0,1,0
+BRDA:519,0,0,61
+BRDA:519,0,1,190
+BRDA:519,0,2,58
+BRDA:519,0,3,3
+BRDA:519,0,4,58
+BRDA:519,0,5,193
+BRDA:521,0,0,57
+BRDA:521,0,1,1
+BRDA:521,0,2,57
+BRDA:521,e0,3,0
+BRDA:521,0,4,10
+BRDA:521,0,5,47
+BRDA:521,0,6,10
+BRDA:521,0,7,48
+BRDA:522,0,0,10
+BRDA:522,e0,1,0
+BRDA:524,0,0,19
+BRDA:524,0,1,174
+BRDA:526,0,0,19
+BRDA:526,e0,1,0
+BRF:820
+BRH:561
+DA:14,2466
+DA:17,2466
+DA:18,2466
+DA:19,4932
+DA:20,4932
+DA:21,174
+DA:22,2408
+DA:25,784
+DA:26,784
+DA:29,750
+DA:30,20
+DA:31,730
+DA:34,1666
+DA:36,1666
+DA:37,1666
+DA:38,336
+DA:41,1554
+DA:42,1554
+DA:43,1554
+DA:44,18
+DA:45,1554
+DA:47,1554
+DA:49,3084
+DA:50,1530
+DA:51,120
+DA:52,1514
+DA:55,496
+DA:56,496
+DA:57,496
+DA:58,34
+DA:59,462
+DA:60,38
+DA:61,1
+DA:62,37
+DA:64,37
+DA:65,37
+DA:66,7
+DA:67,30
+DA:68,37
+DA:70,488
+DA:73,104
+DA:74,104
+DA:75,104
+DA:76,16
+DA:78,16
+DA:79,16
+DA:80,2
+DA:81,14
+DA:83,88
+DA:85,88
+DA:86,88
+DA:87,6
+DA:88,82
+DA:90,96
+DA:93,96
+DA:94,96
+DA:95,724
+DA:96,628
+DA:97,7
+DA:98,628
+DA:100,96
+DA:101,0
+DA:103,67
+DA:104,67
+DA:105,178
+DA:106,113
+DA:107,66
+DA:108,2
+DA:109,64
+DA:112,65
+DA:113,3
+DA:114,62
+DA:117,62
+DA:118,62
+DA:119,149
+DA:120,89
+DA:121,59
+DA:122,2
+DA:123,57
+DA:126,60
+DA:127,5
+DA:128,55
+DA:131,884
+DA:132,884
+DA:133,724
+DA:135,160
+DA:143,317
+DA:144,317
+DA:145,317
+DA:146,317
+DA:148,956
+DA:149,322
+DA:150,322
+DA:151,322
+DA:154,317
+DA:155,317
+DA:157,803
+DA:163,803
+DA:164,803
+DA:165,803
+DA:168,649
+DA:174,649
+DA:175,649
+DA:176,649
+DA:177,649
+DA:178,3
+DA:180,646
+DA:182,628
+DA:183,628
+DA:184,2
+DA:185,626
+DA:186,626
+DA:187,626
+DA:188,626
+DA:189,2
+DA:191,624
+DA:192,624
+DA:193,1
+DA:194,623
+DA:195,623
+DA:196,617
+DA:197,1
+DA:198,616
+DA:199,1
+DA:201,615
+DA:203,615
+DA:204,772
+DA:206,521
+DA:222,521
+DA:223,521
+DA:224,521
+DA:225,23
+DA:227,498
+DA:228,498
+DA:229,498
+DA:230,498
+DA:231,498
+DA:232,498
+DA:233,2
+DA:234,496
+DA:236,495
+DA:238,489
+DA:239,473
+DA:240,1
+DA:241,472
+DA:242,472
+DA:244,504
+DA:245,484
+DA:246,434
+DA:247,396
+DA:248,320
+DA:249,3
+DA:250,317
+DA:251,317
+DA:252,317
+DA:253,1245
+DA:257,698
+DA:260,757
+DA:261,144
+DA:262,85
+DA:265,613
+DA:268,364
+DA:269,441
+DA:270,126
+DA:271,49
+DA:274,315
+DA:278,649
+DA:279,649
+DA:280,615
+DA:281,27
+DA:282,27
+DA:284,615
+DA:285,16
+DA:286,24
+DA:287,607
+DA:288,607
+DA:289,607
+DA:290,615
+DA:292,526
+DA:293,526
+DA:294,5
+DA:295,521
+DA:296,317
+DA:297,6
+DA:298,12
+DA:299,311
+DA:300,311
+DA:301,7
+DA:302,304
+DA:303,304
+DA:304,317
+DA:306,149
+DA:307,149
+DA:308,149
+DA:309,149
+DA:310,149
+DA:311,149
+DA:312,9
+DA:314,140
+DA:315,140
+DA:316,140
+DA:317,140
+DA:318,140
+DA:319,2
+DA:320,138
+DA:321,157
+DA:322,55
+DA:323,2
+DA:325,100
+DA:326,100
+DA:327,4
+DA:328,96
+DA:330,1096
+DA:331,1094
+DA:332,90
+DA:333,90
+DA:335,1004
+DA:336,7
+DA:337,4
+DA:339,1000
+DA:341,92
+DA:342,2
+DA:343,90
+DA:344,90
+DA:345,4
+DA:346,86
+DA:347,86
+DA:348,2
+DA:349,84
+DA:350,391
+DA:352,597
+DA:353,670
+DA:354,83
+DA:355,83
+DA:357,18
+DA:358,77
+DA:359,47
+DA:360,47
+DA:362,4
+DA:363,43
+DA:365,30
+DA:368,587
+DA:370,949
+DA:371,1898
+DA:372,1898
+DA:373,1898
+DA:374,1898
+DA:375,1898
+DA:376,1898
+DA:377,1898
+DA:378,1898
+DA:379,1898
+DA:380,1898
+DA:381,1898
+DA:382,1898
+DA:383,1898
+DA:384,1898
+DA:385,949
+DA:386,949
+DA:388,62
+DA:390,2132
+DA:392,2132
+DA:393,2132
+DA:394,2132
+DA:395,2132
+DA:396,2132
+DA:397,40
+DA:398,2092
+DA:399,1743
+DA:400,2481
+DA:402,94
+DA:403,94
+DA:404,94
+DA:405,94
+DA:406,94
+DA:407,4
+DA:408,93
+DA:409,87
+DA:410,1
+DA:411,86
+DA:412,86
+DA:413,86
+DA:414,86
+DA:415,86
+DA:416,179
+DA:417,109
+DA:418,5
+DA:419,104
+DA:420,104
+DA:421,96
+DA:422,96
+DA:423,2
+DA:424,94
+DA:425,94
+DA:426,94
+DA:427,1
+DA:428,93
+DA:429,107
+DA:430,70
+DA:431,1
+DA:432,69
+DA:433,128
+DA:435,592
+DA:436,644
+DA:438,67
+DA:439,62
+DA:440,127
+DA:441,75
+DA:442,3
+DA:444,15
+DA:446,45
+DA:447,15
+DA:449,577
+DA:451,4
+DA:452,4
+DA:456,114
+DA:457,114
+DA:458,114
+DA:459,998
+DA:460,884
+DA:461,884
+DA:463,114
+DA:464,0
+DA:466,58
+DA:467,79
+DA:468,62
+DA:469,62
+DA:472,193
+DA:473,193
+DA:474,164
+DA:475,29
+DA:476,8
+DA:477,25
+DA:478,10
+DA:479,20
+DA:482,280
+DA:485,280
+DA:486,479
+DA:487,207
+DA:488,207
+DA:489,173
+DA:490,34
+DA:492,8
+DA:493,32
+DA:494,26
+DA:496,272
+DA:499,57
+DA:500,57
+DA:501,57
+DA:502,489
+DA:503,3380
+DA:504,2948
+DA:505,10
+DA:508,47
+DA:509,57
+DA:512,576
+DA:513,829
+DA:514,280
+DA:515,280
+DA:516,446
+DA:517,193
+DA:518,193
+DA:519,251
+DA:520,58
+DA:521,58
+DA:522,10
+DA:524,193
+DA:526,19
+DA:527,193
+DA:529,549
+LF:370
+LH:368
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h
+FNL:0,137,140
+FNA:0,1,_ZN22DbcStatementDispatcher12RegisterTypeI15CountingHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI15DbcFrameHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,6643,_ZN22DbcStatementDispatcher12RegisterTypeI16DbcHeaderHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI16DbcSignalHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI17DbcCommentHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,2847,_ZN22DbcStatementDispatcher12RegisterTypeI19DbcAttributeHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI26DbcValueDescriptionHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI33DbcUnsupportedMultiplexingHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:1,35,38
+FNA:1,438,_ZN18DbcDiagnosticErrorC2E17DbcDiagnosticCodeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_
+FNL:2,76,76
+FNA:2,0,_ZN19DbcStatementHandlerD0Ev
+FNA:2,14250,_ZN19DbcStatementHandlerD2Ev
+FNF:3
+FNH:3
+BRDA:37,0,0,438
+BRDA:37,e0,1,0
+BRDA:37,0,2,438
+BRDA:37,e0,3,0
+BRDA:37,0,4,438
+BRDA:37,e0,5,0
+BRDA:37,0,6,438
+BRDA:37,e0,7,0
+BRDA:38,0,0,438
+BRDA:38,e0,1,0
+BRDA:38,0,2,438
+BRDA:38,e0,3,0
+BRDA:38,0,4,438
+BRDA:38,e0,5,0
+BRDA:38,0,6,438
+BRDA:38,e0,7,0
+BRDA:38,0,8,0
+BRDA:38,0,9,0
+BRDA:139,0,0,14236
+BRDA:139,e0,1,0
+BRDA:139,0,2,14236
+BRDA:139,e0,3,0
+BRF:22
+BRH:10
+DA:35,438
+DA:37,876
+DA:38,1314
+DA:76,14250
+DA:137,14236
+DA:138,14236
+DA:139,14236
+DA:140,14236
+LF:8
+LH:8
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.cpp
+FNL:0,14,29
+FNA:0,22,_ZNK14DbcTreeBuilder5BuildERK11DbcDatabase
+FNF:1
+FNH:1
+BRDA:17,0,0,31
+BRDA:17,0,1,22
+BRDA:18,0,0,31
+BRDA:18,e0,1,0
+BRDA:20,0,0,44
+BRDA:20,0,1,31
+BRDA:21,0,0,44
+BRDA:21,e0,1,0
+BRDA:22,0,0,44
+BRDA:22,e0,1,0
+BRDA:25,0,0,31
+BRDA:25,e0,1,0
+BRF:12
+BRH:8
+DA:14,22
+DA:15,22
+DA:17,53
+DA:18,31
+DA:20,75
+DA:21,44
+DA:22,44
+DA:23,44
+DA:25,31
+DA:26,31
+DA:28,22
+DA:29,0
+LF:12
+LH:11
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.cpp
+FNL:0,111,113
+FNA:0,2394,_ZN14DecodeDatabaseC2ERKSt6vectorI11DecodeFrameSaIS1_EE
+FNL:1,115,118
+FNA:1,76,_ZNK14DecodeDatabase9GetFramesEv
+FNL:2,120,128
+FNA:2,6555,_ZNK14DecodeDatabase9FindFrameERK8FrameKey
+FNL:3,130,144
+FNA:3,116,_ZNK14DecodeDatabase14FindFrameByPgnEj
+FNL:4,146,155
+FNA:4,53,_ZNK14DecodeDatabase10FindSignalERK9SignalKey
+FNL:5,17,33
+FNA:5,2476,_ZN12_GLOBAL__N_114ValidateSignalERK12DecodeSignalh
+FNL:6,35,46
+FNA:6,2364,_ZN12_GLOBAL__N_113GetSignalBitsERK12DecodeSignal
+FNL:7,48,52
+FNA:7,71,_ZN12_GLOBAL__N_120AreMutuallyExclusiveERK12DecodeSignalS2_
+FNL:8,54,90
+FNA:8,2447,_ZN12_GLOBAL__N_113ValidateFrameERK11DecodeFrame
+FNL:9,93,109
+FNA:9,2394,_ZN14DecodeDatabase7StorageC2ERKSt6vectorI11DecodeFrameSaIS2_EE
+FNF:10
+FNH:10
+BRDA:18,0,0,1133
+BRDA:18,0,1,1343
+BRDA:18,0,2,3
+BRDA:18,0,3,1130
+BRDA:19,0,0,3
+BRDA:19,e0,1,0
+BRDA:19,0,2,3
+BRDA:19,e0,3,0
+BRDA:20,0,0,93
+BRDA:20,0,1,2380
+BRDA:20,0,2,3
+BRDA:20,0,3,90
+BRDA:21,0,0,3
+BRDA:21,e0,1,0
+BRDA:21,0,2,3
+BRDA:21,e0,3,0
+BRDA:22,0,0,75
+BRDA:22,0,1,2395
+BRDA:23,0,0,38
+BRDA:23,0,1,37
+BRDA:24,0,0,4
+BRDA:24,0,1,34
+BRDA:25,0,0,4
+BRDA:25,e0,1,0
+BRDA:25,0,2,4
+BRDA:25,e0,3,0
+BRDA:26,0,0,36
+BRDA:26,0,1,2430
+BRDA:28,0,0,36
+BRDA:28,e0,1,0
+BRDA:28,0,2,36
+BRDA:28,e0,3,0
+BRDA:29,0,0,2405
+BRDA:29,0,1,12
+BRDA:30,0,0,2417
+BRDA:30,0,1,13
+BRDA:30,0,2,2399
+BRDA:30,0,3,6
+BRDA:30,0,4,2393
+BRDA:30,0,5,6
+BRDA:30,0,6,39
+BRDA:30,0,7,2391
+BRDA:31,0,0,2
+BRDA:31,0,1,2391
+BRDA:32,0,0,39
+BRDA:32,e0,1,0
+BRDA:32,0,2,39
+BRDA:32,e0,3,0
+BRDA:39,0,0,73229
+BRDA:39,0,1,2364
+BRDA:41,0,0,37131
+BRDA:41,0,1,36098
+BRDA:50,0,0,25
+BRDA:50,0,1,46
+BRDA:50,0,2,6
+BRDA:50,0,3,19
+BRDA:51,0,0,3
+BRDA:51,0,1,3
+BRDA:55,0,0,72
+BRDA:55,0,1,2375
+BRDA:56,0,0,9
+BRDA:56,0,1,2438
+BRDA:57,0,0,9
+BRDA:57,e0,1,0
+BRDA:57,0,2,9
+BRDA:57,e0,3,0
+BRDA:59,0,0,24
+BRDA:59,0,1,2414
+BRDA:59,0,2,23
+BRDA:59,0,3,1
+BRDA:59,0,4,2
+BRDA:59,0,5,21
+BRDA:59,0,6,3
+BRDA:59,0,7,2435
+BRDA:60,0,0,3
+BRDA:60,e0,1,0
+BRDA:60,0,2,3
+BRDA:60,e0,3,0
+BRDA:64,0,0,2480
+BRDA:64,0,1,2340
+BRDA:65,0,0,2480
+BRDA:65,e0,1,0
+BRDA:65,0,2,4
+BRDA:65,0,3,2476
+BRDA:66,0,0,4
+BRDA:66,e0,1,0
+BRDA:66,0,2,4
+BRDA:66,e0,3,0
+BRDA:67,0,0,2391
+BRDA:67,e0,1,85
+BRDA:68,0,0,35
+BRDA:68,0,1,2356
+BRDA:69,0,0,32
+BRDA:69,0,1,3
+BRDA:69,0,2,3
+BRDA:69,0,3,29
+BRDA:70,0,0,6
+BRDA:70,e0,1,0
+BRDA:76,0,0,2340
+BRDA:76,e0,1,0
+BRDA:77,0,0,2372
+BRDA:77,0,1,2324
+BRDA:79,0,0,32
+BRDA:79,0,1,2340
+BRDA:79,0,2,27
+BRDA:79,0,3,5
+BRDA:81,0,0,22
+BRDA:81,0,1,5
+BRDA:81,0,2,3
+BRDA:81,0,3,19
+BRDA:82,0,0,8
+BRDA:82,e0,1,0
+BRDA:82,0,2,8
+BRDA:82,e0,3,0
+BRDA:83,0,0,2364
+BRDA:83,e0,1,0
+BRDA:84,0,0,71
+BRDA:84,0,1,2356
+BRDA:85,0,0,68
+BRDA:85,0,1,3
+BRDA:85,0,2,8
+BRDA:85,0,3,60
+BRDA:85,0,4,8
+BRDA:85,0,5,63
+BRDA:86,0,0,8
+BRDA:86,e0,1,0
+BRDA:86,0,2,8
+BRDA:86,e0,3,0
+BRDA:88,0,0,2356
+BRDA:88,e0,1,0
+BRDA:97,0,0,2394
+BRDA:97,e0,1,0
+BRDA:98,0,0,2447
+BRDA:98,0,1,2266
+BRDA:99,0,0,2324
+BRDA:99,e0,1,123
+BRDA:100,0,0,2324
+BRDA:100,e0,1,0
+BRDA:100,0,2,5
+BRDA:100,0,3,2319
+BRDA:101,0,0,5
+BRDA:101,e0,1,0
+BRDA:103,0,0,2266
+BRDA:103,e0,1,0
+BRDA:104,0,0,2314
+BRDA:104,0,1,2266
+BRDA:105,0,0,2314
+BRDA:105,e0,1,0
+BRDA:106,0,0,21
+BRDA:106,0,1,2293
+BRDA:107,0,0,21
+BRDA:107,e0,1,0
+BRDA:107,0,2,21
+BRDA:107,e0,3,0
+BRDA:116,0,0,1
+BRDA:116,0,1,75
+BRDA:116,0,2,1
+BRDA:116,0,3,0
+BRDA:117,0,0,74
+BRDA:117,0,1,2
+BRDA:121,0,0,16
+BRDA:121,0,1,6539
+BRDA:124,0,0,6539
+BRDA:124,e0,1,0
+BRDA:125,0,0,115
+BRDA:125,0,1,6424
+BRDA:132,0,0,24
+BRDA:132,0,1,92
+BRDA:135,0,0,92
+BRDA:135,e0,1,0
+BRDA:136,0,0,47
+BRDA:136,0,1,45
+BRDA:138,0,0,16
+BRDA:138,0,1,29
+BRDA:147,0,0,53
+BRDA:147,e0,1,0
+BRDA:148,0,0,10
+BRDA:148,0,1,43
+BRDA:150,0,0,48
+BRDA:150,0,1,5
+BRDA:151,0,0,38
+BRDA:151,0,1,10
+BRF:182
+BRH:146
+DA:17,2476
+DA:18,2476
+DA:19,3
+DA:20,2473
+DA:21,3
+DA:22,2470
+DA:23,75
+DA:24,38
+DA:25,4
+DA:26,2466
+DA:27,2466
+DA:28,36
+DA:29,4847
+DA:30,7240
+DA:31,2393
+DA:32,39
+DA:33,2391
+DA:35,2364
+DA:36,2364
+DA:37,2364
+DA:38,2364
+DA:39,75593
+DA:40,73229
+DA:41,73229
+DA:42,36098
+DA:43,73229
+DA:45,2364
+DA:48,71
+DA:49,96
+DA:50,77
+DA:51,77
+DA:54,2447
+DA:55,2447
+DA:56,2447
+DA:57,9
+DA:59,2438
+DA:60,3
+DA:62,2435
+DA:63,2435
+DA:64,4820
+DA:65,2480
+DA:66,4
+DA:67,2476
+DA:68,2391
+DA:69,35
+DA:70,6
+DA:71,29
+DA:75,2340
+DA:76,2340
+DA:77,4696
+DA:78,2372
+DA:79,2372
+DA:80,27
+DA:81,27
+DA:82,8
+DA:83,2364
+DA:84,2427
+DA:85,71
+DA:86,8
+DA:88,2356
+DA:90,2451
+DA:93,2394
+DA:94,2394
+DA:96,2394
+DA:97,2394
+DA:98,4713
+DA:99,2447
+DA:100,2324
+DA:101,5
+DA:103,2266
+DA:104,4580
+DA:105,2314
+DA:106,2314
+DA:107,21
+DA:109,2778
+DA:111,2394
+DA:112,2394
+DA:113,2266
+DA:115,76
+DA:116,76
+DA:117,76
+DA:120,6555
+DA:121,6555
+DA:122,16
+DA:124,6539
+DA:125,6539
+DA:126,115
+DA:127,6424
+DA:130,116
+DA:131,116
+DA:132,116
+DA:133,24
+DA:135,92
+DA:136,92
+DA:137,47
+DA:138,45
+DA:139,16
+DA:140,16
+DA:142,29
+DA:143,29
+DA:144,0
+DA:146,53
+DA:147,53
+DA:148,53
+DA:149,10
+DA:150,53
+DA:151,48
+DA:152,38
+DA:154,5
+DA:155,53
+LF:110
+LH:109
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h
+FNL:0,103,103
+FNA:0,21,_ZN14DecodeDatabaseC2Ev
+FNL:1,62,62
+FNA:1,2438,_ZN12DecodeSignalC2Ev
+FNL:2,83,83
+FNA:2,2400,_ZN11DecodeFrameC2Ev
+FNL:3,86,88
+FNA:3,11038,_ZNK11DecodeFrame6GetKeyEv
+FNF:4
+FNH:4
+DA:62,2438
+DA:83,2400
+DA:86,11038
+DA:87,11038
+DA:103,21
+LF:5
+LH:5
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h
+FNL:0,19,19
+FNA:0,12789,_ZN8FrameKeyC2Ev
+FNL:1,22,24
+FNA:1,23974,_ZN8FrameKeyC2Ejb
+FNL:2,27,29
+FNA:2,6502,_ZNK8FrameKeyeqERKS_
+FNL:3,37,41
+FNA:3,11161,_ZNK14FrameKeyHasherclERK8FrameKey
+FNL:4,49,49
+FNA:4,6380,_ZN9SignalKeyC2Ev
+FNL:5,51,53
+FNA:5,6454,_ZN9SignalKeyC2E8FrameKeyNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:6,56,58
+FNA:6,22,_ZNK9SignalKeyeqERKS_
+FNL:7,64,66
+FNA:7,9,_ZNK15SignalKeyHasherclERK9SignalKey
+FNF:8
+FNH:8
+BRDA:28,0,0,6498
+BRDA:28,0,1,4
+BRDA:28,0,2,6498
+BRDA:28,0,3,0
+BRDA:39,0,0,273
+BRDA:39,0,1,10888
+BRDA:57,0,0,22
+BRDA:57,0,1,0
+BRDA:57,0,2,22
+BRDA:57,0,3,0
+BRF:10
+BRH:7
+DA:19,12789
+DA:22,23974
+DA:23,23974
+DA:24,23974
+DA:27,6502
+DA:28,6502
+DA:37,11161
+DA:38,11161
+DA:39,11161
+DA:40,11161
+DA:49,6380
+DA:51,6454
+DA:52,6454
+DA:53,6454
+DA:56,22
+DA:57,22
+DA:64,9
+DA:65,9
+LF:18
+LH:18
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h
+FNL:0,41,41
+FNA:0,716,_ZN9FrameInfoC2Ev
+FNF:1
+FNH:1
+DA:41,716
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h
+FNL:0,11,15
+FNA:0,130,_Z15ExtractJ1939Pgnj
+FNF:1
+FNH:1
+BRDA:14,0,0,78
+BRDA:14,0,1,52
+BRF:2
+BRH:2
+DA:11,130
+DA:12,130
+DA:13,130
+DA:14,130
+LF:4
+LH:4
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h
+FNL:0,43,43
+FNA:0,592,_ZN10SignalInfoC2Ev
+FNF:1
+FNH:1
+DA:43,592
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h
+FNL:0,13,17
+FNA:0,360851,_Z19IsValidSignalLayoutjjbh
+FNL:1,8,11
+FNA:1,352521,_Z21SignalStartCoordinatejb
+FNF:2
+FNH:2
+BRDA:9,0,0,176628
+BRDA:9,0,1,175893
+BRDA:15,0,0,355515
+BRDA:15,0,1,5336
+BRDA:15,0,2,350157
+BRDA:15,0,3,5358
+BRDA:16,0,0,331954
+BRDA:16,0,1,18203
+BRF:8
+BRH:8
+DA:8,352521
+DA:9,352521
+DA:10,352521
+DA:13,360851
+DA:15,711008
+DA:16,711008
+LF:6
+LH:6
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h
+FNL:0,8,20
+FNA:0,2913,_ZN10dbc_detail8TrimTextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:1
+FNH:1
+BRDA:10,0,0,2692
+BRDA:10,0,1,343
+BRDA:10,0,2,122
+BRDA:10,0,3,2913
+BRDA:11,0,0,122
+BRDA:11,0,1,2570
+BRDA:15,0,0,2574
+BRDA:15,0,1,343
+BRDA:15,0,2,4
+BRDA:15,0,3,2913
+BRDA:16,0,0,4
+BRDA:16,0,1,2570
+BRF:12
+BRH:12
+DA:8,2913
+DA:9,2913
+DA:10,5727
+DA:11,2692
+DA:12,122
+DA:14,2913
+DA:15,5491
+DA:16,2574
+DA:17,4
+DA:19,2913
+LF:10
+LH:10
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.cpp
+FNL:0,15,17
+FNA:0,22,_ZN8TreeNodeC2Ev
+FNL:1,19,21
+FNA:1,97,_ZN8TreeNodeC2ERK9FrameInfo
+FNL:2,23,25
+FNA:2,110,_ZN8TreeNodeC2ERK10SignalInfo
+FNL:3,27,39
+FNA:3,206,_ZN8TreeNode8AddChildEOSt10unique_ptrIS_St14default_deleteIS_EE
+FNL:4,41,43
+FNA:4,2120,_ZNK8TreeNode13GetChildCountEv
+FNL:5,45,50
+FNA:5,3430,_ZNK8TreeNode8GetChildEm
+FNL:6,52,57
+FNA:6,91,_ZN8TreeNode8GetChildEm
+FNL:7,59,61
+FNA:7,44,_ZNK8TreeNode7GetTypeEv
+FNL:8,63,65
+FNA:8,29,_ZNK8TreeNode7GetNameB5cxx11Ev
+FNL:9,67,69
+FNA:9,274,_ZNK8TreeNode8GetFrameEv
+FNL:10,71,73
+FNA:10,281,_ZNK8TreeNode9GetSignalEv
+FNL:11,75,77
+FNA:11,1875,_ZNK8TreeNode9GetParentEv
+FNL:12,79,81
+FNA:12,1547,_ZNK8TreeNode6GetRowEv
+FNL:13,83,89
+FNA:13,23,_ZNK8TreeNode11GetFrameKeyEv
+FNL:14,91,96
+FNA:14,9,_ZNK8TreeNode12GetSignalKeyEv
+FNF:15
+FNH:15
+BRDA:16,0,0,22
+BRDA:16,e0,1,0
+BRDA:20,0,0,97
+BRDA:20,e0,1,0
+BRDA:24,0,0,110
+BRDA:24,e0,1,0
+BRDA:28,0,0,205
+BRDA:28,0,1,1
+BRDA:29,0,0,271
+BRDA:29,0,1,203
+BRDA:30,0,0,2
+BRDA:30,0,1,269
+BRDA:31,0,0,2
+BRDA:31,e0,1,0
+BRDA:33,0,0,0
+BRDA:33,0,1,203
+BRDA:34,0,0,-
+BRDA:34,e0,1,-
+BRDA:46,0,0,1107
+BRDA:46,0,1,2323
+BRDA:53,0,0,2
+BRDA:53,0,1,89
+BRDA:84,0,0,13
+BRDA:84,0,1,10
+BRDA:86,0,0,8
+BRDA:86,0,1,2
+BRDA:86,0,2,6
+BRDA:86,0,3,2
+BRDA:86,0,4,6
+BRDA:86,0,5,0
+BRDA:86,0,6,6
+BRDA:86,0,7,4
+BRDA:92,0,0,9
+BRDA:92,e0,1,0
+BRDA:93,0,0,6
+BRDA:93,0,1,3
+BRDA:93,0,2,5
+BRDA:93,0,3,1
+BRDA:93,0,4,5
+BRDA:93,0,5,4
+BRDA:94,0,0,5
+BRDA:94,e0,1,0
+BRF:42
+BRH:32
+DA:15,22
+DA:16,66
+DA:17,22
+DA:19,97
+DA:20,97
+DA:21,97
+DA:23,110
+DA:24,110
+DA:25,110
+DA:27,206
+DA:28,206
+DA:29,474
+DA:30,271
+DA:31,2
+DA:33,203
+DA:34,0
+DA:35,203
+DA:36,203
+DA:37,203
+DA:39,204
+DA:41,2120
+DA:42,2120
+DA:45,3430
+DA:46,3430
+DA:47,1107
+DA:49,2323
+DA:52,91
+DA:53,91
+DA:54,2
+DA:56,89
+DA:59,44
+DA:60,44
+DA:63,29
+DA:64,29
+DA:67,274
+DA:68,274
+DA:71,281
+DA:72,281
+DA:75,1875
+DA:76,1875
+DA:79,1547
+DA:80,1547
+DA:83,23
+DA:84,23
+DA:85,13
+DA:86,10
+DA:87,6
+DA:88,4
+DA:91,9
+DA:92,9
+DA:93,9
+DA:94,5
+DA:95,4
+LF:53
+LH:52
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h
+FNL:0,56,56
+FNA:0,229,_ZN8TreeNodeD2Ev
+FNF:1
+FNH:1
+DA:56,229
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h
+FNL:0,106,108
+FNA:0,2,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE8containsERKS5_
+FNL:1,116,118
+FNA:1,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI15CountingHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI15DbcFrameHandlerEESt10shared_ptrIS6_Ev
+FNA:1,6643,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI16DbcHeaderHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI16DbcSignalHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI17DbcCommentHandlerEESt10shared_ptrIS6_Ev
+FNA:1,2847,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI19DbcAttributeHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI26DbcValueDescriptionHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI33DbcUnsupportedMultiplexingHandlerEESt10shared_ptrIS6_Ev
+FNA:1,3,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE11instantiateINS6_12FactoryFirstEEESt10shared_ptrIS7_ESB_
+FNA:1,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE11instantiateINS6_13FactorySecondEEESt10shared_ptrIS7_ESB_
+FNL:2,66,66
+FNA:2,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEEC2Ev
+FNA:2,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEEC2Ev
+FNL:3,78,85
+FNA:3,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI15CountingHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI15DbcFrameHandlerEEvRKS5_
+FNA:3,6643,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI16DbcHeaderHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI16DbcSignalHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI17DbcCommentHandlerEEvRKS5_
+FNA:3,2847,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI19DbcAttributeHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI26DbcValueDescriptionHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI33DbcUnsupportedMultiplexingHandlerEEvRKS5_
+FNA:3,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE12registerTypeINS6_12FactoryFirstEEEvRKS5_
+FNA:3,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE12registerTypeINS6_13FactorySecondEEEvRKS5_
+FNL:4,91,93
+FNA:4,14236,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE7creatorERKS5_
+FNA:4,5,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE7creatorERKS5_
+FNL:5,99,101
+FNA:5,14236,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE6createERKS5_
+FNA:5,3,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE6createERKS5_SB_
+FNF:6
+FNH:6
+BRDA:84,0,0,14238
+BRDA:84,e0,1,0
+BRDA:100,0,0,2
+BRDA:100,e0,1,0
+BRDA:107,0,0,2
+BRDA:107,e0,1,0
+BRDA:117,0,0,14240
+BRDA:117,e0,1,0
+BRF:8
+BRH:4
+DA:66,950
+DA:78,14238
+DA:84,14238
+DA:85,14238
+DA:91,14241
+DA:92,14241
+DA:99,14239
+DA:100,14239
+DA:106,2
+DA:107,2
+DA:116,14240
+DA:117,14240
+LF:12
+LH:12
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h
+FNL:0,13,19
+FNA:0,87,_Z17NormalizeValueKeyRKSt7variantIJlmEE
+FNL:1,24,28
+FNA:1,71,_Z20FindValueDescriptionRKSt3mapISt7variantIJlmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS1_ESaISt4pairIKS1_S7_EEERSB_
+FNF:2
+FNH:2
+BRDA:14,0,0,31
+BRDA:14,0,1,56
+BRDA:15,0,0,11
+BRDA:15,0,1,20
+BRDA:26,0,0,71
+BRDA:26,e0,1,0
+BRDA:27,0,0,1
+BRDA:27,0,1,70
+BRF:8
+BRH:7
+DA:13,87
+DA:14,87
+DA:15,31
+DA:16,11
+DA:18,76
+DA:24,71
+DA:26,71
+DA:27,71
+LF:8
+LH:8
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/dbc_tree_model.cpp
+FNL:0,138,143
+FNA:0,30,_ZNK12DbcTreeModel10headerDataEiN2Qt11OrientationEi
+FNL:1,145,147
+FNA:1,39,_ZNK12DbcTreeModel5flagsERK11QModelIndex
+FNL:2,25,25
+FNA:2,6,_ZN12DbcTreeModelC2EP7QObject
+FNL:3,27,33
+FNA:3,12,_ZN12DbcTreeModel7SetTreeESt10unique_ptrI8TreeNodeSt14default_deleteIS1_EE
+FNL:4,35,40
+FNA:4,2110,_ZNK12DbcTreeModel4NodeERK11QModelIndex
+FNL:5,42,51
+FNA:5,1254,_ZNK12DbcTreeModel5indexEiiRK11QModelIndex
+FNL:6,53,59
+FNA:6,783,_ZNK12DbcTreeModel6parentERK11QModelIndex
+FNL:7,61,68
+FNA:7,700,_ZNK12DbcTreeModel8rowCountERK11QModelIndex
+FNL:8,70,72
+FNA:8,395,_ZNK12DbcTreeModel11columnCountERK11QModelIndex
+FNL:9,74,136
+FNA:9,240,_ZNK12DbcTreeModel4dataERK11QModelIndexi
+FNL:10,9,22
+FNA:10,20,_ZN12_GLOBAL__N_113ToVariantListERKSt3mapISt7variantIJlmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS2_ESaISt4pairIKS2_S8_EEE
+FNF:11
+FNH:11
+BRDA:11,0,0,30
+BRDA:11,0,1,20
+BRDA:13,0,0,10
+BRDA:13,0,1,20
+BRDA:14,0,0,10
+BRDA:14,e0,1,0
+BRDA:14,0,2,10
+BRDA:14,e0,3,0
+BRDA:16,0,0,20
+BRDA:16,e0,1,0
+BRDA:16,0,2,20
+BRDA:16,e0,3,0
+BRDA:17,0,0,20
+BRDA:17,e0,1,0
+BRDA:18,0,0,30
+BRDA:18,e0,1,0
+BRDA:18,0,2,30
+BRDA:18,e0,3,0
+BRDA:18,0,4,30
+BRDA:18,e0,5,0
+BRDA:19,0,0,30
+BRDA:19,e0,1,0
+BRDA:28,0,0,10
+BRDA:28,0,1,2
+BRDA:28,0,2,8
+BRDA:28,0,3,2
+BRDA:28,0,4,0
+BRDA:28,0,5,8
+BRDA:28,0,6,2
+BRDA:28,0,7,10
+BRDA:29,0,0,2
+BRDA:29,e0,1,0
+BRDA:36,0,0,2071
+BRDA:36,0,1,6
+BRDA:36,0,2,2071
+BRDA:36,0,3,0
+BRDA:36,0,4,2071
+BRDA:36,0,5,0
+BRDA:37,0,0,2077
+BRDA:37,0,1,33
+BRDA:37,0,2,0
+BRDA:37,0,3,2071
+BRDA:37,0,4,39
+BRDA:37,0,5,2071
+BRDA:43,0,0,1253
+BRDA:43,0,1,1
+BRDA:43,0,2,1252
+BRDA:43,0,3,1
+BRDA:43,0,4,1251
+BRDA:43,0,5,1
+BRDA:43,0,6,629
+BRDA:43,0,7,622
+BRDA:43,0,8,28
+BRDA:43,0,9,1226
+BRDA:44,0,0,25
+BRDA:44,0,1,604
+BRDA:46,0,0,604
+BRDA:46,0,1,622
+BRDA:47,0,0,2
+BRDA:47,0,1,1224
+BRDA:50,0,0,1219
+BRDA:50,0,1,5
+BRDA:55,0,0,761
+BRDA:55,0,1,22
+BRDA:56,0,0,761
+BRDA:56,0,1,22
+BRDA:56,0,2,314
+BRDA:56,0,3,447
+BRDA:56,0,4,336
+BRDA:56,0,5,447
+BRDA:62,0,0,467
+BRDA:62,0,1,233
+BRDA:62,0,2,204
+BRDA:62,0,3,263
+BRDA:62,0,4,204
+BRDA:62,0,5,496
+BRDA:64,0,0,263
+BRDA:64,0,1,233
+BRDA:65,0,0,53
+BRDA:65,0,1,443
+BRDA:67,0,0,443
+BRDA:67,e0,1,0
+BRDA:71,0,0,181
+BRDA:71,0,1,214
+BRDA:71,0,2,1
+BRDA:71,0,3,180
+BRDA:75,0,0,240
+BRDA:75,e0,1,0
+BRDA:76,0,0,2
+BRDA:76,0,1,238
+BRDA:78,0,0,238
+BRDA:78,e0,1,0
+BRDA:79,0,0,238
+BRDA:79,e0,1,0
+BRDA:81,0,0,126
+BRDA:81,0,1,112
+BRDA:82,0,0,126
+BRDA:82,e0,1,0
+BRDA:83,0,0,112
+BRDA:83,0,1,0
+BRDA:84,0,0,112
+BRDA:84,e0,1,0
+BRDA:85,0,0,215
+BRDA:85,0,1,23
+BRDA:85,0,2,18
+BRDA:85,0,3,197
+BRDA:87,0,0,2
+BRDA:87,0,1,195
+BRDA:88,0,0,2
+BRDA:88,e0,1,0
+BRDA:89,0,0,21
+BRDA:89,0,1,174
+BRDA:89,0,2,20
+BRDA:89,0,3,1
+BRDA:90,0,0,20
+BRDA:90,e0,1,0
+BRDA:92,0,0,103
+BRDA:92,0,1,72
+BRDA:93,0,0,10
+BRDA:93,0,1,93
+BRDA:95,0,0,10
+BRDA:95,0,1,83
+BRDA:97,0,0,10
+BRDA:97,0,1,73
+BRDA:100,0,0,72
+BRDA:100,0,1,73
+BRDA:101,0,0,10
+BRDA:101,0,1,62
+BRDA:103,0,0,10
+BRDA:103,0,1,52
+BRDA:105,0,0,10
+BRDA:105,0,1,42
+BRDA:107,0,0,10
+BRDA:107,0,1,32
+BRDA:109,0,0,10
+BRDA:109,0,1,22
+BRDA:110,0,0,10
+BRDA:110,e0,1,0
+BRDA:112,0,0,66
+BRDA:112,0,1,29
+BRDA:114,0,0,9
+BRDA:114,0,1,4
+BRDA:114,0,2,2
+BRDA:114,0,3,2
+BRDA:114,0,4,2
+BRDA:114,0,5,3
+BRDA:114,0,6,3
+BRDA:114,0,7,2
+BRDA:114,0,8,2
+BRDA:114,0,9,0
+BRDA:116,0,0,9
+BRDA:116,e0,1,0
+BRDA:116,0,2,9
+BRDA:116,e0,3,0
+BRDA:118,0,0,3
+BRDA:118,0,1,1
+BRDA:118,0,2,3
+BRDA:118,e0,3,0
+BRDA:118,0,4,3
+BRDA:118,e0,5,0
+BRDA:118,0,6,3
+BRDA:118,e0,7,0
+BRDA:118,0,8,3
+BRDA:118,0,9,1
+BRDA:118,0,10,3
+BRDA:118,0,11,1
+BRDA:118,0,12,3
+BRDA:118,0,13,1
+BRDA:118,0,14,0
+BRDA:118,0,15,0
+BRDA:118,0,16,0
+BRDA:118,0,17,0
+BRDA:118,0,18,0
+BRDA:118,0,19,0
+BRDA:120,0,0,1
+BRDA:120,0,1,1
+BRDA:122,0,0,1
+BRDA:122,0,1,1
+BRDA:124,0,0,1
+BRDA:124,0,1,1
+BRDA:126,0,0,2
+BRDA:126,0,1,1
+BRDA:126,0,2,1
+BRDA:126,0,3,1
+BRDA:126,0,4,2
+BRDA:126,e0,5,0
+BRDA:128,0,0,2
+BRDA:128,0,1,1
+BRDA:128,0,2,1
+BRDA:128,0,3,1
+BRDA:128,0,4,2
+BRDA:128,e0,5,0
+BRDA:130,0,0,1
+BRDA:130,0,1,1
+BRDA:130,0,2,1
+BRDA:130,e0,3,0
+BRDA:130,0,4,1
+BRDA:130,0,5,1
+BRDA:130,0,6,0
+BRDA:130,0,7,0
+BRDA:140,0,0,29
+BRDA:140,0,1,1
+BRDA:140,0,2,20
+BRDA:140,0,3,9
+BRDA:140,0,4,19
+BRDA:140,0,5,1
+BRDA:140,0,6,1
+BRDA:140,0,7,18
+BRDA:142,0,0,18
+BRDA:142,e0,1,0
+BRDA:146,0,0,27
+BRDA:146,0,1,12
+BRF:212
+BRH:170
+DA:9,20
+DA:10,20
+DA:11,50
+DA:12,30
+DA:13,30
+DA:14,10
+DA:16,20
+DA:17,40
+DA:18,30
+DA:19,30
+DA:20,30
+DA:21,20
+DA:22,0
+DA:25,6
+DA:27,12
+DA:28,12
+DA:29,2
+DA:30,10
+DA:31,10
+DA:32,10
+DA:33,10
+DA:35,2110
+DA:36,6258
+DA:37,6258
+DA:38,39
+DA:39,2071
+DA:42,1254
+DA:43,3134
+DA:44,1880
+DA:45,28
+DA:46,1226
+DA:47,1226
+DA:48,2
+DA:49,1224
+DA:50,1224
+DA:53,783
+DA:54,783
+DA:55,783
+DA:56,783
+DA:57,336
+DA:58,447
+DA:61,700
+DA:62,700
+DA:63,204
+DA:64,496
+DA:65,496
+DA:66,53
+DA:67,443
+DA:70,395
+DA:71,395
+DA:74,240
+DA:75,240
+DA:76,240
+DA:77,2
+DA:78,238
+DA:79,238
+DA:80,238
+DA:81,238
+DA:82,126
+DA:83,112
+DA:84,112
+DA:85,238
+DA:86,41
+DA:87,197
+DA:88,2
+DA:89,195
+DA:90,20
+DA:92,175
+DA:93,103
+DA:94,10
+DA:95,93
+DA:96,10
+DA:97,83
+DA:98,10
+DA:100,145
+DA:101,72
+DA:102,10
+DA:103,62
+DA:104,10
+DA:105,52
+DA:106,10
+DA:107,42
+DA:108,10
+DA:109,32
+DA:110,10
+DA:112,95
+DA:113,66
+DA:114,29
+DA:115,9
+DA:116,9
+DA:117,4
+DA:118,8
+DA:119,2
+DA:120,2
+DA:121,2
+DA:122,2
+DA:123,2
+DA:124,2
+DA:125,3
+DA:126,3
+DA:127,3
+DA:128,3
+DA:129,2
+DA:130,4
+DA:131,2
+DA:132,2
+DA:133,0
+DA:134,0
+DA:136,238
+DA:138,30
+DA:140,30
+DA:141,12
+DA:142,18
+DA:145,39
+DA:146,39
+LF:115
+LH:112
+end_of_record
diff --git a/build-coverage/executed.info b/build-coverage/executed.info
new file mode 100644
index 0000000..119e27e
--- /dev/null
+++ b/build-coverage/executed.info
@@ -0,0 +1,4199 @@
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/attributes.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_attributes.cpp
+FNL:0,108,121
+FNA:0,239,_ZN12_GLOBAL__N_111ParseNumberIdEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,627,_ZN12_GLOBAL__N_111ParseNumberIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:1,123,146
+FNA:1,204,_ZN12_GLOBAL__N_15ValueERKNS_5TokenERK19AttributeDefinitionb
+FNL:2,14,62
+FNA:2,621,_ZN12_GLOBAL__N_18TokenizeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:3,148,196
+FNA:3,393,_ZN12_GLOBAL__N_16DefineERNS_15AttributeTokensER11DbcDatabase
+FNL:4,198,203
+FNA:4,218,_ZN12_GLOBAL__N_114FindDefinitionER11DbcDatabaseRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:5,205,212
+FNA:5,32,_ZN12_GLOBAL__N_17ParseIdERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER19AttributeAssignment
+FNL:6,214,225
+FNA:6,15,_ZN12_GLOBAL__N_16TargetER11DbcDatabaseRK19AttributeAssignment
+FNL:7,227,232
+FNA:7,36,_ZN12_GLOBAL__N_117ValidateCycleTimeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt7variantIJldS5_EE
+FNL:8,234,248
+FNA:8,15,_ZN12_GLOBAL__N_112ApplyDefaultER11DbcDatabaseRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK19AttributeDefinition
+FNL:9,251,253
+FNA:9,621,_ZNK19DbcAttributeHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:10,255,333
+FNA:10,549,_ZN15DbcParseContext17ResolveAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorI13DbcDiagnosticSaIS9_EE
+FNL:11,66,66
+FNA:11,621,_ZN12_GLOBAL__N_115AttributeTokensC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:12,67,71
+FNA:12,2639,_ZN12_GLOBAL__N_115AttributeTokens4TakeEv
+FNL:13,72,77
+FNA:13,1681,_ZN12_GLOBAL__N_115AttributeTokens4WordEv
+FNL:14,78,83
+FNA:14,315,_ZN12_GLOBAL__N_115AttributeTokens6QuotedEv
+FNL:15,84,84
+FNA:15,262,_ZNK12_GLOBAL__N_115AttributeTokens5EmptyEv
+FNL:16,85,88
+FNA:16,245,_ZNK12_GLOBAL__N_115AttributeTokens3EndEv
+FNL:17,95,97
+FNA:17,115,_ZN12_GLOBAL__N_17IsScopeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:18,99,105
+FNA:18,110,_ZN12_GLOBAL__N_110ParseScopeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:19
+FNH:19
+BRDA:17,0,0,5528
+BRDA:17,0,1,613
+BRDA:19,0,0,3390
+BRDA:19,0,1,2138
+BRDA:19,0,2,0
+BRDA:19,0,3,3390
+BRDA:22,0,0,652
+BRDA:22,0,1,2738
+BRDA:25,0,0,1936
+BRDA:25,0,1,2
+BRDA:27,0,0,648
+BRDA:27,0,1,1288
+BRDA:31,0,0,4
+BRDA:31,0,1,1284
+BRDA:32,0,0,0
+BRDA:32,0,1,4
+BRDA:33,0,0,-
+BRDA:33,e0,1,-
+BRDA:35,0,0,3
+BRDA:35,0,1,1
+BRDA:35,0,2,2
+BRDA:35,0,3,1
+BRDA:36,0,0,2
+BRDA:36,e0,1,0
+BRDA:38,0,0,1286
+BRDA:38,e0,1,0
+BRDA:40,0,0,2
+BRDA:40,0,1,648
+BRDA:41,0,0,2
+BRDA:41,e0,1,0
+BRDA:42,0,0,33
+BRDA:42,0,1,615
+BRDA:42,0,2,33
+BRDA:42,0,3,0
+BRDA:43,0,0,648
+BRDA:43,0,1,0
+BRDA:43,0,2,23
+BRDA:43,0,3,10
+BRDA:43,0,4,2
+BRDA:43,0,5,21
+BRDA:43,0,6,2
+BRDA:43,0,7,646
+BRDA:44,0,0,2
+BRDA:44,e0,1,0
+BRDA:45,0,0,2125
+BRDA:45,0,1,613
+BRDA:45,0,2,10
+BRDA:45,0,3,2115
+BRDA:46,0,0,623
+BRDA:46,e0,1,0
+BRDA:48,0,0,2115
+BRDA:48,e0,1,0
+BRDA:49,0,0,7618
+BRDA:49,0,1,1521
+BRDA:49,0,2,7618
+BRDA:49,0,3,0
+BRDA:50,0,0,9139
+BRDA:50,0,1,2
+BRDA:50,0,2,7028
+BRDA:50,0,3,590
+BRDA:50,0,4,7028
+BRDA:50,0,5,0
+BRDA:50,0,6,7028
+BRDA:50,0,7,2113
+BRDA:51,0,0,2
+BRDA:51,0,1,7026
+BRDA:52,0,0,2
+BRDA:52,e0,1,0
+BRDA:53,0,0,7026
+BRDA:53,e0,1,0
+BRDA:56,0,0,3382
+BRDA:56,e0,1,0
+BRDA:58,0,0,613
+BRDA:58,0,1,0
+BRDA:58,0,2,613
+BRDA:58,0,3,0
+BRDA:58,0,4,613
+BRDA:58,e0,5,0
+BRDA:58,0,6,2
+BRDA:58,0,7,611
+BRDA:58,0,8,2
+BRDA:58,0,9,611
+BRDA:59,0,0,2
+BRDA:59,e0,1,0
+BRDA:68,0,0,4
+BRDA:68,0,1,2635
+BRDA:69,0,0,4
+BRDA:69,e0,1,0
+BRDA:73,0,0,1681
+BRDA:73,e0,1,0
+BRDA:74,0,0,1679
+BRDA:74,0,1,2
+BRDA:74,0,2,1679
+BRDA:74,e0,3,0
+BRDA:74,0,4,1679
+BRDA:74,0,5,0
+BRDA:74,0,6,1679
+BRDA:74,e0,7,0
+BRDA:74,0,8,0
+BRDA:74,0,9,1679
+BRDA:74,0,10,2
+BRDA:74,0,11,1679
+BRDA:75,0,0,2
+BRDA:75,e0,1,0
+BRDA:76,0,0,1679
+BRDA:76,e0,1,0
+BRDA:79,0,0,311
+BRDA:79,e0,1,4
+BRDA:80,0,0,2
+BRDA:80,0,1,309
+BRDA:81,0,0,2
+BRDA:81,e0,1,0
+BRDA:82,0,0,309
+BRDA:82,e0,1,0
+BRDA:86,0,0,0
+BRDA:86,0,1,245
+BRDA:87,0,0,-
+BRDA:87,e0,1,-
+BRDA:96,0,0,88
+BRDA:96,0,1,27
+BRDA:96,0,2,83
+BRDA:96,0,3,5
+BRDA:96,0,4,82
+BRDA:96,0,5,1
+BRDA:96,0,6,1
+BRDA:96,0,7,81
+BRDA:100,0,0,93
+BRDA:100,0,1,17
+BRDA:101,0,0,11
+BRDA:101,0,1,6
+BRDA:102,0,0,2
+BRDA:102,0,1,4
+BRDA:103,0,0,2
+BRDA:103,0,1,2
+BRDA:104,0,0,2
+BRDA:104,e0,1,0
+BRDA:104,0,2,2
+BRDA:104,e0,3,0
+BRDA:111,0,0,866
+BRDA:111,0,1,0
+BRDA:111,0,2,78
+BRDA:111,0,3,788
+BRDA:113,0,0,54
+BRDA:113,0,1,24
+BRDA:113,0,2,30
+BRDA:113,0,3,24
+BRDA:113,0,4,24
+BRDA:113,0,5,6
+BRDA:114,0,0,48
+BRDA:114,e0,1,0
+BRDA:114,0,2,48
+BRDA:114,e0,3,0
+BRDA:117,0,0,595
+BRDA:117,e0,1,0
+BRDA:118,0,0,794
+BRDA:118,0,1,24
+BRDA:118,0,2,664
+BRDA:118,0,3,130
+BRDA:118,0,4,576
+BRDA:118,0,5,88
+BRDA:118,0,6,28
+BRDA:118,0,7,548
+BRDA:118,0,8,270
+BRDA:118,0,9,548
+BRDA:119,0,0,270
+BRDA:119,e0,1,0
+BRDA:119,0,2,270
+BRDA:119,e0,3,0
+BRDA:124,0,0,6
+BRDA:124,0,1,198
+BRDA:125,0,0,2
+BRDA:125,0,1,4
+BRDA:125,0,2,2
+BRDA:125,e0,3,0
+BRDA:126,0,0,4
+BRDA:126,e0,1,0
+BRDA:128,0,0,10
+BRDA:128,0,1,188
+BRDA:128,0,2,5
+BRDA:128,0,3,5
+BRDA:128,0,4,4
+BRDA:128,0,5,1
+BRDA:129,0,0,7
+BRDA:129,0,1,2
+BRDA:130,0,0,2
+BRDA:130,0,1,5
+BRDA:133,0,0,2
+BRDA:133,e0,1,0
+BRDA:135,0,0,2
+BRDA:135,0,1,192
+BRDA:135,0,2,2
+BRDA:135,e0,3,0
+BRDA:136,0,0,53
+BRDA:136,0,1,139
+BRDA:137,0,0,5
+BRDA:137,e0,1,48
+BRDA:138,0,0,5
+BRDA:138,0,1,0
+BRDA:138,0,2,2
+BRDA:138,0,3,3
+BRDA:139,0,0,2
+BRDA:139,e0,1,0
+BRDA:142,0,0,31
+BRDA:142,e0,1,108
+BRDA:143,0,0,31
+BRDA:143,0,1,0
+BRDA:143,0,2,4
+BRDA:143,0,3,27
+BRDA:144,0,0,4
+BRDA:144,e0,1,0
+BRDA:150,0,0,393
+BRDA:150,e0,1,0
+BRDA:151,0,0,393
+BRDA:151,e0,1,0
+BRDA:152,0,0,76
+BRDA:152,0,1,317
+BRDA:153,0,0,74
+BRDA:153,e0,1,2
+BRDA:154,0,0,72
+BRDA:154,e0,1,2
+BRDA:156,0,0,0
+BRDA:156,0,1,389
+BRDA:156,0,2,0
+BRDA:156,e0,3,0
+BRDA:157,0,0,387
+BRDA:157,e0,1,2
+BRDA:158,0,0,387
+BRDA:158,e0,1,0
+BRDA:158,0,2,230
+BRDA:158,0,3,157
+BRDA:158,0,4,230
+BRDA:158,e0,5,0
+BRDA:158,0,6,98
+BRDA:158,0,7,132
+BRDA:158,0,8,255
+BRDA:158,0,9,132
+BRDA:159,0,0,255
+BRDA:159,e0,1,0
+BRDA:159,0,2,157
+BRDA:159,0,3,98
+BRDA:160,0,0,255
+BRDA:160,e0,1,0
+BRDA:160,0,2,201
+BRDA:160,e0,3,54
+BRDA:161,0,0,201
+BRDA:161,e0,1,0
+BRDA:161,0,2,145
+BRDA:161,e0,3,56
+BRDA:162,0,0,2
+BRDA:162,0,1,143
+BRDA:163,0,0,2
+BRDA:163,e0,1,0
+BRDA:164,0,0,132
+BRDA:164,e0,1,0
+BRDA:164,0,2,106
+BRDA:164,0,3,26
+BRDA:166,0,0,106
+BRDA:166,e0,1,0
+BRDA:166,0,2,80
+BRDA:166,e0,3,26
+BRDA:167,0,0,80
+BRDA:167,e0,1,0
+BRDA:167,0,2,54
+BRDA:167,e0,3,26
+BRDA:168,0,0,2
+BRDA:168,0,1,52
+BRDA:169,0,0,2
+BRDA:169,e0,1,0
+BRDA:170,0,0,26
+BRDA:170,e0,1,0
+BRDA:170,0,2,11
+BRDA:170,0,3,15
+BRDA:172,0,0,15
+BRDA:172,e0,1,0
+BRDA:172,0,2,13
+BRDA:172,0,3,2
+BRDA:176,0,0,19
+BRDA:176,e0,1,4
+BRDA:177,0,0,19
+BRDA:177,e0,1,0
+BRDA:177,0,2,2
+BRDA:177,0,3,17
+BRDA:178,0,0,2
+BRDA:178,e0,1,0
+BRDA:179,0,0,17
+BRDA:179,e0,1,0
+BRDA:180,0,0,7
+BRDA:180,0,1,10
+BRDA:181,0,0,10
+BRDA:181,e0,1,0
+BRDA:182,0,0,10
+BRDA:182,0,1,0
+BRDA:182,0,2,10
+BRDA:182,e0,3,0
+BRDA:182,0,4,0
+BRDA:182,0,5,10
+BRDA:182,0,6,0
+BRDA:182,0,7,10
+BRDA:182,0,8,0
+BRDA:182,e0,9,0
+BRDA:183,0,0,10
+BRDA:183,0,1,7
+BRDA:186,0,0,2
+BRDA:186,e0,1,0
+BRDA:186,0,2,2
+BRDA:186,e0,3,0
+BRDA:188,0,0,213
+BRDA:188,e0,1,0
+BRDA:189,0,0,213
+BRDA:189,e0,1,0
+BRDA:189,0,2,4
+BRDA:189,0,3,209
+BRDA:189,0,4,4
+BRDA:189,0,5,0
+BRDA:189,0,6,2
+BRDA:189,0,7,2
+BRDA:189,0,8,2
+BRDA:189,0,9,211
+BRDA:190,0,0,2
+BRDA:190,e0,1,0
+BRDA:191,0,0,211
+BRDA:191,e0,1,0
+BRDA:191,0,2,8
+BRDA:191,0,3,203
+BRDA:191,0,4,6
+BRDA:191,0,5,2
+BRDA:191,0,6,2
+BRDA:191,0,7,209
+BRDA:192,0,0,0
+BRDA:192,0,1,6
+BRDA:192,0,2,0
+BRDA:192,0,3,0
+BRDA:193,0,0,2
+BRDA:193,e0,1,0
+BRDA:194,0,0,209
+BRDA:194,e0,1,0
+BRDA:194,0,2,2
+BRDA:194,0,3,207
+BRDA:195,0,0,2
+BRDA:195,e0,1,0
+BRDA:195,0,2,2
+BRDA:195,e0,3,0
+BRDA:199,0,0,218
+BRDA:199,e0,1,0
+BRDA:200,0,0,4
+BRDA:200,0,1,214
+BRDA:201,0,0,4
+BRDA:201,e0,1,0
+BRDA:201,0,2,4
+BRDA:201,e0,3,0
+BRDA:207,0,0,30
+BRDA:207,0,1,2
+BRDA:207,0,2,28
+BRDA:207,0,3,2
+BRDA:207,0,4,2
+BRDA:207,0,5,26
+BRDA:207,0,6,6
+BRDA:207,0,7,26
+BRDA:208,0,0,6
+BRDA:208,e0,1,0
+BRDA:211,0,0,24
+BRDA:211,0,1,2
+BRDA:211,0,2,0
+BRDA:211,0,3,24
+BRDA:215,0,0,3
+BRDA:215,0,1,12
+BRDA:216,0,0,14
+BRDA:216,0,1,2
+BRDA:217,0,0,12
+BRDA:217,0,1,2
+BRDA:217,0,2,2
+BRDA:217,0,3,10
+BRDA:218,0,0,7
+BRDA:218,0,1,3
+BRDA:219,0,0,1
+BRDA:219,0,1,2
+BRDA:220,0,0,1
+BRDA:220,0,1,0
+BRDA:222,0,0,2
+BRDA:222,e0,1,0
+BRDA:222,0,2,2
+BRDA:222,e0,3,0
+BRDA:224,0,0,2
+BRDA:224,e0,1,0
+BRDA:228,0,0,28
+BRDA:228,0,1,8
+BRDA:230,0,0,6
+BRDA:230,0,1,2
+BRDA:230,0,2,2
+BRDA:230,0,3,4
+BRDA:230,0,4,4
+BRDA:230,0,5,4
+BRDA:231,0,0,4
+BRDA:231,e0,1,0
+BRDA:235,0,0,0
+BRDA:235,0,1,15
+BRDA:236,0,0,5
+BRDA:236,0,1,10
+BRDA:240,0,0,2
+BRDA:240,0,1,8
+BRDA:240,0,2,0
+BRDA:240,0,3,2
+BRDA:242,0,0,18
+BRDA:242,0,1,10
+BRDA:243,0,0,14
+BRDA:243,0,1,4
+BRDA:243,0,2,14
+BRDA:243,e0,3,0
+BRDA:243,0,4,14
+BRDA:243,e0,5,0
+BRDA:244,0,0,4
+BRDA:244,0,1,14
+BRDA:245,0,0,2
+BRDA:245,e0,1,0
+BRDA:245,0,2,2
+BRDA:245,e0,3,0
+BRDA:245,0,4,2
+BRDA:245,0,5,4
+BRDA:253,0,0,621
+BRDA:253,e0,1,0
+BRDA:253,0,2,621
+BRDA:253,e0,3,0
+BRDA:253,0,4,0
+BRDA:253,0,5,0
+BRDA:260,0,0,1177
+BRDA:260,0,1,163
+BRDA:261,0,0,1303
+BRDA:261,0,1,791
+BRDA:262,0,0,1303
+BRDA:262,e0,1,0
+BRDA:263,0,0,1303
+BRDA:263,e0,1,0
+BRDA:263,0,2,682
+BRDA:263,0,3,621
+BRDA:265,0,0,611
+BRDA:265,e0,1,10
+BRDA:266,0,0,611
+BRDA:266,e0,1,0
+BRDA:267,0,0,611
+BRDA:267,e0,1,0
+BRDA:267,0,2,393
+BRDA:267,0,3,218
+BRDA:268,0,0,207
+BRDA:268,e0,1,186
+BRDA:271,0,0,218
+BRDA:271,e0,1,0
+BRDA:272,0,0,214
+BRDA:272,e0,1,4
+BRDA:273,0,0,214
+BRDA:273,e0,1,0
+BRDA:273,0,2,99
+BRDA:273,0,3,115
+BRDA:274,0,0,2
+BRDA:274,0,1,97
+BRDA:274,0,2,2
+BRDA:274,e0,3,0
+BRDA:274,0,4,2
+BRDA:274,e0,5,0
+BRDA:275,0,0,97
+BRDA:275,e0,1,0
+BRDA:275,0,2,17
+BRDA:275,e0,3,80
+BRDA:276,0,0,15
+BRDA:276,e0,1,2
+BRDA:277,0,0,15
+BRDA:277,e0,1,0
+BRDA:278,0,0,15
+BRDA:278,e0,1,0
+BRDA:279,0,0,15
+BRDA:279,e0,1,0
+BRDA:283,0,0,115
+BRDA:283,e0,1,0
+BRDA:284,0,0,115
+BRDA:284,e0,1,0
+BRDA:285,0,0,115
+BRDA:285,0,1,0
+BRDA:285,0,2,115
+BRDA:285,e0,3,0
+BRDA:285,0,4,34
+BRDA:285,0,5,81
+BRDA:285,0,6,34
+BRDA:285,0,7,81
+BRDA:286,0,0,34
+BRDA:286,e0,1,0
+BRDA:287,0,0,7
+BRDA:287,0,1,27
+BRDA:287,0,2,5
+BRDA:287,0,3,2
+BRDA:288,0,0,32
+BRDA:288,e0,1,0
+BRDA:288,0,2,26
+BRDA:288,e0,3,6
+BRDA:289,0,0,7
+BRDA:289,0,1,21
+BRDA:290,0,0,7
+BRDA:290,e0,1,0
+BRDA:291,0,0,28
+BRDA:291,e0,1,0
+BRDA:293,0,0,2
+BRDA:293,0,1,107
+BRDA:293,0,2,2
+BRDA:293,e0,3,0
+BRDA:294,0,0,19
+BRDA:294,e0,1,88
+BRDA:295,0,0,17
+BRDA:295,e0,1,2
+BRDA:296,0,0,17
+BRDA:296,e0,1,0
+BRDA:298,0,0,16
+BRDA:298,0,1,1
+BRDA:298,0,2,15
+BRDA:298,0,3,1
+BRDA:299,0,0,11
+BRDA:299,e0,1,4
+BRDA:299,0,2,11
+BRDA:299,e0,3,0
+BRDA:299,0,4,11
+BRDA:299,e0,5,0
+BRDA:300,0,0,13
+BRDA:300,e0,1,0
+BRDA:301,0,0,13
+BRDA:301,e0,1,0
+BRDA:302,0,0,13
+BRDA:302,0,1,15
+BRDA:302,0,2,13
+BRDA:302,0,3,222
+BRDA:302,0,4,0
+BRDA:302,0,5,386
+BRDA:303,0,0,386
+BRDA:303,e0,1,0
+BRDA:303,0,2,386
+BRDA:303,e0,3,0
+BRDA:305,0,0,13
+BRDA:305,0,1,904
+BRDA:307,0,0,179
+BRDA:307,0,1,163
+BRDA:308,0,0,12
+BRDA:308,0,1,179
+BRDA:309,0,0,12
+BRDA:309,e0,1,0
+BRDA:309,0,2,7
+BRDA:309,0,3,5
+BRDA:309,0,4,7
+BRDA:309,e0,5,0
+BRDA:309,0,6,3
+BRDA:309,0,7,4
+BRDA:309,0,8,3
+BRDA:309,0,9,9
+BRDA:310,0,0,9
+BRDA:310,e0,1,0
+BRDA:311,0,0,28
+BRDA:311,0,1,9
+BRDA:313,0,0,12
+BRDA:313,0,1,0
+BRDA:314,0,0,12
+BRDA:314,0,1,16
+BRDA:314,0,2,9
+BRDA:314,0,3,3
+BRDA:314,0,4,5
+BRDA:314,0,5,4
+BRDA:314,0,6,5
+BRDA:314,0,7,23
+BRDA:317,0,0,9
+BRDA:317,e0,1,0
+BRDA:318,0,0,9
+BRDA:318,e0,1,0
+BRDA:318,0,2,4
+BRDA:318,0,3,5
+BRDA:322,0,0,5
+BRDA:322,e0,1,0
+BRDA:322,0,2,5
+BRDA:322,e0,3,0
+BRDA:325,0,0,5
+BRDA:325,e0,1,0
+BRDA:325,0,2,3
+BRDA:325,0,3,2
+BRDA:325,0,4,3
+BRDA:325,e0,5,0
+BRDA:325,0,6,2
+BRDA:325,0,7,1
+BRDA:325,0,8,2
+BRDA:325,0,9,3
+BRDA:326,0,0,2
+BRDA:326,e0,1,0
+BRDA:326,0,2,2
+BRDA:326,e0,3,0
+BRDA:327,0,0,3
+BRDA:327,e0,1,0
+BRDA:327,0,2,1
+BRDA:327,0,3,2
+BRDA:328,0,0,1
+BRDA:328,e0,1,0
+BRDA:328,0,2,1
+BRDA:328,e0,3,0
+BRDA:329,0,0,3
+BRDA:329,0,1,2
+BRDA:333,0,0,3
+BRDA:333,e0,1,0
+BRDA:333,0,2,3
+BRDA:333,e0,3,0
+BRDA:333,0,4,3
+BRDA:333,e0,5,0
+BRDA:333,0,6,0
+BRDA:333,0,7,0
+BRF:604
+BRH:444
+DA:14,621
+DA:15,621
+DA:16,621
+DA:17,6141
+DA:18,5528
+DA:19,5528
+DA:20,2138
+DA:21,3390
+DA:22,3390
+DA:23,652
+DA:24,652
+DA:25,1938
+DA:26,1936
+DA:27,1936
+DA:28,648
+DA:29,648
+DA:31,1288
+DA:32,4
+DA:33,0
+DA:34,4
+DA:35,4
+DA:36,2
+DA:38,1286
+DA:40,650
+DA:41,2
+DA:42,1296
+DA:43,1296
+DA:44,2
+DA:45,2738
+DA:46,623
+DA:48,2115
+DA:49,18280
+DA:50,18280
+DA:51,7028
+DA:52,2
+DA:53,7026
+DA:56,3382
+DA:57,3390
+DA:58,613
+DA:59,2
+DA:60,611
+DA:61,611
+DA:62,10
+DA:66,621
+DA:67,2639
+DA:68,2639
+DA:69,4
+DA:70,2635
+DA:72,1681
+DA:73,1681
+DA:74,1681
+DA:75,2
+DA:76,3358
+DA:77,1681
+DA:78,315
+DA:79,315
+DA:80,311
+DA:81,2
+DA:82,618
+DA:83,311
+DA:84,262
+DA:85,245
+DA:86,245
+DA:87,0
+DA:88,245
+DA:95,115
+DA:96,115
+DA:99,110
+DA:100,110
+DA:101,17
+DA:102,6
+DA:103,4
+DA:104,2
+DA:108,866
+DA:109,866
+DA:110,866
+DA:111,866
+DA:112,78
+DA:113,78
+DA:114,48
+DA:116,818
+DA:117,818
+DA:118,818
+DA:119,270
+DA:120,548
+DA:123,204
+DA:124,204
+DA:125,6
+DA:126,4
+DA:128,198
+DA:129,9
+DA:130,7
+DA:131,2
+DA:133,2
+DA:135,194
+DA:136,192
+DA:137,53
+DA:138,5
+DA:139,2
+DA:140,3
+DA:142,139
+DA:143,31
+DA:144,4
+DA:145,27
+DA:148,393
+DA:149,393
+DA:150,393
+DA:151,393
+DA:152,393
+DA:153,76
+DA:154,74
+DA:156,389
+DA:157,389
+DA:158,387
+DA:159,255
+DA:160,309
+DA:161,257
+DA:162,145
+DA:163,2
+DA:164,132
+DA:165,106
+DA:166,132
+DA:167,106
+DA:168,54
+DA:169,2
+DA:170,26
+DA:171,11
+DA:172,15
+DA:173,13
+DA:174,13
+DA:176,23
+DA:177,19
+DA:178,2
+DA:179,17
+DA:180,17
+DA:181,10
+DA:182,10
+DA:183,29
+DA:184,7
+DA:185,13
+DA:186,2
+DA:188,213
+DA:189,213
+DA:190,2
+DA:191,217
+DA:192,6
+DA:193,2
+DA:194,209
+DA:195,2
+DA:196,945
+DA:198,218
+DA:199,218
+DA:200,218
+DA:201,4
+DA:202,428
+DA:205,32
+DA:206,32
+DA:207,32
+DA:208,6
+DA:209,26
+DA:210,26
+DA:211,26
+DA:212,26
+DA:214,15
+DA:215,15
+DA:216,16
+DA:217,14
+DA:218,11
+DA:219,3
+DA:220,1
+DA:222,2
+DA:224,2
+DA:227,36
+DA:228,36
+DA:229,8
+DA:230,8
+DA:231,4
+DA:234,15
+DA:235,15
+DA:236,15
+DA:237,5
+DA:238,5
+DA:240,10
+DA:241,0
+DA:242,28
+DA:243,18
+DA:244,18
+DA:245,6
+DA:251,621
+DA:252,621
+DA:253,1242
+DA:255,549
+DA:256,549
+DA:257,549
+DA:259,549
+DA:260,1340
+DA:261,2094
+DA:262,1303
+DA:263,1303
+DA:265,621
+DA:266,611
+DA:267,611
+DA:268,393
+DA:269,207
+DA:271,218
+DA:272,218
+DA:273,214
+DA:274,99
+DA:275,177
+DA:276,17
+DA:277,15
+DA:278,15
+DA:279,15
+DA:280,15
+DA:282,115
+DA:283,115
+DA:284,115
+DA:285,115
+DA:286,34
+DA:287,34
+DA:288,38
+DA:289,28
+DA:290,7
+DA:291,28
+DA:293,109
+DA:294,107
+DA:295,19
+DA:296,17
+DA:298,17
+DA:299,15
+DA:300,13
+DA:301,13
+DA:302,1406
+DA:303,1158
+DA:304,386
+DA:305,1303
+DA:307,342
+DA:308,191
+DA:309,16
+DA:310,9
+DA:311,37
+DA:312,28
+DA:313,40
+DA:314,40
+DA:315,5
+DA:317,9
+DA:318,9
+DA:319,4
+DA:320,4
+DA:322,5
+DA:323,5
+DA:324,5
+DA:325,5
+DA:326,2
+DA:327,3
+DA:328,1
+DA:329,5
+DA:330,3
+DA:331,5
+DA:333,938
+LF:260
+LH:257
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_database.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.cpp
+FNL:0,15,61
+FNA:0,108,_ZNK16DbcDecodeBuilder5BuildERK11DbcDatabase
+FNF:1
+FNH:1
+BRDA:17,0,0,108
+BRDA:17,e0,1,0
+BRDA:19,0,0,140
+BRDA:19,0,1,108
+BRDA:22,0,0,140
+BRDA:22,e0,1,0
+BRDA:23,0,0,140
+BRDA:23,e0,1,0
+BRDA:25,0,0,140
+BRDA:25,e0,1,0
+BRDA:31,0,0,140
+BRDA:31,e0,1,0
+BRDA:32,0,0,140
+BRDA:32,e0,1,0
+BRDA:34,0,0,140
+BRDA:34,e0,1,0
+BRDA:35,0,0,173
+BRDA:35,0,1,140
+BRDA:38,0,0,173
+BRDA:38,e0,1,0
+BRDA:40,0,0,173
+BRDA:40,e0,1,0
+BRDA:43,0,0,155
+BRDA:43,0,1,18
+BRDA:44,0,0,6
+BRDA:44,0,1,167
+BRDA:49,0,0,173
+BRDA:49,e0,1,0
+BRDA:50,0,0,173
+BRDA:50,e0,1,0
+BRDA:51,0,0,173
+BRDA:51,e0,1,0
+BRDA:52,0,0,173
+BRDA:52,e0,1,0
+BRDA:54,0,0,173
+BRDA:54,e0,1,0
+BRDA:57,0,0,140
+BRDA:57,e0,1,0
+BRDA:60,0,0,68
+BRDA:60,e0,1,40
+BRF:40
+BRH:25
+DA:15,108
+DA:16,108
+DA:17,108
+DA:19,248
+DA:20,140
+DA:22,140
+DA:23,140
+DA:24,140
+DA:25,140
+DA:26,140
+DA:27,140
+DA:28,140
+DA:29,140
+DA:30,140
+DA:31,140
+DA:32,140
+DA:34,140
+DA:35,313
+DA:36,173
+DA:38,173
+DA:39,173
+DA:40,173
+DA:41,173
+DA:42,173
+DA:43,173
+DA:44,173
+DA:45,173
+DA:46,173
+DA:47,173
+DA:48,173
+DA:49,173
+DA:50,173
+DA:51,173
+DA:52,173
+DA:54,173
+DA:55,173
+DA:57,140
+DA:58,140
+DA:60,176
+DA:61,108
+LF:40
+LH:40
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.cpp
+FNL:0,101,111
+FNA:0,6396,_ZN10DbcDecoder17IsValidDefinitionERK12DecodeSignalh
+FNL:1,113,131
+FNA:1,6341,_ZN10DbcDecoder12ReadSelectorERK11DecodeFrameRK11RawCanFrame
+FNL:2,133,181
+FNA:2,6375,_ZN10DbcDecoder15DecodeOneSignalERK12DecodeSignalhRK11RawCanFrameRKNS_13SelectorStateE
+FNL:3,183,193
+FNA:3,6380,_ZN10DbcDecoder15ExtractUnsignedERKSt6vectorIhSaIhEERK12DecodeSignalRm
+FNL:4,195,216
+FNA:4,3242,_ZN10DbcDecoder12ExtractIntelERKSt6vectorIhSaIhEEjjRm
+FNL:5,20,24
+FNA:5,32,_ZNK10DbcDecoder9FindFrameERK14DecodeDatabasejb
+FNL:6,218,250
+FNA:6,3138,_ZN10DbcDecoder15ExtractMotorolaERKSt6vectorIhSaIhEEjjRm
+FNL:7,252,267
+FNA:7,81,_ZN10DbcDecoder10SignExtendEmj
+FNL:8,26,34
+FNA:8,6440,_ZN10DbcDecoder12ResolveFrameERK14DecodeDatabasejb
+FNL:9,36,39
+FNA:9,6396,_ZNK10DbcDecoder6DecodeERK14DecodeDatabaseRK11RawCanFrame
+FNL:10,41,45
+FNA:10,12,_ZNK10DbcDecoder6DecodeERK14DecodeDatabaseRK11RawCanFrameRKSt6vectorI9SignalKeySaIS7_EE
+FNL:11,47,99
+FNA:11,6408,_ZNK10DbcDecoder10DecodeImplERK14DecodeDatabaseRK11RawCanFramePKSt6vectorI9SignalKeySaIS7_EE
+FNF:12
+FNH:12
+BRDA:23,0,0,32
+BRDA:23,e0,1,0
+BRDA:28,0,0,6440
+BRDA:28,e0,1,0
+BRDA:29,0,0,6335
+BRDA:29,0,1,105
+BRDA:31,0,0,87
+BRDA:31,0,1,18
+BRDA:31,0,2,7
+BRDA:31,0,3,80
+BRDA:33,0,0,80
+BRDA:33,e0,1,0
+BRDA:52,0,0,6408
+BRDA:52,e0,1,0
+BRDA:53,0,0,8
+BRDA:53,0,1,6400
+BRDA:58,0,0,55
+BRDA:58,0,1,6345
+BRDA:63,0,0,8
+BRDA:63,0,1,6337
+BRDA:64,0,0,8
+BRDA:64,e0,1,0
+BRDA:66,0,0,8
+BRDA:66,0,1,4
+BRDA:67,0,0,4
+BRDA:67,0,1,4
+BRDA:68,0,0,4
+BRDA:68,e0,1,0
+BRDA:68,0,2,4
+BRDA:68,e0,3,0
+BRDA:69,0,0,4
+BRDA:69,e0,1,0
+BRDA:69,0,2,0
+BRDA:69,0,3,4
+BRDA:70,0,0,-
+BRDA:70,e0,1,-
+BRDA:70,0,2,-
+BRDA:70,e0,3,-
+BRDA:71,0,0,4
+BRDA:71,e0,1,0
+BRDA:72,0,0,0
+BRDA:72,0,1,4
+BRDA:73,0,0,-
+BRDA:73,e0,1,-
+BRDA:73,0,2,-
+BRDA:73,e0,3,-
+BRDA:74,0,0,4
+BRDA:74,e0,1,0
+BRDA:81,0,0,6238
+BRDA:81,0,1,103
+BRDA:84,0,0,6341
+BRDA:84,e0,1,0
+BRDA:85,0,0,4
+BRDA:85,0,1,6337
+BRDA:86,0,0,6341
+BRDA:86,e0,1,0
+BRDA:87,0,0,6375
+BRDA:87,0,1,6341
+BRDA:88,0,0,4
+BRDA:88,0,1,6371
+BRDA:89,0,0,6375
+BRDA:89,e0,1,0
+BRDA:90,0,0,44
+BRDA:90,0,1,6331
+BRDA:90,0,2,31
+BRDA:90,0,3,13
+BRDA:91,0,0,5
+BRDA:91,0,1,26
+BRDA:94,0,0,6375
+BRDA:94,e0,1,0
+BRDA:95,0,0,6375
+BRDA:95,e0,1,0
+BRDA:102,0,0,3144
+BRDA:102,0,1,3252
+BRDA:102,0,2,3144
+BRDA:102,0,3,0
+BRDA:103,0,0,85
+BRDA:103,0,1,6311
+BRDA:103,0,2,85
+BRDA:103,0,3,0
+BRDA:104,0,0,71
+BRDA:104,0,1,6325
+BRDA:105,0,0,29
+BRDA:105,0,1,42
+BRDA:106,0,0,0
+BRDA:106,0,1,29
+BRDA:117,0,0,6375
+BRDA:117,0,1,6341
+BRDA:118,0,0,21
+BRDA:118,0,1,6354
+BRDA:123,0,0,6320
+BRDA:123,0,1,21
+BRDA:127,0,0,21
+BRDA:127,0,1,0
+BRDA:128,0,0,21
+BRDA:128,0,1,0
+BRDA:129,0,0,21
+BRDA:129,0,1,0
+BRDA:129,0,2,19
+BRDA:129,0,3,2
+BRDA:140,0,0,6375
+BRDA:140,e0,1,0
+BRDA:140,0,2,6375
+BRDA:140,0,3,0
+BRDA:140,0,4,0
+BRDA:140,0,5,6375
+BRDA:141,0,0,50
+BRDA:141,0,1,6325
+BRDA:141,0,2,0
+BRDA:141,0,3,50
+BRDA:144,0,0,29
+BRDA:144,0,1,6346
+BRDA:145,0,0,23
+BRDA:145,0,1,6
+BRDA:145,0,2,0
+BRDA:145,0,3,23
+BRDA:148,0,0,3
+BRDA:148,0,1,26
+BRDA:152,0,0,13
+BRDA:152,0,1,13
+BRDA:157,0,0,6359
+BRDA:157,e0,1,0
+BRDA:157,0,2,23
+BRDA:157,0,3,6336
+BRDA:162,0,0,81
+BRDA:162,0,1,6255
+BRDA:163,0,0,81
+BRDA:163,e0,1,0
+BRDA:168,0,0,81
+BRDA:168,0,1,6255
+BRDA:171,0,0,6255
+BRDA:171,e0,1,0
+BRDA:173,0,0,5
+BRDA:173,0,1,6331
+BRDA:186,0,0,6380
+BRDA:186,0,1,0
+BRDA:186,0,2,0
+BRDA:186,0,3,6380
+BRDA:189,0,0,3242
+BRDA:189,0,1,3138
+BRDA:201,0,0,102334
+BRDA:201,0,1,3224
+BRDA:206,0,0,18
+BRDA:206,0,1,102316
+BRDA:235,0,0,101601
+BRDA:235,0,1,3131
+BRDA:236,0,0,7
+BRDA:236,0,1,101594
+BRDA:242,0,0,12688
+BRDA:242,0,1,88906
+BRDA:253,0,0,81
+BRDA:253,0,1,0
+BRDA:253,0,2,0
+BRDA:253,0,3,81
+BRDA:258,0,0,68
+BRDA:258,0,1,13
+BRDA:262,0,0,41
+BRDA:262,0,1,40
+BRF:158
+BRH:115
+DA:20,32
+DA:23,32
+DA:26,6440
+DA:28,6440
+DA:29,6440
+DA:30,6335
+DA:31,105
+DA:32,25
+DA:33,80
+DA:34,6440
+DA:36,6396
+DA:38,6396
+DA:41,12
+DA:44,12
+DA:47,6408
+DA:50,6408
+DA:51,6408
+DA:52,6408
+DA:53,6408
+DA:54,8
+DA:55,8
+DA:57,6400
+DA:58,6400
+DA:59,55
+DA:60,6345
+DA:62,6345
+DA:63,6345
+DA:64,8
+DA:65,8
+DA:66,12
+DA:67,8
+DA:68,4
+DA:69,4
+DA:70,0
+DA:71,4
+DA:72,4
+DA:73,0
+DA:74,4
+DA:75,4
+DA:76,8
+DA:78,6341
+DA:79,6341
+DA:80,6341
+DA:81,6341
+DA:84,6341
+DA:85,6341
+DA:86,6341
+DA:87,12716
+DA:88,6375
+DA:89,6375
+DA:90,6375
+DA:91,31
+DA:92,5
+DA:93,6375
+DA:94,6375
+DA:95,6375
+DA:96,6375
+DA:98,6341
+DA:99,6420
+DA:101,6396
+DA:102,6396
+DA:103,6396
+DA:104,6396
+DA:105,71
+DA:106,29
+DA:107,0
+DA:109,6396
+DA:110,6396
+DA:113,6341
+DA:115,6341
+DA:116,6341
+DA:117,12716
+DA:118,6375
+DA:119,21
+DA:120,21
+DA:123,6341
+DA:124,6320
+DA:126,21
+DA:127,42
+DA:128,21
+DA:129,21
+DA:130,21
+DA:133,6375
+DA:137,6375
+DA:138,6375
+DA:140,12750
+DA:141,6375
+DA:142,0
+DA:144,6375
+DA:145,29
+DA:146,0
+DA:148,29
+DA:149,3
+DA:150,3
+DA:152,26
+DA:153,13
+DA:154,13
+DA:157,6359
+DA:158,23
+DA:159,23
+DA:162,6336
+DA:163,81
+DA:165,6255
+DA:168,6336
+DA:169,81
+DA:171,6255
+DA:172,6336
+DA:173,6336
+DA:174,5
+DA:175,5
+DA:177,6331
+DA:178,6331
+DA:180,6331
+DA:181,0
+DA:183,6380
+DA:186,6380
+DA:187,0
+DA:189,6380
+DA:190,3242
+DA:192,3138
+DA:195,3242
+DA:199,3242
+DA:201,105558
+DA:202,102334
+DA:203,102334
+DA:204,102334
+DA:206,102334
+DA:207,18
+DA:210,102316
+DA:212,102316
+DA:215,3224
+DA:218,3138
+DA:230,3138
+DA:232,3138
+DA:233,3138
+DA:235,104732
+DA:236,101601
+DA:237,7
+DA:239,101594
+DA:240,101594
+DA:242,101594
+DA:243,12688
+DA:244,12688
+DA:246,88906
+DA:249,3131
+DA:252,81
+DA:253,81
+DA:254,0
+DA:256,81
+DA:257,81
+DA:258,81
+DA:259,68
+DA:260,81
+DA:262,81
+DA:263,41
+DA:266,40
+LF:156
+LH:148
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h
+FNL:0,29,29
+FNA:0,2220,_ZN11RawCanFrameC2Ev
+FNL:1,63,65
+FNA:1,79,_ZNK18DecodedSignalValue19GetValueDescriptionB5cxx11Ev
+FNL:2,67,67
+FNA:2,6380,_ZN18DecodedSignalValueC2Ev
+FNL:3,80,80
+FNA:3,6409,_ZN17DecodedFrameValueC2Ev
+FNF:4
+FNH:4
+BRDA:64,0,0,64
+BRDA:64,0,1,15
+BRDA:64,0,2,64
+BRDA:64,0,3,0
+BRF:4
+BRH:3
+DA:29,2220
+DA:63,79
+DA:64,79
+DA:67,6380
+DA:80,6409
+LF:5
+LH:5
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h
+FNL:0,43,49
+FNA:0,293,_ZNK14DbcParseResult9HasErrorsEv
+FNF:1
+FNH:1
+BRDA:44,0,0,283
+BRDA:44,0,1,44
+BRDA:45,0,0,249
+BRDA:45,0,1,34
+BRF:4
+BRH:4
+DA:43,293
+DA:44,327
+DA:45,283
+DA:46,249
+DA:48,44
+LF:5
+LH:5
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.cpp
+FNL:0,23,50
+FNA:0,140,_ZN12_GLOBAL__N_116ReadCommentLinesERSt14basic_ifstreamIcSt11char_traitsIcEERNSt7__cxx1112basic_stringIcS2_SaIcEEERm
+FNL:1,52,58
+FNA:1,349,_ZN12_GLOBAL__N_118StatementErrorCodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:2,61,72
+FNA:2,656,_ZNK9DbcParser9ParseFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:3,74,152
+FNA:3,951,_ZNK9DbcParser24ParseFileWithDiagnosticsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:4
+FNH:4
+BRDA:27,0,0,140
+BRDA:27,e0,1,0
+BRDA:29,0,0,3662
+BRDA:29,0,1,15
+BRDA:30,0,0,5
+BRDA:30,0,1,3657
+BRDA:32,0,0,1289
+BRDA:32,0,1,2368
+BRDA:32,0,2,7
+BRDA:32,0,3,1282
+BRDA:34,0,0,268
+BRDA:34,0,1,3382
+BRDA:35,0,0,132
+BRDA:35,0,1,136
+BRDA:40,0,0,11
+BRDA:40,0,1,4
+BRDA:40,0,2,11
+BRDA:40,e0,3,0
+BRDA:40,0,4,11
+BRDA:40,e0,5,0
+BRDA:40,0,6,4
+BRDA:40,0,7,7
+BRDA:40,0,8,8
+BRDA:40,0,9,7
+BRDA:43,0,0,7
+BRDA:43,0,1,0
+BRDA:43,0,2,2
+BRDA:43,0,3,5
+BRDA:43,0,4,2
+BRDA:43,0,5,5
+BRDA:45,0,0,7
+BRDA:45,e0,1,0
+BRDA:46,0,0,7
+BRDA:46,e0,1,0
+BRDA:53,0,0,4
+BRDA:53,0,1,345
+BRDA:55,0,0,25
+BRDA:55,0,1,320
+BRDA:62,0,0,656
+BRDA:62,e0,1,0
+BRDA:63,0,0,545
+BRDA:63,0,1,117
+BRDA:64,0,0,539
+BRDA:64,0,1,6
+BRDA:65,0,0,3
+BRDA:65,0,1,536
+BRDA:66,0,0,3
+BRDA:66,e0,1,0
+BRDA:67,0,0,536
+BRDA:67,e0,1,0
+BRDA:68,0,0,536
+BRDA:68,e0,1,0
+BRDA:68,0,2,536
+BRDA:68,e0,3,0
+BRDA:68,0,4,536
+BRDA:68,e0,5,0
+BRDA:68,0,6,536
+BRDA:68,e0,7,0
+BRDA:68,0,8,536
+BRDA:68,e0,9,0
+BRDA:76,0,0,951
+BRDA:76,e0,1,0
+BRDA:77,0,0,3
+BRDA:77,0,1,948
+BRDA:87,0,0,948
+BRDA:87,e0,1,0
+BRDA:91,0,0,3097
+BRDA:91,e0,1,0
+BRDA:91,0,2,3097
+BRDA:91,e0,3,0
+BRDA:91,0,4,2498
+BRDA:91,0,5,599
+BRDA:93,0,0,2162
+BRDA:93,0,1,336
+BRDA:93,0,2,19
+BRDA:93,0,3,2143
+BRDA:93,0,4,19
+BRDA:93,0,5,2479
+BRDA:95,0,0,2498
+BRDA:95,e0,1,0
+BRDA:97,0,0,2498
+BRDA:97,e0,1,0
+BRDA:98,0,0,342
+BRDA:98,0,1,2156
+BRDA:101,0,0,2156
+BRDA:101,e0,1,0
+BRDA:104,0,0,2156
+BRDA:104,e0,1,0
+BRDA:105,0,0,2156
+BRDA:105,e0,1,0
+BRDA:105,0,2,2156
+BRDA:105,e0,3,0
+BRDA:106,0,0,39
+BRDA:106,0,1,5
+BRDA:106,0,2,39
+BRDA:106,e0,3,0
+BRDA:106,0,4,37
+BRDA:106,0,5,2
+BRDA:106,0,6,37
+BRDA:106,e0,7,0
+BRDA:106,0,8,36
+BRDA:106,0,9,1
+BRDA:107,0,0,36
+BRDA:107,e0,1,0
+BRDA:107,0,2,35
+BRDA:107,0,3,1
+BRDA:107,0,4,35
+BRDA:107,e0,5,0
+BRDA:107,0,6,31
+BRDA:107,0,7,4
+BRDA:108,0,0,44
+BRDA:108,0,1,2112
+BRDA:108,0,2,31
+BRDA:108,e0,3,0
+BRDA:108,0,4,30
+BRDA:108,0,5,1
+BRDA:108,0,6,30
+BRDA:108,e0,7,0
+BRDA:108,0,8,29
+BRDA:108,0,9,1
+BRDA:108,0,10,29
+BRDA:108,0,11,2127
+BRDA:110,0,0,2127
+BRDA:110,e0,1,0
+BRDA:110,0,2,2115
+BRDA:110,0,3,12
+BRDA:110,0,4,2115
+BRDA:110,e0,5,0
+BRDA:110,0,6,3
+BRDA:110,0,7,2112
+BRDA:112,0,0,2127
+BRDA:112,e0,1,0
+BRDA:112,0,2,140
+BRDA:112,0,3,1987
+BRDA:113,0,0,140
+BRDA:113,e0,1,0
+BRDA:114,0,0,140
+BRDA:114,e0,1,0
+BRDA:119,0,0,1778
+BRDA:119,e0,1,349
+BRDA:119,0,2,37
+BRDA:119,0,3,1741
+BRDA:126,0,0,0
+BRDA:126,0,1,349
+BRDA:132,0,0,1778
+BRDA:132,0,1,29
+BRDA:132,0,2,349
+BRDA:132,0,3,1778
+BRDA:132,0,4,29
+BRDA:132,0,5,349
+BRDA:132,0,6,1778
+BRDA:132,0,7,29
+BRDA:132,0,8,349
+BRDA:132,0,9,1778
+BRDA:132,0,10,371
+BRDA:132,0,11,349
+BRDA:134,0,0,599
+BRDA:134,e0,1,0
+BRDA:134,0,2,597
+BRDA:134,0,3,2
+BRDA:134,0,4,597
+BRDA:134,e0,5,0
+BRDA:134,0,6,0
+BRDA:134,0,7,597
+BRDA:134,0,8,2
+BRDA:134,0,9,597
+BRDA:142,0,0,587
+BRDA:142,e0,1,10
+BRDA:143,0,0,576
+BRDA:143,e0,1,11
+BRDA:144,0,0,549
+BRDA:144,e0,1,27
+BRDA:145,0,0,163
+BRDA:145,e0,1,386
+BRDA:146,0,0,0
+BRDA:146,0,1,434
+BRDA:147,0,0,434
+BRDA:147,e0,1,0
+BRDA:149,0,0,434
+BRDA:149,e0,1,0
+BRDA:152,0,0,3
+BRDA:152,e0,1,0
+BRDA:152,0,2,3
+BRDA:152,e0,3,0
+BRDA:152,0,4,3
+BRDA:152,e0,5,0
+BRDA:152,0,6,37
+BRDA:152,e0,7,0
+BRDA:152,0,8,37
+BRDA:152,e0,9,0
+BRDA:152,0,10,37
+BRDA:152,e0,11,0
+BRDA:152,0,12,37
+BRDA:152,e0,13,0
+BRDA:152,0,14,2
+BRDA:152,e0,15,0
+BRDA:152,0,16,2
+BRDA:152,e0,17,0
+BRDA:152,0,18,2
+BRDA:152,e0,19,0
+BRDA:152,0,20,0
+BRDA:152,0,21,0
+BRDA:152,0,22,0
+BRDA:152,0,23,0
+BRDA:152,0,24,349
+BRDA:152,e0,25,0
+BRDA:152,0,26,349
+BRDA:152,e0,27,0
+BRDA:152,0,28,349
+BRDA:152,e0,29,0
+BRDA:152,0,30,349
+BRDA:152,e0,31,0
+BRDA:152,0,32,0
+BRDA:152,0,33,0
+BRDA:152,0,34,0
+BRDA:152,0,35,0
+BRF:216
+BRH:152
+DA:23,140
+DA:25,140
+DA:26,140
+DA:27,140
+DA:29,3677
+DA:30,3662
+DA:31,5
+DA:32,3657
+DA:33,7
+DA:34,3650
+DA:35,268
+DA:36,132
+DA:37,136
+DA:40,15
+DA:41,8
+DA:42,7
+DA:43,7
+DA:44,2
+DA:45,7
+DA:46,7
+DA:48,7
+DA:49,7
+DA:50,140
+DA:52,349
+DA:53,349
+DA:54,4
+DA:55,345
+DA:56,25
+DA:57,320
+DA:61,656
+DA:62,656
+DA:63,662
+DA:64,545
+DA:65,539
+DA:66,3
+DA:67,1072
+DA:68,1608
+DA:71,234
+DA:72,656
+DA:74,951
+DA:75,951
+DA:76,951
+DA:77,951
+DA:78,3
+DA:81,3
+DA:84,948
+DA:85,948
+DA:86,948
+DA:87,948
+DA:88,948
+DA:89,948
+DA:90,948
+DA:91,3097
+DA:92,2498
+DA:93,2498
+DA:94,19
+DA:95,2498
+DA:96,2498
+DA:97,2498
+DA:98,2498
+DA:99,342
+DA:101,2156
+DA:102,2156
+DA:103,2156
+DA:104,2156
+DA:105,2156
+DA:106,44
+DA:107,36
+DA:108,2200
+DA:109,29
+DA:110,2127
+DA:112,2127
+DA:113,140
+DA:114,140
+DA:118,2127
+DA:119,2127
+DA:120,37
+DA:123,37
+DA:126,349
+DA:127,349
+DA:128,698
+DA:129,0
+DA:130,349
+DA:131,349
+DA:132,3632
+DA:134,599
+DA:135,2
+DA:138,2
+DA:142,597
+DA:143,587
+DA:144,576
+DA:145,549
+DA:146,434
+DA:147,434
+DA:148,434
+DA:149,434
+DA:150,163
+DA:151,163
+DA:152,1691
+LF:99
+LH:98
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h
+FNL:0,44,44
+FNA:0,930,_ZN9DbcParserC2E16DbcParserOptions
+FNF:1
+FNH:1
+DA:44,930
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.cpp
+FNL:0,103,115
+FNA:0,67,_ZN12_GLOBAL__N_115FindUniqueFrameER11DbcDatabasejb
+FNL:1,117,129
+FNA:1,62,_ZN12_GLOBAL__N_116FindUniqueSignalER9FrameInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:2,131,136
+FNA:2,884,_ZN12_GLOBAL__N_113NextSignalBitEmb
+FNL:3,14,23
+FNA:3,2466,_ZN12_GLOBAL__N_112ParseDecimalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjPKc
+FNL:4,143,155
+FNA:4,317,_ZN12_GLOBAL__N_114SplitReceiversERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:5,157,165
+FNA:5,803,_ZN12_GLOBAL__N_114NormalizeCanIdEjRjRb
+FNL:6,168,204
+FNA:6,649,_ZN15DbcFrameHandler14ParseFrameLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:7,206,253
+FNA:7,521,_ZN16DbcSignalHandler15ParseSignalLineERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:8,25,32
+FNA:8,784,_ZN12_GLOBAL__N_110ParseCanIdERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:9,257,266
+FNA:9,698,_ZN12_GLOBAL__N_113FindFrameByIdER11DbcDatabasejb
+FNL:10,268,275
+FNA:10,364,_ZN12_GLOBAL__N_116FindSignalByNameER9FrameInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:11,278,290
+FNA:11,649,_ZNK15DbcFrameHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:12,292,304
+FNA:12,526,_ZNK16DbcSignalHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:13,306,350
+FNA:13,149,_ZNK17DbcCommentHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:14,34,53
+FNA:14,1666,_ZN12_GLOBAL__N_118ParsePhysicalValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc
+FNL:15,352,368
+FNA:15,597,_ZN15DbcParseContext15ResolveCommentsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:16,370,386
+FNA:16,949,_ZN22DbcStatementDispatcherC2Ev
+FNL:17,388,388
+FNA:17,62,_ZNK16DbcHeaderHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:18,390,400
+FNA:18,2132,_ZNK22DbcStatementDispatcher8DispatchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:19,402,433
+FNA:19,94,_ZNK26DbcValueDescriptionHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:20,435,449
+FNA:20,592,_ZN15DbcParseContext24ResolveValueDescriptionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:21,451,453
+FNA:21,4,_ZNK33DbcUnsupportedMultiplexingHandler6HandleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER15DbcParseContext
+FNL:22,456,464
+FNA:22,114,_ZN12_GLOBAL__N_110SignalBitsERK10SignalInfo
+FNL:23,466,470
+FNA:23,58,_ZN12_GLOBAL__N_120AreMutuallyExclusiveERK10SignalInfoS2_
+FNL:24,472,480
+FNA:24,193,_ZN12_GLOBAL__N_114ValidateBranchERK10SignalInfoPS1_
+FNL:25,482,497
+FNA:25,280,_ZN12_GLOBAL__N_112FindSelectorERK9FrameInfoRKSt6vectorImSaImEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:26,499,509
+FNA:26,57,_ZN12_GLOBAL__N_114SignalsOverlapERK10SignalInfoS2_
+FNL:27,512,529
+FNA:27,576,_ZNK15DbcParseContext20ValidateMultiplexingERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:28,55,71
+FNA:28,496,_ZN12_GLOBAL__N_123ParseMultiplexingMarkerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:29,73,91
+FNA:29,104,_ZN12_GLOBAL__N_113ParseValueKeyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:30,93,101
+FNA:30,96,_ZN12_GLOBAL__N_119UnescapeDescriptionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:31
+FNH:31
+BRDA:18,0,0,2466
+BRDA:18,e0,1,0
+BRDA:19,0,0,2429
+BRDA:19,0,1,37
+BRDA:20,0,0,2466
+BRDA:20,0,1,0
+BRDA:20,0,2,2410
+BRDA:20,0,3,19
+BRDA:20,0,4,2
+BRDA:20,0,5,2408
+BRDA:20,0,6,58
+BRDA:20,0,7,2408
+BRDA:21,0,0,58
+BRDA:21,e0,1,0
+BRDA:21,0,2,58
+BRDA:21,e0,3,0
+BRDA:21,0,4,58
+BRDA:21,e0,5,0
+BRDA:21,0,6,58
+BRDA:21,e0,7,0
+BRDA:21,0,8,58
+BRDA:21,e0,9,0
+BRDA:29,0,0,20
+BRDA:29,0,1,730
+BRDA:30,0,0,20
+BRDA:30,e0,1,0
+BRDA:36,0,0,2
+BRDA:36,0,1,1664
+BRDA:36,0,2,2
+BRDA:36,0,3,0
+BRDA:36,0,4,2
+BRDA:36,e0,5,0
+BRDA:36,0,6,0
+BRDA:36,0,7,0
+BRDA:37,0,0,1666
+BRDA:37,e0,1,0
+BRDA:37,0,2,112
+BRDA:37,0,3,1554
+BRDA:38,0,0,112
+BRDA:38,e0,1,0
+BRDA:38,0,2,112
+BRDA:38,e0,3,0
+BRDA:38,0,4,112
+BRDA:38,e0,5,0
+BRDA:38,0,6,112
+BRDA:38,e0,7,0
+BRDA:38,0,8,112
+BRDA:38,e0,9,0
+BRDA:43,0,0,18
+BRDA:43,0,1,1536
+BRDA:49,0,0,1530
+BRDA:49,0,1,24
+BRDA:49,0,2,1530
+BRDA:49,0,3,0
+BRDA:49,0,4,1530
+BRDA:49,0,5,0
+BRDA:49,0,6,16
+BRDA:49,0,7,1514
+BRDA:49,0,8,40
+BRDA:49,0,9,1514
+BRDA:51,0,0,40
+BRDA:51,e0,1,0
+BRDA:51,0,2,40
+BRDA:51,e0,3,0
+BRDA:51,0,4,40
+BRDA:51,e0,5,0
+BRDA:51,0,6,40
+BRDA:51,e0,7,0
+BRDA:51,0,8,40
+BRDA:51,e0,9,0
+BRDA:57,0,0,496
+BRDA:57,e0,1,0
+BRDA:57,0,2,34
+BRDA:57,0,3,462
+BRDA:59,0,0,38
+BRDA:59,0,1,424
+BRDA:60,0,0,1
+BRDA:60,0,1,37
+BRDA:61,0,0,1
+BRDA:61,e0,1,0
+BRDA:62,0,0,37
+BRDA:62,e0,1,0
+BRDA:64,0,0,37
+BRDA:64,e0,1,0
+BRDA:65,0,0,36
+BRDA:65,0,1,1
+BRDA:65,0,2,33
+BRDA:65,0,3,3
+BRDA:65,0,4,3
+BRDA:65,0,5,30
+BRDA:65,0,6,7
+BRDA:65,0,7,30
+BRDA:66,0,0,7
+BRDA:66,e0,1,0
+BRDA:75,0,0,104
+BRDA:75,0,1,0
+BRDA:75,0,2,16
+BRDA:75,0,3,88
+BRDA:75,0,4,16
+BRDA:75,0,5,88
+BRDA:78,0,0,16
+BRDA:78,e0,1,0
+BRDA:79,0,0,14
+BRDA:79,0,1,2
+BRDA:79,0,2,0
+BRDA:79,0,3,14
+BRDA:79,0,4,2
+BRDA:79,0,5,14
+BRDA:80,0,0,2
+BRDA:80,e0,1,0
+BRDA:80,0,2,2
+BRDA:80,e0,3,0
+BRDA:85,0,0,88
+BRDA:85,e0,1,0
+BRDA:86,0,0,88
+BRDA:86,0,1,0
+BRDA:86,0,2,86
+BRDA:86,0,3,2
+BRDA:86,0,4,4
+BRDA:86,0,5,82
+BRDA:86,0,6,6
+BRDA:86,0,7,82
+BRDA:87,0,0,6
+BRDA:87,e0,1,0
+BRDA:87,0,2,6
+BRDA:87,e0,3,0
+BRDA:95,0,0,628
+BRDA:95,0,1,96
+BRDA:96,0,0,7
+BRDA:96,0,1,621
+BRDA:98,0,0,628
+BRDA:98,e0,1,0
+BRDA:105,0,0,113
+BRDA:105,0,1,65
+BRDA:106,0,0,84
+BRDA:106,0,1,29
+BRDA:106,0,2,66
+BRDA:106,0,3,18
+BRDA:107,0,0,2
+BRDA:107,0,1,64
+BRDA:108,0,0,2
+BRDA:108,e0,1,0
+BRDA:112,0,0,3
+BRDA:112,0,1,62
+BRDA:113,0,0,3
+BRDA:113,e0,1,0
+BRDA:119,0,0,89
+BRDA:119,0,1,60
+BRDA:120,0,0,59
+BRDA:120,0,1,30
+BRDA:121,0,0,2
+BRDA:121,0,1,57
+BRDA:122,0,0,2
+BRDA:122,e0,1,0
+BRDA:122,0,2,2
+BRDA:122,e0,3,0
+BRDA:126,0,0,5
+BRDA:126,0,1,55
+BRDA:127,0,0,5
+BRDA:127,e0,1,0
+BRDA:127,0,2,5
+BRDA:127,e0,3,0
+BRDA:132,0,0,724
+BRDA:132,0,1,160
+BRDA:135,0,0,20
+BRDA:135,0,1,140
+BRDA:146,0,0,317
+BRDA:146,e0,1,0
+BRDA:148,0,0,639
+BRDA:148,e0,1,0
+BRDA:148,0,2,639
+BRDA:148,e0,3,0
+BRDA:148,0,4,322
+BRDA:148,0,5,317
+BRDA:149,0,0,322
+BRDA:149,e0,1,0
+BRDA:150,0,0,0
+BRDA:150,0,1,322
+BRDA:151,0,0,322
+BRDA:151,e0,1,0
+BRDA:163,0,0,724
+BRDA:163,0,1,79
+BRDA:163,0,2,23
+BRDA:163,0,3,701
+BRDA:174,0,0,649
+BRDA:174,e0,1,0
+BRDA:177,0,0,649
+BRDA:177,e0,1,0
+BRDA:177,0,2,649
+BRDA:177,e0,3,0
+BRDA:177,0,4,649
+BRDA:177,e0,5,0
+BRDA:177,0,6,646
+BRDA:177,0,7,3
+BRDA:177,0,8,646
+BRDA:177,e0,9,0
+BRDA:177,0,10,0
+BRDA:177,0,11,646
+BRDA:177,0,12,3
+BRDA:177,0,13,646
+BRDA:178,0,0,3
+BRDA:178,e0,1,0
+BRDA:180,0,0,628
+BRDA:180,e0,1,18
+BRDA:183,0,0,628
+BRDA:183,e0,1,0
+BRDA:183,0,2,628
+BRDA:183,e0,3,0
+BRDA:183,0,4,627
+BRDA:183,0,5,1
+BRDA:183,0,6,627
+BRDA:183,e0,7,0
+BRDA:183,0,8,1
+BRDA:183,0,9,626
+BRDA:183,0,10,2
+BRDA:183,0,11,626
+BRDA:184,0,0,2
+BRDA:184,e0,1,0
+BRDA:185,0,0,626
+BRDA:185,e0,1,0
+BRDA:188,0,0,626
+BRDA:188,e0,1,0
+BRDA:188,0,2,626
+BRDA:188,e0,3,0
+BRDA:188,0,4,625
+BRDA:188,0,5,1
+BRDA:188,0,6,625
+BRDA:188,e0,7,0
+BRDA:188,0,8,625
+BRDA:188,e0,9,0
+BRDA:188,0,10,1
+BRDA:188,0,11,624
+BRDA:188,0,12,2
+BRDA:188,0,13,624
+BRDA:189,0,0,2
+BRDA:189,e0,1,0
+BRDA:192,0,0,624
+BRDA:192,e0,1,0
+BRDA:192,0,2,624
+BRDA:192,e0,3,0
+BRDA:192,0,4,1
+BRDA:192,0,5,623
+BRDA:193,0,0,1
+BRDA:193,e0,1,0
+BRDA:194,0,0,617
+BRDA:194,e0,1,6
+BRDA:196,0,0,617
+BRDA:196,e0,1,0
+BRDA:196,0,2,617
+BRDA:196,e0,3,0
+BRDA:196,0,4,1
+BRDA:196,0,5,616
+BRDA:197,0,0,1
+BRDA:197,e0,1,0
+BRDA:198,0,0,616
+BRDA:198,e0,1,0
+BRDA:198,0,2,616
+BRDA:198,e0,3,0
+BRDA:198,0,4,1
+BRDA:198,0,5,615
+BRDA:199,0,0,1
+BRDA:199,e0,1,0
+BRDA:199,0,2,1
+BRDA:199,e0,3,0
+BRDA:222,0,0,2
+BRDA:222,0,1,519
+BRDA:222,0,2,2
+BRDA:222,0,3,0
+BRDA:222,0,4,2
+BRDA:222,e0,5,0
+BRDA:222,0,6,0
+BRDA:222,0,7,0
+BRDA:224,0,0,521
+BRDA:224,e0,1,0
+BRDA:224,0,2,23
+BRDA:224,0,3,498
+BRDA:225,0,0,23
+BRDA:225,e0,1,0
+BRDA:228,0,0,498
+BRDA:228,e0,1,0
+BRDA:228,0,2,498
+BRDA:228,e0,3,0
+BRDA:228,0,4,498
+BRDA:228,e0,5,0
+BRDA:231,0,0,498
+BRDA:231,e0,1,0
+BRDA:231,0,2,498
+BRDA:231,e0,3,0
+BRDA:232,0,0,497
+BRDA:232,0,1,1
+BRDA:232,0,2,497
+BRDA:232,e0,3,0
+BRDA:232,0,4,497
+BRDA:232,e0,5,0
+BRDA:232,0,6,1
+BRDA:232,0,7,496
+BRDA:232,0,8,2
+BRDA:232,0,9,496
+BRDA:233,0,0,2
+BRDA:233,e0,1,0
+BRDA:234,0,0,488
+BRDA:234,e0,1,8
+BRDA:236,0,0,488
+BRDA:236,e0,1,0
+BRDA:236,0,2,488
+BRDA:236,e0,3,0
+BRDA:236,0,4,481
+BRDA:236,e0,5,7
+BRDA:238,0,0,481
+BRDA:238,e0,1,0
+BRDA:238,0,2,481
+BRDA:238,e0,3,0
+BRDA:238,0,4,473
+BRDA:238,e0,5,8
+BRDA:239,0,0,1
+BRDA:239,0,1,472
+BRDA:240,0,0,1
+BRDA:240,e0,1,0
+BRDA:241,0,0,472
+BRDA:241,e0,1,0
+BRDA:241,0,2,472
+BRDA:241,e0,3,0
+BRDA:241,0,4,472
+BRDA:241,e0,5,0
+BRDA:242,0,0,472
+BRDA:242,e0,1,0
+BRDA:242,0,2,472
+BRDA:242,e0,3,0
+BRDA:242,0,4,472
+BRDA:242,e0,5,0
+BRDA:244,0,0,472
+BRDA:244,e0,1,0
+BRDA:244,0,2,472
+BRDA:244,e0,3,0
+BRDA:244,0,4,440
+BRDA:244,e0,5,32
+BRDA:245,0,0,440
+BRDA:245,e0,1,0
+BRDA:245,0,2,440
+BRDA:245,e0,3,0
+BRDA:245,0,4,396
+BRDA:245,e0,5,44
+BRDA:246,0,0,396
+BRDA:246,e0,1,0
+BRDA:246,0,2,396
+BRDA:246,e0,3,0
+BRDA:246,0,4,358
+BRDA:246,e0,5,38
+BRDA:247,0,0,358
+BRDA:247,e0,1,0
+BRDA:247,0,2,358
+BRDA:247,e0,3,0
+BRDA:247,0,4,320
+BRDA:247,e0,5,38
+BRDA:248,0,0,3
+BRDA:248,0,1,317
+BRDA:249,0,0,3
+BRDA:249,e0,1,0
+BRDA:250,0,0,317
+BRDA:250,e0,1,0
+BRDA:250,0,2,317
+BRDA:250,e0,3,0
+BRDA:251,0,0,317
+BRDA:251,e0,1,0
+BRDA:251,0,2,317
+BRDA:251,e0,3,0
+BRDA:251,0,4,317
+BRDA:251,e0,5,0
+BRDA:260,0,0,144
+BRDA:260,0,1,613
+BRDA:261,0,0,109
+BRDA:261,0,1,35
+BRDA:261,0,2,85
+BRDA:261,0,3,24
+BRDA:269,0,0,126
+BRDA:269,0,1,315
+BRDA:270,0,0,49
+BRDA:270,0,1,77
+BRDA:279,0,0,615
+BRDA:279,e0,1,34
+BRDA:280,0,0,31
+BRDA:280,0,1,584
+BRDA:280,0,2,27
+BRDA:280,0,3,4
+BRDA:284,0,0,8
+BRDA:284,0,1,607
+BRDA:285,0,0,4
+BRDA:285,0,1,4
+BRDA:285,0,2,8
+BRDA:285,e0,3,0
+BRDA:285,0,4,8
+BRDA:285,e0,5,0
+BRDA:286,0,0,8
+BRDA:286,e0,1,0
+BRDA:286,0,2,8
+BRDA:286,e0,3,0
+BRDA:286,0,4,8
+BRDA:286,e0,5,0
+BRDA:287,0,0,607
+BRDA:287,e0,1,0
+BRDA:289,0,0,607
+BRDA:289,e0,1,0
+BRDA:293,0,0,5
+BRDA:293,0,1,521
+BRDA:294,0,0,5
+BRDA:294,e0,1,0
+BRDA:295,0,0,317
+BRDA:295,e0,1,204
+BRDA:296,0,0,6
+BRDA:296,0,1,311
+BRDA:298,0,0,6
+BRDA:298,e0,1,0
+BRDA:298,0,2,6
+BRDA:298,e0,3,0
+BRDA:298,0,4,6
+BRDA:298,e0,5,0
+BRDA:298,0,6,6
+BRDA:298,e0,7,0
+BRDA:298,0,8,6
+BRDA:298,e0,9,0
+BRDA:299,0,0,7
+BRDA:299,0,1,304
+BRDA:301,0,0,7
+BRDA:301,e0,1,0
+BRDA:302,0,0,304
+BRDA:302,e0,1,0
+BRDA:303,0,0,304
+BRDA:303,e0,1,0
+BRDA:307,0,0,149
+BRDA:307,e0,1,0
+BRDA:310,0,0,149
+BRDA:310,e0,1,0
+BRDA:310,0,2,149
+BRDA:310,e0,3,0
+BRDA:311,0,0,149
+BRDA:311,e0,1,0
+BRDA:311,0,2,145
+BRDA:311,0,3,4
+BRDA:311,0,4,145
+BRDA:311,e0,5,0
+BRDA:311,0,6,78
+BRDA:311,0,7,67
+BRDA:311,0,8,78
+BRDA:311,e0,9,0
+BRDA:311,0,10,5
+BRDA:311,0,11,73
+BRDA:311,0,12,9
+BRDA:311,0,13,140
+BRDA:315,0,0,140
+BRDA:315,e0,1,0
+BRDA:318,0,0,140
+BRDA:318,e0,1,0
+BRDA:318,0,2,140
+BRDA:318,e0,3,0
+BRDA:318,0,4,2
+BRDA:318,0,5,138
+BRDA:319,0,0,2
+BRDA:319,e0,1,0
+BRDA:320,0,0,102
+BRDA:320,e0,1,36
+BRDA:321,0,0,55
+BRDA:321,0,1,47
+BRDA:321,0,2,55
+BRDA:321,e0,3,0
+BRDA:321,0,4,55
+BRDA:321,e0,5,0
+BRDA:321,0,6,55
+BRDA:321,0,7,0
+BRDA:321,0,8,2
+BRDA:321,0,9,53
+BRDA:321,0,10,2
+BRDA:321,0,11,100
+BRDA:323,0,0,2
+BRDA:323,e0,1,0
+BRDA:325,0,0,100
+BRDA:325,e0,1,0
+BRDA:326,0,0,100
+BRDA:326,e0,1,0
+BRDA:326,0,2,4
+BRDA:326,0,3,96
+BRDA:327,0,0,4
+BRDA:327,e0,1,0
+BRDA:330,0,0,1096
+BRDA:330,e0,1,0
+BRDA:330,0,2,1096
+BRDA:330,e0,3,0
+BRDA:330,0,4,1094
+BRDA:330,0,5,2
+BRDA:331,0,0,90
+BRDA:331,0,1,1004
+BRDA:335,0,0,7
+BRDA:335,0,1,997
+BRDA:336,0,0,7
+BRDA:336,e0,1,0
+BRDA:336,0,2,7
+BRDA:336,e0,3,0
+BRDA:336,0,4,5
+BRDA:336,0,5,2
+BRDA:336,0,6,3
+BRDA:336,0,7,2
+BRDA:336,0,8,2
+BRDA:336,0,9,1
+BRDA:336,0,10,4
+BRDA:336,0,11,3
+BRDA:337,0,0,4
+BRDA:337,e0,1,0
+BRDA:339,0,0,1000
+BRDA:339,e0,1,0
+BRDA:341,0,0,2
+BRDA:341,0,1,90
+BRDA:342,0,0,2
+BRDA:342,e0,1,0
+BRDA:343,0,0,90
+BRDA:343,e0,1,0
+BRDA:344,0,0,90
+BRDA:344,e0,1,0
+BRDA:344,0,2,4
+BRDA:344,0,3,86
+BRDA:345,0,0,4
+BRDA:345,e0,1,0
+BRDA:346,0,0,86
+BRDA:346,e0,1,0
+BRDA:347,0,0,86
+BRDA:347,e0,1,0
+BRDA:347,0,2,2
+BRDA:347,0,3,84
+BRDA:348,0,0,2
+BRDA:348,e0,1,0
+BRDA:349,0,0,84
+BRDA:349,e0,1,0
+BRDA:350,0,0,84
+BRDA:350,0,1,9
+BRDA:350,0,2,84
+BRDA:350,0,3,9
+BRDA:350,0,4,84
+BRDA:350,0,5,9
+BRDA:353,0,0,83
+BRDA:353,0,1,587
+BRDA:355,0,0,6
+BRDA:355,0,1,77
+BRDA:357,0,0,6
+BRDA:357,e0,1,0
+BRDA:357,0,2,6
+BRDA:357,e0,3,0
+BRDA:358,0,0,47
+BRDA:358,0,1,30
+BRDA:360,0,0,4
+BRDA:360,0,1,43
+BRDA:362,0,0,4
+BRDA:362,e0,1,0
+BRDA:362,0,2,4
+BRDA:362,e0,3,0
+BRDA:363,0,0,43
+BRDA:363,e0,1,0
+BRDA:365,0,0,30
+BRDA:365,e0,1,0
+BRDA:371,0,0,949
+BRDA:371,e0,1,0
+BRDA:371,0,2,949
+BRDA:371,e0,3,0
+BRDA:372,0,0,949
+BRDA:372,e0,1,0
+BRDA:372,0,2,949
+BRDA:372,e0,3,0
+BRDA:373,0,0,949
+BRDA:373,e0,1,0
+BRDA:373,0,2,949
+BRDA:373,e0,3,0
+BRDA:374,0,0,949
+BRDA:374,e0,1,0
+BRDA:374,0,2,949
+BRDA:374,e0,3,0
+BRDA:375,0,0,949
+BRDA:375,e0,1,0
+BRDA:375,0,2,949
+BRDA:375,e0,3,0
+BRDA:376,0,0,949
+BRDA:376,e0,1,0
+BRDA:376,0,2,949
+BRDA:376,e0,3,0
+BRDA:377,0,0,949
+BRDA:377,e0,1,0
+BRDA:377,0,2,949
+BRDA:377,e0,3,0
+BRDA:378,0,0,949
+BRDA:378,e0,1,0
+BRDA:378,0,2,949
+BRDA:378,e0,3,0
+BRDA:379,0,0,949
+BRDA:379,e0,1,0
+BRDA:379,0,2,949
+BRDA:379,e0,3,0
+BRDA:380,0,0,949
+BRDA:380,e0,1,0
+BRDA:380,0,2,949
+BRDA:380,e0,3,0
+BRDA:381,0,0,949
+BRDA:381,e0,1,0
+BRDA:381,0,2,949
+BRDA:381,e0,3,0
+BRDA:382,0,0,949
+BRDA:382,e0,1,0
+BRDA:382,0,2,949
+BRDA:382,e0,3,0
+BRDA:383,0,0,949
+BRDA:383,e0,1,0
+BRDA:383,0,2,949
+BRDA:383,e0,3,0
+BRDA:384,0,0,949
+BRDA:384,e0,1,0
+BRDA:384,0,2,949
+BRDA:384,e0,3,0
+BRDA:385,0,0,949
+BRDA:385,e0,1,0
+BRDA:385,0,2,949
+BRDA:385,e0,3,0
+BRDA:392,0,0,2132
+BRDA:392,e0,1,0
+BRDA:394,0,0,2132
+BRDA:394,e0,1,0
+BRDA:395,0,0,2132
+BRDA:395,e0,1,0
+BRDA:396,0,0,40
+BRDA:396,0,1,2092
+BRDA:398,0,0,1743
+BRDA:398,e0,1,349
+BRDA:403,0,0,2
+BRDA:403,0,1,92
+BRDA:403,0,2,2
+BRDA:403,0,3,0
+BRDA:403,0,4,2
+BRDA:403,e0,5,0
+BRDA:403,0,6,0
+BRDA:403,0,7,0
+BRDA:404,0,0,2
+BRDA:404,0,1,92
+BRDA:404,0,2,2
+BRDA:404,0,3,0
+BRDA:404,0,4,2
+BRDA:404,e0,5,0
+BRDA:404,0,6,0
+BRDA:404,0,7,0
+BRDA:406,0,0,94
+BRDA:406,e0,1,0
+BRDA:406,0,2,4
+BRDA:406,0,3,90
+BRDA:407,0,0,4
+BRDA:407,e0,1,0
+BRDA:408,0,0,90
+BRDA:408,e0,1,0
+BRDA:408,0,2,90
+BRDA:408,e0,3,0
+BRDA:408,0,4,87
+BRDA:408,e0,5,3
+BRDA:409,0,0,1
+BRDA:409,0,1,86
+BRDA:410,0,0,1
+BRDA:410,e0,1,0
+BRDA:413,0,0,86
+BRDA:413,e0,1,0
+BRDA:413,0,2,86
+BRDA:413,e0,3,0
+BRDA:415,0,0,86
+BRDA:415,e0,1,0
+BRDA:415,0,2,86
+BRDA:415,e0,3,0
+BRDA:416,0,0,179
+BRDA:416,e0,1,0
+BRDA:416,0,2,109
+BRDA:416,0,3,70
+BRDA:417,0,0,109
+BRDA:417,e0,1,0
+BRDA:417,0,2,5
+BRDA:417,0,3,104
+BRDA:418,0,0,5
+BRDA:418,e0,1,0
+BRDA:419,0,0,104
+BRDA:419,e0,1,0
+BRDA:419,0,2,104
+BRDA:419,e0,3,0
+BRDA:420,0,0,96
+BRDA:420,e0,1,8
+BRDA:421,0,0,96
+BRDA:421,e0,1,0
+BRDA:421,0,2,96
+BRDA:421,e0,3,0
+BRDA:421,0,4,96
+BRDA:421,e0,5,0
+BRDA:422,0,0,96
+BRDA:422,e0,1,0
+BRDA:422,0,2,2
+BRDA:422,0,3,94
+BRDA:423,0,0,2
+BRDA:423,e0,1,0
+BRDA:423,0,2,2
+BRDA:423,e0,3,0
+BRDA:424,0,0,94
+BRDA:424,e0,1,0
+BRDA:425,0,0,94
+BRDA:425,e0,1,0
+BRDA:426,0,0,93
+BRDA:426,0,1,1
+BRDA:426,0,2,93
+BRDA:426,e0,3,0
+BRDA:426,0,4,23
+BRDA:426,0,5,70
+BRDA:426,0,6,23
+BRDA:426,e0,7,0
+BRDA:426,0,8,2
+BRDA:426,0,9,21
+BRDA:426,0,10,2
+BRDA:426,e0,11,0
+BRDA:426,0,12,1
+BRDA:426,0,13,1
+BRDA:426,0,14,1
+BRDA:426,0,15,93
+BRDA:427,0,0,1
+BRDA:427,e0,1,0
+BRDA:428,0,0,93
+BRDA:428,e0,1,0
+BRDA:430,0,0,1
+BRDA:430,0,1,69
+BRDA:431,0,0,1
+BRDA:431,e0,1,0
+BRDA:432,0,0,69
+BRDA:432,e0,1,0
+BRDA:436,0,0,67
+BRDA:436,0,1,577
+BRDA:438,0,0,62
+BRDA:438,e0,1,5
+BRDA:439,0,0,55
+BRDA:439,e0,1,7
+BRDA:440,0,0,75
+BRDA:440,0,1,52
+BRDA:441,0,0,75
+BRDA:441,e0,1,0
+BRDA:441,0,2,3
+BRDA:441,0,3,72
+BRDA:442,0,0,3
+BRDA:442,e0,1,0
+BRDA:442,0,2,3
+BRDA:442,e0,3,0
+BRDA:444,0,0,0
+BRDA:444,0,1,15
+BRDA:446,0,0,15
+BRDA:446,e0,1,0
+BRDA:446,0,2,15
+BRDA:446,e0,3,0
+BRDA:452,0,0,4
+BRDA:452,e0,1,0
+BRDA:459,0,0,884
+BRDA:459,0,1,114
+BRDA:460,0,0,884
+BRDA:460,e0,1,0
+BRDA:468,0,0,21
+BRDA:468,0,1,37
+BRDA:468,0,2,4
+BRDA:468,0,3,17
+BRDA:469,0,0,1
+BRDA:469,0,1,3
+BRDA:473,0,0,164
+BRDA:473,0,1,29
+BRDA:475,0,0,4
+BRDA:475,0,1,25
+BRDA:476,0,0,4
+BRDA:476,e0,1,0
+BRDA:477,0,0,24
+BRDA:477,0,1,1
+BRDA:477,0,2,5
+BRDA:477,0,3,19
+BRDA:478,0,0,5
+BRDA:478,e0,1,0
+BRDA:486,0,0,207
+BRDA:486,0,1,272
+BRDA:488,0,0,173
+BRDA:488,0,1,34
+BRDA:490,0,0,30
+BRDA:490,0,1,4
+BRDA:490,0,2,4
+BRDA:490,0,3,26
+BRDA:493,0,0,8
+BRDA:493,e0,1,0
+BRDA:493,0,2,8
+BRDA:493,e0,3,0
+BRDA:500,0,0,57
+BRDA:500,e0,1,0
+BRDA:501,0,0,57
+BRDA:501,e0,1,0
+BRDA:502,0,0,442
+BRDA:502,0,1,47
+BRDA:503,0,0,2948
+BRDA:503,0,1,432
+BRDA:504,0,0,10
+BRDA:504,0,1,2938
+BRDA:513,0,0,280
+BRDA:513,0,1,549
+BRDA:516,0,0,193
+BRDA:516,0,1,253
+BRDA:518,0,0,193
+BRDA:518,e0,1,0
+BRDA:519,0,0,61
+BRDA:519,0,1,190
+BRDA:519,0,2,58
+BRDA:519,0,3,3
+BRDA:519,0,4,58
+BRDA:519,0,5,193
+BRDA:521,0,0,57
+BRDA:521,0,1,1
+BRDA:521,0,2,57
+BRDA:521,e0,3,0
+BRDA:521,0,4,10
+BRDA:521,0,5,47
+BRDA:521,0,6,10
+BRDA:521,0,7,48
+BRDA:522,0,0,10
+BRDA:522,e0,1,0
+BRDA:524,0,0,19
+BRDA:524,0,1,174
+BRDA:526,0,0,19
+BRDA:526,e0,1,0
+BRF:820
+BRH:561
+DA:14,2466
+DA:17,2466
+DA:18,2466
+DA:19,4932
+DA:20,4932
+DA:21,174
+DA:22,2408
+DA:25,784
+DA:26,784
+DA:29,750
+DA:30,20
+DA:31,730
+DA:34,1666
+DA:36,1666
+DA:37,1666
+DA:38,336
+DA:41,1554
+DA:42,1554
+DA:43,1554
+DA:44,18
+DA:45,1554
+DA:47,1554
+DA:49,3084
+DA:50,1530
+DA:51,120
+DA:52,1514
+DA:55,496
+DA:56,496
+DA:57,496
+DA:58,34
+DA:59,462
+DA:60,38
+DA:61,1
+DA:62,37
+DA:64,37
+DA:65,37
+DA:66,7
+DA:67,30
+DA:68,37
+DA:70,488
+DA:73,104
+DA:74,104
+DA:75,104
+DA:76,16
+DA:78,16
+DA:79,16
+DA:80,2
+DA:81,14
+DA:83,88
+DA:85,88
+DA:86,88
+DA:87,6
+DA:88,82
+DA:90,96
+DA:93,96
+DA:94,96
+DA:95,724
+DA:96,628
+DA:97,7
+DA:98,628
+DA:100,96
+DA:101,0
+DA:103,67
+DA:104,67
+DA:105,178
+DA:106,113
+DA:107,66
+DA:108,2
+DA:109,64
+DA:112,65
+DA:113,3
+DA:114,62
+DA:117,62
+DA:118,62
+DA:119,149
+DA:120,89
+DA:121,59
+DA:122,2
+DA:123,57
+DA:126,60
+DA:127,5
+DA:128,55
+DA:131,884
+DA:132,884
+DA:133,724
+DA:135,160
+DA:143,317
+DA:144,317
+DA:145,317
+DA:146,317
+DA:148,956
+DA:149,322
+DA:150,322
+DA:151,322
+DA:154,317
+DA:155,317
+DA:157,803
+DA:163,803
+DA:164,803
+DA:165,803
+DA:168,649
+DA:174,649
+DA:175,649
+DA:176,649
+DA:177,649
+DA:178,3
+DA:180,646
+DA:182,628
+DA:183,628
+DA:184,2
+DA:185,626
+DA:186,626
+DA:187,626
+DA:188,626
+DA:189,2
+DA:191,624
+DA:192,624
+DA:193,1
+DA:194,623
+DA:195,623
+DA:196,617
+DA:197,1
+DA:198,616
+DA:199,1
+DA:201,615
+DA:203,615
+DA:204,772
+DA:206,521
+DA:222,521
+DA:223,521
+DA:224,521
+DA:225,23
+DA:227,498
+DA:228,498
+DA:229,498
+DA:230,498
+DA:231,498
+DA:232,498
+DA:233,2
+DA:234,496
+DA:236,495
+DA:238,489
+DA:239,473
+DA:240,1
+DA:241,472
+DA:242,472
+DA:244,504
+DA:245,484
+DA:246,434
+DA:247,396
+DA:248,320
+DA:249,3
+DA:250,317
+DA:251,317
+DA:252,317
+DA:253,1245
+DA:257,698
+DA:260,757
+DA:261,144
+DA:262,85
+DA:265,613
+DA:268,364
+DA:269,441
+DA:270,126
+DA:271,49
+DA:274,315
+DA:278,649
+DA:279,649
+DA:280,615
+DA:281,27
+DA:282,27
+DA:284,615
+DA:285,16
+DA:286,24
+DA:287,607
+DA:288,607
+DA:289,607
+DA:290,615
+DA:292,526
+DA:293,526
+DA:294,5
+DA:295,521
+DA:296,317
+DA:297,6
+DA:298,12
+DA:299,311
+DA:300,311
+DA:301,7
+DA:302,304
+DA:303,304
+DA:304,317
+DA:306,149
+DA:307,149
+DA:308,149
+DA:309,149
+DA:310,149
+DA:311,149
+DA:312,9
+DA:314,140
+DA:315,140
+DA:316,140
+DA:317,140
+DA:318,140
+DA:319,2
+DA:320,138
+DA:321,157
+DA:322,55
+DA:323,2
+DA:325,100
+DA:326,100
+DA:327,4
+DA:328,96
+DA:330,1096
+DA:331,1094
+DA:332,90
+DA:333,90
+DA:335,1004
+DA:336,7
+DA:337,4
+DA:339,1000
+DA:341,92
+DA:342,2
+DA:343,90
+DA:344,90
+DA:345,4
+DA:346,86
+DA:347,86
+DA:348,2
+DA:349,84
+DA:350,391
+DA:352,597
+DA:353,670
+DA:354,83
+DA:355,83
+DA:357,18
+DA:358,77
+DA:359,47
+DA:360,47
+DA:362,4
+DA:363,43
+DA:365,30
+DA:368,587
+DA:370,949
+DA:371,1898
+DA:372,1898
+DA:373,1898
+DA:374,1898
+DA:375,1898
+DA:376,1898
+DA:377,1898
+DA:378,1898
+DA:379,1898
+DA:380,1898
+DA:381,1898
+DA:382,1898
+DA:383,1898
+DA:384,1898
+DA:385,949
+DA:386,949
+DA:388,62
+DA:390,2132
+DA:392,2132
+DA:393,2132
+DA:394,2132
+DA:395,2132
+DA:396,2132
+DA:397,40
+DA:398,2092
+DA:399,1743
+DA:400,2481
+DA:402,94
+DA:403,94
+DA:404,94
+DA:405,94
+DA:406,94
+DA:407,4
+DA:408,93
+DA:409,87
+DA:410,1
+DA:411,86
+DA:412,86
+DA:413,86
+DA:414,86
+DA:415,86
+DA:416,179
+DA:417,109
+DA:418,5
+DA:419,104
+DA:420,104
+DA:421,96
+DA:422,96
+DA:423,2
+DA:424,94
+DA:425,94
+DA:426,94
+DA:427,1
+DA:428,93
+DA:429,107
+DA:430,70
+DA:431,1
+DA:432,69
+DA:433,128
+DA:435,592
+DA:436,644
+DA:438,67
+DA:439,62
+DA:440,127
+DA:441,75
+DA:442,3
+DA:444,15
+DA:446,45
+DA:447,15
+DA:449,577
+DA:451,4
+DA:452,4
+DA:456,114
+DA:457,114
+DA:458,114
+DA:459,998
+DA:460,884
+DA:461,884
+DA:463,114
+DA:464,0
+DA:466,58
+DA:467,79
+DA:468,62
+DA:469,62
+DA:472,193
+DA:473,193
+DA:474,164
+DA:475,29
+DA:476,8
+DA:477,25
+DA:478,10
+DA:479,20
+DA:482,280
+DA:485,280
+DA:486,479
+DA:487,207
+DA:488,207
+DA:489,173
+DA:490,34
+DA:492,8
+DA:493,32
+DA:494,26
+DA:496,272
+DA:499,57
+DA:500,57
+DA:501,57
+DA:502,489
+DA:503,3380
+DA:504,2948
+DA:505,10
+DA:508,47
+DA:509,57
+DA:512,576
+DA:513,829
+DA:514,280
+DA:515,280
+DA:516,446
+DA:517,193
+DA:518,193
+DA:519,251
+DA:520,58
+DA:521,58
+DA:522,10
+DA:524,193
+DA:526,19
+DA:527,193
+DA:529,549
+LF:370
+LH:368
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h
+FNL:0,137,140
+FNA:0,1,_ZN22DbcStatementDispatcher12RegisterTypeI15CountingHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI15DbcFrameHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,6643,_ZN22DbcStatementDispatcher12RegisterTypeI16DbcHeaderHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI16DbcSignalHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI17DbcCommentHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,2847,_ZN22DbcStatementDispatcher12RegisterTypeI19DbcAttributeHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI26DbcValueDescriptionHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNA:0,949,_ZN22DbcStatementDispatcher12RegisterTypeI33DbcUnsupportedMultiplexingHandlerEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:1,35,38
+FNA:1,438,_ZN18DbcDiagnosticErrorC2E17DbcDiagnosticCodeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_
+FNL:2,76,76
+FNA:2,0,_ZN19DbcStatementHandlerD0Ev
+FNA:2,14250,_ZN19DbcStatementHandlerD2Ev
+FNF:3
+FNH:3
+BRDA:37,0,0,438
+BRDA:37,e0,1,0
+BRDA:37,0,2,438
+BRDA:37,e0,3,0
+BRDA:37,0,4,438
+BRDA:37,e0,5,0
+BRDA:37,0,6,438
+BRDA:37,e0,7,0
+BRDA:38,0,0,438
+BRDA:38,e0,1,0
+BRDA:38,0,2,438
+BRDA:38,e0,3,0
+BRDA:38,0,4,438
+BRDA:38,e0,5,0
+BRDA:38,0,6,438
+BRDA:38,e0,7,0
+BRDA:38,0,8,0
+BRDA:38,0,9,0
+BRDA:139,0,0,14236
+BRDA:139,e0,1,0
+BRDA:139,0,2,14236
+BRDA:139,e0,3,0
+BRF:22
+BRH:10
+DA:35,438
+DA:37,876
+DA:38,1314
+DA:76,14250
+DA:137,14236
+DA:138,14236
+DA:139,14236
+DA:140,14236
+LF:8
+LH:8
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.cpp
+FNL:0,14,29
+FNA:0,22,_ZNK14DbcTreeBuilder5BuildERK11DbcDatabase
+FNF:1
+FNH:1
+BRDA:17,0,0,31
+BRDA:17,0,1,22
+BRDA:18,0,0,31
+BRDA:18,e0,1,0
+BRDA:20,0,0,44
+BRDA:20,0,1,31
+BRDA:21,0,0,44
+BRDA:21,e0,1,0
+BRDA:22,0,0,44
+BRDA:22,e0,1,0
+BRDA:25,0,0,31
+BRDA:25,e0,1,0
+BRF:12
+BRH:8
+DA:14,22
+DA:15,22
+DA:17,53
+DA:18,31
+DA:20,75
+DA:21,44
+DA:22,44
+DA:23,44
+DA:25,31
+DA:26,31
+DA:28,22
+DA:29,0
+LF:12
+LH:11
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.cpp
+FNL:0,111,113
+FNA:0,2394,_ZN14DecodeDatabaseC2ERKSt6vectorI11DecodeFrameSaIS1_EE
+FNL:1,115,118
+FNA:1,76,_ZNK14DecodeDatabase9GetFramesEv
+FNL:2,120,128
+FNA:2,6555,_ZNK14DecodeDatabase9FindFrameERK8FrameKey
+FNL:3,130,144
+FNA:3,116,_ZNK14DecodeDatabase14FindFrameByPgnEj
+FNL:4,146,155
+FNA:4,53,_ZNK14DecodeDatabase10FindSignalERK9SignalKey
+FNL:5,17,33
+FNA:5,2476,_ZN12_GLOBAL__N_114ValidateSignalERK12DecodeSignalh
+FNL:6,35,46
+FNA:6,2364,_ZN12_GLOBAL__N_113GetSignalBitsERK12DecodeSignal
+FNL:7,48,52
+FNA:7,71,_ZN12_GLOBAL__N_120AreMutuallyExclusiveERK12DecodeSignalS2_
+FNL:8,54,90
+FNA:8,2447,_ZN12_GLOBAL__N_113ValidateFrameERK11DecodeFrame
+FNL:9,93,109
+FNA:9,2394,_ZN14DecodeDatabase7StorageC2ERKSt6vectorI11DecodeFrameSaIS2_EE
+FNF:10
+FNH:10
+BRDA:18,0,0,1133
+BRDA:18,0,1,1343
+BRDA:18,0,2,3
+BRDA:18,0,3,1130
+BRDA:19,0,0,3
+BRDA:19,e0,1,0
+BRDA:19,0,2,3
+BRDA:19,e0,3,0
+BRDA:20,0,0,93
+BRDA:20,0,1,2380
+BRDA:20,0,2,3
+BRDA:20,0,3,90
+BRDA:21,0,0,3
+BRDA:21,e0,1,0
+BRDA:21,0,2,3
+BRDA:21,e0,3,0
+BRDA:22,0,0,75
+BRDA:22,0,1,2395
+BRDA:23,0,0,38
+BRDA:23,0,1,37
+BRDA:24,0,0,4
+BRDA:24,0,1,34
+BRDA:25,0,0,4
+BRDA:25,e0,1,0
+BRDA:25,0,2,4
+BRDA:25,e0,3,0
+BRDA:26,0,0,36
+BRDA:26,0,1,2430
+BRDA:28,0,0,36
+BRDA:28,e0,1,0
+BRDA:28,0,2,36
+BRDA:28,e0,3,0
+BRDA:29,0,0,2405
+BRDA:29,0,1,12
+BRDA:30,0,0,2417
+BRDA:30,0,1,13
+BRDA:30,0,2,2399
+BRDA:30,0,3,6
+BRDA:30,0,4,2393
+BRDA:30,0,5,6
+BRDA:30,0,6,39
+BRDA:30,0,7,2391
+BRDA:31,0,0,2
+BRDA:31,0,1,2391
+BRDA:32,0,0,39
+BRDA:32,e0,1,0
+BRDA:32,0,2,39
+BRDA:32,e0,3,0
+BRDA:39,0,0,73229
+BRDA:39,0,1,2364
+BRDA:41,0,0,37131
+BRDA:41,0,1,36098
+BRDA:50,0,0,25
+BRDA:50,0,1,46
+BRDA:50,0,2,6
+BRDA:50,0,3,19
+BRDA:51,0,0,3
+BRDA:51,0,1,3
+BRDA:55,0,0,72
+BRDA:55,0,1,2375
+BRDA:56,0,0,9
+BRDA:56,0,1,2438
+BRDA:57,0,0,9
+BRDA:57,e0,1,0
+BRDA:57,0,2,9
+BRDA:57,e0,3,0
+BRDA:59,0,0,24
+BRDA:59,0,1,2414
+BRDA:59,0,2,23
+BRDA:59,0,3,1
+BRDA:59,0,4,2
+BRDA:59,0,5,21
+BRDA:59,0,6,3
+BRDA:59,0,7,2435
+BRDA:60,0,0,3
+BRDA:60,e0,1,0
+BRDA:60,0,2,3
+BRDA:60,e0,3,0
+BRDA:64,0,0,2480
+BRDA:64,0,1,2340
+BRDA:65,0,0,2480
+BRDA:65,e0,1,0
+BRDA:65,0,2,4
+BRDA:65,0,3,2476
+BRDA:66,0,0,4
+BRDA:66,e0,1,0
+BRDA:66,0,2,4
+BRDA:66,e0,3,0
+BRDA:67,0,0,2391
+BRDA:67,e0,1,85
+BRDA:68,0,0,35
+BRDA:68,0,1,2356
+BRDA:69,0,0,32
+BRDA:69,0,1,3
+BRDA:69,0,2,3
+BRDA:69,0,3,29
+BRDA:70,0,0,6
+BRDA:70,e0,1,0
+BRDA:76,0,0,2340
+BRDA:76,e0,1,0
+BRDA:77,0,0,2372
+BRDA:77,0,1,2324
+BRDA:79,0,0,32
+BRDA:79,0,1,2340
+BRDA:79,0,2,27
+BRDA:79,0,3,5
+BRDA:81,0,0,22
+BRDA:81,0,1,5
+BRDA:81,0,2,3
+BRDA:81,0,3,19
+BRDA:82,0,0,8
+BRDA:82,e0,1,0
+BRDA:82,0,2,8
+BRDA:82,e0,3,0
+BRDA:83,0,0,2364
+BRDA:83,e0,1,0
+BRDA:84,0,0,71
+BRDA:84,0,1,2356
+BRDA:85,0,0,68
+BRDA:85,0,1,3
+BRDA:85,0,2,8
+BRDA:85,0,3,60
+BRDA:85,0,4,8
+BRDA:85,0,5,63
+BRDA:86,0,0,8
+BRDA:86,e0,1,0
+BRDA:86,0,2,8
+BRDA:86,e0,3,0
+BRDA:88,0,0,2356
+BRDA:88,e0,1,0
+BRDA:97,0,0,2394
+BRDA:97,e0,1,0
+BRDA:98,0,0,2447
+BRDA:98,0,1,2266
+BRDA:99,0,0,2324
+BRDA:99,e0,1,123
+BRDA:100,0,0,2324
+BRDA:100,e0,1,0
+BRDA:100,0,2,5
+BRDA:100,0,3,2319
+BRDA:101,0,0,5
+BRDA:101,e0,1,0
+BRDA:103,0,0,2266
+BRDA:103,e0,1,0
+BRDA:104,0,0,2314
+BRDA:104,0,1,2266
+BRDA:105,0,0,2314
+BRDA:105,e0,1,0
+BRDA:106,0,0,21
+BRDA:106,0,1,2293
+BRDA:107,0,0,21
+BRDA:107,e0,1,0
+BRDA:107,0,2,21
+BRDA:107,e0,3,0
+BRDA:116,0,0,1
+BRDA:116,0,1,75
+BRDA:116,0,2,1
+BRDA:116,0,3,0
+BRDA:117,0,0,74
+BRDA:117,0,1,2
+BRDA:121,0,0,16
+BRDA:121,0,1,6539
+BRDA:124,0,0,6539
+BRDA:124,e0,1,0
+BRDA:125,0,0,115
+BRDA:125,0,1,6424
+BRDA:132,0,0,24
+BRDA:132,0,1,92
+BRDA:135,0,0,92
+BRDA:135,e0,1,0
+BRDA:136,0,0,47
+BRDA:136,0,1,45
+BRDA:138,0,0,16
+BRDA:138,0,1,29
+BRDA:147,0,0,53
+BRDA:147,e0,1,0
+BRDA:148,0,0,10
+BRDA:148,0,1,43
+BRDA:150,0,0,48
+BRDA:150,0,1,5
+BRDA:151,0,0,38
+BRDA:151,0,1,10
+BRF:182
+BRH:146
+DA:17,2476
+DA:18,2476
+DA:19,3
+DA:20,2473
+DA:21,3
+DA:22,2470
+DA:23,75
+DA:24,38
+DA:25,4
+DA:26,2466
+DA:27,2466
+DA:28,36
+DA:29,4847
+DA:30,7240
+DA:31,2393
+DA:32,39
+DA:33,2391
+DA:35,2364
+DA:36,2364
+DA:37,2364
+DA:38,2364
+DA:39,75593
+DA:40,73229
+DA:41,73229
+DA:42,36098
+DA:43,73229
+DA:45,2364
+DA:48,71
+DA:49,96
+DA:50,77
+DA:51,77
+DA:54,2447
+DA:55,2447
+DA:56,2447
+DA:57,9
+DA:59,2438
+DA:60,3
+DA:62,2435
+DA:63,2435
+DA:64,4820
+DA:65,2480
+DA:66,4
+DA:67,2476
+DA:68,2391
+DA:69,35
+DA:70,6
+DA:71,29
+DA:75,2340
+DA:76,2340
+DA:77,4696
+DA:78,2372
+DA:79,2372
+DA:80,27
+DA:81,27
+DA:82,8
+DA:83,2364
+DA:84,2427
+DA:85,71
+DA:86,8
+DA:88,2356
+DA:90,2451
+DA:93,2394
+DA:94,2394
+DA:96,2394
+DA:97,2394
+DA:98,4713
+DA:99,2447
+DA:100,2324
+DA:101,5
+DA:103,2266
+DA:104,4580
+DA:105,2314
+DA:106,2314
+DA:107,21
+DA:109,2778
+DA:111,2394
+DA:112,2394
+DA:113,2266
+DA:115,76
+DA:116,76
+DA:117,76
+DA:120,6555
+DA:121,6555
+DA:122,16
+DA:124,6539
+DA:125,6539
+DA:126,115
+DA:127,6424
+DA:130,116
+DA:131,116
+DA:132,116
+DA:133,24
+DA:135,92
+DA:136,92
+DA:137,47
+DA:138,45
+DA:139,16
+DA:140,16
+DA:142,29
+DA:143,29
+DA:144,0
+DA:146,53
+DA:147,53
+DA:148,53
+DA:149,10
+DA:150,53
+DA:151,48
+DA:152,38
+DA:154,5
+DA:155,53
+LF:110
+LH:109
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h
+FNL:0,103,103
+FNA:0,21,_ZN14DecodeDatabaseC2Ev
+FNL:1,62,62
+FNA:1,2438,_ZN12DecodeSignalC2Ev
+FNL:2,83,83
+FNA:2,2400,_ZN11DecodeFrameC2Ev
+FNL:3,86,88
+FNA:3,11038,_ZNK11DecodeFrame6GetKeyEv
+FNF:4
+FNH:4
+DA:62,2438
+DA:83,2400
+DA:86,11038
+DA:87,11038
+DA:103,21
+LF:5
+LH:5
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h
+FNL:0,19,19
+FNA:0,12789,_ZN8FrameKeyC2Ev
+FNL:1,22,24
+FNA:1,23974,_ZN8FrameKeyC2Ejb
+FNL:2,27,29
+FNA:2,6502,_ZNK8FrameKeyeqERKS_
+FNL:3,37,41
+FNA:3,11161,_ZNK14FrameKeyHasherclERK8FrameKey
+FNL:4,49,49
+FNA:4,6380,_ZN9SignalKeyC2Ev
+FNL:5,51,53
+FNA:5,6454,_ZN9SignalKeyC2E8FrameKeyNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNL:6,56,58
+FNA:6,22,_ZNK9SignalKeyeqERKS_
+FNL:7,64,66
+FNA:7,9,_ZNK15SignalKeyHasherclERK9SignalKey
+FNF:8
+FNH:8
+BRDA:28,0,0,6498
+BRDA:28,0,1,4
+BRDA:28,0,2,6498
+BRDA:28,0,3,0
+BRDA:39,0,0,273
+BRDA:39,0,1,10888
+BRDA:57,0,0,22
+BRDA:57,0,1,0
+BRDA:57,0,2,22
+BRDA:57,0,3,0
+BRF:10
+BRH:7
+DA:19,12789
+DA:22,23974
+DA:23,23974
+DA:24,23974
+DA:27,6502
+DA:28,6502
+DA:37,11161
+DA:38,11161
+DA:39,11161
+DA:40,11161
+DA:49,6380
+DA:51,6454
+DA:52,6454
+DA:53,6454
+DA:56,22
+DA:57,22
+DA:64,9
+DA:65,9
+LF:18
+LH:18
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h
+FNL:0,41,41
+FNA:0,716,_ZN9FrameInfoC2Ev
+FNF:1
+FNH:1
+DA:41,716
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h
+FNL:0,11,15
+FNA:0,130,_Z15ExtractJ1939Pgnj
+FNF:1
+FNH:1
+BRDA:14,0,0,78
+BRDA:14,0,1,52
+BRF:2
+BRH:2
+DA:11,130
+DA:12,130
+DA:13,130
+DA:14,130
+LF:4
+LH:4
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/multiplexing.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h
+FNL:0,43,43
+FNA:0,592,_ZN10SignalInfoC2Ev
+FNF:1
+FNH:1
+DA:43,592
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h
+FNL:0,13,17
+FNA:0,360851,_Z19IsValidSignalLayoutjjbh
+FNL:1,8,11
+FNA:1,352521,_Z21SignalStartCoordinatejb
+FNF:2
+FNH:2
+BRDA:9,0,0,176628
+BRDA:9,0,1,175893
+BRDA:15,0,0,355515
+BRDA:15,0,1,5336
+BRDA:15,0,2,350157
+BRDA:15,0,3,5358
+BRDA:16,0,0,331954
+BRDA:16,0,1,18203
+BRF:8
+BRH:8
+DA:8,352521
+DA:9,352521
+DA:10,352521
+DA:13,360851
+DA:15,711008
+DA:16,711008
+LF:6
+LH:6
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h
+FNL:0,8,20
+FNA:0,2913,_ZN10dbc_detail8TrimTextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
+FNF:1
+FNH:1
+BRDA:10,0,0,2692
+BRDA:10,0,1,343
+BRDA:10,0,2,122
+BRDA:10,0,3,2913
+BRDA:11,0,0,122
+BRDA:11,0,1,2570
+BRDA:15,0,0,2574
+BRDA:15,0,1,343
+BRDA:15,0,2,4
+BRDA:15,0,3,2913
+BRDA:16,0,0,4
+BRDA:16,0,1,2570
+BRF:12
+BRH:12
+DA:8,2913
+DA:9,2913
+DA:10,5727
+DA:11,2692
+DA:12,122
+DA:14,2913
+DA:15,5491
+DA:16,2574
+DA:17,4
+DA:19,2913
+LF:10
+LH:10
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.cpp
+FNL:0,15,17
+FNA:0,22,_ZN8TreeNodeC2Ev
+FNL:1,19,21
+FNA:1,97,_ZN8TreeNodeC2ERK9FrameInfo
+FNL:2,23,25
+FNA:2,110,_ZN8TreeNodeC2ERK10SignalInfo
+FNL:3,27,39
+FNA:3,206,_ZN8TreeNode8AddChildEOSt10unique_ptrIS_St14default_deleteIS_EE
+FNL:4,41,43
+FNA:4,2120,_ZNK8TreeNode13GetChildCountEv
+FNL:5,45,50
+FNA:5,3430,_ZNK8TreeNode8GetChildEm
+FNL:6,52,57
+FNA:6,91,_ZN8TreeNode8GetChildEm
+FNL:7,59,61
+FNA:7,44,_ZNK8TreeNode7GetTypeEv
+FNL:8,63,65
+FNA:8,29,_ZNK8TreeNode7GetNameB5cxx11Ev
+FNL:9,67,69
+FNA:9,274,_ZNK8TreeNode8GetFrameEv
+FNL:10,71,73
+FNA:10,281,_ZNK8TreeNode9GetSignalEv
+FNL:11,75,77
+FNA:11,1875,_ZNK8TreeNode9GetParentEv
+FNL:12,79,81
+FNA:12,1547,_ZNK8TreeNode6GetRowEv
+FNL:13,83,89
+FNA:13,23,_ZNK8TreeNode11GetFrameKeyEv
+FNL:14,91,96
+FNA:14,9,_ZNK8TreeNode12GetSignalKeyEv
+FNF:15
+FNH:15
+BRDA:16,0,0,22
+BRDA:16,e0,1,0
+BRDA:20,0,0,97
+BRDA:20,e0,1,0
+BRDA:24,0,0,110
+BRDA:24,e0,1,0
+BRDA:28,0,0,205
+BRDA:28,0,1,1
+BRDA:29,0,0,271
+BRDA:29,0,1,203
+BRDA:30,0,0,2
+BRDA:30,0,1,269
+BRDA:31,0,0,2
+BRDA:31,e0,1,0
+BRDA:33,0,0,0
+BRDA:33,0,1,203
+BRDA:34,0,0,-
+BRDA:34,e0,1,-
+BRDA:46,0,0,1107
+BRDA:46,0,1,2323
+BRDA:53,0,0,2
+BRDA:53,0,1,89
+BRDA:84,0,0,13
+BRDA:84,0,1,10
+BRDA:86,0,0,8
+BRDA:86,0,1,2
+BRDA:86,0,2,6
+BRDA:86,0,3,2
+BRDA:86,0,4,6
+BRDA:86,0,5,0
+BRDA:86,0,6,6
+BRDA:86,0,7,4
+BRDA:92,0,0,9
+BRDA:92,e0,1,0
+BRDA:93,0,0,6
+BRDA:93,0,1,3
+BRDA:93,0,2,5
+BRDA:93,0,3,1
+BRDA:93,0,4,5
+BRDA:93,0,5,4
+BRDA:94,0,0,5
+BRDA:94,e0,1,0
+BRF:42
+BRH:32
+DA:15,22
+DA:16,66
+DA:17,22
+DA:19,97
+DA:20,97
+DA:21,97
+DA:23,110
+DA:24,110
+DA:25,110
+DA:27,206
+DA:28,206
+DA:29,474
+DA:30,271
+DA:31,2
+DA:33,203
+DA:34,0
+DA:35,203
+DA:36,203
+DA:37,203
+DA:39,204
+DA:41,2120
+DA:42,2120
+DA:45,3430
+DA:46,3430
+DA:47,1107
+DA:49,2323
+DA:52,91
+DA:53,91
+DA:54,2
+DA:56,89
+DA:59,44
+DA:60,44
+DA:63,29
+DA:64,29
+DA:67,274
+DA:68,274
+DA:71,281
+DA:72,281
+DA:75,1875
+DA:76,1875
+DA:79,1547
+DA:80,1547
+DA:83,23
+DA:84,23
+DA:85,13
+DA:86,10
+DA:87,6
+DA:88,4
+DA:91,9
+DA:92,9
+DA:93,9
+DA:94,5
+DA:95,4
+LF:53
+LH:52
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h
+FNL:0,56,56
+FNA:0,229,_ZN8TreeNodeD2Ev
+FNF:1
+FNH:1
+DA:56,229
+LF:1
+LH:1
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h
+FNL:0,106,108
+FNA:0,2,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE8containsERKS5_
+FNL:1,116,118
+FNA:1,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI15CountingHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI15DbcFrameHandlerEESt10shared_ptrIS6_Ev
+FNA:1,6643,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI16DbcHeaderHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI16DbcSignalHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI17DbcCommentHandlerEESt10shared_ptrIS6_Ev
+FNA:1,2847,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI19DbcAttributeHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI26DbcValueDescriptionHandlerEESt10shared_ptrIS6_Ev
+FNA:1,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE11instantiateI33DbcUnsupportedMultiplexingHandlerEESt10shared_ptrIS6_Ev
+FNA:1,3,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE11instantiateINS6_12FactoryFirstEEESt10shared_ptrIS7_ESB_
+FNA:1,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE11instantiateINS6_13FactorySecondEEESt10shared_ptrIS7_ESB_
+FNL:2,66,66
+FNA:2,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEEC2Ev
+FNA:2,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEEC2Ev
+FNL:3,78,85
+FNA:3,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI15CountingHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI15DbcFrameHandlerEEvRKS5_
+FNA:3,6643,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI16DbcHeaderHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI16DbcSignalHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI17DbcCommentHandlerEEvRKS5_
+FNA:3,2847,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI19DbcAttributeHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI26DbcValueDescriptionHandlerEEvRKS5_
+FNA:3,949,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE12registerTypeI33DbcUnsupportedMultiplexingHandlerEEvRKS5_
+FNA:3,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE12registerTypeINS6_12FactoryFirstEEEvRKS5_
+FNA:3,1,_ZN11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE12registerTypeINS6_13FactorySecondEEEvRKS5_
+FNL:4,91,93
+FNA:4,14236,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE7creatorERKS5_
+FNA:4,5,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE7creatorERKS5_
+FNL:5,99,101
+FNA:5,14236,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE19DbcStatementHandlerJEE6createERKS5_
+FNA:5,3,_ZNK11TypeFactoryINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN12_GLOBAL__N_111FactoryBaseEJSt10unique_ptrIiSt14default_deleteIiEEEE6createERKS5_SB_
+FNF:6
+FNH:6
+BRDA:84,0,0,14238
+BRDA:84,e0,1,0
+BRDA:100,0,0,2
+BRDA:100,e0,1,0
+BRDA:107,0,0,2
+BRDA:107,e0,1,0
+BRDA:117,0,0,14240
+BRDA:117,e0,1,0
+BRF:8
+BRH:4
+DA:66,950
+DA:78,14238
+DA:84,14238
+DA:85,14238
+DA:91,14241
+DA:92,14241
+DA:99,14239
+DA:100,14239
+DA:106,2
+DA:107,2
+DA:116,14240
+DA:117,14240
+LF:12
+LH:12
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h
+FNL:0,13,19
+FNA:0,87,_Z17NormalizeValueKeyRKSt7variantIJlmEE
+FNL:1,24,28
+FNA:1,71,_Z20FindValueDescriptionRKSt3mapISt7variantIJlmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS1_ESaISt4pairIKS1_S7_EEERSB_
+FNF:2
+FNH:2
+BRDA:14,0,0,31
+BRDA:14,0,1,56
+BRDA:15,0,0,11
+BRDA:15,0,1,20
+BRDA:26,0,0,71
+BRDA:26,e0,1,0
+BRDA:27,0,0,1
+BRDA:27,0,1,70
+BRF:8
+BRH:7
+DA:13,87
+DA:14,87
+DA:15,31
+DA:16,11
+DA:18,76
+DA:24,71
+DA:26,71
+DA:27,71
+LF:8
+LH:8
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/dbc_tree_model.cpp
+FNL:0,138,143
+FNA:0,30,_ZNK12DbcTreeModel10headerDataEiN2Qt11OrientationEi
+FNL:1,145,147
+FNA:1,39,_ZNK12DbcTreeModel5flagsERK11QModelIndex
+FNL:2,25,25
+FNA:2,6,_ZN12DbcTreeModelC2EP7QObject
+FNL:3,27,33
+FNA:3,12,_ZN12DbcTreeModel7SetTreeESt10unique_ptrI8TreeNodeSt14default_deleteIS1_EE
+FNL:4,35,40
+FNA:4,2110,_ZNK12DbcTreeModel4NodeERK11QModelIndex
+FNL:5,42,51
+FNA:5,1254,_ZNK12DbcTreeModel5indexEiiRK11QModelIndex
+FNL:6,53,59
+FNA:6,783,_ZNK12DbcTreeModel6parentERK11QModelIndex
+FNL:7,61,68
+FNA:7,700,_ZNK12DbcTreeModel8rowCountERK11QModelIndex
+FNL:8,70,72
+FNA:8,395,_ZNK12DbcTreeModel11columnCountERK11QModelIndex
+FNL:9,74,136
+FNA:9,240,_ZNK12DbcTreeModel4dataERK11QModelIndexi
+FNL:10,9,22
+FNA:10,20,_ZN12_GLOBAL__N_113ToVariantListERKSt3mapISt7variantIJlmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIS2_ESaISt4pairIKS2_S8_EEE
+FNF:11
+FNH:11
+BRDA:11,0,0,30
+BRDA:11,0,1,20
+BRDA:13,0,0,10
+BRDA:13,0,1,20
+BRDA:14,0,0,10
+BRDA:14,e0,1,0
+BRDA:14,0,2,10
+BRDA:14,e0,3,0
+BRDA:16,0,0,20
+BRDA:16,e0,1,0
+BRDA:16,0,2,20
+BRDA:16,e0,3,0
+BRDA:17,0,0,20
+BRDA:17,e0,1,0
+BRDA:18,0,0,30
+BRDA:18,e0,1,0
+BRDA:18,0,2,30
+BRDA:18,e0,3,0
+BRDA:18,0,4,30
+BRDA:18,e0,5,0
+BRDA:19,0,0,30
+BRDA:19,e0,1,0
+BRDA:28,0,0,10
+BRDA:28,0,1,2
+BRDA:28,0,2,8
+BRDA:28,0,3,2
+BRDA:28,0,4,0
+BRDA:28,0,5,8
+BRDA:28,0,6,2
+BRDA:28,0,7,10
+BRDA:29,0,0,2
+BRDA:29,e0,1,0
+BRDA:36,0,0,2071
+BRDA:36,0,1,6
+BRDA:36,0,2,2071
+BRDA:36,0,3,0
+BRDA:36,0,4,2071
+BRDA:36,0,5,0
+BRDA:37,0,0,2077
+BRDA:37,0,1,33
+BRDA:37,0,2,0
+BRDA:37,0,3,2071
+BRDA:37,0,4,39
+BRDA:37,0,5,2071
+BRDA:43,0,0,1253
+BRDA:43,0,1,1
+BRDA:43,0,2,1252
+BRDA:43,0,3,1
+BRDA:43,0,4,1251
+BRDA:43,0,5,1
+BRDA:43,0,6,629
+BRDA:43,0,7,622
+BRDA:43,0,8,28
+BRDA:43,0,9,1226
+BRDA:44,0,0,25
+BRDA:44,0,1,604
+BRDA:46,0,0,604
+BRDA:46,0,1,622
+BRDA:47,0,0,2
+BRDA:47,0,1,1224
+BRDA:50,0,0,1219
+BRDA:50,0,1,5
+BRDA:55,0,0,761
+BRDA:55,0,1,22
+BRDA:56,0,0,761
+BRDA:56,0,1,22
+BRDA:56,0,2,314
+BRDA:56,0,3,447
+BRDA:56,0,4,336
+BRDA:56,0,5,447
+BRDA:62,0,0,467
+BRDA:62,0,1,233
+BRDA:62,0,2,204
+BRDA:62,0,3,263
+BRDA:62,0,4,204
+BRDA:62,0,5,496
+BRDA:64,0,0,263
+BRDA:64,0,1,233
+BRDA:65,0,0,53
+BRDA:65,0,1,443
+BRDA:67,0,0,443
+BRDA:67,e0,1,0
+BRDA:71,0,0,181
+BRDA:71,0,1,214
+BRDA:71,0,2,1
+BRDA:71,0,3,180
+BRDA:75,0,0,240
+BRDA:75,e0,1,0
+BRDA:76,0,0,2
+BRDA:76,0,1,238
+BRDA:78,0,0,238
+BRDA:78,e0,1,0
+BRDA:79,0,0,238
+BRDA:79,e0,1,0
+BRDA:81,0,0,126
+BRDA:81,0,1,112
+BRDA:82,0,0,126
+BRDA:82,e0,1,0
+BRDA:83,0,0,112
+BRDA:83,0,1,0
+BRDA:84,0,0,112
+BRDA:84,e0,1,0
+BRDA:85,0,0,215
+BRDA:85,0,1,23
+BRDA:85,0,2,18
+BRDA:85,0,3,197
+BRDA:87,0,0,2
+BRDA:87,0,1,195
+BRDA:88,0,0,2
+BRDA:88,e0,1,0
+BRDA:89,0,0,21
+BRDA:89,0,1,174
+BRDA:89,0,2,20
+BRDA:89,0,3,1
+BRDA:90,0,0,20
+BRDA:90,e0,1,0
+BRDA:92,0,0,103
+BRDA:92,0,1,72
+BRDA:93,0,0,10
+BRDA:93,0,1,93
+BRDA:95,0,0,10
+BRDA:95,0,1,83
+BRDA:97,0,0,10
+BRDA:97,0,1,73
+BRDA:100,0,0,72
+BRDA:100,0,1,73
+BRDA:101,0,0,10
+BRDA:101,0,1,62
+BRDA:103,0,0,10
+BRDA:103,0,1,52
+BRDA:105,0,0,10
+BRDA:105,0,1,42
+BRDA:107,0,0,10
+BRDA:107,0,1,32
+BRDA:109,0,0,10
+BRDA:109,0,1,22
+BRDA:110,0,0,10
+BRDA:110,e0,1,0
+BRDA:112,0,0,66
+BRDA:112,0,1,29
+BRDA:114,0,0,9
+BRDA:114,0,1,4
+BRDA:114,0,2,2
+BRDA:114,0,3,2
+BRDA:114,0,4,2
+BRDA:114,0,5,3
+BRDA:114,0,6,3
+BRDA:114,0,7,2
+BRDA:114,0,8,2
+BRDA:114,0,9,0
+BRDA:116,0,0,9
+BRDA:116,e0,1,0
+BRDA:116,0,2,9
+BRDA:116,e0,3,0
+BRDA:118,0,0,3
+BRDA:118,0,1,1
+BRDA:118,0,2,3
+BRDA:118,e0,3,0
+BRDA:118,0,4,3
+BRDA:118,e0,5,0
+BRDA:118,0,6,3
+BRDA:118,e0,7,0
+BRDA:118,0,8,3
+BRDA:118,0,9,1
+BRDA:118,0,10,3
+BRDA:118,0,11,1
+BRDA:118,0,12,3
+BRDA:118,0,13,1
+BRDA:118,0,14,0
+BRDA:118,0,15,0
+BRDA:118,0,16,0
+BRDA:118,0,17,0
+BRDA:118,0,18,0
+BRDA:118,0,19,0
+BRDA:120,0,0,1
+BRDA:120,0,1,1
+BRDA:122,0,0,1
+BRDA:122,0,1,1
+BRDA:124,0,0,1
+BRDA:124,0,1,1
+BRDA:126,0,0,2
+BRDA:126,0,1,1
+BRDA:126,0,2,1
+BRDA:126,0,3,1
+BRDA:126,0,4,2
+BRDA:126,e0,5,0
+BRDA:128,0,0,2
+BRDA:128,0,1,1
+BRDA:128,0,2,1
+BRDA:128,0,3,1
+BRDA:128,0,4,2
+BRDA:128,e0,5,0
+BRDA:130,0,0,1
+BRDA:130,0,1,1
+BRDA:130,0,2,1
+BRDA:130,e0,3,0
+BRDA:130,0,4,1
+BRDA:130,0,5,1
+BRDA:130,0,6,0
+BRDA:130,0,7,0
+BRDA:140,0,0,29
+BRDA:140,0,1,1
+BRDA:140,0,2,20
+BRDA:140,0,3,9
+BRDA:140,0,4,19
+BRDA:140,0,5,1
+BRDA:140,0,6,1
+BRDA:140,0,7,18
+BRDA:142,0,0,18
+BRDA:142,e0,1,0
+BRDA:146,0,0,27
+BRDA:146,0,1,12
+BRF:212
+BRH:170
+DA:9,20
+DA:10,20
+DA:11,50
+DA:12,30
+DA:13,30
+DA:14,10
+DA:16,20
+DA:17,40
+DA:18,30
+DA:19,30
+DA:20,30
+DA:21,20
+DA:22,0
+DA:25,6
+DA:27,12
+DA:28,12
+DA:29,2
+DA:30,10
+DA:31,10
+DA:32,10
+DA:33,10
+DA:35,2110
+DA:36,6258
+DA:37,6258
+DA:38,39
+DA:39,2071
+DA:42,1254
+DA:43,3134
+DA:44,1880
+DA:45,28
+DA:46,1226
+DA:47,1226
+DA:48,2
+DA:49,1224
+DA:50,1224
+DA:53,783
+DA:54,783
+DA:55,783
+DA:56,783
+DA:57,336
+DA:58,447
+DA:61,700
+DA:62,700
+DA:63,204
+DA:64,496
+DA:65,496
+DA:66,53
+DA:67,443
+DA:70,395
+DA:71,395
+DA:74,240
+DA:75,240
+DA:76,240
+DA:77,2
+DA:78,238
+DA:79,238
+DA:80,238
+DA:81,238
+DA:82,126
+DA:83,112
+DA:84,112
+DA:85,238
+DA:86,41
+DA:87,197
+DA:88,2
+DA:89,195
+DA:90,20
+DA:92,175
+DA:93,103
+DA:94,10
+DA:95,93
+DA:96,10
+DA:97,83
+DA:98,10
+DA:100,145
+DA:101,72
+DA:102,10
+DA:103,62
+DA:104,10
+DA:105,52
+DA:106,10
+DA:107,42
+DA:108,10
+DA:109,32
+DA:110,10
+DA:112,95
+DA:113,66
+DA:114,29
+DA:115,9
+DA:116,9
+DA:117,4
+DA:118,8
+DA:119,2
+DA:120,2
+DA:121,2
+DA:122,2
+DA:123,2
+DA:124,2
+DA:125,3
+DA:126,3
+DA:127,3
+DA:128,3
+DA:129,2
+DA:130,4
+DA:131,2
+DA:132,2
+DA:133,0
+DA:134,0
+DA:136,238
+DA:138,30
+DA:140,30
+DA:141,12
+DA:142,18
+DA:145,39
+DA:146,39
+LF:115
+LH:112
+end_of_record
+TN:
+SF:/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/dbc_tree_model.h
+FNF:0
+FNH:0
+LF:0
+LH:0
+end_of_record
diff --git a/build-coverage/html/amber.png b/build-coverage/html/amber.png
new file mode 100644
index 0000000..2cab170
Binary files /dev/null and b/build-coverage/html/amber.png differ
diff --git a/build-coverage/html/cmd_line b/build-coverage/html/cmd_line
new file mode 100644
index 0000000..bdf9e58
--- /dev/null
+++ b/build-coverage/html/cmd_line
@@ -0,0 +1 @@
+genhtml coverage.info --branch-coverage --demangle-cpp --output-directory html --quiet
diff --git a/build-coverage/html/core/dbc_attributes.cpp.func-c.html b/build-coverage/html/core/dbc_attributes.cpp.func-c.html
new file mode 100644
index 0000000..b1b6add
--- /dev/null
+++ b/build-coverage/html/core/dbc_attributes.cpp.func-c.html
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_attributes.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | (anonymous namespace)::ApplyDefault(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeDefinition const&) |
+
+ 15 |
+
+
+
+
+
+ | (anonymous namespace)::Target(DbcDatabase&, AttributeAssignment const&) |
+
+ 15 |
+
+
+
+
+
+ | (anonymous namespace)::ParseId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeAssignment&) |
+
+ 32 |
+
+
+
+
+
+ | (anonymous namespace)::ValidateCycleTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::variant<long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) |
+
+ 36 |
+
+
+
+
+
+ | (anonymous namespace)::ParseScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 110 |
+
+
+
+
+
+ | (anonymous namespace)::IsScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 115 |
+
+
+
+
+
+ | (anonymous namespace)::Value((anonymous namespace)::Token const&, AttributeDefinition const&, bool) |
+
+ 204 |
+
+
+
+
+
+ | (anonymous namespace)::FindDefinition(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 218 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::End() const |
+
+ 245 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Empty() const |
+
+ 262 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Quoted() |
+
+ 315 |
+
+
+
+
+
+ | (anonymous namespace)::Define((anonymous namespace)::AttributeTokens&, DbcDatabase&) |
+
+ 393 |
+
+
+
+
+
+ | DbcParseContext::ResolveAttributes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<DbcDiagnostic, std::allocator<DbcDiagnostic> >&) |
+
+ 549 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::AttributeTokens(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 621 |
+
+
+
+
+
+ | (anonymous namespace)::Tokenize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 621 |
+
+
+
+
+
+ | DbcAttributeHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 621 |
+
+
+
+
+
+ | long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 866 |
+
+
+
+
+
+ | double (anonymous namespace)::ParseNumber<double>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 239 |
+
+
+
+
+
+ | long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 627 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Word() |
+
+ 1681 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Take() |
+
+ 2639 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_attributes.cpp.func.html b/build-coverage/html/core/dbc_attributes.cpp.func.html
new file mode 100644
index 0000000..4b8a24e
--- /dev/null
+++ b/build-coverage/html/core/dbc_attributes.cpp.func.html
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_attributes.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | (anonymous namespace)::ApplyDefault(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeDefinition const&) |
+
+ 15 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::AttributeTokens(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 621 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Empty() const |
+
+ 262 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::End() const |
+
+ 245 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Quoted() |
+
+ 315 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Take() |
+
+ 2639 |
+
+
+
+
+
+ | (anonymous namespace)::AttributeTokens::Word() |
+
+ 1681 |
+
+
+
+
+
+ | (anonymous namespace)::Define((anonymous namespace)::AttributeTokens&, DbcDatabase&) |
+
+ 393 |
+
+
+
+
+
+ | (anonymous namespace)::FindDefinition(DbcDatabase&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 218 |
+
+
+
+
+
+ | (anonymous namespace)::IsScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 115 |
+
+
+
+
+
+ | (anonymous namespace)::ParseId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, AttributeAssignment&) |
+
+ 32 |
+
+
+
+
+
+ | (anonymous namespace)::ParseScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 110 |
+
+
+
+
+
+ | (anonymous namespace)::Target(DbcDatabase&, AttributeAssignment const&) |
+
+ 15 |
+
+
+
+
+
+ | (anonymous namespace)::Tokenize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 621 |
+
+
+
+
+
+ | (anonymous namespace)::ValidateCycleTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::variant<long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) |
+
+ 36 |
+
+
+
+
+
+ | (anonymous namespace)::Value((anonymous namespace)::Token const&, AttributeDefinition const&, bool) |
+
+ 204 |
+
+
+
+
+
+ | DbcAttributeHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 621 |
+
+
+
+
+
+ | DbcParseContext::ResolveAttributes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<DbcDiagnostic, std::allocator<DbcDiagnostic> >&) |
+
+ 549 |
+
+
+
+
+
+ | long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 866 |
+
+
+
+
+
+ | double (anonymous namespace)::ParseNumber<double>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 239 |
+
+
+
+
+
+ | long (anonymous namespace)::ParseNumber<long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 627 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_attributes.cpp.gcov.html b/build-coverage/html/core/dbc_attributes.cpp.gcov.html
new file mode 100644
index 0000000..22a5ed4
--- /dev/null
+++ b/build-coverage/html/core/dbc_attributes.cpp.gcov.html
@@ -0,0 +1,451 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_attributes.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #include "dbc_statement_handler.h"
+ 3 : : #include <charconv>
+ 4 : : #include <cmath>
+ 5 : : #include <limits>
+ 6 : : #include <set>
+ 7 : :
+ 8 : : namespace {
+ 9 : : struct Token {
+ 10 : : std::string text;
+ 11 : : bool quoted = false;
+ 12 : : };
+ 13 : :
+ 14 : 621 : std::vector<Token> Tokenize(const std::string &text) {
+ 15 : 621 : std::vector<Token> tokens;
+ 16 : 621 : std::size_t index = 0U;
+ 17 [ + + ]: 6141 : while (index < text.size()) {
+ 18 : 5528 : const char character = text[index++];
+ 19 [ + + - + ]: 5528 : if (character == ' ' || character == '\t')
+ 20 : 2138 : continue;
+ 21 : 3390 : Token token;
+ 22 [ + + ]: 3390 : if (character == '"') {
+ 23 : 652 : token.quoted = true;
+ 24 : 652 : bool closed = false;
+ 25 [ + + ]: 1938 : while (index < text.size()) {
+ 26 : 1936 : char next = text[index++];
+ 27 [ + + ]: 1936 : if (next == '"') {
+ 28 : 648 : closed = true;
+ 29 : 648 : break;
+ 30 : : }
+ 31 [ + + ]: 1288 : if (next == '\\') {
+ 32 [ - + ]: 4 : if (index == text.size())
+ 33 [ # # ]: 0 : throw std::runtime_error("Incomplete attribute escape.");
+ 34 : 4 : next = text[index++];
+ 35 [ + + + + ]: 4 : if (next != '"' && next != '\\')
+ 36 [ + - ]: 2 : throw std::runtime_error("Invalid attribute escape.");
+ 37 : : }
+ 38 [ + - ]: 1286 : token.text += next;
+ 39 : : }
+ 40 [ + + ]: 650 : if (!closed)
+ 41 [ + - ]: 2 : throw std::runtime_error("Unterminated attribute string.");
+ 42 [ + + + - ]: 1296 : if (index < text.size() && text[index] != ' ' && text[index] != '\t' &&
+ 43 [ + - + + : 1296 : text[index] != ',' && text[index] != ';')
+ + + + + ]
+ 44 [ + - ]: 2 : throw std::runtime_error("Missing separator after attribute string.");
+ 45 [ + + + + ]: 2738 : } else if (character == ';' || character == ',') {
+ 46 [ + - ]: 623 : token.text = character;
+ 47 : : } else {
+ 48 [ + - ]: 2115 : token.text = character;
+ 49 [ + + + - ]: 18280 : while (index < text.size() && text[index] != ' ' && text[index] != '\t' &&
+ 50 [ + + + + : 18280 : text[index] != ';' && text[index] != ',') {
+ + - + + ]
+ 51 [ + + ]: 7028 : if (text[index] == '"')
+ 52 [ + - ]: 2 : throw std::runtime_error("Missing separator before attribute string.");
+ 53 [ + - ]: 7026 : token.text += text[index++];
+ 54 : : }
+ 55 : : }
+ 56 [ + - ]: 3382 : tokens.push_back(token);
+ 57 : 3390 : }
+ 58 [ + - + - : 613 : if (tokens.empty() || tokens.back().quoted || tokens.back().text != ";")
+ + - + + +
+ + ]
+ 59 [ + - ]: 2 : throw std::runtime_error("Attribute statement requires a semicolon.");
+ 60 : 611 : tokens.pop_back();
+ 61 : 611 : return tokens;
+ 62 : 10 : }
+ 63 : :
+ 64 : : class AttributeTokens {
+ 65 : : public:
+ 66 : 621 : explicit AttributeTokens(const std::string &line) : tokens(Tokenize(line)) {}
+ 67 : 2639 : Token Take() {
+ 68 [ + + ]: 2639 : if (position == tokens.size())
+ 69 [ + - ]: 4 : throw std::runtime_error("Incomplete attribute statement.");
+ 70 : 2635 : return tokens[position++];
+ 71 : : }
+ 72 : 1681 : std::string Word() {
+ 73 [ + - ]: 1681 : const Token token = Take();
+ 74 [ + + + - : 1681 : if (token.quoted || token.text == "," || token.text == ";")
+ + - + - -
+ + + + ]
+ 75 [ + - ]: 2 : throw std::runtime_error("Expected an attribute keyword or number.");
+ 76 [ + - ]: 3358 : return token.text;
+ 77 : 1681 : }
+ 78 : 315 : std::string Quoted() {
+ 79 [ + + ]: 315 : const Token token = Take();
+ 80 [ + + ]: 311 : if (!token.quoted)
+ 81 [ + - ]: 2 : throw std::runtime_error("Expected a quoted attribute name or string.");
+ 82 [ + - ]: 618 : return token.text;
+ 83 : 311 : }
+ 84 : 262 : bool Empty() const { return position == tokens.size(); }
+ 85 : 245 : void End() const {
+ 86 [ - + ]: 245 : if (!Empty())
+ 87 [ # # ]: 0 : throw std::runtime_error("Unexpected trailing attribute fields.");
+ 88 : 245 : }
+ 89 : :
+ 90 : : private:
+ 91 : : std::vector<Token> tokens;
+ 92 : : std::size_t position = 0U;
+ 93 : : };
+ 94 : :
+ 95 : 115 : bool IsScope(const std::string &text) {
+ 96 [ + + + + : 115 : return text == "BO_" || text == "SG_" || text == "BU_" || text == "EV_";
+ + + + + ]
+ 97 : : }
+ 98 : :
+ 99 : 110 : AttributeScope ParseScope(const std::string &text) {
+ 100 [ + + ]: 110 : if (text == "BO_") return AttributeScope::Frame;
+ 101 [ + + ]: 17 : if (text == "SG_") return AttributeScope::Signal;
+ 102 [ + + ]: 6 : if (text == "BU_") return AttributeScope::Node;
+ 103 [ + + ]: 4 : if (text == "EV_") return AttributeScope::Environment;
+ 104 [ + - + - ]: 2 : throw std::runtime_error("Unsupported attribute scope: " + text);
+ 105 : : }
+ 106 : :
+ 107 : : template<class Numeric>
+ 108 : 866 : Numeric ParseNumber(const std::string &text) {
+ 109 : 866 : const char *begin = text.data();
+ 110 : 866 : const char *end = begin + text.size();
+ 111 [ + - + + ]: 866 : if (begin != end && *begin == '+') {
+ 112 : 78 : ++begin;
+ 113 [ + + + + : 78 : if (begin != end && (*begin == '-' || *begin == '+'))
+ + + ]
+ 114 [ + - + - ]: 48 : throw std::runtime_error("Invalid attribute number: " + text);
+ 115 : : }
+ 116 : 818 : Numeric value = 0;
+ 117 [ + - ]: 818 : const std::from_chars_result parsed = std::from_chars(begin, end, value);
+ 118 [ + + + + : 818 : if (begin == end || parsed.ec != std::errc() || parsed.ptr != end || !std::isfinite(value))
+ + + + + +
+ + ]
+ 119 [ + - + - ]: 270 : throw std::runtime_error("Invalid attribute number: " + text);
+ 120 : 548 : return value;
+ 121 : : }
+ 122 : :
+ 123 : 204 : AttributeValue Value(const Token &token, const AttributeDefinition &definition, bool isDefault) {
+ 124 [ + + ]: 204 : if (definition.type == AttributeType::String) {
+ 125 [ + + + - ]: 6 : if (!token.quoted) throw std::runtime_error("Attribute STRING requires quoted text.");
+ 126 [ + - ]: 4 : return token.text;
+ 127 : : }
+ 128 [ + + + + : 198 : if (definition.type == AttributeType::Enum && isDefault && token.quoted) {
+ + + ]
+ 129 [ + + ]: 9 : for (std::size_t index = 0U; index < definition.enumValues.size(); ++index) {
+ 130 [ + + ]: 7 : if (definition.enumValues[index] == token.text)
+ 131 : 2 : return static_cast<std::int64_t>(index);
+ 132 : : }
+ 133 [ + - ]: 2 : throw std::runtime_error("Unknown attribute ENUM default label.");
+ 134 : : }
+ 135 [ + + + - ]: 194 : if (token.quoted) throw std::runtime_error("Numeric attribute requires an unquoted number.");
+ 136 [ + + ]: 192 : if (definition.type == AttributeType::Float) {
+ 137 [ + + ]: 53 : const double value = ParseNumber<double>(token.text);
+ 138 [ + - + + ]: 5 : if (value < definition.minimum || value > definition.maximum)
+ 139 [ + - ]: 2 : throw std::runtime_error("Attribute FLOAT value outside definition range.");
+ 140 : 3 : return value;
+ 141 : : }
+ 142 [ + + ]: 139 : const std::int64_t value = ParseNumber<std::int64_t>(token.text);
+ 143 [ + - + + ]: 31 : if (value < definition.integerMinimum || value > definition.integerMaximum)
+ 144 [ + - ]: 4 : throw std::runtime_error("Attribute integer/ENUM value outside definition range.");
+ 145 : 27 : return value;
+ 146 : : }
+ 147 : :
+ 148 : 393 : void Define(AttributeTokens &tokens, DbcDatabase &database) {
+ 149 : 393 : AttributeDefinition definition;
+ 150 [ + - ]: 393 : const Token first = tokens.Take();
+ 151 [ + - ]: 393 : std::string name = first.text;
+ 152 [ + + ]: 393 : if (!first.quoted) {
+ 153 [ + + ]: 76 : definition.scope = ParseScope(first.text);
+ 154 [ + + ]: 74 : name = tokens.Quoted();
+ 155 : : }
+ 156 [ - + - - ]: 389 : if (name.empty()) throw std::runtime_error("Empty attribute name.");
+ 157 [ + + ]: 389 : const std::string type = tokens.Word();
+ 158 [ + - + + : 387 : if (type == "INT" || type == "HEX") {
+ + - + + +
+ + ]
+ 159 [ + - + + ]: 255 : definition.type = type == "INT" ? AttributeType::Integer : AttributeType::Hex;
+ 160 [ + - + + ]: 309 : definition.integerMinimum = ParseNumber<std::int64_t>(tokens.Word());
+ 161 [ + - + + ]: 257 : definition.integerMaximum = ParseNumber<std::int64_t>(tokens.Word());
+ 162 [ + + ]: 145 : if (definition.integerMinimum > definition.integerMaximum)
+ 163 [ + - ]: 2 : throw std::runtime_error("Reversed attribute integer range.");
+ 164 [ + - + + ]: 132 : } else if (type == "FLOAT") {
+ 165 : 106 : definition.type = AttributeType::Float;
+ 166 [ + - + + ]: 132 : definition.minimum = ParseNumber<double>(tokens.Word());
+ 167 [ + - + + ]: 106 : definition.maximum = ParseNumber<double>(tokens.Word());
+ 168 [ + + ]: 54 : if (definition.minimum > definition.maximum)
+ 169 [ + - ]: 2 : throw std::runtime_error("Reversed attribute FLOAT range.");
+ 170 [ + - + + ]: 26 : } else if (type == "STRING") {
+ 171 : 11 : definition.type = AttributeType::String;
+ 172 [ + - + + ]: 15 : } else if (type == "ENUM") {
+ 173 : 13 : definition.type = AttributeType::Enum;
+ 174 : 13 : std::set<std::string> labels;
+ 175 : : for (;;) {
+ 176 [ + + ]: 23 : const std::string label = tokens.Quoted();
+ 177 [ + - + + ]: 19 : if (!labels.insert(label).second)
+ 178 [ + - ]: 2 : throw std::runtime_error("Duplicate attribute ENUM label.");
+ 179 [ + - ]: 17 : definition.enumValues.push_back(label);
+ 180 [ + + ]: 17 : if (tokens.Empty()) break;
+ 181 [ + - ]: 10 : const Token separator = tokens.Take();
+ 182 [ + - + - : 10 : if (separator.quoted || separator.text != ",") throw std::runtime_error("Expected ENUM comma.");
+ - + - + -
+ - ]
+ 183 [ + + ]: 29 : }
+ 184 : 7 : definition.integerMaximum = static_cast<std::int64_t>(definition.enumValues.size() - 1U);
+ 185 : 13 : } else {
+ 186 [ + - + - ]: 2 : throw std::runtime_error("Unsupported attribute definition type: " + type);
+ 187 : : }
+ 188 [ + - ]: 213 : tokens.End();
+ 189 [ + - + + : 213 : if (name == "VFrameFormat" && (definition.scope != AttributeScope::Frame || definition.type != AttributeType::Enum))
+ + - + + +
+ + ]
+ 190 [ + - ]: 2 : throw std::runtime_error("VFrameFormat requires a BO_ ENUM definition.");
+ 191 [ + - + + : 217 : if (name == "GenMsgCycleTime" && (definition.scope != AttributeScope::Frame ||
+ + + + + ]
+ 192 [ - + - - ]: 6 : (definition.type != AttributeType::Integer && definition.type != AttributeType::Hex)))
+ 193 [ + - ]: 2 : throw std::runtime_error("GenMsgCycleTime requires a BO_ integer definition.");
+ 194 [ + - + + ]: 209 : if (!database.attributeDefinitions.emplace(name, definition).second)
+ 195 [ + - + - ]: 2 : throw std::runtime_error("Duplicate attribute definition: " + name);
+ 196 : 945 : }
+ 197 : :
+ 198 : 218 : AttributeDefinition &FindDefinition(DbcDatabase &database, const std::string &name) {
+ 199 [ + - ]: 218 : const std::map<std::string, AttributeDefinition>::iterator found = database.attributeDefinitions.find(name);
+ 200 [ + + ]: 218 : if (found == database.attributeDefinitions.end())
+ 201 [ + - + - ]: 4 : throw std::runtime_error("Undefined attribute: " + name);
+ 202 : 428 : return found->second;
+ 203 : : }
+ 204 : :
+ 205 : 32 : void ParseId(const std::string &text, AttributeAssignment &assignment) {
+ 206 : 32 : const std::int64_t raw = ParseNumber<std::int64_t>(text);
+ 207 [ + + + + : 32 : if (raw < 0 || raw > std::numeric_limits<std::uint32_t>::max() || (raw & 0x60000000U) != 0)
+ + + + + ]
+ 208 [ + - ]: 6 : throw std::runtime_error("Invalid attribute CAN ID.");
+ 209 : 26 : const std::uint32_t id = static_cast<std::uint32_t>(raw);
+ 210 : 26 : assignment.canId = id & 0x1fffffffU;
+ 211 [ + + - + ]: 26 : assignment.isExtended = (id & 0x80000000U) != 0U || id > 0x7ffU;
+ 212 : 26 : }
+ 213 : :
+ 214 : 15 : AttributeMap &Target(DbcDatabase &database, const AttributeAssignment &assignment) {
+ 215 [ + + ]: 15 : if (assignment.scope == AttributeScope::Database) return database.attributes;
+ 216 [ + + ]: 16 : for (FrameInfo &frame: database.frames) {
+ 217 [ + + + + ]: 14 : if (frame.canId != assignment.canId || frame.isExtended != assignment.isExtended) continue;
+ 218 [ + + ]: 11 : if (assignment.scope == AttributeScope::Frame) return frame.attributes;
+ 219 [ + + ]: 3 : for (SignalInfo &signal: frame.signals) {
+ 220 [ + - ]: 1 : if (signal.name == assignment.targetName) return signal.attributes;
+ 221 : : }
+ 222 [ + - + - ]: 2 : throw std::runtime_error("Unresolved attribute signal: " + assignment.targetName);
+ 223 : : }
+ 224 [ + - ]: 2 : throw std::runtime_error("Unresolved attribute frame.");
+ 225 : : }
+ 226 : :
+ 227 : 36 : void ValidateCycleTime(const std::string &name, const AttributeValue &value) {
+ 228 [ + + ]: 36 : if (name != "GenMsgCycleTime") return;
+ 229 : 8 : const std::int64_t milliseconds = std::get<std::int64_t>(value);
+ 230 [ + + + + : 8 : if (milliseconds < 0 || milliseconds > std::numeric_limits<std::uint32_t>::max())
+ + + ]
+ 231 [ + - ]: 4 : throw std::runtime_error("GenMsgCycleTime must fit unsigned 32-bit milliseconds.");
+ 232 : : }
+ 233 : :
+ 234 : 15 : void ApplyDefault(DbcDatabase &database, const std::string &name, const AttributeDefinition &definition) {
+ 235 [ - + ]: 15 : if (!definition.defaultValue) return;
+ 236 [ + + ]: 15 : if (definition.scope == AttributeScope::Database) {
+ 237 : 5 : database.attributes[name] = *definition.defaultValue;
+ 238 : 5 : return;
+ 239 : : }
+ 240 [ + + - + ]: 10 : if (definition.scope != AttributeScope::Frame && definition.scope != AttributeScope::Signal)
+ 241 : 0 : return;
+ 242 [ + + ]: 28 : for (FrameInfo &frame: database.frames) {
+ 243 [ + + + - : 18 : if (definition.scope == AttributeScope::Frame) frame.attributes[name] = *definition.defaultValue;
+ + - ]
+ 244 [ + + ]: 18 : if (definition.scope == AttributeScope::Signal) {
+ 245 [ + - + - : 6 : for (SignalInfo &signal: frame.signals) signal.attributes[name] = *definition.defaultValue;
+ + + ]
+ 246 : : }
+ 247 : : }
+ 248 : : }
+ 249 : : }// namespace
+ 250 : :
+ 251 : 621 : void DbcAttributeHandler::Handle(const std::string &line, DbcParseContext &context) const {
+ 252 : 621 : context.pendingAttributes.push_back({line, context.lineNumber});
+ 253 [ + - + - : 1242 : }
+ - - ]
+ 254 : :
+ 255 : 549 : void DbcParseContext::ResolveAttributes(const std::string &filePath, std::vector<DbcDiagnostic> &diagnostics) {
+ 256 : 549 : std::map<std::string, std::size_t> defaultLines;
+ 257 : 549 : std::vector<std::size_t> assignmentLines;
+ 258 : : // Resolve each phase independently of source ordering.
+ 259 : 549 : const char *keywords[] = {"BA_DEF_", "BA_DEF_DEF_", "BA_"};
+ 260 [ + + ]: 1340 : for (const char *phase: keywords) {
+ 261 [ + + ]: 2094 : for (const PendingAttribute &pending: pendingAttributes) {
+ 262 [ + - ]: 1303 : const std::string keyword = pending.statement.substr(0U, pending.statement.find_first_of(" \t"));
+ 263 [ + - + + ]: 1303 : if (keyword != phase) continue;
+ 264 : : try {
+ 265 [ + + ]: 621 : AttributeTokens tokens(pending.statement);
+ 266 [ + - ]: 611 : tokens.Word();
+ 267 [ + - + + ]: 611 : if (keyword == "BA_DEF_") {
+ 268 [ + + ]: 393 : Define(tokens, database);
+ 269 : 207 : continue;
+ 270 : : }
+ 271 [ + - ]: 218 : const std::string name = tokens.Quoted();
+ 272 [ + + ]: 218 : AttributeDefinition &definition = FindDefinition(database, name);
+ 273 [ + - + + ]: 214 : if (keyword == "BA_DEF_DEF_") {
+ 274 [ + + + - : 99 : if (definition.defaultValue) throw std::runtime_error("Duplicate attribute default: " + name);
+ + - ]
+ 275 [ + - + + ]: 177 : definition.defaultValue = Value(tokens.Take(), definition, true);
+ 276 [ + + ]: 17 : ValidateCycleTime(name, *definition.defaultValue);
+ 277 [ + - ]: 15 : tokens.End();
+ 278 [ + - ]: 15 : defaultLines[name] = pending.lineNumber;
+ 279 [ + - ]: 15 : ApplyDefault(database, name, definition);
+ 280 : 15 : continue;
+ 281 : : }
+ 282 : 115 : AttributeAssignment assignment;
+ 283 [ + - ]: 115 : assignment.name = name;
+ 284 [ + - ]: 115 : Token value = tokens.Take();
+ 285 [ + - + - : 115 : if (!value.quoted && IsScope(value.text)) {
+ + + + + ]
+ 286 [ + - ]: 34 : assignment.scope = ParseScope(value.text);
+ 287 [ + + + + ]: 34 : if (assignment.scope == AttributeScope::Frame || assignment.scope == AttributeScope::Signal)
+ 288 [ + - + + ]: 38 : ParseId(tokens.Word(), assignment);
+ 289 [ + + ]: 28 : if (assignment.scope != AttributeScope::Frame)
+ 290 [ + - ]: 7 : assignment.targetName = tokens.Word();
+ 291 [ + - ]: 28 : value = tokens.Take();
+ 292 : : }
+ 293 [ + + + - ]: 109 : if (assignment.scope != definition.scope) throw std::runtime_error("Attribute assignment scope differs from definition.");
+ 294 [ + + ]: 107 : assignment.value = Value(value, definition, false);
+ 295 [ + + ]: 19 : ValidateCycleTime(name, assignment.value);
+ 296 [ + - ]: 17 : tokens.End();
+ 297 : : // Repeated explicit assignments use the last value, matching comments.
+ 298 [ + + + + ]: 17 : if (assignment.scope != AttributeScope::Node && assignment.scope != AttributeScope::Environment)
+ 299 [ + + + - : 15 : Target(database, assignment)[name] = assignment.value;
+ + - ]
+ 300 [ + - ]: 13 : database.attributeAssignments.push_back(assignment);
+ 301 [ + - ]: 13 : assignmentLines.push_back(pending.lineNumber);
+ 302 [ + + + + : 1406 : } catch (const std::exception &error) {
+ - + ]
+ 303 [ + - + - ]: 1158 : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidAttribute, filePath, pending.lineNumber, error.what());
+ 304 : 386 : }
+ 305 [ + + ]: 1303 : }
+ 306 : : }
+ 307 [ + + ]: 342 : for (FrameInfo &frame: database.frames) {
+ 308 [ + + ]: 191 : for (const AttributeMap::value_type &attribute: frame.attributes) {
+ 309 [ + - + + : 16 : if (attribute.first != "VFrameFormat" && attribute.first != "GenMsgCycleTime") continue;
+ + - + + +
+ + ]
+ 310 [ + - ]: 9 : std::size_t line = defaultLines[attribute.first];
+ 311 [ + + ]: 37 : for (std::size_t index = 0U; index < database.attributeAssignments.size(); ++index) {
+ 312 : 28 : const AttributeAssignment &assignment = database.attributeAssignments[index];
+ 313 [ + - ]: 40 : if (assignment.name == attribute.first && assignment.scope == AttributeScope::Frame &&
+ 314 [ + + + + : 40 : assignment.canId == frame.canId && assignment.isExtended == frame.isExtended)
+ + + + + ]
+ 315 : 5 : line = assignmentLines[index];
+ 316 : : }
+ 317 [ + - ]: 9 : const std::int64_t value = std::get<std::int64_t>(attribute.second);
+ 318 [ + - + + ]: 9 : if (attribute.first == "GenMsgCycleTime") {
+ 319 : 4 : frame.cycleTimeMs = static_cast<std::uint32_t>(value);
+ 320 : 4 : continue;
+ 321 : : }
+ 322 [ + - + - ]: 5 : frame.frameFormat = database.attributeDefinitions.at(attribute.first).enumValues[static_cast<std::size_t>(value)];
+ 323 : 5 : const std::string &format = *frame.frameFormat;
+ 324 : 5 : std::string warning;
+ 325 [ + - + + : 5 : if (format != "StandardCAN" && format != "ExtendedCAN")
+ + - + + +
+ + ]
+ 326 [ + - + - ]: 2 : warning = "Unsupported VFrameFormat '" + format + "' is preserved; decoding may be incomplete.";
+ 327 [ + - + + ]: 3 : else if ((format == "ExtendedCAN") != frame.isExtended)
+ 328 [ + - + - ]: 1 : warning = "VFrameFormat '" + format + "' conflicts with the BO_ CAN ID; ID interpretation is unchanged.";
+ 329 [ + + ]: 5 : if (!warning.empty())
+ 330 : 3 : diagnostics.push_back({DbcDiagnosticSeverity::Warning, DbcDiagnosticCode::UnsupportedAttribute, filePath, line, warning});
+ 331 : 5 : }
+ 332 : : }
+ 333 [ + - + - : 938 : }
+ + - - - ]
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decode_builder.cpp.func-c.html b/build-coverage/html/core/dbc_decode_builder.cpp.func-c.html
new file mode 100644
index 0000000..cc29175
--- /dev/null
+++ b/build-coverage/html/core/dbc_decode_builder.cpp.func-c.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decode_builder.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decode_builder.cpp.func.html b/build-coverage/html/core/dbc_decode_builder.cpp.func.html
new file mode 100644
index 0000000..6ebd5e6
--- /dev/null
+++ b/build-coverage/html/core/dbc_decode_builder.cpp.func.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decode_builder.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decode_builder.cpp.gcov.html b/build-coverage/html/core/dbc_decode_builder.cpp.gcov.html
new file mode 100644
index 0000000..47d9fee
--- /dev/null
+++ b/build-coverage/html/core/dbc_decode_builder.cpp.gcov.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decode_builder.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : /**
+ 2 : : * @file dbc_decode_builder.cpp
+ 3 : : * @brief Conversion of parsed metadata to runtime definitions.
+ 4 : : *
+ 5 : : * Created: 2026-03-13
+ 6 : : * Author: Deeaitch (Dim. Himro)
+ 7 : : *
+ 8 : : * Licensed under the MIT License.
+ 9 : : * See LICENSE file in the project root for full license text.
+ 10 : : */
+ 11 : :
+ 12 : : #include "dbc_decode_builder.h"
+ 13 : : #include <utility>
+ 14 : :
+ 15 : 108 : DecodeDatabase DbcDecodeBuilder::Build(const DbcDatabase &source) const {
+ 16 : 108 : std::vector<DecodeFrame> frames;
+ 17 [ + - ]: 108 : frames.reserve(source.frames.size());
+ 18 : :
+ 19 [ + + ]: 248 : for (const FrameInfo &sourceFrame: source.frames) {
+ 20 : 140 : DecodeFrame targetFrame;
+ 21 : :
+ 22 [ + - ]: 140 : targetFrame.attributes = sourceFrame.attributes;
+ 23 [ + - ]: 140 : targetFrame.frameFormat = sourceFrame.frameFormat;
+ 24 : 140 : targetFrame.cycleTimeMs = sourceFrame.cycleTimeMs;
+ 25 [ + - ]: 140 : targetFrame.name = sourceFrame.name;
+ 26 : 140 : targetFrame.canId = sourceFrame.canId;
+ 27 : 140 : targetFrame.isExtended = sourceFrame.isExtended;
+ 28 : 140 : targetFrame.dlc = sourceFrame.dlc;
+ 29 : 140 : targetFrame.pgn = sourceFrame.pgn;
+ 30 : 140 : targetFrame.hasPgn = sourceFrame.hasPgn;
+ 31 [ + - ]: 140 : targetFrame.transmitter = sourceFrame.transmitter;
+ 32 [ + - ]: 140 : targetFrame.comment = sourceFrame.comment;
+ 33 : :
+ 34 [ + - ]: 140 : targetFrame.signals.reserve(sourceFrame.signals.size());
+ 35 [ + + ]: 313 : for (const SignalInfo &sourceSignal: sourceFrame.signals) {
+ 36 : 173 : DecodeSignal targetSignal;
+ 37 : :
+ 38 [ + - ]: 173 : targetSignal.attributes = sourceSignal.attributes;
+ 39 : 173 : targetSignal.multiplexing = sourceSignal.multiplexing;
+ 40 [ + - ]: 173 : targetSignal.name = sourceSignal.name;
+ 41 : 173 : targetSignal.startBit = sourceSignal.startBit;
+ 42 : 173 : targetSignal.length = sourceSignal.length;
+ 43 [ + + ]: 173 : targetSignal.byteOrder = sourceSignal.isLittleEndian ? ByteOrder::Intel : ByteOrder::Motorola;
+ 44 [ + + ]: 173 : targetSignal.valueType = sourceSignal.isSigned ? ValueType::Signed : ValueType::Unsigned;
+ 45 : 173 : targetSignal.factor = sourceSignal.factor;
+ 46 : 173 : targetSignal.offset = sourceSignal.offset;
+ 47 : 173 : targetSignal.minimum = sourceSignal.minimum;
+ 48 : 173 : targetSignal.maximum = sourceSignal.maximum;
+ 49 [ + - ]: 173 : targetSignal.unit = sourceSignal.unit;
+ 50 [ + - ]: 173 : targetSignal.receivers = sourceSignal.receivers;
+ 51 [ + - ]: 173 : targetSignal.comment = sourceSignal.comment;
+ 52 [ + - ]: 173 : targetSignal.valueDescriptions = sourceSignal.valueDescriptions;
+ 53 : :
+ 54 [ + - ]: 173 : targetFrame.signals.push_back(std::move(targetSignal));
+ 55 : 173 : }
+ 56 : :
+ 57 [ + - ]: 140 : frames.push_back(std::move(targetFrame));
+ 58 : 140 : }
+ 59 : :
+ 60 [ + + ]: 176 : return DecodeDatabase(frames);
+ 61 : 108 : }
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decoder.cpp.func-c.html b/build-coverage/html/core/dbc_decoder.cpp.func-c.html
new file mode 100644
index 0000000..0eafcfa
--- /dev/null
+++ b/build-coverage/html/core/dbc_decoder.cpp.func-c.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decoder.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const&) const |
+
+ 12 |
+
+
+
+
+
+ | DbcDecoder::FindFrame(DecodeDatabase const&, unsigned int, bool) const |
+
+ 32 |
+
+
+
+
+
+ | DbcDecoder::SignExtend(unsigned long, unsigned int) |
+
+ 81 |
+
+
+
+
+
+ | DbcDecoder::ExtractMotorola(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&) |
+
+ 3138 |
+
+
+
+
+
+ | DbcDecoder::ExtractIntel(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&) |
+
+ 3242 |
+
+
+
+
+
+ | DbcDecoder::ReadSelector(DecodeFrame const&, RawCanFrame const&) |
+
+ 6341 |
+
+
+
+
+
+ | DbcDecoder::DecodeOneSignal(DecodeSignal const&, unsigned char, RawCanFrame const&, DbcDecoder::SelectorState const&) |
+
+ 6375 |
+
+
+
+
+
+ | DbcDecoder::ExtractUnsigned(std::vector<unsigned char, std::allocator<unsigned char> > const&, DecodeSignal const&, unsigned long&) |
+
+ 6380 |
+
+
+
+
+
+ | DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&) const |
+
+ 6396 |
+
+
+
+
+
+ | DbcDecoder::IsValidDefinition(DecodeSignal const&, unsigned char) |
+
+ 6396 |
+
+
+
+
+
+ | DbcDecoder::DecodeImpl(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const*) const |
+
+ 6408 |
+
+
+
+
+
+ | DbcDecoder::ResolveFrame(DecodeDatabase const&, unsigned int, bool) |
+
+ 6440 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decoder.cpp.func.html b/build-coverage/html/core/dbc_decoder.cpp.func.html
new file mode 100644
index 0000000..d4ae486
--- /dev/null
+++ b/build-coverage/html/core/dbc_decoder.cpp.func.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decoder.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&) const |
+
+ 6396 |
+
+
+
+
+
+ | DbcDecoder::Decode(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const&) const |
+
+ 12 |
+
+
+
+
+
+ | DbcDecoder::DecodeImpl(DecodeDatabase const&, RawCanFrame const&, std::vector<SignalKey, std::allocator<SignalKey> > const*) const |
+
+ 6408 |
+
+
+
+
+
+ | DbcDecoder::DecodeOneSignal(DecodeSignal const&, unsigned char, RawCanFrame const&, DbcDecoder::SelectorState const&) |
+
+ 6375 |
+
+
+
+
+
+ | DbcDecoder::ExtractIntel(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&) |
+
+ 3242 |
+
+
+
+
+
+ | DbcDecoder::ExtractMotorola(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, unsigned long&) |
+
+ 3138 |
+
+
+
+
+
+ | DbcDecoder::ExtractUnsigned(std::vector<unsigned char, std::allocator<unsigned char> > const&, DecodeSignal const&, unsigned long&) |
+
+ 6380 |
+
+
+
+
+
+ | DbcDecoder::FindFrame(DecodeDatabase const&, unsigned int, bool) const |
+
+ 32 |
+
+
+
+
+
+ | DbcDecoder::IsValidDefinition(DecodeSignal const&, unsigned char) |
+
+ 6396 |
+
+
+
+
+
+ | DbcDecoder::ReadSelector(DecodeFrame const&, RawCanFrame const&) |
+
+ 6341 |
+
+
+
+
+
+ | DbcDecoder::ResolveFrame(DecodeDatabase const&, unsigned int, bool) |
+
+ 6440 |
+
+
+
+
+
+ | DbcDecoder::SignExtend(unsigned long, unsigned int) |
+
+ 81 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decoder.cpp.gcov.html b/build-coverage/html/core/dbc_decoder.cpp.gcov.html
new file mode 100644
index 0000000..4f6b360
--- /dev/null
+++ b/build-coverage/html/core/dbc_decoder.cpp.gcov.html
@@ -0,0 +1,353 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decoder.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : /**
+ 2 : : * @file dbc_decoder.cpp
+ 3 : : * @brief CAN signal extraction and physical value conversion.
+ 4 : : *
+ 5 : : * Created: 2026-03-13
+ 6 : : * Author: Deeaitch (Dim. Himro)
+ 7 : : *
+ 8 : : * Licensed under the MIT License.
+ 9 : : * See LICENSE file in the project root for full license text.
+ 10 : : */
+ 11 : :
+ 12 : : #include "dbc_decoder.h"
+ 13 : : #include "j1939.h"
+ 14 : : #include "signal_layout.h"
+ 15 : : #include <cmath>
+ 16 : : #include <stdexcept>
+ 17 : : #include <unordered_set>
+ 18 : : #include <utility>
+ 19 : :
+ 20 : 32 : std::shared_ptr<const DecodeFrame> DbcDecoder::FindFrame(const DecodeDatabase &database,
+ 21 : : std::uint32_t canId,
+ 22 : : bool isExtended) const {
+ 23 [ + - ]: 32 : return ResolveFrame(database, canId, isExtended).definition;
+ 24 : : }
+ 25 : :
+ 26 : 6440 : PgnLookupResult DbcDecoder::ResolveFrame(const DecodeDatabase &database,
+ 27 : : std::uint32_t canId, bool isExtended) {
+ 28 [ + - ]: 6440 : const std::shared_ptr<const DecodeFrame> exact = database.FindFrame(FrameKey(canId, isExtended));
+ 29 [ + + ]: 6440 : if (exact)
+ 30 : 6335 : return {exact, false};
+ 31 [ + + + + ]: 105 : if (!isExtended || canId > 0x1FFFFFFFU)
+ 32 : 25 : return {};
+ 33 [ + - ]: 80 : return database.FindFrameByPgn(ExtractJ1939Pgn(canId));
+ 34 : 6440 : }
+ 35 : :
+ 36 : 6396 : DecodedFrameValue DbcDecoder::Decode(const DecodeDatabase &database,
+ 37 : : const RawCanFrame &frame) const {
+ 38 : 6396 : return DecodeImpl(database, frame, nullptr);
+ 39 : : }
+ 40 : :
+ 41 : 12 : DecodedFrameValue DbcDecoder::Decode(const DecodeDatabase &database,
+ 42 : : const RawCanFrame &frame,
+ 43 : : const std::vector<SignalKey> &selection) const {
+ 44 : 12 : return DecodeImpl(database, frame, &selection);
+ 45 : : }
+ 46 : :
+ 47 : 6408 : DecodedFrameValue DbcDecoder::DecodeImpl(const DecodeDatabase &database,
+ 48 : : const RawCanFrame &frame,
+ 49 : : const std::vector<SignalKey> *selection) const {
+ 50 : 6408 : DecodedFrameValue result;
+ 51 : 6408 : result.key = FrameKey(frame.canId, frame.isExtended);
+ 52 [ + - ]: 6408 : const PgnLookupResult match = ResolveFrame(database, frame.canId, frame.isExtended);
+ 53 [ + + ]: 6408 : if (match.ambiguous) {
+ 54 : 8 : result.status = FrameDecodeStatus::AmbiguousFrame;
+ 55 : 8 : return result;
+ 56 : : }
+ 57 : 6400 : const std::shared_ptr<const DecodeFrame> definition = match.definition;
+ 58 [ + + ]: 6400 : if (definition == nullptr)
+ 59 : 55 : return result;
+ 60 : 6345 : result.key = definition->GetKey();
+ 61 : :
+ 62 : 6345 : std::vector<const DecodeSignal *> selected;
+ 63 [ + + ]: 6345 : if (selection != nullptr) {
+ 64 [ + - ]: 8 : selected.reserve(selection->size());
+ 65 : 8 : std::unordered_set<SignalKey, SignalKeyHasher> keys;
+ 66 [ + + ]: 12 : for (const SignalKey &key: *selection) {
+ 67 [ + + ]: 8 : if (!(key.frame == result.key))
+ 68 [ + - + - ]: 4 : throw std::invalid_argument("Selected signal belongs to another frame: " + key.name);
+ 69 [ + - - + ]: 4 : if (!keys.insert(key).second)
+ 70 [ # # # # ]: 0 : throw std::invalid_argument("Duplicate selected signal: " + key.name);
+ 71 [ + - ]: 4 : const std::shared_ptr<const DecodeSignal> signal = database.FindSignal(key);
+ 72 [ - + ]: 4 : if (!signal)
+ 73 [ # # # # ]: 0 : throw std::invalid_argument("Unknown selected signal: " + key.name);
+ 74 [ + - ]: 4 : selected.push_back(signal.get());
+ 75 : 4 : }
+ 76 : 8 : }
+ 77 : :
+ 78 : 6341 : result.definition = definition;
+ 79 : 6341 : result.valid = true;
+ 80 : 6341 : result.status = frame.data.size() < definition->dlc
+ 81 [ + + ]: 6341 : ? FrameDecodeStatus::InsufficientPayload
+ 82 : : : FrameDecodeStatus::Valid;
+ 83 : :
+ 84 [ + - ]: 6341 : const SelectorState selector = ReadSelector(*definition, frame);
+ 85 [ + + ]: 6341 : const std::size_t count = selection != nullptr ? selected.size() : definition->signals.size();
+ 86 [ + - ]: 6341 : result.signals.reserve(count);
+ 87 [ + + ]: 12716 : for (std::size_t index = 0U; index < count; ++index) {
+ 88 [ + + ]: 6375 : const DecodeSignal &signal = selection != nullptr ? *selected[index] : definition->signals[index];
+ 89 [ + - ]: 6375 : DecodedSignalValue decoded = DecodeOneSignal(signal, definition->dlc, frame, selector);
+ 90 [ + + + + ]: 6375 : if (!decoded.valid && decoded.status != SignalDecodeStatus::Inactive &&
+ 91 [ + + ]: 31 : result.status == FrameDecodeStatus::Valid)
+ 92 : 5 : result.status = FrameDecodeStatus::SignalErrors;
+ 93 : 6375 : decoded.definition = std::shared_ptr<const DecodeSignal>(definition, &signal);
+ 94 [ + - ]: 6375 : decoded.key = SignalKey(result.key, signal.name);
+ 95 [ + - ]: 6375 : result.signals.push_back(std::move(decoded));
+ 96 : 6375 : }
+ 97 : :
+ 98 : 6341 : return result;
+ 99 : 6420 : }
+ 100 : :
+ 101 : 6396 : bool DbcDecoder::IsValidDefinition(const DecodeSignal &signal, std::uint8_t dlc) {
+ 102 [ + + + - ]: 6396 : if ((signal.byteOrder != ByteOrder::Intel && signal.byteOrder != ByteOrder::Motorola) ||
+ 103 [ + + + - ]: 6396 : (signal.valueType != ValueType::Unsigned && signal.valueType != ValueType::Signed) ||
+ 104 [ + + ]: 6396 : (signal.multiplexing.role != MultiplexRole::Unconditional &&
+ 105 [ + + ]: 71 : signal.multiplexing.role != MultiplexRole::Selector &&
+ 106 [ - + ]: 29 : signal.multiplexing.role != MultiplexRole::Branch))
+ 107 : 0 : return false;
+ 108 : :
+ 109 : 6396 : return IsValidSignalLayout(signal.startBit, signal.length,
+ 110 : 6396 : signal.byteOrder == ByteOrder::Intel, dlc);
+ 111 : : }
+ 112 : :
+ 113 : 6341 : DbcDecoder::SelectorState DbcDecoder::ReadSelector(const DecodeFrame &definition,
+ 114 : : const RawCanFrame &frame) {
+ 115 : 6341 : SelectorState selector;
+ 116 : 6341 : std::size_t count = 0U;
+ 117 [ + + ]: 12716 : for (const DecodeSignal &signal: definition.signals) {
+ 118 [ + + ]: 6375 : if (signal.multiplexing.role == MultiplexRole::Selector) {
+ 119 : 21 : selector.definition = &signal;
+ 120 : 21 : ++count;
+ 121 : : }
+ 122 : : }
+ 123 [ + + ]: 6341 : if (count != 1U)
+ 124 : 6320 : return selector;
+ 125 : :
+ 126 : 21 : const DecodeSignal &signal = *selector.definition;
+ 127 [ + - ]: 42 : selector.valid = signal.valueType == ValueType::Unsigned &&
+ 128 [ + - ]: 21 : IsValidDefinition(signal, definition.dlc);
+ 129 [ + - + + ]: 21 : selector.available = selector.valid && ExtractUnsigned(frame.data, signal, selector.value);
+ 130 : 21 : return selector;
+ 131 : : }
+ 132 : :
+ 133 : 6375 : DecodedSignalValue DbcDecoder::DecodeOneSignal(const DecodeSignal &signal,
+ 134 : : std::uint8_t dlc,
+ 135 : : const RawCanFrame &frame,
+ 136 : : const SelectorState &selector) {
+ 137 : 6375 : DecodedSignalValue decoded;
+ 138 : 6375 : std::uint64_t unsignedValue = 0U;
+ 139 : :
+ 140 [ + - + - : 12750 : if (!IsValidDefinition(signal, dlc) ||
+ - + ]
+ 141 [ + + - + ]: 6375 : (signal.multiplexing.role != MultiplexRole::Unconditional && !selector.valid)) {
+ 142 : 0 : return decoded;
+ 143 : : }
+ 144 [ + + ]: 6375 : if (signal.multiplexing.role == MultiplexRole::Branch) {
+ 145 [ + + - + ]: 29 : if (selector.definition->length < 64U && signal.multiplexing.value >= (std::uint64_t(1U) << selector.definition->length)) {
+ 146 : 0 : return decoded;
+ 147 : : }
+ 148 [ + + ]: 29 : if (!selector.available) {
+ 149 : 3 : decoded.status = SignalDecodeStatus::SelectorUnavailable;
+ 150 : 3 : return decoded;
+ 151 : : }
+ 152 [ + + ]: 26 : if (signal.multiplexing.value != selector.value) {
+ 153 : 13 : decoded.status = SignalDecodeStatus::Inactive;
+ 154 : 13 : return decoded;
+ 155 : : }
+ 156 : : }
+ 157 [ + - + + ]: 6359 : if (!ExtractUnsigned(frame.data, signal, unsignedValue)) {
+ 158 : 23 : decoded.status = SignalDecodeStatus::InsufficientPayload;
+ 159 : 23 : return decoded;
+ 160 : : }
+ 161 : :
+ 162 [ + + ]: 6336 : if (signal.valueType == ValueType::Signed)
+ 163 [ + - ]: 81 : decoded.rawValue = SignExtend(unsignedValue, signal.length);
+ 164 : : else
+ 165 : 6255 : decoded.rawValue = unsignedValue;
+ 166 : :
+ 167 : : double numericValue;
+ 168 [ + + ]: 6336 : if (const std::int64_t *signedValue = std::get_if<std::int64_t>(&decoded.rawValue))
+ 169 : 81 : numericValue = static_cast<double>(*signedValue);
+ 170 : : else
+ 171 [ + - ]: 6255 : numericValue = static_cast<double>(std::get<std::uint64_t>(decoded.rawValue));
+ 172 : 6336 : decoded.physicalValue = numericValue * signal.factor + signal.offset;
+ 173 [ + + ]: 6336 : if (!std::isfinite(decoded.physicalValue)) {
+ 174 : 5 : decoded.status = SignalDecodeStatus::PhysicalConversionFailed;
+ 175 : 5 : return decoded;
+ 176 : : }
+ 177 : 6331 : decoded.valid = true;
+ 178 : 6331 : decoded.status = SignalDecodeStatus::Valid;
+ 179 : :
+ 180 : 6331 : return decoded;
+ 181 : 0 : }
+ 182 : :
+ 183 : 6380 : bool DbcDecoder::ExtractUnsigned(const std::vector<std::uint8_t> &data,
+ 184 : : const DecodeSignal &signal,
+ 185 : : std::uint64_t &value) {
+ 186 [ + - - + ]: 6380 : if ((signal.length == 0U) || (signal.length > 64U))
+ 187 : 0 : return false;
+ 188 : :
+ 189 [ + + ]: 6380 : if (signal.byteOrder == ByteOrder::Intel)
+ 190 : 3242 : return ExtractIntel(data, signal.startBit, signal.length, value);
+ 191 : :
+ 192 : 3138 : return ExtractMotorola(data, signal.startBit, signal.length, value);
+ 193 : : }
+ 194 : :
+ 195 : 3242 : bool DbcDecoder::ExtractIntel(const std::vector<std::uint8_t> &data,
+ 196 : : std::uint32_t startBit,
+ 197 : : std::uint32_t length,
+ 198 : : std::uint64_t &value) {
+ 199 : 3242 : value = 0U;
+ 200 : :
+ 201 [ + + ]: 105558 : for (std::uint32_t bitIndex = 0U; bitIndex < length; ++bitIndex) {
+ 202 : 102334 : const std::uint64_t absoluteBit = std::uint64_t(startBit) + bitIndex;
+ 203 : 102334 : const std::uint64_t byteIndex = absoluteBit / 8U;
+ 204 : 102334 : const std::uint32_t bitInByte = absoluteBit % 8U;
+ 205 : :
+ 206 [ + + ]: 102334 : if (byteIndex >= data.size())
+ 207 : 18 : return false;
+ 208 : :
+ 209 : : const std::uint64_t bitValue =
+ 210 : 102316 : (static_cast<std::uint64_t>((data[byteIndex] >> bitInByte) & 0x01U) << bitIndex);
+ 211 : :
+ 212 : 102316 : value |= bitValue;
+ 213 : : }
+ 214 : :
+ 215 : 3224 : return true;
+ 216 : : }
+ 217 : :
+ 218 : 3138 : bool DbcDecoder::ExtractMotorola(const std::vector<std::uint8_t> &data,
+ 219 : : std::uint32_t startBit,
+ 220 : : std::uint32_t length,
+ 221 : : std::uint64_t &value) {
+ 222 : : /*
+ 223 : : * DBC Motorola bit numbering:
+ 224 : : * - startBit points to the most significant bit of the signal
+ 225 : : * - inside a byte, bit numbering goes 7..0
+ 226 : : * - crossing byte boundary moves to the next byte, bit 7
+ 227 : : * Example: a signal starting at 7 follows 7..0, 15..8, 23..16.
+ 228 : : */
+ 229 : :
+ 230 : 3138 : value = 0U;
+ 231 : :
+ 232 : 3138 : std::size_t byteIndex = startBit / 8U;
+ 233 : 3138 : std::uint32_t bitInByte = startBit % 8U;
+ 234 : :
+ 235 [ + + ]: 104732 : for (std::uint32_t bitIndex = 0U; bitIndex < length; ++bitIndex) {
+ 236 [ + + ]: 101601 : if (byteIndex >= data.size())
+ 237 : 7 : return false;
+ 238 : :
+ 239 : 101594 : value <<= 1U;
+ 240 : 101594 : value |= static_cast<std::uint64_t>((data[byteIndex] >> bitInByte) & 0x01U);
+ 241 : :
+ 242 [ + + ]: 101594 : if (bitInByte == 0U) {
+ 243 : 12688 : ++byteIndex;
+ 244 : 12688 : bitInByte = 7U;
+ 245 : : } else
+ 246 : 88906 : --bitInByte;
+ 247 : : }
+ 248 : :
+ 249 : 3131 : return true;
+ 250 : : }
+ 251 : :
+ 252 : 81 : std::int64_t DbcDecoder::SignExtend(std::uint64_t value, std::uint32_t bitLength) {
+ 253 [ + - - + ]: 81 : if ((bitLength == 0U) || (bitLength > 64U))
+ 254 : 0 : return 0;
+ 255 : :
+ 256 : 81 : const std::uint64_t signMask = std::uint64_t(1U) << (bitLength - 1U);
+ 257 : 81 : const std::uint64_t valueMask = (bitLength == 64U)
+ 258 [ + + ]: 81 : ? ~std::uint64_t(0U)
+ 259 : 68 : : (std::uint64_t(1U) << bitLength) - 1U;
+ 260 : 81 : value &= valueMask;
+ 261 : :
+ 262 [ + + ]: 81 : if ((value & signMask) == 0U)
+ 263 : 41 : return static_cast<std::int64_t>(value);
+ 264 : :
+ 265 : : // The complemented magnitude fits int64_t, including for INT64_MIN.
+ 266 : 40 : return -1 - static_cast<std::int64_t>((~value) & valueMask);
+ 267 : : }
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decoder.h.func-c.html b/build-coverage/html/core/dbc_decoder.h.func-c.html
new file mode 100644
index 0000000..a748c8c
--- /dev/null
+++ b/build-coverage/html/core/dbc_decoder.h.func-c.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decoder.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decoder.h.func.html b/build-coverage/html/core/dbc_decoder.h.func.html
new file mode 100644
index 0000000..f67620e
--- /dev/null
+++ b/build-coverage/html/core/dbc_decoder.h.func.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decoder.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_decoder.h.gcov.html b/build-coverage/html/core/dbc_decoder.h.gcov.html
new file mode 100644
index 0000000..60947ad
--- /dev/null
+++ b/build-coverage/html/core/dbc_decoder.h.gcov.html
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_decoder.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : /**
+ 2 : : * @file dbc_decoder.h
+ 3 : : * @brief CAN frame decoding API and result types.
+ 4 : : *
+ 5 : : * Created: 2026-03-13
+ 6 : : * Author: Deeaitch (Dim. Himro)
+ 7 : : *
+ 8 : : * Licensed under the MIT License.
+ 9 : : * See LICENSE file in the project root for full license text.
+ 10 : : */
+ 11 : :
+ 12 : : #ifndef DBC_DECODER_H
+ 13 : : #define DBC_DECODER_H
+ 14 : :
+ 15 : : #include <cstdint>
+ 16 : : #include <variant>
+ 17 : : #include <vector>
+ 18 : :
+ 19 : : #include "decode_database.h"
+ 20 : :
+ 21 : : /**
+ 22 : : * @brief Raw CAN frame used for runtime or trace decoding.
+ 23 : : */
+ 24 : : struct RawCanFrame {
+ 25 : : std::uint32_t canId = 0U; /**< Normalized CAN ID. */
+ 26 : : bool isExtended = false; /**< true for extended frame. */
+ 27 : : std::vector<std::uint8_t> data; /**< Payload bytes. */
+ 28 : :
+ 29 : 2220 : RawCanFrame() = default;
+ 30 : : };
+ 31 : :
+ 32 : : /** @brief Outcome of signal extraction and physical conversion. */
+ 33 : : enum class SignalDecodeStatus {
+ 34 : : InvalidDefinition,
+ 35 : : InsufficientPayload,
+ 36 : : SelectorUnavailable,
+ 37 : : Inactive,
+ 38 : : Valid,
+ 39 : : PhysicalConversionFailed
+ 40 : : };
+ 41 : :
+ 42 : : /** Frame summary: short payload takes precedence over individual signal errors. */
+ 43 : : enum class FrameDecodeStatus {
+ 44 : : UnknownFrame,
+ 45 : : InsufficientPayload,
+ 46 : : SignalErrors,
+ 47 : : Valid,
+ 48 : : AmbiguousFrame
+ 49 : : };
+ 50 : :
+ 51 : : /**
+ 52 : : * @brief One decoded signal value.
+ 53 : : */
+ 54 : : struct DecodedSignalValue {
+ 55 : : std::shared_ptr<const DecodeSignal> definition; /**< Owning immutable definition. */
+ 56 : : SignalKey key; /**< Stable application identifier. */
+ 57 : : RawSignalValue rawValue = std::uint64_t(0U); /**< Exact raw value for Valid or PhysicalConversionFailed. */
+ 58 : : double physicalValue = 0.0; /**< Conversion result, possibly NaN/Inf on failure. */
+ 59 : : bool valid = false; /**< true if decoding succeeded. */
+ 60 : : SignalDecodeStatus status = SignalDecodeStatus::InvalidDefinition; /**< Detailed signal outcome. */
+ 61 : :
+ 62 : : /** Lookup using the raw integer; nullptr for invalid or unmapped values. */
+ 63 : 79 : const std::string *GetValueDescription() const {
+ 64 [ + + + - ]: 79 : return valid && definition ? FindValueDescription(definition->valueDescriptions, rawValue) : nullptr;
+ 65 : : }
+ 66 : :
+ 67 : 6380 : DecodedSignalValue() = default;
+ 68 : : };
+ 69 : :
+ 70 : : /**
+ 71 : : * @brief Fully decoded frame.
+ 72 : : */
+ 73 : : struct DecodedFrameValue {
+ 74 : : std::shared_ptr<const DecodeFrame> definition; /**< Owning immutable definition. */
+ 75 : : FrameKey key; /**< Matched definition key; received key if unmatched. */
+ 76 : : std::vector<DecodedSignalValue> signals; /**< Decoded signal values. */
+ 77 : : bool valid = false; /**< true if frame was matched. */
+ 78 : : FrameDecodeStatus status = FrameDecodeStatus::UnknownFrame; /**< Inspect signals for individual failures. */
+ 79 : :
+ 80 : 6409 : DecodedFrameValue() = default;
+ 81 : : };
+ 82 : :
+ 83 : : /**
+ 84 : : * @brief Runtime CAN decoder using prebuilt decode database.
+ 85 : : */
+ 86 : : class DbcDecoder {
+ 87 : : public:
+ 88 : : /**
+ 89 : : * @brief Find exact CAN ID first, then unique PGN among explicitly J1939 definitions.
+ 90 : : * @param database Runtime decode database.
+ 91 : : * @param canId Normalized CAN ID.
+ 92 : : * @param isExtended true for extended frame.
+ 93 : : * @return Owning immutable handle, or nullptr for missing/ambiguous matches. Safe across reload.
+ 94 : : */
+ 95 : : std::shared_ptr<const DecodeFrame> FindFrame(const DecodeDatabase &database,
+ 96 : : std::uint32_t canId,
+ 97 : : bool isExtended) const;
+ 98 : :
+ 99 : : /**
+ 100 : : * @brief Decode one raw CAN frame.
+ 101 : : * @param database Runtime decode database.
+ 102 : : * @param frame Raw CAN frame.
+ 103 : : * Short payloads decode available signals; bytes beyond declared DLC are ignored.
+ 104 : : * @return Decoded frame value.
+ 105 : : */
+ 106 : : DecodedFrameValue Decode(const DecodeDatabase &database,
+ 107 : : const RawCanFrame &frame) const;
+ 108 : :
+ 109 : : /**
+ 110 : : * @brief Decode selected signals in selection order using stable keys.
+ 111 : : * An empty selection returns no signals. Multiplex selectors are read internally.
+ 112 : : * Frame status summarizes selected signals; short payload still takes precedence.
+ 113 : : * Unknown/ambiguous frames return before checking the selection.
+ 114 : : * For PGN matches, selection keys must belong to the matched DBC definition.
+ 115 : : * @throws std::invalid_argument for a foreign frame key, unknown signal, or duplicate key.
+ 116 : : */
+ 117 : : DecodedFrameValue Decode(const DecodeDatabase &database,
+ 118 : : const RawCanFrame &frame,
+ 119 : : const std::vector<SignalKey> &selection) const;
+ 120 : :
+ 121 : : private:
+ 122 : : static PgnLookupResult ResolveFrame(const DecodeDatabase &database,
+ 123 : : std::uint32_t canId, bool isExtended);
+ 124 : :
+ 125 : : DecodedFrameValue DecodeImpl(const DecodeDatabase &database,
+ 126 : : const RawCanFrame &frame,
+ 127 : : const std::vector<SignalKey> *selection) const;
+ 128 : :
+ 129 : : static bool IsValidDefinition(const DecodeSignal &signal, std::uint8_t dlc);
+ 130 : :
+ 131 : : struct SelectorState {
+ 132 : : const DecodeSignal *definition = nullptr;
+ 133 : : bool valid = false;
+ 134 : : bool available = false;
+ 135 : : std::uint64_t value = 0U;
+ 136 : : };
+ 137 : :
+ 138 : : static SelectorState ReadSelector(const DecodeFrame &definition, const RawCanFrame &frame);
+ 139 : : static DecodedSignalValue DecodeOneSignal(const DecodeSignal &signal,
+ 140 : : std::uint8_t dlc,
+ 141 : : const RawCanFrame &frame,
+ 142 : : const SelectorState &selector);
+ 143 : :
+ 144 : : static bool ExtractUnsigned(const std::vector<std::uint8_t> &data,
+ 145 : : const DecodeSignal &signal,
+ 146 : : std::uint64_t &value);
+ 147 : :
+ 148 : : static bool ExtractIntel(const std::vector<std::uint8_t> &data,
+ 149 : : std::uint32_t startBit,
+ 150 : : std::uint32_t length,
+ 151 : : std::uint64_t &value);
+ 152 : :
+ 153 : : static bool ExtractMotorola(const std::vector<std::uint8_t> &data,
+ 154 : : std::uint32_t startBit,
+ 155 : : std::uint32_t length,
+ 156 : : std::uint64_t &value);
+ 157 : :
+ 158 : : static std::int64_t SignExtend(std::uint64_t value, std::uint32_t bitLength);
+ 159 : : };
+ 160 : :
+ 161 : : #endif /* DBC_DECODER_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_diagnostic.h.func-c.html b/build-coverage/html/core/dbc_diagnostic.h.func-c.html
new file mode 100644
index 0000000..b80e3d4
--- /dev/null
+++ b/build-coverage/html/core/dbc_diagnostic.h.func-c.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_diagnostic.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_diagnostic.h.func.html b/build-coverage/html/core/dbc_diagnostic.h.func.html
new file mode 100644
index 0000000..8d062ee
--- /dev/null
+++ b/build-coverage/html/core/dbc_diagnostic.h.func.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_diagnostic.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_diagnostic.h.gcov.html b/build-coverage/html/core/dbc_diagnostic.h.gcov.html
new file mode 100644
index 0000000..94bc104
--- /dev/null
+++ b/build-coverage/html/core/dbc_diagnostic.h.gcov.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_diagnostic.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #ifndef DBC_DIAGNOSTIC_H
+ 3 : : #define DBC_DIAGNOSTIC_H
+ 4 : :
+ 5 : : #include "dbc_database.h"
+ 6 : : #include <cstddef>
+ 7 : : #include <string>
+ 8 : : #include <vector>
+ 9 : :
+ 10 : : /** @brief Warning or fatal parse error. */
+ 11 : : enum class DbcDiagnosticSeverity {
+ 12 : : Warning,
+ 13 : : Error
+ 14 : : };
+ 15 : :
+ 16 : : /** Stable categories; messages provide the details. */
+ 17 : : enum class DbcDiagnosticCode {
+ 18 : : FileOpenError,
+ 19 : : FileReadError,
+ 20 : : InvalidStatement,
+ 21 : : InvalidValueDescription,
+ 22 : : InvalidMultiplexing,
+ 23 : : UnsupportedStatement,
+ 24 : : InvalidAttribute,
+ 25 : : UnsupportedAttribute
+ 26 : : };
+ 27 : :
+ 28 : : /** @brief Diagnostic message and physical source location. */
+ 29 : : struct DbcDiagnostic {
+ 30 : : DbcDiagnosticSeverity severity; /**< Message severity. */
+ 31 : : DbcDiagnosticCode code; /**< Stable diagnostic category. */
+ 32 : : std::string filePath; /**< Input file path. */
+ 33 : : std::size_t lineNumber; /**< One-based physical line; zero for file-level errors. */
+ 34 : : std::string message; /**< Human-readable diagnostic details. */
+ 35 : : };
+ 36 : :
+ 37 : : /** @brief Parsed database and diagnostics; the database is empty on error. */
+ 38 : : struct DbcParseResult {
+ 39 : : DbcDatabase database; /**< Parsed content, published only on success. */
+ 40 : : std::vector<DbcDiagnostic> diagnostics; /**< Warnings and the first error, if any. */
+ 41 : :
+ 42 : : /** @brief Return whether any diagnostic has error severity. */
+ 43 : 293 : bool HasErrors() const {
+ 44 [ + + ]: 327 : for (const DbcDiagnostic &diagnostic: diagnostics) {
+ 45 [ + + ]: 283 : if (diagnostic.severity == DbcDiagnosticSeverity::Error)
+ 46 : 249 : return true;
+ 47 : : }
+ 48 : 44 : return false;
+ 49 : : }
+ 50 : : };
+ 51 : :
+ 52 : : #endif /* DBC_DIAGNOSTIC_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_parser.cpp.func-c.html b/build-coverage/html/core/dbc_parser.cpp.func-c.html
new file mode 100644
index 0000000..e33499b
--- /dev/null
+++ b/build-coverage/html/core/dbc_parser.cpp.func-c.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_parser.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | (anonymous namespace)::ReadCommentLines(std::basic_ifstream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&) |
+
+ 140 |
+
+
+
+
+
+ | (anonymous namespace)::StatementErrorCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 349 |
+
+
+
+
+
+ | DbcParser::ParseFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 656 |
+
+
+
+
+
+ | DbcParser::ParseFileWithDiagnostics(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 951 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_parser.cpp.func.html b/build-coverage/html/core/dbc_parser.cpp.func.html
new file mode 100644
index 0000000..f51ae4c
--- /dev/null
+++ b/build-coverage/html/core/dbc_parser.cpp.func.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_parser.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | (anonymous namespace)::ReadCommentLines(std::basic_ifstream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&) |
+
+ 140 |
+
+
+
+
+
+ | (anonymous namespace)::StatementErrorCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 349 |
+
+
+
+
+
+ | DbcParser::ParseFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 656 |
+
+
+
+
+
+ | DbcParser::ParseFileWithDiagnostics(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 951 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_parser.cpp.gcov.html b/build-coverage/html/core/dbc_parser.cpp.gcov.html
new file mode 100644
index 0000000..ad5cec5
--- /dev/null
+++ b/build-coverage/html/core/dbc_parser.cpp.gcov.html
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_parser.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : /**
+ 2 : : * @file dbc_parser.cpp
+ 3 : : * @brief DBC file reading and diagnostic collection.
+ 4 : : *
+ 5 : : * Created: 2026-03-13
+ 6 : : * Author: Deeaitch (Dim. Himro)
+ 7 : : *
+ 8 : : * Licensed under the MIT License.
+ 9 : : * See LICENSE file in the project root for full license text.
+ 10 : : */
+ 11 : :
+ 12 : : #include "dbc_parser.h"
+ 13 : : #include "dbc_statement_handler.h"
+ 14 : :
+ 15 : : #include "text_utils.h"
+ 16 : : #include <fstream>
+ 17 : : #include <sstream>
+ 18 : : #include <stdexcept>
+ 19 : : #include <utility>
+ 20 : :
+ 21 : : namespace {
+ 22 : : // Read through the closing unescaped quote, preserving comment whitespace.
+ 23 : 140 : void ReadCommentLines(std::ifstream &input, std::string &statement,
+ 24 : : std::size_t &lineNumber) {
+ 25 : 140 : bool inQuote = false;
+ 26 : 140 : bool escaped = false;
+ 27 [ + - ]: 140 : std::string part = statement;
+ 28 : : for (;;) {
+ 29 [ + + ]: 3677 : for (const char character: part) {
+ 30 [ + + ]: 3662 : if (escaped) {
+ 31 : 5 : escaped = false;
+ 32 [ + + + + ]: 3657 : } else if (inQuote && character == '\\') {
+ 33 : 7 : escaped = true;
+ 34 [ + + ]: 3650 : } else if (character == '"') {
+ 35 [ + + ]: 268 : if (inQuote)
+ 36 : 132 : return;
+ 37 : 136 : inQuote = true;
+ 38 : : }
+ 39 : : }
+ 40 [ + + + - : 15 : if (!inQuote || !std::getline(input, part))
+ + - + + +
+ + ]
+ 41 : 8 : return;
+ 42 : 7 : ++lineNumber;
+ 43 [ + - + + : 7 : if (!part.empty() && part.back() == '\r')
+ + + ]
+ 44 : 2 : part.pop_back();
+ 45 [ + - ]: 7 : statement += '\n';
+ 46 [ + - ]: 7 : statement += part;
+ 47 : : // A physical newline cannot escape the next line's first character.
+ 48 : 7 : escaped = false;
+ 49 : 7 : }
+ 50 : 140 : }
+ 51 : :
+ 52 : 349 : DbcDiagnosticCode StatementErrorCode(const std::string &keyword) {
+ 53 [ + + ]: 349 : if (keyword == "SG_MUL_VAL_")
+ 54 : 4 : return DbcDiagnosticCode::UnsupportedStatement;
+ 55 [ + + ]: 345 : if (keyword == "VAL_")
+ 56 : 25 : return DbcDiagnosticCode::InvalidValueDescription;
+ 57 : 320 : return DbcDiagnosticCode::InvalidStatement;
+ 58 : : }
+ 59 : : }
+ 60 : :
+ 61 : 656 : DbcDatabase DbcParser::ParseFile(const std::string &filePath) const {
+ 62 [ + - ]: 656 : DbcParseResult result = ParseFileWithDiagnostics(filePath);
+ 63 [ + + ]: 662 : for (const DbcDiagnostic &diagnostic : result.diagnostics) {
+ 64 [ + + ]: 545 : if (diagnostic.severity == DbcDiagnosticSeverity::Error) {
+ 65 [ + + ]: 539 : if (diagnostic.lineNumber == 0U)
+ 66 [ + - ]: 3 : throw std::runtime_error(diagnostic.message);
+ 67 [ + - ]: 1072 : throw std::runtime_error(diagnostic.filePath + ":" +
+ 68 [ + - + - : 1608 : std::to_string(diagnostic.lineNumber) + ": " + diagnostic.message);
+ + - + - +
+ - ]
+ 69 : : }
+ 70 : : }
+ 71 : 234 : return std::move(result.database);
+ 72 : 656 : }
+ 73 : :
+ 74 : 951 : DbcParseResult DbcParser::ParseFileWithDiagnostics(const std::string &filePath) const {
+ 75 : 951 : DbcParseResult result;
+ 76 [ + - ]: 951 : std::ifstream input(filePath.c_str());
+ 77 [ + + ]: 951 : if (!input.is_open()) {
+ 78 : 3 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,
+ 79 : : DbcDiagnosticCode::FileOpenError, filePath, 0U,
+ 80 : : "Failed to open DBC file: " + filePath});
+ 81 : 3 : return result;
+ 82 : : }
+ 83 : :
+ 84 : 948 : DbcDatabase database;
+ 85 : 948 : DbcParseContext context{database, nullptr};
+ 86 : 948 : context.enableJ1939 = options.enableJ1939;
+ 87 [ + - ]: 948 : const DbcStatementDispatcher dispatcher;
+ 88 : 948 : bool inNamespace = false;
+ 89 : 948 : std::size_t lineNumber = 0U;
+ 90 : 948 : std::string line;
+ 91 [ + - + - : 3097 : while (std::getline(input, line)) {
+ + + ]
+ 92 : 2498 : ++lineNumber;
+ 93 [ + + + + : 2498 : if (!line.empty() && line.back() == '\r')
+ + + ]
+ 94 : 19 : line.pop_back();
+ 95 [ + - ]: 2498 : const std::string rawLine = line;
+ 96 : 2498 : const std::size_t statementLine = lineNumber;
+ 97 [ + - ]: 2498 : line = dbc_detail::TrimText(line);
+ 98 [ + + ]: 2498 : if (line.empty())
+ 99 : 342 : continue;
+ 100 : :
+ 101 [ + - ]: 2156 : std::istringstream tokens(line);
+ 102 : 2156 : std::string keyword;
+ 103 : 2156 : std::string argument;
+ 104 [ + - ]: 2156 : tokens >> keyword;
+ 105 [ + - + - ]: 2156 : const bool hasArgument = static_cast<bool>(tokens >> argument);
+ 106 [ + + + - : 44 : if (inNamespace && !hasArgument && keyword != "BO_" && keyword != "SG_" &&
+ + + + - +
+ + ]
+ 107 [ + - + + : 36 : keyword != "BS_" && keyword != "BS_:" &&
+ + - + + ]
+ 108 [ + + + - : 2200 : keyword != "BU_" && keyword != "BU_:")
+ + + + - +
+ + + + ]
+ 109 : 29 : continue; // NS_ lists syntax symbols; BO_, SG_, BS_ and BU_ end the list.
+ 110 [ + - + + : 2127 : inNamespace = keyword == "NS_" || keyword == "NS_:";
+ + - + + ]
+ 111 : :
+ 112 [ + - + + ]: 2127 : if (keyword == "CM_") {
+ 113 [ + - ]: 140 : line = rawLine;
+ 114 [ + - ]: 140 : ReadCommentLines(input, line, lineNumber);
+ 115 : : }
+ 116 : :
+ 117 : : try {
+ 118 : 2127 : context.lineNumber = statementLine;
+ 119 [ + + + + ]: 2127 : if (!dispatcher.Dispatch(line, context)) {
+ 120 : 37 : result.diagnostics.push_back({DbcDiagnosticSeverity::Warning,
+ 121 : : DbcDiagnosticCode::UnsupportedStatement,
+ 122 : : filePath, statementLine,
+ 123 : 37 : "Unsupported statement '" + keyword +
+ 124 : : "' is ignored; decoding or metadata may be incomplete."});
+ 125 : : }
+ 126 [ - + ]: 349 : } catch (const std::exception &error) {
+ 127 : 349 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,
+ 128 : 698 : StatementErrorCode(keyword), filePath,
+ 129 : 0 : statementLine, error.what()});
+ 130 : 349 : return result;
+ 131 : 349 : }
+ 132 [ + + + + : 3632 : }
+ + + + + +
+ + + + ]
+ 133 : :
+ 134 [ + - + + : 599 : if (input.bad() || !input.eof()) {
+ + - - + +
+ + ]
+ 135 : 2 : result.diagnostics.push_back({DbcDiagnosticSeverity::Error,
+ 136 : : DbcDiagnosticCode::FileReadError, filePath, 0U,
+ 137 : : "Failed to read DBC file: " + filePath});
+ 138 : 2 : return result;
+ 139 : : }
+ 140 : :
+ 141 : : try {
+ 142 [ + + ]: 597 : context.ResolveComments(filePath);
+ 143 [ + + ]: 587 : context.ResolveValueDescriptions(filePath);
+ 144 [ + + ]: 576 : context.ValidateMultiplexing(filePath);
+ 145 [ + + ]: 549 : context.ResolveAttributes(filePath, result.diagnostics);
+ 146 [ - + ]: 434 : } catch (const DbcDiagnosticError &error) {
+ 147 [ + - ]: 434 : result.diagnostics.push_back(error.diagnostic);
+ 148 : 434 : return result;
+ 149 [ + - ]: 434 : }
+ 150 : 163 : result.database = std::move(database);
+ 151 : 163 : return result;
+ 152 [ + - + - : 1691 : }
+ + - + - +
+ - + - + -
+ + - + - +
+ - - - - -
+ + - + - +
+ - + - - -
+ - - ]
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_parser.h.func-c.html b/build-coverage/html/core/dbc_parser.h.func-c.html
new file mode 100644
index 0000000..39a1c3f
--- /dev/null
+++ b/build-coverage/html/core/dbc_parser.h.func-c.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_parser.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_parser.h.func.html b/build-coverage/html/core/dbc_parser.h.func.html
new file mode 100644
index 0000000..7ab766d
--- /dev/null
+++ b/build-coverage/html/core/dbc_parser.h.func.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_parser.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_parser.h.gcov.html b/build-coverage/html/core/dbc_parser.h.gcov.html
new file mode 100644
index 0000000..a0e2c6e
--- /dev/null
+++ b/build-coverage/html/core/dbc_parser.h.gcov.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_parser.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Line data Source code
+
+ 1 : /**
+ 2 : * @file dbc_parser.h
+ 3 : * @brief DBC file parser and interpretation options.
+ 4 : *
+ 5 : * Created: 2026-03-13
+ 6 : * Author: Deeaitch (Dim. Himro)
+ 7 : *
+ 8 : * Licensed under the MIT License.
+ 9 : * See LICENSE file in the project root for full license text.
+ 10 : */
+ 11 :
+ 12 : #ifndef DBC_PARSER_H
+ 13 : #define DBC_PARSER_H
+ 14 :
+ 15 : #include <string>
+ 16 :
+ 17 : #include "dbc_diagnostic.h"
+ 18 :
+ 19 : /** Explicit interpretation applied to extended frames in this file. */
+ 20 : struct DbcParserOptions {
+ 21 : bool enableJ1939 = false; /**< Derive J1939 PGNs from extended CAN IDs. */
+ 22 : };
+ 23 :
+ 24 : /**
+ 25 : * @brief Minimal DBC parser.
+ 26 : *
+ 27 : * Supports:
+ 28 : * - BO_
+ 29 : * - SG_
+ 30 : * - CM_ BO_
+ 31 : * - CM_ SG_
+ 32 : * - basic M / mN multiplexing
+ 33 : * - VAL_ signal value descriptions
+ 34 : * - BA_DEF_, BA_DEF_DEF_, BA_ typed attributes, frame format and cycle time
+ 35 : *
+ 36 : * Frame/signal comments support multiline quoted text and deferred references.
+ 37 : *
+ 38 : * Reports unsupported statements as warnings, except SG_MUL_VAL_ which is
+ 39 : * an error. VERSION, NS_, BS_, BU_ and NS_ symbol declarations stay quiet.
+ 40 : */
+ 41 : class DbcParser {
+ 42 : public:
+ 43 : /** @brief Create a parser with explicit extended-frame interpretation options. */
+ 44 930 : explicit DbcParser(DbcParserOptions options = {}) : options(options) {}
+ 45 :
+ 46 : /**
+ 47 : * @brief Parse DBC file.
+ 48 : * @param filePath Path to input file.
+ 49 : * @return Parsed database.
+ 50 : * @throws std::runtime_error on file or parse errors.
+ 51 : * Line parse errors include the file path and one-based line number.
+ 52 : * Duplicate normalized CAN IDs of the same frame type and duplicate signal
+ 53 : * names within a frame are rejected at the repeated definition's line.
+ 54 : */
+ 55 : DbcDatabase ParseFile(const std::string &filePath) const;
+ 56 :
+ 57 : /**
+ 58 : * @brief Parse with warnings and a structured first error instead of throwing.
+ 59 : * @return Valid database with diagnostics; empty database on error.
+ 60 : * File errors use line zero; statement errors use physical one-based lines.
+ 61 : * Warnings indicate ignored syntax and possible incomplete decoding.
+ 62 : */
+ 63 : DbcParseResult ParseFileWithDiagnostics(const std::string &filePath) const;
+ 64 :
+ 65 : private:
+ 66 : DbcParserOptions options;
+ 67 : };
+ 68 :
+ 69 : #endif /* DBC_PARSER_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_statement_handler.cpp.func-c.html b/build-coverage/html/core/dbc_statement_handler.cpp.func-c.html
new file mode 100644
index 0000000..063e902
--- /dev/null
+++ b/build-coverage/html/core/dbc_statement_handler.cpp.func-c.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_statement_handler.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | DbcUnsupportedMultiplexingHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 4 |
+
+
+
+
+
+ | (anonymous namespace)::SignalsOverlap(SignalInfo const&, SignalInfo const&) |
+
+ 57 |
+
+
+
+
+
+ | (anonymous namespace)::AreMutuallyExclusive(SignalInfo const&, SignalInfo const&) |
+
+ 58 |
+
+
+
+
+
+ | (anonymous namespace)::FindUniqueSignal(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 62 |
+
+
+
+
+
+ | DbcHeaderHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 62 |
+
+
+
+
+
+ | (anonymous namespace)::FindUniqueFrame(DbcDatabase&, unsigned int, bool) |
+
+ 67 |
+
+
+
+
+
+ | DbcValueDescriptionHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 94 |
+
+
+
+
+
+ | (anonymous namespace)::UnescapeDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 96 |
+
+
+
+
+
+ | (anonymous namespace)::ParseValueKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 104 |
+
+
+
+
+
+ | (anonymous namespace)::SignalBits(SignalInfo const&) |
+
+ 114 |
+
+
+
+
+
+ | DbcCommentHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 149 |
+
+
+
+
+
+ | (anonymous namespace)::ValidateBranch(SignalInfo const&, SignalInfo const*) |
+
+ 193 |
+
+
+
+
+
+ | (anonymous namespace)::FindSelector(FrameInfo const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 280 |
+
+
+
+
+
+ | (anonymous namespace)::SplitReceivers(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 317 |
+
+
+
+
+
+ | (anonymous namespace)::FindSignalByName(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 364 |
+
+
+
+
+
+ | (anonymous namespace)::ParseMultiplexingMarker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 496 |
+
+
+
+
+
+ | DbcSignalHandler::ParseSignalLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 521 |
+
+
+
+
+
+ | DbcSignalHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 526 |
+
+
+
+
+
+ | DbcParseContext::ValidateMultiplexing(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 576 |
+
+
+
+
+
+ | DbcParseContext::ResolveValueDescriptions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 592 |
+
+
+
+
+
+ | DbcParseContext::ResolveComments(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 597 |
+
+
+
+
+
+ | DbcFrameHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 649 |
+
+
+
+
+
+ | DbcFrameHandler::ParseFrameLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 649 |
+
+
+
+
+
+ | (anonymous namespace)::FindFrameById(DbcDatabase&, unsigned int, bool) |
+
+ 698 |
+
+
+
+
+
+ | (anonymous namespace)::ParseCanId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 784 |
+
+
+
+
+
+ | (anonymous namespace)::NormalizeCanId(unsigned int, unsigned int&, bool&) |
+
+ 803 |
+
+
+
+
+
+ | (anonymous namespace)::NextSignalBit(unsigned long, bool) |
+
+ 884 |
+
+
+
+
+
+ | DbcStatementDispatcher::DbcStatementDispatcher() |
+
+ 949 |
+
+
+
+
+
+ | (anonymous namespace)::ParsePhysicalValue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) |
+
+ 1666 |
+
+
+
+
+
+ | DbcStatementDispatcher::Dispatch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 2132 |
+
+
+
+
+
+ | (anonymous namespace)::ParseDecimal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, char const*) |
+
+ 2466 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_statement_handler.cpp.func.html b/build-coverage/html/core/dbc_statement_handler.cpp.func.html
new file mode 100644
index 0000000..93ae8e0
--- /dev/null
+++ b/build-coverage/html/core/dbc_statement_handler.cpp.func.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_statement_handler.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | (anonymous namespace)::AreMutuallyExclusive(SignalInfo const&, SignalInfo const&) |
+
+ 58 |
+
+
+
+
+
+ | (anonymous namespace)::FindFrameById(DbcDatabase&, unsigned int, bool) |
+
+ 698 |
+
+
+
+
+
+ | (anonymous namespace)::FindSelector(FrameInfo const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 280 |
+
+
+
+
+
+ | (anonymous namespace)::FindSignalByName(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 364 |
+
+
+
+
+
+ | (anonymous namespace)::FindUniqueFrame(DbcDatabase&, unsigned int, bool) |
+
+ 67 |
+
+
+
+
+
+ | (anonymous namespace)::FindUniqueSignal(FrameInfo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 62 |
+
+
+
+
+
+ | (anonymous namespace)::NextSignalBit(unsigned long, bool) |
+
+ 884 |
+
+
+
+
+
+ | (anonymous namespace)::NormalizeCanId(unsigned int, unsigned int&, bool&) |
+
+ 803 |
+
+
+
+
+
+ | (anonymous namespace)::ParseCanId(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 784 |
+
+
+
+
+
+ | (anonymous namespace)::ParseDecimal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, char const*) |
+
+ 2466 |
+
+
+
+
+
+ | (anonymous namespace)::ParseMultiplexingMarker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 496 |
+
+
+
+
+
+ | (anonymous namespace)::ParsePhysicalValue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) |
+
+ 1666 |
+
+
+
+
+
+ | (anonymous namespace)::ParseValueKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 104 |
+
+
+
+
+
+ | (anonymous namespace)::SignalBits(SignalInfo const&) |
+
+ 114 |
+
+
+
+
+
+ | (anonymous namespace)::SignalsOverlap(SignalInfo const&, SignalInfo const&) |
+
+ 57 |
+
+
+
+
+
+ | (anonymous namespace)::SplitReceivers(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 317 |
+
+
+
+
+
+ | (anonymous namespace)::UnescapeDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 96 |
+
+
+
+
+
+ | (anonymous namespace)::ValidateBranch(SignalInfo const&, SignalInfo const*) |
+
+ 193 |
+
+
+
+
+
+ | DbcCommentHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 149 |
+
+
+
+
+
+ | DbcFrameHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 649 |
+
+
+
+
+
+ | DbcFrameHandler::ParseFrameLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 649 |
+
+
+
+
+
+ | DbcHeaderHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 62 |
+
+
+
+
+
+ | DbcParseContext::ResolveComments(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 597 |
+
+
+
+
+
+ | DbcParseContext::ResolveValueDescriptions(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 592 |
+
+
+
+
+
+ | DbcParseContext::ValidateMultiplexing(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 576 |
+
+
+
+
+
+ | DbcSignalHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 526 |
+
+
+
+
+
+ | DbcSignalHandler::ParseSignalLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 521 |
+
+
+
+
+
+ | DbcStatementDispatcher::DbcStatementDispatcher() |
+
+ 949 |
+
+
+
+
+
+ | DbcStatementDispatcher::Dispatch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 2132 |
+
+
+
+
+
+ | DbcUnsupportedMultiplexingHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 4 |
+
+
+
+
+
+ | DbcValueDescriptionHandler::Handle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DbcParseContext&) const |
+
+ 94 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_statement_handler.cpp.gcov.html b/build-coverage/html/core/dbc_statement_handler.cpp.gcov.html
new file mode 100644
index 0000000..7a4e2d2
--- /dev/null
+++ b/build-coverage/html/core/dbc_statement_handler.cpp.gcov.html
@@ -0,0 +1,676 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_statement_handler.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #include "dbc_statement_handler.h"
+ 3 : : #include "j1939.h"
+ 4 : : #include "text_utils.h"
+ 5 : : #include "signal_layout.h"
+ 6 : : #include <charconv>
+ 7 : : #include <cmath>
+ 8 : : #include <limits>
+ 9 : : #include <regex>
+ 10 : : #include <sstream>
+ 11 : : #include <stdexcept>
+ 12 : :
+ 13 : : namespace {
+ 14 : 2466 : std::uint32_t ParseDecimal(const std::string &text,
+ 15 : : std::uint32_t maximum,
+ 16 : : const char *field) {
+ 17 : 2466 : std::uint32_t value = 0U;
+ 18 [ + - ]: 2466 : const std::from_chars_result parsed = std::from_chars(text.data(), text.data() + text.size(), value);
+ 19 [ + + ]: 4932 : if (text.empty() || parsed.ec != std::errc() ||
+ 20 [ + - + + : 4932 : parsed.ptr != text.data() + text.size() || value > maximum)
+ + + + + ]
+ 21 [ + - + - : 174 : throw std::runtime_error(std::string("Invalid ") + field + ": " + text);
+ + - + - +
+ - ]
+ 22 : 2408 : return value;
+ 23 : : }
+ 24 : :
+ 25 : 784 : std::uint32_t ParseCanId(const std::string &text) {
+ 26 : 784 : const std::uint32_t rawId = ParseDecimal(
+ 27 : : text, std::numeric_limits<std::uint32_t>::max(), "CAN ID");
+ 28 : : // Only bit 31 may accompany the actual 29-bit identifier.
+ 29 [ + + ]: 750 : if ((rawId & 0x60000000U) != 0U)
+ 30 [ + - ]: 20 : throw std::runtime_error("CAN ID exceeds the 29-bit identifier range.");
+ 31 : 730 : return rawId;
+ 32 : : }
+ 33 : :
+ 34 : 1666 : double ParsePhysicalValue(const std::string &text, const char *field) {
+ 35 : : static const std::regex number(
+ 36 [ + + + - : 1666 : R"(^[+-]?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[eE][+-]?[0-9]+)?$)");
+ + - - - ]
+ 37 [ + - + + ]: 1666 : if (!std::regex_match(text, number))
+ 38 [ + - + - : 336 : throw std::runtime_error(std::string("Invalid ") + field + ": " + text);
+ + - + - +
+ - ]
+ 39 : : // Floating-point from_chars is locale-independent and does not accept
+ 40 : : // a leading '+', which the DBC numeric grammar permits.
+ 41 : 1554 : const char *begin = text.data();
+ 42 : 1554 : const char *end = begin + text.size();
+ 43 [ + + ]: 1554 : if (*begin == '+')
+ 44 : 18 : ++begin;
+ 45 : 1554 : double value = 0.0;
+ 46 : : const std::from_chars_result parsed =
+ 47 : 1554 : std::from_chars(begin, end, value, std::chars_format::general);
+ 48 : : // Keep the existing rejection of conversion underflow into subnormal values.
+ 49 [ + + + - : 3084 : if (parsed.ec != std::errc() || parsed.ptr != end || !std::isfinite(value) ||
+ + - + + +
+ + ]
+ 50 : 1530 : std::fpclassify(value) == FP_SUBNORMAL)
+ 51 [ + - + - : 120 : throw std::runtime_error(std::string("Invalid ") + field + ": " + text);
+ + - + - +
+ - ]
+ 52 : 1514 : return value;
+ 53 : : }
+ 54 : :
+ 55 : 496 : Multiplexing ParseMultiplexingMarker(const std::string &marker) {
+ 56 : 496 : Multiplexing result;
+ 57 [ + - + + ]: 496 : if (marker == "M")
+ 58 : 34 : result.role = MultiplexRole::Selector;
+ 59 [ + + ]: 462 : else if (!marker.empty()) {
+ 60 [ + + ]: 38 : if (marker[0] != 'm')
+ 61 [ + - ]: 1 : throw std::runtime_error("Unsupported multiplexing marker.");
+ 62 [ + - ]: 37 : const std::string value = marker.substr(1U);
+ 63 : : const std::from_chars_result parsed =
+ 64 [ + - ]: 37 : std::from_chars(value.data(), value.data() + value.size(), result.value);
+ 65 [ + + + + : 37 : if (value.empty() || parsed.ec != std::errc() || parsed.ptr != value.data() + value.size())
+ + + + + ]
+ 66 [ + - ]: 7 : throw std::runtime_error("Invalid or unsupported multiplexing marker.");
+ 67 : 30 : result.role = MultiplexRole::Branch;
+ 68 : 37 : }
+ 69 : :
+ 70 : 488 : return result;
+ 71 : : }
+ 72 : :
+ 73 : 104 : RawSignalValue ParseValueKey(const std::string &number) {
+ 74 : 104 : RawSignalValue key;
+ 75 [ + - + + : 104 : if (!number.empty() && number[0] == '-') {
+ + + ]
+ 76 : 16 : std::int64_t value = 0;
+ 77 : : const std::from_chars_result parsed =
+ 78 [ + - ]: 16 : std::from_chars(number.data(), number.data() + number.size(), value);
+ 79 [ + + - + : 16 : if (parsed.ec != std::errc() || parsed.ptr != number.data() + number.size())
+ + + ]
+ 80 [ + - + - ]: 2 : throw std::runtime_error("Invalid VAL_ integer: " + number);
+ 81 : 14 : key = NormalizeValueKey(RawSignalValue(value));
+ 82 : : } else {
+ 83 : 88 : std::uint64_t value = 0;
+ 84 : : const std::from_chars_result parsed =
+ 85 [ + - ]: 88 : std::from_chars(number.data(), number.data() + number.size(), value);
+ 86 [ + - + + : 88 : if (number.empty() || parsed.ec != std::errc() || parsed.ptr != number.data() + number.size())
+ + + + + ]
+ 87 [ + - + - ]: 6 : throw std::runtime_error("Invalid VAL_ integer: " + number);
+ 88 : 82 : key = value;
+ 89 : : }
+ 90 : 96 : return key;
+ 91 : : }
+ 92 : :
+ 93 : 96 : std::string UnescapeDescription(const std::string "ed) {
+ 94 : 96 : std::string description;
+ 95 [ + + ]: 724 : for (std::size_t i = 0; i < quoted.size(); ++i) {
+ 96 [ + + ]: 628 : if (quoted[i] == '\\')
+ 97 : 7 : ++i;
+ 98 [ + - ]: 628 : description += quoted[i];
+ 99 : : }
+ 100 : 96 : return description;
+ 101 : 0 : }
+ 102 : :
+ 103 : 67 : FrameInfo *FindUniqueFrame(DbcDatabase &database, std::uint32_t canId, bool isExtended) {
+ 104 : 67 : FrameInfo *frame = nullptr;
+ 105 [ + + ]: 178 : for (FrameInfo &candidate : database.frames) {
+ 106 [ + + + + ]: 113 : if (candidate.canId == canId && candidate.isExtended == isExtended) {
+ 107 [ + + ]: 66 : if (frame)
+ 108 [ + - ]: 2 : throw std::runtime_error("Ambiguous VAL_ frame reference.");
+ 109 : 64 : frame = &candidate;
+ 110 : : }
+ 111 : : }
+ 112 [ + + ]: 65 : if (!frame)
+ 113 [ + - ]: 3 : throw std::runtime_error("Unresolved VAL_ frame reference.");
+ 114 : 62 : return frame;
+ 115 : : }
+ 116 : :
+ 117 : 62 : SignalInfo *FindUniqueSignal(FrameInfo &frame, const std::string &signalName) {
+ 118 : 62 : SignalInfo *signal = nullptr;
+ 119 [ + + ]: 149 : for (SignalInfo &candidate : frame.signals) {
+ 120 [ + + ]: 89 : if (candidate.name == signalName) {
+ 121 [ + + ]: 59 : if (signal)
+ 122 [ + - + - ]: 2 : throw std::runtime_error("Ambiguous VAL_ signal reference: " + signalName);
+ 123 : 57 : signal = &candidate;
+ 124 : : }
+ 125 : : }
+ 126 [ + + ]: 60 : if (!signal)
+ 127 [ + - + - ]: 5 : throw std::runtime_error("Unresolved VAL_ signal reference: " + signalName);
+ 128 : 55 : return signal;
+ 129 : : }
+ 130 : :
+ 131 : 884 : std::uint64_t NextSignalBit(std::uint64_t bit, bool isLittleEndian) {
+ 132 [ + + ]: 884 : if (isLittleEndian)
+ 133 : 724 : return bit + 1U;
+ 134 : : // From bit 0, Motorola continues at bit 7 of the next byte (0 -> 15).
+ 135 [ + + ]: 160 : return bit % 8U == 0U ? bit + 15U : bit - 1U;
+ 136 : : }
+ 137 : :
+ 138 : : FrameInfo *FindFrameById(DbcDatabase &, std::uint32_t, bool);
+ 139 : : SignalInfo *FindSignalByName(FrameInfo &, const std::string &);
+ 140 : : } // namespace
+ 141 : :
+ 142 : : namespace {
+ 143 : 317 : std::vector<std::string> SplitReceivers(const std::string &text) {
+ 144 : 317 : std::vector<std::string> receivers;
+ 145 : 317 : std::string token;
+ 146 [ + - ]: 317 : std::istringstream stream(text);
+ 147 : :
+ 148 [ + - + - : 956 : while (std::getline(stream, token, ',')) {
+ + + ]
+ 149 [ + - ]: 322 : token = dbc_detail::TrimText(token);
+ 150 [ - + ]: 322 : if (!token.empty())
+ 151 [ + - ]: 322 : receivers.push_back(token);
+ 152 : : }
+ 153 : :
+ 154 : 317 : return receivers;
+ 155 : 317 : }
+ 156 : :
+ 157 : 803 : void NormalizeCanId(std::uint32_t rawCanId, std::uint32_t &normalizedCanId, bool &isExtended) {
+ 158 : : /*
+ 159 : : * DBC commonly stores extended identifiers with bit 31 set.
+ 160 : : * Example:
+ 161 : : * raw id = 0x80000000 | actual_29_bit_id
+ 162 : : */
+ 163 [ + + + + ]: 803 : isExtended = (rawCanId & 0x80000000U) != 0U || rawCanId > 0x7FFU;
+ 164 : 803 : normalizedCanId = rawCanId & 0x1FFFFFFFU;
+ 165 : 803 : }
+ 166 : : } // namespace
+ 167 : :
+ 168 : 649 : FrameInfo DbcFrameHandler::ParseFrameLine(const std::string &line) {
+ 169 : : /*
+ 170 : : * Example:
+ 171 : : * BO_ 256 EngineData: 8 EEC1
+ 172 : : */
+ 173 : :
+ 174 [ + - ]: 649 : std::istringstream stream(line);
+ 175 : 649 : std::string keyword;
+ 176 : 649 : std::string idText;
+ 177 [ + - + - : 649 : if (!(stream >> keyword >> idText) || keyword != "BO_")
+ + - + + +
+ - - + +
+ + ]
+ 178 [ + - ]: 3 : throw std::runtime_error("Missing CAN ID in frame definition.");
+ 179 : :
+ 180 [ + + ]: 646 : const std::uint32_t rawCanId = ParseCanId(idText);
+ 181 : :
+ 182 : 628 : std::string nameText;
+ 183 [ + - + - : 628 : if (!std::getline(stream, nameText, ':') || stream.eof())
+ + + + - +
+ + + + ]
+ 184 [ + - ]: 2 : throw std::runtime_error("Missing ':' in frame definition.");
+ 185 [ + - ]: 626 : std::istringstream nameStream(nameText);
+ 186 : 626 : FrameInfo frame;
+ 187 : 626 : std::string extra;
+ 188 [ + - + - : 626 : if (!(nameStream >> frame.name) || (nameStream >> extra))
+ + + + - +
+ - + + +
+ + ]
+ 189 [ + - ]: 2 : throw std::runtime_error("Missing or invalid frame name.");
+ 190 : :
+ 191 : 624 : std::string lengthText;
+ 192 [ + - + - : 624 : if (!(stream >> lengthText))
+ + + ]
+ 193 [ + - ]: 1 : throw std::runtime_error("Missing payload length in frame definition.");
+ 194 [ + + ]: 623 : frame.dlc = static_cast<std::uint8_t>(ParseDecimal(
+ 195 : 623 : lengthText, std::numeric_limits<std::uint8_t>::max(), "payload length"));
+ 196 [ + - + - : 617 : if (!(stream >> frame.transmitter))
+ + + ]
+ 197 [ + - ]: 1 : throw std::runtime_error("Missing transmitter in frame definition.");
+ 198 [ + - + - : 616 : if (stream >> extra)
+ + + ]
+ 199 [ + - + - ]: 1 : throw std::runtime_error("Unexpected trailing field in frame definition: " + extra);
+ 200 : :
+ 201 : 615 : NormalizeCanId(rawCanId, frame.canId, frame.isExtended);
+ 202 : :
+ 203 : 615 : return frame;
+ 204 : 772 : }
+ 205 : :
+ 206 : 521 : SignalInfo DbcSignalHandler::ParseSignalLine(const std::string &line) {
+ 207 : : // Match the complete statement before converting any numeric fields.
+ 208 : : enum Field {
+ 209 : : NameAndMarker = 1, StartBit, BitLength, ByteOrder, Signedness,
+ 210 : : Factor, Offset, Minimum, Maximum, Unit, Receivers
+ 211 : : };
+ 212 : : static const std::regex syntax(
+ 213 : : // Name and optional multiplexing marker.
+ 214 : : R"dbc(^SG_[ \t]+([^:]+):[ \t]*)dbc"
+ 215 : : // Bit position, length, byte order and signedness.
+ 216 : : R"dbc(([^| \t]+)[ \t]*\|[ \t]*([^@ \t]+)[ \t]*@[ \t]*([01])([+-])[ \t]*)dbc"
+ 217 : : // Scaling factor and offset.
+ 218 : : R"dbc(\([ \t]*([^, \t]+)[ \t]*,[ \t]*([^ )\t]+)[ \t]*\)[ \t]*)dbc"
+ 219 : : // Physical range.
+ 220 : : R"dbc(\[[ \t]*([^| \t]+)[ \t]*\|[ \t]*([^\] \t]+)[ \t]*\][ \t]*)dbc"
+ 221 : : // Unit and receivers.
+ 222 [ + + + - : 521 : R"dbc("([^"\r\n]*)"[ \t]+([^ \t,]+(?:[ \t]*,[ \t]*[^ \t,]+)*)[ \t]*$)dbc");
+ + - - - ]
+ 223 : 521 : std::smatch fields;
+ 224 [ + - + + ]: 521 : if (!std::regex_match(line, fields, syntax))
+ 225 [ + - ]: 23 : throw std::runtime_error("Malformed or unsupported SG_ signal definition.");
+ 226 : :
+ 227 : 498 : SignalInfo signal;
+ 228 [ + - + - : 498 : std::istringstream nameFields(fields[NameAndMarker].str());
+ + - ]
+ 229 : 498 : std::string marker;
+ 230 : 498 : std::string extra;
+ 231 [ + - + - ]: 498 : nameFields >> signal.name >> marker;
+ 232 [ + + + - : 498 : if (signal.name.empty() || (nameFields >> extra))
+ + - + + +
+ + ]
+ 233 [ + - ]: 2 : throw std::runtime_error("Invalid signal name or multiplexing marker.");
+ 234 [ + + ]: 496 : signal.multiplexing = ParseMultiplexingMarker(marker);
+ 235 : :
+ 236 [ + - + - : 495 : signal.startBit = ParseDecimal(fields[StartBit].str(),
+ + + ]
+ 237 : : std::numeric_limits<std::uint32_t>::max(), "signal start bit");
+ 238 [ + - + - : 489 : signal.length = ParseDecimal(fields[BitLength].str(), 64U, "signal length");
+ + + ]
+ 239 [ + + ]: 473 : if (signal.length == 0U)
+ 240 [ + - ]: 1 : throw std::runtime_error("Signal length must be within 1..64 bits.");
+ 241 [ + - + - : 472 : signal.isLittleEndian = fields[ByteOrder].str() == "1";
+ + - ]
+ 242 [ + - + - : 472 : signal.isSigned = fields[Signedness].str() == "-";
+ + - ]
+ 243 : :
+ 244 [ + - + - : 504 : signal.factor = ParsePhysicalValue(fields[Factor].str(), "signal factor");
+ + + ]
+ 245 [ + - + - : 484 : signal.offset = ParsePhysicalValue(fields[Offset].str(), "signal offset");
+ + + ]
+ 246 [ + - + - : 434 : signal.minimum = ParsePhysicalValue(fields[Minimum].str(), "signal minimum");
+ + + ]
+ 247 [ + - + - : 396 : signal.maximum = ParsePhysicalValue(fields[Maximum].str(), "signal maximum");
+ + + ]
+ 248 [ + + ]: 320 : if (signal.minimum > signal.maximum)
+ 249 [ + - ]: 3 : throw std::runtime_error("Signal minimum exceeds maximum.");
+ 250 [ + - + - ]: 317 : signal.unit = fields[Unit].str();
+ 251 [ + - + - : 317 : signal.receivers = SplitReceivers(fields[Receivers].str());
+ + - ]
+ 252 : 317 : return signal;
+ 253 : 1245 : }
+ 254 : :
+ 255 : :
+ 256 : : namespace {
+ 257 : 698 : FrameInfo *FindFrameById(DbcDatabase &database,
+ 258 : : std::uint32_t canId,
+ 259 : : bool isExtended) {
+ 260 [ + + ]: 757 : for (FrameInfo &frame : database.frames) {
+ 261 [ + + + + ]: 144 : if (frame.canId == canId && frame.isExtended == isExtended)
+ 262 : 85 : return &frame;
+ 263 : : }
+ 264 : :
+ 265 : 613 : return nullptr;
+ 266 : : }
+ 267 : :
+ 268 : 364 : SignalInfo *FindSignalByName(FrameInfo &frame, const std::string &signalName) {
+ 269 [ + + ]: 441 : for (SignalInfo &signal : frame.signals) {
+ 270 [ + + ]: 126 : if (signal.name == signalName)
+ 271 : 49 : return &signal;
+ 272 : : }
+ 273 : :
+ 274 : 315 : return nullptr;
+ 275 : : }
+ 276 : : }// namespace
+ 277 : :
+ 278 : 649 : void DbcFrameHandler::Handle(const std::string &line, DbcParseContext &context) const {
+ 279 [ + + ]: 649 : FrameInfo frame = ParseFrameLine(line);
+ 280 [ + + + + ]: 615 : if (context.enableJ1939 && frame.isExtended) {
+ 281 : 27 : frame.hasPgn = true;
+ 282 : 27 : frame.pgn = ExtractJ1939Pgn(frame.canId);
+ 283 : : }
+ 284 [ + + ]: 615 : if (FindFrameById(context.database, frame.canId, frame.isExtended) != nullptr)
+ 285 [ + + + - : 16 : throw std::runtime_error("Duplicate " + std::string(frame.isExtended ? "extended" : "standard") +
+ + - ]
+ 286 [ + - + - : 24 : " frame CAN ID: " + std::to_string(frame.canId));
+ + - ]
+ 287 [ + - ]: 607 : context.database.frames.push_back(std::move(frame));
+ 288 : 607 : context.currentFrame = &context.database.frames.back();
+ 289 [ + - ]: 607 : context.signalLines.emplace_back();
+ 290 : 615 : }
+ 291 : :
+ 292 : 526 : void DbcSignalHandler::Handle(const std::string &line, DbcParseContext &context) const {
+ 293 [ + + ]: 526 : if (context.currentFrame == nullptr)
+ 294 [ + - ]: 5 : throw std::runtime_error("Signal found before any frame definition.");
+ 295 [ + + ]: 521 : SignalInfo signal = ParseSignalLine(line);
+ 296 [ + + ]: 317 : if (FindSignalByName(*context.currentFrame, signal.name) != nullptr)
+ 297 : 6 : throw std::runtime_error("Duplicate signal name '" + signal.name +
+ 298 [ + - + - : 12 : "' in frame '" + context.currentFrame->name + "'.");
+ + - + - +
+ - ]
+ 299 [ + + ]: 311 : if (!IsValidSignalLayout(signal.startBit, signal.length, signal.isLittleEndian,
+ 300 : 311 : context.currentFrame->dlc))
+ 301 [ + - ]: 7 : throw std::runtime_error("Signal exceeds the frame payload length.");
+ 302 [ + - ]: 304 : context.currentFrame->signals.push_back(std::move(signal));
+ 303 [ + - ]: 304 : context.signalLines.back().push_back(context.lineNumber);
+ 304 : 317 : }
+ 305 : :
+ 306 : 149 : void DbcCommentHandler::Handle(const std::string &line, DbcParseContext &context) const {
+ 307 [ + - ]: 149 : std::istringstream stream(line);
+ 308 : 149 : std::string keyword;
+ 309 : 149 : std::string target;
+ 310 [ + - + - ]: 149 : stream >> keyword >> target;
+ 311 [ + - + + : 149 : if (keyword != "CM_" || (target != "BO_" && target != "SG_"))
+ + - + + +
+ - + + +
+ + ]
+ 312 : 9 : return;
+ 313 : :
+ 314 : 140 : PendingComment pending;
+ 315 [ + - ]: 140 : pending.isSignal = target == "SG_";
+ 316 : 140 : pending.lineNumber = context.lineNumber;
+ 317 : 140 : std::string idText;
+ 318 [ + - + - : 140 : if (!(stream >> idText))
+ + + ]
+ 319 [ + - ]: 2 : throw std::runtime_error("Missing CAN ID in CM_ statement.");
+ 320 [ + + ]: 138 : NormalizeCanId(ParseCanId(idText), pending.canId, pending.isExtended);
+ 321 [ + + + - : 157 : if (pending.isSignal && (!(stream >> pending.signalName) ||
+ + - + - +
+ + + + ]
+ 322 : 55 : pending.signalName.find_first_of("\";") != std::string::npos))
+ 323 [ + - ]: 2 : throw std::runtime_error("Missing or invalid signal name in CM_ statement.");
+ 324 : :
+ 325 [ + - ]: 100 : stream >> std::ws;
+ 326 [ + - + + ]: 100 : if (stream.get() != '"')
+ 327 [ + - ]: 4 : throw std::runtime_error("Missing opening quote in CM_ statement.");
+ 328 : 96 : bool closed = false;
+ 329 : : char character;
+ 330 [ + - + - : 1096 : while (stream.get(character)) {
+ + + ]
+ 331 [ + + ]: 1094 : if (character == '"') {
+ 332 : 90 : closed = true;
+ 333 : 90 : break;
+ 334 : : }
+ 335 [ + + ]: 1004 : if (character == '\\') {
+ 336 [ + - + - : 7 : if (!stream.get(character) || (character != '"' && character != '\\'))
+ + + + + +
+ + + + ]
+ 337 [ + - ]: 4 : throw std::runtime_error("Invalid escape in CM_ statement.");
+ 338 : : }
+ 339 [ + - ]: 1000 : pending.comment += character;
+ 340 : : }
+ 341 [ + + ]: 92 : if (!closed)
+ 342 [ + - ]: 2 : throw std::runtime_error("Unterminated CM_ comment.");
+ 343 [ + - ]: 90 : stream >> std::ws;
+ 344 [ + - + + ]: 90 : if (stream.get() != ';')
+ 345 [ + - ]: 4 : throw std::runtime_error("Missing semicolon in CM_ statement.");
+ 346 [ + - ]: 86 : stream >> std::ws;
+ 347 [ + - + + ]: 86 : if (!stream.eof())
+ 348 [ + - ]: 2 : throw std::runtime_error("Unexpected trailing text in CM_ statement.");
+ 349 [ + - ]: 84 : context.pendingComments.push_back(std::move(pending));
+ 350 [ + + + + : 391 : }
+ + + ]
+ 351 : :
+ 352 : 597 : void DbcParseContext::ResolveComments(const std::string &filePath) {
+ 353 [ + + ]: 670 : for (const PendingComment &pending: pendingComments) {
+ 354 : 83 : FrameInfo *frame = FindFrameById(database, pending.canId, pending.isExtended);
+ 355 [ + + ]: 83 : if (!frame)
+ 356 : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidStatement, filePath,
+ 357 [ + - + - ]: 18 : pending.lineNumber, "Unresolved CM_ frame reference.");
+ 358 [ + + ]: 77 : if (pending.isSignal) {
+ 359 : 47 : SignalInfo *signal = FindSignalByName(*frame, pending.signalName);
+ 360 [ + + ]: 47 : if (!signal)
+ 361 : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidStatement, filePath,
+ 362 [ + - + - ]: 4 : pending.lineNumber, "Unresolved CM_ signal reference: " + pending.signalName);
+ 363 [ + - ]: 43 : signal->comment = pending.comment;
+ 364 : : } else {
+ 365 [ + - ]: 30 : frame->comment = pending.comment;
+ 366 : : }
+ 367 : : }
+ 368 : 587 : }
+ 369 : :
+ 370 : 949 : DbcStatementDispatcher::DbcStatementDispatcher() {
+ 371 [ + - + - ]: 1898 : RegisterType<DbcHeaderHandler>("VERSION");
+ 372 [ + - + - ]: 1898 : RegisterType<DbcHeaderHandler>("NS_");
+ 373 [ + - + - ]: 1898 : RegisterType<DbcHeaderHandler>("NS_:");
+ 374 [ + - + - ]: 1898 : RegisterType<DbcHeaderHandler>("BS_");
+ 375 [ + - + - ]: 1898 : RegisterType<DbcHeaderHandler>("BS_:");
+ 376 [ + - + - ]: 1898 : RegisterType<DbcHeaderHandler>("BU_");
+ 377 [ + - + - ]: 1898 : RegisterType<DbcHeaderHandler>("BU_:");
+ 378 [ + - + - ]: 1898 : RegisterType<DbcUnsupportedMultiplexingHandler>("SG_MUL_VAL_");
+ 379 [ + - + - ]: 1898 : RegisterType<DbcFrameHandler>("BO_");
+ 380 [ + - + - ]: 1898 : RegisterType<DbcSignalHandler>("SG_");
+ 381 [ + - + - ]: 1898 : RegisterType<DbcCommentHandler>("CM_");
+ 382 [ + - + - ]: 1898 : RegisterType<DbcValueDescriptionHandler>("VAL_");
+ 383 [ + - + - ]: 1898 : RegisterType<DbcAttributeHandler>("BA_DEF_");
+ 384 [ + - + - ]: 1898 : RegisterType<DbcAttributeHandler>("BA_DEF_DEF_");
+ 385 [ + - + - ]: 949 : RegisterType<DbcAttributeHandler>("BA_");
+ 386 : 949 : }
+ 387 : :
+ 388 : 62 : void DbcHeaderHandler::Handle(const std::string &, DbcParseContext &) const {}
+ 389 : :
+ 390 : 2132 : bool DbcStatementDispatcher::Dispatch(const std::string &line,
+ 391 : : DbcParseContext &context) const {
+ 392 [ + - ]: 2132 : std::istringstream stream(line);
+ 393 : 2132 : std::string keyword;
+ 394 [ + - ]: 2132 : stream >> keyword;
+ 395 [ + - ]: 2132 : const HandlerMap::const_iterator handler = m_handlers.find(keyword);
+ 396 [ + + ]: 2132 : if (handler == m_handlers.end())
+ 397 : 40 : return false;
+ 398 [ + + ]: 2092 : handler->second->Handle(line, context);
+ 399 : 1743 : return true;
+ 400 : 2481 : }
+ 401 : :
+ 402 : 94 : void DbcValueDescriptionHandler::Handle(const std::string &line, DbcParseContext &context) const {
+ 403 [ + + + - : 94 : static const std::regex header(R"(^VAL_[ \t]+([^ \t]+)[ \t]+([^ \t;]+)[ \t]+(.*)$)");
+ + - - - ]
+ 404 [ + + + - : 94 : static const std::regex pair(R"dbc(^([^ \t]+)[ \t]+"((?:[^"\\]|\\["\\])*)")dbc");
+ + - - - ]
+ 405 : 94 : std::smatch fields;
+ 406 [ + - + + ]: 94 : if (!std::regex_match(line, fields, header))
+ 407 [ + - ]: 4 : throw std::runtime_error("Malformed or unsupported VAL_ statement.");
+ 408 [ + - + - : 93 : const std::uint32_t rawId = ParseDecimal(fields[1].str(), std::numeric_limits<std::uint32_t>::max(), "VAL_ CAN ID");
+ + + ]
+ 409 [ + + ]: 87 : if ((rawId & 0x60000000U) != 0U)
+ 410 [ + - ]: 1 : throw std::runtime_error("VAL_ CAN ID exceeds the 29-bit identifier range.");
+ 411 : 86 : PendingValueDescriptions pending;
+ 412 : 86 : NormalizeCanId(rawId, pending.canId, pending.isExtended);
+ 413 [ + - + - ]: 86 : pending.signalName = fields[2].str();
+ 414 : 86 : pending.lineNumber = context.lineNumber;
+ 415 [ + - + - ]: 86 : std::string rest = fields[3].str();
+ 416 [ + - + + ]: 179 : while (rest != ";") {
+ 417 [ + - + + ]: 109 : if (!std::regex_search(rest, fields, pair))
+ 418 [ + - ]: 5 : throw std::runtime_error("Malformed VAL_ value/description pair or missing semicolon.");
+ 419 [ + - + - ]: 104 : const std::string number = fields[1].str();
+ 420 [ + + ]: 104 : const RawSignalValue key = ParseValueKey(number);
+ 421 [ + - + - : 96 : const std::string description = UnescapeDescription(fields[2].str());
+ + - ]
+ 422 [ + - + + ]: 96 : if (!pending.descriptions.emplace(key, description).second)
+ 423 [ + - + - ]: 2 : throw std::runtime_error("Duplicate VAL_ value key: " + number);
+ 424 [ + - ]: 94 : const std::size_t consumed = static_cast<std::size_t>(fields.length());
+ 425 [ + - ]: 94 : rest.erase(0, consumed);
+ 426 [ + + + - : 94 : if (!rest.empty() && rest[0] != ';' && rest[0] != ' ' && rest[0] != '\t')
+ + + + - +
+ + + - + +
+ + + ]
+ 427 [ + - ]: 1 : throw std::runtime_error("Missing whitespace between VAL_ pairs.");
+ 428 [ + - ]: 93 : rest = dbc_detail::TrimText(rest);
+ 429 : 107 : }
+ 430 [ + + ]: 70 : if (pending.descriptions.empty())
+ 431 [ + - ]: 1 : throw std::runtime_error("VAL_ requires at least one value/description pair.");
+ 432 [ + - ]: 69 : context.pendingValues.push_back(std::move(pending));
+ 433 : 128 : }
+ 434 : :
+ 435 : 592 : void DbcParseContext::ResolveValueDescriptions(const std::string &filePath) {
+ 436 [ + + ]: 644 : for (const PendingValueDescriptions &pending: pendingValues) {
+ 437 : : try {
+ 438 [ + + ]: 67 : FrameInfo *frame = FindUniqueFrame(database, pending.canId, pending.isExtended);
+ 439 [ + + ]: 62 : SignalInfo *signal = FindUniqueSignal(*frame, pending.signalName);
+ 440 [ + + ]: 127 : for (const ValueDescriptions::value_type &entry: pending.descriptions) {
+ 441 [ + - + + ]: 75 : if (!signal->valueDescriptions.insert(entry).second)
+ 442 [ + - + - ]: 3 : throw std::runtime_error("Duplicate VAL_ value key for signal: " + pending.signalName);
+ 443 : : }
+ 444 [ - + ]: 15 : } catch (const std::exception &error) {
+ 445 : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidValueDescription,
+ 446 [ + - + - ]: 45 : filePath, pending.lineNumber, error.what());
+ 447 : 15 : }
+ 448 : : }
+ 449 : 577 : }
+ 450 : :
+ 451 : 4 : void DbcUnsupportedMultiplexingHandler::Handle(const std::string &, DbcParseContext &) const {
+ 452 [ + - ]: 4 : throw std::runtime_error("Extended and nested multiplexing are unsupported.");
+ 453 : : }
+ 454 : :
+ 455 : : namespace {
+ 456 : 114 : std::vector<std::uint64_t> SignalBits(const SignalInfo &signal) {
+ 457 : 114 : std::vector<std::uint64_t> bits;
+ 458 : 114 : std::uint64_t bit = signal.startBit;
+ 459 [ + + ]: 998 : for (std::uint32_t index = 0U; index < signal.length; ++index) {
+ 460 [ + - ]: 884 : bits.push_back(bit);
+ 461 : 884 : bit = NextSignalBit(bit, signal.isLittleEndian);
+ 462 : : }
+ 463 : 114 : return bits;
+ 464 : 0 : }
+ 465 : :
+ 466 : 58 : bool AreMutuallyExclusive(const SignalInfo &first, const SignalInfo &second) {
+ 467 : 79 : return first.multiplexing.role == MultiplexRole::Branch &&
+ 468 [ + + + + ]: 62 : second.multiplexing.role == MultiplexRole::Branch &&
+ 469 [ + + ]: 62 : first.multiplexing.value != second.multiplexing.value;
+ 470 : : }
+ 471 : :
+ 472 : 193 : std::string ValidateBranch(const SignalInfo &signal, const SignalInfo *selector) {
+ 473 [ + + ]: 193 : if (signal.multiplexing.role != MultiplexRole::Branch)
+ 474 : 164 : return {};
+ 475 [ + + ]: 29 : if (selector == nullptr)
+ 476 [ + - ]: 8 : return "Multiplexed branch has no selector.";
+ 477 [ + + + + ]: 25 : if (selector->length < 64U && signal.multiplexing.value >= (std::uint64_t(1U) << selector->length))
+ 478 [ + - ]: 10 : return "Branch value exceeds selector raw range.";
+ 479 : 20 : return {};
+ 480 : : }
+ 481 : :
+ 482 : 280 : const SignalInfo *FindSelector(const FrameInfo &frame,
+ 483 : : const std::vector<std::size_t> &lines,
+ 484 : : const std::string &filePath) {
+ 485 : 280 : const SignalInfo *selector = nullptr;
+ 486 [ + + ]: 479 : for (std::size_t index = 0U; index < frame.signals.size(); ++index) {
+ 487 : 207 : const SignalInfo &signal = frame.signals[index];
+ 488 [ + + ]: 207 : if (signal.multiplexing.role != MultiplexRole::Selector)
+ 489 : 173 : continue;
+ 490 [ + + + + ]: 34 : if (selector != nullptr || signal.isSigned)
+ 491 : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidMultiplexing,
+ 492 : 8 : filePath, lines[index],
+ 493 [ + - + - ]: 32 : "Multiplexing requires one unsigned selector per frame.");
+ 494 : 26 : selector = &signal;
+ 495 : : }
+ 496 : 272 : return selector;
+ 497 : : }
+ 498 : :
+ 499 : 57 : bool SignalsOverlap(const SignalInfo &first, const SignalInfo &second) {
+ 500 [ + - ]: 57 : const std::vector<std::uint64_t> firstBits = SignalBits(first);
+ 501 [ + - ]: 57 : const std::vector<std::uint64_t> secondBits = SignalBits(second);
+ 502 [ + + ]: 489 : for (const std::uint64_t firstBit : firstBits) {
+ 503 [ + + ]: 3380 : for (const std::uint64_t secondBit : secondBits) {
+ 504 [ + + ]: 2948 : if (firstBit == secondBit)
+ 505 : 10 : return true;
+ 506 : : }
+ 507 : : }
+ 508 : 47 : return false;
+ 509 : 57 : }
+ 510 : : }
+ 511 : :
+ 512 : 576 : void DbcParseContext::ValidateMultiplexing(const std::string &filePath) const {
+ 513 [ + + ]: 829 : for (std::size_t frameIndex = 0U; frameIndex < database.frames.size(); ++frameIndex) {
+ 514 : 280 : const FrameInfo &frame = database.frames[frameIndex];
+ 515 : 280 : const SignalInfo *selector = FindSelector(frame, signalLines[frameIndex], filePath);
+ 516 [ + + ]: 446 : for (std::size_t index = 0U; index < frame.signals.size(); ++index) {
+ 517 : 193 : const SignalInfo &signal = frame.signals[index];
+ 518 [ + - ]: 193 : std::string error = ValidateBranch(signal, selector);
+ 519 [ + + + + : 251 : for (std::size_t previous = 0U; previous < index && error.empty(); ++previous) {
+ + + ]
+ 520 : 58 : const SignalInfo &other = frame.signals[previous];
+ 521 [ + + + - : 58 : if (!AreMutuallyExclusive(signal, other) && SignalsOverlap(signal, other))
+ + + + + ]
+ 522 [ + - ]: 10 : error = "Signals overlap without mutually exclusive multiplexing conditions.";
+ 523 : : }
+ 524 [ + + ]: 193 : if (!error.empty())
+ 525 : : throw DbcDiagnosticError(DbcDiagnosticCode::InvalidMultiplexing,
+ 526 [ + - ]: 19 : filePath, signalLines[frameIndex][index], error);
+ 527 : 193 : }
+ 528 : : }
+ 529 : 549 : }
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_statement_handler.h.func-c.html b/build-coverage/html/core/dbc_statement_handler.h.func-c.html
new file mode 100644
index 0000000..397e490
--- /dev/null
+++ b/build-coverage/html/core/dbc_statement_handler.h.func-c.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_statement_handler.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | DbcDiagnosticError::DbcDiagnosticError(DbcDiagnosticCode, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 438 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 14236 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcCommentHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcFrameHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcSignalHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcUnsupportedMultiplexingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcValueDescriptionHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcAttributeHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 2847 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcHeaderHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 6643 |
+
+
+
+
+
+ | DbcStatementHandler::~DbcStatementHandler() |
+
+ 14250 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_statement_handler.h.func.html b/build-coverage/html/core/dbc_statement_handler.h.func.html
new file mode 100644
index 0000000..b5e4472
--- /dev/null
+++ b/build-coverage/html/core/dbc_statement_handler.h.func.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_statement_handler.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | DbcDiagnosticError::DbcDiagnosticError(DbcDiagnosticCode, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 438 |
+
+
+
+
+
+ | DbcStatementHandler::~DbcStatementHandler() |
+
+ 14250 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 14236 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcAttributeHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 2847 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcCommentHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcFrameHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcHeaderHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 6643 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcSignalHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcUnsupportedMultiplexingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void DbcStatementDispatcher::RegisterType<DbcValueDescriptionHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_statement_handler.h.gcov.html b/build-coverage/html/core/dbc_statement_handler.h.gcov.html
new file mode 100644
index 0000000..50725ef
--- /dev/null
+++ b/build-coverage/html/core/dbc_statement_handler.h.gcov.html
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_statement_handler.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #ifndef DBC_STATEMENT_HANDLER_H
+ 3 : : #define DBC_STATEMENT_HANDLER_H
+ 4 : :
+ 5 : : #include "dbc_database.h"
+ 6 : : #include "dbc_diagnostic.h"
+ 7 : : #include "typefactory.h"
+ 8 : : #include <stdexcept>
+ 9 : : #include <string>
+ 10 : : #include <unordered_map>
+ 11 : :
+ 12 : : /** @brief Deferred raw value descriptions and their target. */
+ 13 : : struct PendingValueDescriptions {
+ 14 : : std::uint32_t canId; /**< Normalized target frame identifier. */
+ 15 : : bool isExtended; /**< Target frame type. */
+ 16 : : std::string signalName; /**< Target signal name. */
+ 17 : : ValueDescriptions descriptions; /**< Raw integer descriptions to merge. */
+ 18 : : std::size_t lineNumber; /**< One-based physical statement line. */
+ 19 : : };
+ 20 : :
+ 21 : : /** @brief Deferred frame or signal comment and its source location. */
+ 22 : : struct PendingComment {
+ 23 : : std::uint32_t canId; /**< Normalized target frame identifier. */
+ 24 : : bool isExtended; /**< Target frame type. */
+ 25 : : bool isSignal; /**< Whether the target is a signal rather than a frame. */
+ 26 : : std::string signalName; /**< Target signal name. */
+ 27 : : std::string comment; /**< Unescaped comment text. */
+ 28 : : std::size_t lineNumber; /**< One-based physical statement line. */
+ 29 : : };
+ 30 : :
+ 31 : : /** Carries deferred validation locations without parsing exception text. */
+ 32 : : class DbcDiagnosticError : public std::runtime_error {
+ 33 : : public:
+ 34 : : /** @brief Create an exception with a structured source diagnostic. */
+ 35 : 438 : DbcDiagnosticError(DbcDiagnosticCode code, const std::string &filePath,
+ 36 : : std::size_t lineNumber, const std::string &message)
+ 37 [ + - + - : 876 : : std::runtime_error(filePath + ":" + std::to_string(lineNumber) + ": " + message),
+ + - + - ]
+ 38 [ + - + - : 1314 : diagnostic{DbcDiagnosticSeverity::Error, code, filePath, lineNumber, message} {}
+ + - + - -
+ - ]
+ 39 : :
+ 40 : : DbcDiagnostic diagnostic; /**< Structured error accompanying the exception message. */
+ 41 : : };
+ 42 : :
+ 43 : : /** @brief Attribute statement retained for ordered resolution. */
+ 44 : : struct PendingAttribute {
+ 45 : : std::string statement; /**< Complete attribute statement. */
+ 46 : : std::size_t lineNumber; /**< One-based physical statement line. */
+ 47 : : };
+ 48 : :
+ 49 : : /** Mutable state belonging to one file parse. Handlers do not retain it. */
+ 50 : : struct DbcParseContext {
+ 51 : : DbcDatabase &database; /**< Parsed metadata under construction. */
+ 52 : : FrameInfo *currentFrame = nullptr; /**< Current frame for following signal definitions. */
+ 53 : : bool enableJ1939 = false; /**< Explicit interpretation option for extended frames. */
+ 54 : : std::size_t lineNumber = 0U; /**< Physical line of the current statement. */
+ 55 : : std::vector<PendingValueDescriptions> pendingValues = {}; /**< Unresolved raw value descriptions. */
+ 56 : :
+ 57 : : std::vector<std::vector<std::size_t>> signalLines = {}; /**< Signal definition lines grouped by frame. */
+ 58 : : /** @brief Validate selectors, branch ranges, and signal overlap. */
+ 59 : : void ValidateMultiplexing(const std::string &filePath) const;
+ 60 : :
+ 61 : : std::vector<PendingComment> pendingComments = {}; /**< Unresolved comments in source order. */
+ 62 : : /** @brief Resolve deferred comments after all definitions are known. */
+ 63 : : void ResolveComments(const std::string &filePath);
+ 64 : :
+ 65 : : std::vector<PendingAttribute> pendingAttributes = {}; /**< Unresolved attributes in source order. */
+ 66 : : /** @brief Resolve definitions, defaults, then assignments; append format warnings. */
+ 67 : : void ResolveAttributes(const std::string &filePath, std::vector<DbcDiagnostic> &diagnostics);
+ 68 : :
+ 69 : : /** @brief Resolve deferred raw descriptions against unique targets. */
+ 70 : : void ResolveValueDescriptions(const std::string &filePath);
+ 71 : : };
+ 72 : :
+ 73 : : /** @brief Interface for processing a registered DBC statement. */
+ 74 : : class DbcStatementHandler {
+ 75 : : public:
+ 76 : 14250 : virtual ~DbcStatementHandler() = default;
+ 77 : : /** @brief Process a trimmed statement using state belonging to this parse. */
+ 78 : : virtual void Handle(const std::string &line, DbcParseContext &context) const = 0;
+ 79 : : };
+ 80 : :
+ 81 : : /** @brief Parse and append frame definitions. */
+ 82 : : class DbcFrameHandler : public DbcStatementHandler {
+ 83 : : public:
+ 84 : : void Handle(const std::string &line, DbcParseContext &context) const override;
+ 85 : :
+ 86 : : private:
+ 87 : : static FrameInfo ParseFrameLine(const std::string &line);
+ 88 : : };
+ 89 : :
+ 90 : : /** @brief Parse and append signals to the current frame. */
+ 91 : : class DbcSignalHandler : public DbcStatementHandler {
+ 92 : : public:
+ 93 : : void Handle(const std::string &line, DbcParseContext &context) const override;
+ 94 : :
+ 95 : : private:
+ 96 : : static SignalInfo ParseSignalLine(const std::string &line);
+ 97 : : };
+ 98 : :
+ 99 : : /** @brief Defer frame and signal comments for target resolution. */
+ 100 : : class DbcCommentHandler : public DbcStatementHandler {
+ 101 : : public:
+ 102 : : void Handle(const std::string &line, DbcParseContext &context) const override;
+ 103 : : };
+ 104 : :
+ 105 : : /** @brief Defer typed attribute statements for resolution. */
+ 106 : : class DbcAttributeHandler : public DbcStatementHandler {
+ 107 : : public:
+ 108 : : void Handle(const std::string &line, DbcParseContext &context) const override;
+ 109 : : };
+ 110 : :
+ 111 : : /** @brief Defer raw value descriptions for target resolution. */
+ 112 : : class DbcValueDescriptionHandler : public DbcStatementHandler {
+ 113 : : public:
+ 114 : : void Handle(const std::string &line, DbcParseContext &context) const override;
+ 115 : : };
+ 116 : :
+ 117 : : /** @brief Reject unsupported extended multiplexing statements. */
+ 118 : : class DbcUnsupportedMultiplexingHandler : public DbcStatementHandler {
+ 119 : : public:
+ 120 : : void Handle(const std::string &line, DbcParseContext &context) const override;
+ 121 : : };
+ 122 : :
+ 123 : : /** Common header metadata does not change the supported decode definitions. */
+ 124 : : class DbcHeaderHandler : public DbcStatementHandler {
+ 125 : : public:
+ 126 : : void Handle(const std::string &line, DbcParseContext &context) const override;
+ 127 : : };
+ 128 : :
+ 129 : : /** Exact-key dispatch to handlers created once per registration via TypeFactory. */
+ 130 : : class DbcStatementDispatcher {
+ 131 : : public:
+ 132 : : /** @brief Register supported statement handlers through TypeFactory. */
+ 133 : : DbcStatementDispatcher();
+ 134 : :
+ 135 : : /** @brief Register or replace a handler and create its reusable instance. */
+ 136 : : template<class Handler>
+ 137 : 14236 : void RegisterType(const std::string &keyword) {
+ 138 : 14236 : m_factory.registerType<Handler>(keyword);
+ 139 [ + - + - ]: 14236 : m_handlers.insert_or_assign(keyword, m_factory.create(keyword));
+ 140 : 14236 : }
+ 141 : :
+ 142 : : /** Returns false for an unregistered keyword; input must be trimmed. */
+ 143 : : bool Dispatch(const std::string &line, DbcParseContext &context) const;
+ 144 : :
+ 145 : : private:
+ 146 : : using HandlerMap = std::unordered_map<std::string, std::shared_ptr<DbcStatementHandler>>;
+ 147 : : TypeFactory<std::string, DbcStatementHandler> m_factory;
+ 148 : : HandlerMap m_handlers;
+ 149 : : };
+ 150 : :
+ 151 : : #endif /* DBC_STATEMENT_HANDLER_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_tree_builder.cpp.func-c.html b/build-coverage/html/core/dbc_tree_builder.cpp.func-c.html
new file mode 100644
index 0000000..4843091
--- /dev/null
+++ b/build-coverage/html/core/dbc_tree_builder.cpp.func-c.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_tree_builder.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_tree_builder.cpp.func.html b/build-coverage/html/core/dbc_tree_builder.cpp.func.html
new file mode 100644
index 0000000..67cc30b
--- /dev/null
+++ b/build-coverage/html/core/dbc_tree_builder.cpp.func.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_tree_builder.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/dbc_tree_builder.cpp.gcov.html b/build-coverage/html/core/dbc_tree_builder.cpp.gcov.html
new file mode 100644
index 0000000..e8bd6ec
--- /dev/null
+++ b/build-coverage/html/core/dbc_tree_builder.cpp.gcov.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/dbc_tree_builder.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : /**
+ 2 : : * @file dbc_tree_builder.cpp
+ 3 : : * @brief Construction of frame and signal metadata trees.
+ 4 : : *
+ 5 : : * Created: 2026-03-13
+ 6 : : * Author: Deeaitch (Dim. Himro)
+ 7 : : *
+ 8 : : * Licensed under the MIT License.
+ 9 : : * See LICENSE file in the project root for full license text.
+ 10 : : */
+ 11 : :
+ 12 : : #include "dbc_tree_builder.h"
+ 13 : :
+ 14 : 22 : std::unique_ptr<TreeNode> DbcTreeBuilder::Build(const DbcDatabase &database) const {
+ 15 : 22 : std::unique_ptr<TreeNode> root = std::make_unique<TreeNode>();
+ 16 : :
+ 17 [ + + ]: 53 : for (const FrameInfo &frame : database.frames) {
+ 18 [ + - ]: 31 : std::unique_ptr<TreeNode> frameNode = std::make_unique<TreeNode>(frame);
+ 19 : :
+ 20 [ + + ]: 75 : for (const SignalInfo &signal : frame.signals) {
+ 21 [ + - ]: 44 : std::unique_ptr<TreeNode> signalNode = std::make_unique<TreeNode>(signal);
+ 22 [ + - ]: 44 : frameNode->AddChild(std::move(signalNode));
+ 23 : 44 : }
+ 24 : :
+ 25 [ + - ]: 31 : root->AddChild(std::move(frameNode));
+ 26 : 31 : }
+ 27 : :
+ 28 : 22 : return root;
+ 29 : 0 : }
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/decode_database.cpp.func-c.html b/build-coverage/html/core/decode_database.cpp.func-c.html
new file mode 100644
index 0000000..b71944c
--- /dev/null
+++ b/build-coverage/html/core/decode_database.cpp.func-c.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/decode_database.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/decode_database.cpp.func.html b/build-coverage/html/core/decode_database.cpp.func.html
new file mode 100644
index 0000000..f896fbb
--- /dev/null
+++ b/build-coverage/html/core/decode_database.cpp.func.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/decode_database.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/decode_database.cpp.gcov.html b/build-coverage/html/core/decode_database.cpp.gcov.html
new file mode 100644
index 0000000..f5e6f9b
--- /dev/null
+++ b/build-coverage/html/core/decode_database.cpp.gcov.html
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/decode_database.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : // Copyright (c) 2026 Dim Himro
+ 3 : :
+ 4 : : #include "decode_database.h"
+ 5 : : #include "j1939.h"
+ 6 : : #include "signal_layout.h"
+ 7 : : #include <bitset>
+ 8 : : #include <cmath>
+ 9 : : #include <limits>
+ 10 : : #include <stdexcept>
+ 11 : : #include <unordered_set>
+ 12 : :
+ 13 : : namespace {
+ 14 : : constexpr std::size_t MaximumPayloadBits = std::numeric_limits<std::uint8_t>::max() * 8U;
+ 15 : : using SignalBits = std::bitset<MaximumPayloadBits>;
+ 16 : :
+ 17 : 2476 : void ValidateSignal(const DecodeSignal &signal, std::uint8_t dlc) {
+ 18 [ + + + + ]: 2476 : if (signal.byteOrder != ByteOrder::Intel && signal.byteOrder != ByteOrder::Motorola)
+ 19 [ + - + - ]: 3 : throw std::invalid_argument("Invalid signal byte order: " + signal.name);
+ 20 [ + + + + ]: 2473 : if (signal.valueType != ValueType::Unsigned && signal.valueType != ValueType::Signed)
+ 21 [ + - + - ]: 3 : throw std::invalid_argument("Invalid signal value type: " + signal.name);
+ 22 [ + + ]: 2470 : if (signal.multiplexing.role != MultiplexRole::Unconditional &&
+ 23 [ + + ]: 75 : signal.multiplexing.role != MultiplexRole::Selector &&
+ 24 [ + + ]: 38 : signal.multiplexing.role != MultiplexRole::Branch)
+ 25 [ + - + - ]: 4 : throw std::invalid_argument("Invalid multiplexing role: " + signal.name);
+ 26 [ + + ]: 2466 : if (!IsValidSignalLayout(signal.startBit, signal.length,
+ 27 : 2466 : signal.byteOrder == ByteOrder::Intel, dlc))
+ 28 [ + - + - ]: 36 : throw std::invalid_argument("Invalid signal length or payload position: " + signal.name);
+ 29 [ + + ]: 4847 : if (!std::isfinite(signal.factor) || !std::isfinite(signal.offset) ||
+ 30 [ + + + + : 7240 : !std::isfinite(signal.minimum) || !std::isfinite(signal.maximum) ||
+ + + + + ]
+ 31 [ + + ]: 2393 : signal.minimum > signal.maximum)
+ 32 [ + - + - ]: 39 : throw std::invalid_argument("Invalid signal numeric parameters: " + signal.name);
+ 33 : 2391 : }
+ 34 : :
+ 35 : 2364 : SignalBits GetSignalBits(const DecodeSignal &signal) {
+ 36 : 2364 : SignalBits bits;
+ 37 : 2364 : const bool littleEndian = signal.byteOrder == ByteOrder::Intel;
+ 38 : 2364 : const std::uint64_t start = SignalStartCoordinate(signal.startBit, littleEndian);
+ 39 [ + + ]: 75593 : for (std::uint32_t index = 0U; index < signal.length; ++index) {
+ 40 : 73229 : const std::uint64_t coordinate = start + index;
+ 41 [ + + ]: 73229 : const std::uint64_t bit = littleEndian ? coordinate
+ 42 : 36098 : : coordinate / 8U * 8U + 7U - coordinate % 8U;
+ 43 : 73229 : bits.set(static_cast<std::size_t>(bit));
+ 44 : : }
+ 45 : 2364 : return bits;
+ 46 : : }
+ 47 : :
+ 48 : 71 : bool AreMutuallyExclusive(const DecodeSignal &first, const DecodeSignal &second) {
+ 49 : 96 : return first.multiplexing.role == MultiplexRole::Branch &&
+ 50 [ + + + + ]: 77 : second.multiplexing.role == MultiplexRole::Branch &&
+ 51 [ + + ]: 77 : first.multiplexing.value != second.multiplexing.value;
+ 52 : : }
+ 53 : :
+ 54 : 2447 : void ValidateFrame(const DecodeFrame &frame) {
+ 55 [ + + ]: 2447 : const std::uint32_t maximumId = frame.isExtended ? 0x1FFFFFFFU : 0x7FFU;
+ 56 [ + + ]: 2447 : if (frame.canId > maximumId)
+ 57 [ + - + - ]: 9 : throw std::invalid_argument("Invalid normalized CAN ID: " + std::to_string(frame.canId));
+ 58 : :
+ 59 [ + + + + : 2438 : if (frame.hasPgn && (!frame.isExtended || frame.pgn != ExtractJ1939Pgn(frame.canId)))
+ + + + + ]
+ 60 [ + - + - ]: 3 : throw std::invalid_argument("Invalid J1939 PGN metadata: " + frame.name);
+ 61 : :
+ 62 : 2435 : std::unordered_set<std::string> names;
+ 63 : 2435 : const DecodeSignal *selector = nullptr;
+ 64 [ + + ]: 4820 : for (const DecodeSignal &signal: frame.signals) {
+ 65 [ + - + + ]: 2480 : if (!names.insert(signal.name).second)
+ 66 [ + - + - ]: 4 : throw std::invalid_argument("Duplicate runtime signal key: " + signal.name);
+ 67 [ + + ]: 2476 : ValidateSignal(signal, frame.dlc);
+ 68 [ + + ]: 2391 : if (signal.multiplexing.role == MultiplexRole::Selector) {
+ 69 [ + + + + ]: 35 : if (selector != nullptr || signal.valueType != ValueType::Unsigned)
+ 70 [ + - ]: 6 : throw std::invalid_argument("Multiplexing requires one unsigned selector per frame");
+ 71 : 29 : selector = &signal;
+ 72 : : }
+ 73 : : }
+ 74 : :
+ 75 : 2340 : std::vector<SignalBits> layouts;
+ 76 [ + - ]: 2340 : layouts.reserve(frame.signals.size());
+ 77 [ + + ]: 4696 : for (std::size_t index = 0U; index < frame.signals.size(); ++index) {
+ 78 : 2372 : const DecodeSignal &signal = frame.signals[index];
+ 79 [ + + + + ]: 2372 : if (signal.multiplexing.role == MultiplexRole::Branch &&
+ 80 : 27 : (selector == nullptr ||
+ 81 [ + + + + ]: 27 : (selector->length < 64U && signal.multiplexing.value >= (std::uint64_t(1U) << selector->length))))
+ 82 [ + - + - ]: 8 : throw std::invalid_argument("Missing selector or branch value outside selector range: " + signal.name);
+ 83 [ + - ]: 2364 : const SignalBits bits = GetSignalBits(signal);
+ 84 [ + + ]: 2427 : for (std::size_t previous = 0U; previous < index; ++previous) {
+ 85 [ + + + + : 71 : if (!AreMutuallyExclusive(signal, frame.signals[previous]) && (bits & layouts[previous]).any())
+ + + ]
+ 86 [ + - + - ]: 8 : throw std::invalid_argument("Overlapping signals: " + signal.name);
+ 87 : : }
+ 88 [ + - ]: 2356 : layouts.push_back(bits);
+ 89 : : }
+ 90 : 2451 : }
+ 91 : : }// namespace
+ 92 : :
+ 93 : 2394 : DecodeDatabase::Storage::Storage(const std::vector<DecodeFrame> &definitions)
+ 94 : 2394 : : frames(definitions) {
+ 95 : : // Validate the complete snapshot before creating its lookup index.
+ 96 : 2394 : std::unordered_set<FrameKey, FrameKeyHasher> keys;
+ 97 [ + - ]: 2394 : keys.reserve(frames.size());
+ 98 [ + + ]: 4713 : for (const DecodeFrame &frame: frames) {
+ 99 [ + + ]: 2447 : ValidateFrame(frame);
+ 100 [ + - + + ]: 2324 : if (!keys.insert(frame.GetKey()).second)
+ 101 [ + - ]: 5 : throw std::invalid_argument("Duplicate runtime frame key");
+ 102 : : }
+ 103 [ + - ]: 2266 : frameIndexByKey.reserve(frames.size());
+ 104 [ + + ]: 4580 : for (std::size_t index = 0U; index < frames.size(); ++index) {
+ 105 [ + - ]: 2314 : frameIndexByKey.emplace(frames[index].GetKey(), index);
+ 106 [ + + ]: 2314 : if (frames[index].hasPgn)
+ 107 [ + - + - ]: 21 : frameIndicesByPgn[frames[index].pgn].push_back(index);
+ 108 : : }
+ 109 : 2778 : }
+ 110 : :
+ 111 : 2394 : DecodeDatabase::DecodeDatabase(const std::vector<DecodeFrame> &frames)
+ 112 : 2394 : : storage(std::make_shared<const Storage>(frames)) {
+ 113 : 2266 : }
+ 114 : :
+ 115 : 76 : const std::vector<DecodeFrame> &DecodeDatabase::GetFrames() const {
+ 116 [ + + + - ]: 76 : static const std::vector<DecodeFrame> empty;
+ 117 [ + + ]: 76 : return storage ? storage->frames : empty;
+ 118 : : }
+ 119 : :
+ 120 : 6555 : std::shared_ptr<const DecodeFrame> DecodeDatabase::FindFrame(const FrameKey &key) const {
+ 121 [ + + ]: 6555 : if (!storage)
+ 122 : 16 : return nullptr;
+ 123 : : const std::unordered_map<FrameKey, std::size_t, FrameKeyHasher>::const_iterator it =
+ 124 [ + - ]: 6539 : storage->frameIndexByKey.find(key);
+ 125 [ + + ]: 6539 : if (it == storage->frameIndexByKey.end())
+ 126 : 115 : return nullptr;
+ 127 : 6424 : return std::shared_ptr<const DecodeFrame>(storage, &storage->frames[it->second]);
+ 128 : : }
+ 129 : :
+ 130 : 116 : PgnLookupResult DecodeDatabase::FindFrameByPgn(std::uint32_t pgn) const {
+ 131 : 116 : PgnLookupResult result;
+ 132 [ + + ]: 116 : if (!storage)
+ 133 : 24 : return result;
+ 134 : : const std::unordered_map<std::uint32_t, std::vector<std::size_t>>::const_iterator it =
+ 135 [ + - ]: 92 : storage->frameIndicesByPgn.find(pgn);
+ 136 [ + + ]: 92 : if (it == storage->frameIndicesByPgn.end())
+ 137 : 47 : return result;
+ 138 [ + + ]: 45 : if (it->second.size() != 1U) {
+ 139 : 16 : result.ambiguous = true;
+ 140 : 16 : return result;
+ 141 : : }
+ 142 : 29 : result.definition = std::shared_ptr<const DecodeFrame>(storage, &storage->frames[it->second[0]]);
+ 143 : 29 : return result;
+ 144 : 0 : }
+ 145 : :
+ 146 : 53 : std::shared_ptr<const DecodeSignal> DecodeDatabase::FindSignal(const SignalKey &key) const {
+ 147 [ + - ]: 53 : const std::shared_ptr<const DecodeFrame> frame = FindFrame(key.frame);
+ 148 [ + + ]: 53 : if (!frame)
+ 149 : 10 : return nullptr;
+ 150 [ + + ]: 53 : for (const DecodeSignal &signal: frame->signals) {
+ 151 [ + + ]: 48 : if (signal.name == key.name)
+ 152 : 38 : return std::shared_ptr<const DecodeSignal>(frame, &signal);
+ 153 : : }
+ 154 : 5 : return nullptr;
+ 155 : 53 : }
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/decode_database.h.func-c.html b/build-coverage/html/core/decode_database.h.func-c.html
new file mode 100644
index 0000000..351cb50
--- /dev/null
+++ b/build-coverage/html/core/decode_database.h.func-c.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/decode_database.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/decode_database.h.func.html b/build-coverage/html/core/decode_database.h.func.html
new file mode 100644
index 0000000..3266382
--- /dev/null
+++ b/build-coverage/html/core/decode_database.h.func.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/decode_database.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/decode_database.h.gcov.html b/build-coverage/html/core/decode_database.h.gcov.html
new file mode 100644
index 0000000..45bca41
--- /dev/null
+++ b/build-coverage/html/core/decode_database.h.gcov.html
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/decode_database.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Line data Source code
+
+ 1 : /**
+ 2 : * @file decode_database.h
+ 3 : * @brief Runtime definitions and immutable indexed database.
+ 4 : *
+ 5 : * Created: 2026-03-13
+ 6 : * Author: Deeaitch (Dim. Himro)
+ 7 : *
+ 8 : * Licensed under the MIT License.
+ 9 : * See LICENSE file in the project root for full license text.
+ 10 : */
+ 11 :
+ 12 : #ifndef DECODE_DATABASE_H
+ 13 : #define DECODE_DATABASE_H
+ 14 :
+ 15 : #include "attributes.h"
+ 16 : #include "definition_key.h"
+ 17 : #include "multiplexing.h"
+ 18 : #include "value_descriptions.h"
+ 19 : #include <cstdint>
+ 20 : #include <memory>
+ 21 : #include <string>
+ 22 : #include <unordered_map>
+ 23 : #include <vector>
+ 24 :
+ 25 : /**
+ 26 : * @brief Signal byte order used for runtime decoding.
+ 27 : */
+ 28 : enum class ByteOrder {
+ 29 : Intel,
+ 30 : Motorola
+ 31 : };
+ 32 :
+ 33 : /**
+ 34 : * @brief Signal numeric type.
+ 35 : */
+ 36 : enum class ValueType {
+ 37 : Unsigned,
+ 38 : Signed
+ 39 : };
+ 40 :
+ 41 : /**
+ 42 : * @brief Runtime-ready signal definition.
+ 43 : */
+ 44 : struct DecodeSignal {
+ 45 : Multiplexing multiplexing; /**< Selector role and branch value. */
+ 46 : std::string name; /**< Signal name. */
+ 47 : std::uint32_t startBit = 0U; /**< DBC start bit. */
+ 48 : std::uint32_t length = 0U; /**< Signal length in bits. */
+ 49 : ByteOrder byteOrder = ByteOrder::Intel; /**< Intel or Motorola. */
+ 50 : ValueType valueType = ValueType::Unsigned; /**< Signed or unsigned. */
+ 51 : double factor = 1.0; /**< Scaling factor. */
+ 52 : double offset = 0.0; /**< Physical offset. */
+ 53 : double minimum = 0.0; /**< Minimum physical value. */
+ 54 : double maximum = 0.0; /**< Maximum physical value. */
+ 55 : std::string unit; /**< Physical unit. */
+ 56 : std::vector<std::string> receivers; /**< Receivers. */
+ 57 : ValueDescriptions valueDescriptions; /**< Raw integer state descriptions. */
+ 58 : std::string comment; /**< Comment. */
+ 59 :
+ 60 : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */
+ 61 :
+ 62 2438 : DecodeSignal() = default;
+ 63 : };
+ 64 :
+ 65 : /**
+ 66 : * @brief Runtime-ready frame definition.
+ 67 : */
+ 68 : struct DecodeFrame {
+ 69 : std::string name; /**< Frame name. */
+ 70 : std::uint32_t canId = 0U; /**< Normalized CAN ID. */
+ 71 : bool isExtended = false; /**< true for extended frame. */
+ 72 : std::uint8_t dlc = 0U; /**< Payload length. */
+ 73 : std::uint32_t pgn = 0U; /**< PGN if available. */
+ 74 : bool hasPgn = false; /**< Explicit J1939 opt-in; pgn must match canId. */
+ 75 : std::string transmitter; /**< Transmitter ECU. */
+ 76 : std::string comment; /**< Frame comment. */
+ 77 : std::vector<DecodeSignal> signals; /**< Signal definitions. */
+ 78 :
+ 79 : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */
+ 80 : std::optional<std::string> frameFormat; /**< VFrameFormat label, when declared. */
+ 81 : std::optional<std::uint32_t> cycleTimeMs; /**< GenMsgCycleTime in milliseconds, when declared. */
+ 82 :
+ 83 2400 : DecodeFrame() = default;
+ 84 :
+ 85 : /** @brief Return the stable normalized frame identifier. */
+ 86 11038 : FrameKey GetKey() const {
+ 87 11038 : return FrameKey(canId, isExtended);
+ 88 : }
+ 89 : };
+ 90 :
+ 91 : /** A PGN lookup rejects multiple definitions rather than choosing by order. */
+ 92 : struct PgnLookupResult {
+ 93 : std::shared_ptr<const DecodeFrame> definition; /**< Owning matched definition; empty if missing or ambiguous. */
+ 94 : bool ambiguous = false; /**< True when multiple definitions share the requested PGN. */
+ 95 : };
+ 96 :
+ 97 : /**
+ 98 : * @brief Immutable runtime snapshot. Copies share storage; reload replaces a snapshot.
+ 99 : * Owning lookup handles and decoded results keep old definitions alive.
+ 100 : */
+ 101 : class DecodeDatabase {
+ 102 : public:
+ 103 21 : DecodeDatabase() = default;
+ 104 : /**
+ 105 : * Copy and validate definitions before building the frame index.
+ 106 : * Input aliases cannot modify the snapshot, even for rvalue input.
+ 107 : * @throws std::invalid_argument for invalid metadata or duplicate keys.
+ 108 : */
+ 109 : explicit DecodeDatabase(const std::vector<DecodeFrame> &frames);
+ 110 :
+ 111 : /** Borrowed view, valid while this snapshot remains alive and unchanged. */
+ 112 : const std::vector<DecodeFrame> &GetFrames() const;
+ 113 : /** Owning handles retain the entire snapshot across reload or destruction. */
+ 114 : std::shared_ptr<const DecodeFrame> FindFrame(const FrameKey &key) const;
+ 115 : /** Only explicitly marked hasPgn frames participate; ambiguous results have no definition. */
+ 116 : PgnLookupResult FindFrameByPgn(std::uint32_t pgn) const;
+ 117 : /** @brief Return an owning signal handle, or an empty handle for a missing key. */
+ 118 : std::shared_ptr<const DecodeSignal> FindSignal(const SignalKey &key) const;
+ 119 :
+ 120 : private:
+ 121 : struct Storage {
+ 122 : std::vector<DecodeFrame> frames;
+ 123 : std::unordered_map<FrameKey, std::size_t, FrameKeyHasher> frameIndexByKey;
+ 124 :
+ 125 : std::unordered_map<std::uint32_t, std::vector<std::size_t>> frameIndicesByPgn;
+ 126 :
+ 127 : explicit Storage(const std::vector<DecodeFrame> &definitions);
+ 128 : };
+ 129 :
+ 130 : std::shared_ptr<const Storage> storage;
+ 131 : };
+ 132 :
+ 133 : #endif /* DECODE_DATABASE_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/definition_key.h.func-c.html b/build-coverage/html/core/definition_key.h.func-c.html
new file mode 100644
index 0000000..dfd8de9
--- /dev/null
+++ b/build-coverage/html/core/definition_key.h.func-c.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/definition_key.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/definition_key.h.func.html b/build-coverage/html/core/definition_key.h.func.html
new file mode 100644
index 0000000..a0863b5
--- /dev/null
+++ b/build-coverage/html/core/definition_key.h.func.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/definition_key.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/definition_key.h.gcov.html b/build-coverage/html/core/definition_key.h.gcov.html
new file mode 100644
index 0000000..6789e84
--- /dev/null
+++ b/build-coverage/html/core/definition_key.h.gcov.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/definition_key.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : // Copyright (c) 2026 Dim Himro
+ 3 : :
+ 4 : : #ifndef DEFINITION_KEY_H
+ 5 : : #define DEFINITION_KEY_H
+ 6 : :
+ 7 : : #include <cstdint>
+ 8 : : #include <functional>
+ 9 : : #include <string>
+ 10 : : #include <utility>
+ 11 : :
+ 12 : : /**
+ 13 : : * @brief Stable frame identifier: normalized CAN ID and frame type.
+ 14 : : */
+ 15 : : struct FrameKey {
+ 16 : : std::uint32_t canId = 0U; /**< Normalized CAN identifier. */
+ 17 : : bool isExtended = false; /**< True for extended CAN frames. */
+ 18 : :
+ 19 : 12789 : FrameKey() = default;
+ 20 : :
+ 21 : : /** @brief Create a key from a normalized identifier and frame type. */
+ 22 : 23974 : FrameKey(std::uint32_t id, bool extended)
+ 23 : 23974 : : canId(id), isExtended(extended) {
+ 24 : 23974 : }
+ 25 : :
+ 26 : : /** @brief Compare all logical identity fields. */
+ 27 : 6502 : bool operator==(const FrameKey &other) const {
+ 28 [ + + + - ]: 6502 : return (canId == other.canId) && (isExtended == other.isExtended);
+ 29 : : }
+ 30 : : };
+ 31 : :
+ 32 : : /**
+ 33 : : * @brief Hasher for frame key.
+ 34 : : */
+ 35 : : struct FrameKeyHasher {
+ 36 : : /** @brief Hash the logical identity fields. */
+ 37 : 11161 : std::size_t operator()(const FrameKey &key) const {
+ 38 : 11161 : const std::size_t a = static_cast<std::size_t>(key.canId);
+ 39 [ + + ]: 11161 : const std::size_t b = key.isExtended ? 1U : 0U;
+ 40 : 11161 : return (a * 1315423911U) ^ b;
+ 41 : : }
+ 42 : : };
+ 43 : :
+ 44 : : /** Stable signal identifier within one logical DBC database. */
+ 45 : : struct SignalKey {
+ 46 : : FrameKey frame; /**< Owning frame identity. */
+ 47 : : std::string name; /**< Signal name within the frame. */
+ 48 : :
+ 49 : 6380 : SignalKey() = default;
+ 50 : : /** @brief Create a signal key from its frame identity and name. */
+ 51 : 6454 : SignalKey(FrameKey frameKey, std::string signalName)
+ 52 : 6454 : : frame(frameKey), name(std::move(signalName)) {
+ 53 : 6454 : }
+ 54 : :
+ 55 : : /** @brief Compare all logical identity fields. */
+ 56 : 22 : bool operator==(const SignalKey &other) const {
+ 57 [ + - + - ]: 22 : return frame == other.frame && name == other.name;
+ 58 : : }
+ 59 : : };
+ 60 : :
+ 61 : : /** @brief Hasher for stable signal keys. */
+ 62 : : struct SignalKeyHasher {
+ 63 : : /** @brief Hash the logical identity fields. */
+ 64 : 9 : std::size_t operator()(const SignalKey &key) const {
+ 65 : 9 : return FrameKeyHasher()(key.frame) ^ (std::hash<std::string>()(key.name) << 1U);
+ 66 : : }
+ 67 : : };
+ 68 : :
+ 69 : : #endif /* DEFINITION_KEY_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/frame_info.h.func-c.html b/build-coverage/html/core/frame_info.h.func-c.html
new file mode 100644
index 0000000..14be193
--- /dev/null
+++ b/build-coverage/html/core/frame_info.h.func-c.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/frame_info.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/frame_info.h.func.html b/build-coverage/html/core/frame_info.h.func.html
new file mode 100644
index 0000000..b879d20
--- /dev/null
+++ b/build-coverage/html/core/frame_info.h.func.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/frame_info.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/frame_info.h.gcov.html b/build-coverage/html/core/frame_info.h.gcov.html
new file mode 100644
index 0000000..f912fa5
--- /dev/null
+++ b/build-coverage/html/core/frame_info.h.gcov.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/frame_info.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Line data Source code
+
+ 1 : /**
+ 2 : * @file frame_info.h
+ 3 : * @brief Parsed CAN frame metadata.
+ 4 : *
+ 5 : * Created: 2026-03-13
+ 6 : * Author: Deeaitch (Dim. Himro)
+ 7 : *
+ 8 : * Licensed under the MIT License.
+ 9 : * See LICENSE file in the project root for full license text.
+ 10 : */
+ 11 :
+ 12 : #ifndef FRAME_INFO_H
+ 13 : #define FRAME_INFO_H
+ 14 :
+ 15 : #include "attributes.h"
+ 16 : #include <cstdint>
+ 17 : #include <string>
+ 18 : #include <vector>
+ 19 :
+ 20 : #include "signal_info.h"
+ 21 :
+ 22 : /**
+ 23 : * @brief Describes one CAN frame from a DBC file.
+ 24 : */
+ 25 : struct FrameInfo {
+ 26 : std::string name; /**< Frame name. */
+ 27 : std::uint32_t canId = 0U; /**< Normalized CAN identifier. */
+ 28 : bool isExtended = false; /**< true for extended frame. */
+ 29 : std::uint32_t pgn = 0U; /**< J1939 PGN if applicable. */
+ 30 : bool hasPgn = false; /**< Explicit J1939 opt-in; pgn is derived from canId. */
+ 31 : std::uint8_t dlc = 0U; /**< Frame payload length. */
+ 32 : std::string transmitter; /**< Transmitter ECU name. */
+ 33 : std::string comment; /**< Optional frame comment. */
+ 34 : std::vector<SignalInfo> signals; /**< Signals contained in the frame. */
+ 35 :
+ 36 : std::optional<std::string> frameFormat; /**< VFrameFormat label, when declared. */ /**< VFrameFormat enum label. */
+ 37 : std::optional<std::uint32_t> cycleTimeMs; /**< GenMsgCycleTime in milliseconds, when declared. */ /**< GenMsgCycleTime; zero means unspecified. */
+ 38 :
+ 39 : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */ /**< Effective values, including defaults. */
+ 40 :
+ 41 716 : FrameInfo() = default;
+ 42 : };
+ 43 :
+ 44 : #endif /* FRAME_INFO_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/index-sort-b.html b/build-coverage/html/core/index-sort-b.html
new file mode 100644
index 0000000..3c8dd0b
--- /dev/null
+++ b/build-coverage/html/core/index-sort-b.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ File  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | dbc_parser.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | decode_database.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ - |
+ |
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | frame_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | signal_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | tree_node.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_statement_handler.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 45.5 % |
+ 22 |
+ 10 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | typefactory.h |
+
+
+ |
+ 100.0 % |
+ 12 |
+ 12 |
+ 50.0 % |
+ 8 |
+ 4 |
+ 100.0 % |
+ 27 |
+ 27 |
+
+
+ | dbc_decode_builder.cpp |
+
+
+ |
+ 100.0 % |
+ 40 |
+ 40 |
+ 62.5 % |
+ 40 |
+ 25 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_tree_builder.cpp |
+
+
+ |
+ 91.7 % |
+ 12 |
+ 11 |
+ 66.7 % |
+ 12 |
+ 8 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_statement_handler.cpp |
+
+
+ |
+ 99.5 % |
+ 370 |
+ 368 |
+ 68.4 % |
+ 820 |
+ 561 |
+ 100.0 % |
+ 31 |
+ 31 |
+
+
+ | definition_key.h |
+
+
+ |
+ 100.0 % |
+ 18 |
+ 18 |
+ 70.0 % |
+ 10 |
+ 7 |
+ 100.0 % |
+ 8 |
+ 8 |
+
+
+ | dbc_parser.cpp |
+
+
+ |
+ 99.0 % |
+ 99 |
+ 98 |
+ 70.4 % |
+ 216 |
+ 152 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | dbc_decoder.cpp |
+
+
+ |
+ 94.9 % |
+ 156 |
+ 148 |
+ 72.8 % |
+ 158 |
+ 115 |
+ 100.0 % |
+ 12 |
+ 12 |
+
+
+ | dbc_attributes.cpp |
+
+
+ |
+ 98.8 % |
+ 260 |
+ 257 |
+ 73.5 % |
+ 604 |
+ 444 |
+ 100.0 % |
+ 20 |
+ 20 |
+
+
+ | dbc_decoder.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 75.0 % |
+ 4 |
+ 3 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | tree_node.cpp |
+
+
+ |
+ 98.1 % |
+ 53 |
+ 52 |
+ 76.2 % |
+ 42 |
+ 32 |
+ 100.0 % |
+ 15 |
+ 15 |
+
+
+ | decode_database.cpp |
+
+
+ |
+ 99.1 % |
+ 110 |
+ 109 |
+ 80.2 % |
+ 182 |
+ 146 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | value_descriptions.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 87.5 % |
+ 8 |
+ 7 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+ | j1939.h |
+
+
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 2 |
+ 2 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_diagnostic.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | signal_layout.h |
+
+
+ |
+ 100.0 % |
+ 6 |
+ 6 |
+ 100.0 % |
+ 8 |
+ 8 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+ | text_utils.h |
+
+
+ |
+ 100.0 % |
+ 10 |
+ 10 |
+ 100.0 % |
+ 12 |
+ 12 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/index-sort-f.html b/build-coverage/html/core/index-sort-f.html
new file mode 100644
index 0000000..1471d7b
--- /dev/null
+++ b/build-coverage/html/core/index-sort-f.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ File  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | dbc_decode_builder.cpp |
+
+
+ |
+ 100.0 % |
+ 40 |
+ 40 |
+ 62.5 % |
+ 40 |
+ 25 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_diagnostic.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_parser.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_tree_builder.cpp |
+
+
+ |
+ 91.7 % |
+ 12 |
+ 11 |
+ 66.7 % |
+ 12 |
+ 8 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | frame_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | j1939.h |
+
+
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 2 |
+ 2 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | signal_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | text_utils.h |
+
+
+ |
+ 100.0 % |
+ 10 |
+ 10 |
+ 100.0 % |
+ 12 |
+ 12 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | tree_node.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | signal_layout.h |
+
+
+ |
+ 100.0 % |
+ 6 |
+ 6 |
+ 100.0 % |
+ 8 |
+ 8 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+ | value_descriptions.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 87.5 % |
+ 8 |
+ 7 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+ | dbc_decoder.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 75.0 % |
+ 4 |
+ 3 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | dbc_parser.cpp |
+
+
+ |
+ 99.0 % |
+ 99 |
+ 98 |
+ 70.4 % |
+ 216 |
+ 152 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | decode_database.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ - |
+ |
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | definition_key.h |
+
+
+ |
+ 100.0 % |
+ 18 |
+ 18 |
+ 70.0 % |
+ 10 |
+ 7 |
+ 100.0 % |
+ 8 |
+ 8 |
+
+
+ | dbc_statement_handler.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 45.5 % |
+ 22 |
+ 10 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | decode_database.cpp |
+
+
+ |
+ 99.1 % |
+ 110 |
+ 109 |
+ 80.2 % |
+ 182 |
+ 146 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | dbc_decoder.cpp |
+
+
+ |
+ 94.9 % |
+ 156 |
+ 148 |
+ 72.8 % |
+ 158 |
+ 115 |
+ 100.0 % |
+ 12 |
+ 12 |
+
+
+ | tree_node.cpp |
+
+
+ |
+ 98.1 % |
+ 53 |
+ 52 |
+ 76.2 % |
+ 42 |
+ 32 |
+ 100.0 % |
+ 15 |
+ 15 |
+
+
+ | dbc_attributes.cpp |
+
+
+ |
+ 98.8 % |
+ 260 |
+ 257 |
+ 73.5 % |
+ 604 |
+ 444 |
+ 100.0 % |
+ 20 |
+ 20 |
+
+
+ | typefactory.h |
+
+
+ |
+ 100.0 % |
+ 12 |
+ 12 |
+ 50.0 % |
+ 8 |
+ 4 |
+ 100.0 % |
+ 27 |
+ 27 |
+
+
+ | dbc_statement_handler.cpp |
+
+
+ |
+ 99.5 % |
+ 370 |
+ 368 |
+ 68.4 % |
+ 820 |
+ 561 |
+ 100.0 % |
+ 31 |
+ 31 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/index-sort-l.html b/build-coverage/html/core/index-sort-l.html
new file mode 100644
index 0000000..94b2951
--- /dev/null
+++ b/build-coverage/html/core/index-sort-l.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ File  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | dbc_tree_builder.cpp |
+
+
+ |
+ 91.7 % |
+ 12 |
+ 11 |
+ 66.7 % |
+ 12 |
+ 8 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_decoder.cpp |
+
+
+ |
+ 94.9 % |
+ 156 |
+ 148 |
+ 72.8 % |
+ 158 |
+ 115 |
+ 100.0 % |
+ 12 |
+ 12 |
+
+
+ | tree_node.cpp |
+
+
+ |
+ 98.1 % |
+ 53 |
+ 52 |
+ 76.2 % |
+ 42 |
+ 32 |
+ 100.0 % |
+ 15 |
+ 15 |
+
+
+ | dbc_attributes.cpp |
+
+
+ |
+ 98.8 % |
+ 260 |
+ 257 |
+ 73.5 % |
+ 604 |
+ 444 |
+ 100.0 % |
+ 20 |
+ 20 |
+
+
+ | dbc_parser.cpp |
+
+
+ |
+ 99.0 % |
+ 99 |
+ 98 |
+ 70.4 % |
+ 216 |
+ 152 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | decode_database.cpp |
+
+
+ |
+ 99.1 % |
+ 110 |
+ 109 |
+ 80.2 % |
+ 182 |
+ 146 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | dbc_statement_handler.cpp |
+
+
+ |
+ 99.5 % |
+ 370 |
+ 368 |
+ 68.4 % |
+ 820 |
+ 561 |
+ 100.0 % |
+ 31 |
+ 31 |
+
+
+ | dbc_parser.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | frame_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | signal_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | tree_node.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | j1939.h |
+
+
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 2 |
+ 2 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_decoder.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 75.0 % |
+ 4 |
+ 3 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | dbc_diagnostic.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | decode_database.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ - |
+ |
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | signal_layout.h |
+
+
+ |
+ 100.0 % |
+ 6 |
+ 6 |
+ 100.0 % |
+ 8 |
+ 8 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+ | dbc_statement_handler.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 45.5 % |
+ 22 |
+ 10 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | value_descriptions.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 87.5 % |
+ 8 |
+ 7 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+ | text_utils.h |
+
+
+ |
+ 100.0 % |
+ 10 |
+ 10 |
+ 100.0 % |
+ 12 |
+ 12 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | typefactory.h |
+
+
+ |
+ 100.0 % |
+ 12 |
+ 12 |
+ 50.0 % |
+ 8 |
+ 4 |
+ 100.0 % |
+ 27 |
+ 27 |
+
+
+ | definition_key.h |
+
+
+ |
+ 100.0 % |
+ 18 |
+ 18 |
+ 70.0 % |
+ 10 |
+ 7 |
+ 100.0 % |
+ 8 |
+ 8 |
+
+
+ | dbc_decode_builder.cpp |
+
+
+ |
+ 100.0 % |
+ 40 |
+ 40 |
+ 62.5 % |
+ 40 |
+ 25 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/index.html b/build-coverage/html/core/index.html
new file mode 100644
index 0000000..13b9dc5
--- /dev/null
+++ b/build-coverage/html/core/index.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ File  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | dbc_attributes.cpp |
+
+
+ |
+ 98.8 % |
+ 260 |
+ 257 |
+ 73.5 % |
+ 604 |
+ 444 |
+ 100.0 % |
+ 20 |
+ 20 |
+
+
+ | dbc_decode_builder.cpp |
+
+
+ |
+ 100.0 % |
+ 40 |
+ 40 |
+ 62.5 % |
+ 40 |
+ 25 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_decoder.cpp |
+
+
+ |
+ 94.9 % |
+ 156 |
+ 148 |
+ 72.8 % |
+ 158 |
+ 115 |
+ 100.0 % |
+ 12 |
+ 12 |
+
+
+ | dbc_decoder.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 75.0 % |
+ 4 |
+ 3 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | dbc_diagnostic.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_parser.cpp |
+
+
+ |
+ 99.0 % |
+ 99 |
+ 98 |
+ 70.4 % |
+ 216 |
+ 152 |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | dbc_parser.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | dbc_statement_handler.cpp |
+
+
+ |
+ 99.5 % |
+ 370 |
+ 368 |
+ 68.4 % |
+ 820 |
+ 561 |
+ 100.0 % |
+ 31 |
+ 31 |
+
+
+ | dbc_statement_handler.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 45.5 % |
+ 22 |
+ 10 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | dbc_tree_builder.cpp |
+
+
+ |
+ 91.7 % |
+ 12 |
+ 11 |
+ 66.7 % |
+ 12 |
+ 8 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | decode_database.cpp |
+
+
+ |
+ 99.1 % |
+ 110 |
+ 109 |
+ 80.2 % |
+ 182 |
+ 146 |
+ 100.0 % |
+ 10 |
+ 10 |
+
+
+ | decode_database.h |
+
+
+ |
+ 100.0 % |
+ 5 |
+ 5 |
+ - |
+ |
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+
+
+ | definition_key.h |
+
+
+ |
+ 100.0 % |
+ 18 |
+ 18 |
+ 70.0 % |
+ 10 |
+ 7 |
+ 100.0 % |
+ 8 |
+ 8 |
+
+
+ | frame_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | j1939.h |
+
+
+ |
+ 100.0 % |
+ 4 |
+ 4 |
+ 100.0 % |
+ 2 |
+ 2 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | signal_info.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | signal_layout.h |
+
+
+ |
+ 100.0 % |
+ 6 |
+ 6 |
+ 100.0 % |
+ 8 |
+ 8 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+ | text_utils.h |
+
+
+ |
+ 100.0 % |
+ 10 |
+ 10 |
+ 100.0 % |
+ 12 |
+ 12 |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | tree_node.cpp |
+
+
+ |
+ 98.1 % |
+ 53 |
+ 52 |
+ 76.2 % |
+ 42 |
+ 32 |
+ 100.0 % |
+ 15 |
+ 15 |
+
+
+ | tree_node.h |
+
+
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+ - |
+ |
+ |
+ 100.0 % |
+ 1 |
+ 1 |
+
+
+ | typefactory.h |
+
+
+ |
+ 100.0 % |
+ 12 |
+ 12 |
+ 50.0 % |
+ 8 |
+ 4 |
+ 100.0 % |
+ 27 |
+ 27 |
+
+
+ | value_descriptions.h |
+
+
+ |
+ 100.0 % |
+ 8 |
+ 8 |
+ 87.5 % |
+ 8 |
+ 7 |
+ 100.0 % |
+ 2 |
+ 2 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/j1939.h.func-c.html b/build-coverage/html/core/j1939.h.func-c.html
new file mode 100644
index 0000000..f3484fc
--- /dev/null
+++ b/build-coverage/html/core/j1939.h.func-c.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/j1939.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/j1939.h.func.html b/build-coverage/html/core/j1939.h.func.html
new file mode 100644
index 0000000..1db1be3
--- /dev/null
+++ b/build-coverage/html/core/j1939.h.func.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/j1939.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/j1939.h.gcov.html b/build-coverage/html/core/j1939.h.gcov.html
new file mode 100644
index 0000000..b27b482
--- /dev/null
+++ b/build-coverage/html/core/j1939.h.gcov.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/j1939.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #ifndef J1939_H
+ 3 : : #define J1939_H
+ 4 : :
+ 5 : : #include <cstdint>
+ 6 : :
+ 7 : : /** Extract an 18-bit PGN from a normalized 29-bit ID explicitly interpreted as J1939.
+ 8 : : * Priority and source address are excluded. PDU1 also excludes destination address.
+ 9 : : * Both data-page bits are retained; this does not validate the J1939 protocol.
+ 10 : : */
+ 11 : 130 : inline std::uint32_t ExtractJ1939Pgn(std::uint32_t canId) {
+ 12 : 130 : const std::uint32_t pf = (canId >> 16U) & 0xFFU;
+ 13 : 130 : const std::uint32_t pgn = (canId >> 8U) & 0x3FFFFU;
+ 14 [ + + ]: 130 : return pf < 240U ? pgn & 0x3FF00U : pgn;
+ 15 : : }
+ 16 : :
+ 17 : : #endif /* J1939_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/signal_info.h.func-c.html b/build-coverage/html/core/signal_info.h.func-c.html
new file mode 100644
index 0000000..a267fa7
--- /dev/null
+++ b/build-coverage/html/core/signal_info.h.func-c.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/signal_info.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/signal_info.h.func.html b/build-coverage/html/core/signal_info.h.func.html
new file mode 100644
index 0000000..1da7fdc
--- /dev/null
+++ b/build-coverage/html/core/signal_info.h.func.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/signal_info.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/signal_info.h.gcov.html b/build-coverage/html/core/signal_info.h.gcov.html
new file mode 100644
index 0000000..b2619ac
--- /dev/null
+++ b/build-coverage/html/core/signal_info.h.gcov.html
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/signal_info.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Line data Source code
+
+ 1 : /**
+ 2 : * @file signal_info.h
+ 3 : * @brief Parsed CAN signal metadata.
+ 4 : *
+ 5 : * Created: 2026-03-13
+ 6 : * Author: Deeaitch (Dim. Himro)
+ 7 : *
+ 8 : * Licensed under the MIT License.
+ 9 : * See LICENSE file in the project root for full license text.
+ 10 : */
+ 11 :
+ 12 : #ifndef SIGNAL_INFO_H
+ 13 : #define SIGNAL_INFO_H
+ 14 :
+ 15 : #include "attributes.h"
+ 16 : #include "multiplexing.h"
+ 17 : #include "value_descriptions.h"
+ 18 : #include <cstdint>
+ 19 : #include <string>
+ 20 : #include <vector>
+ 21 :
+ 22 : /**
+ 23 : * @brief Describes one signal inside a DBC frame.
+ 24 : */
+ 25 : struct SignalInfo {
+ 26 : Multiplexing multiplexing; /**< Selector role and branch value. */
+ 27 : std::string name; /**< Signal name. */
+ 28 : std::uint32_t startBit = 0U; /**< Start bit in DBC notation. */
+ 29 : std::uint32_t length = 0U; /**< Signal length in bits. */
+ 30 : bool isLittleEndian = true; /**< true for Intel, false for Motorola. */
+ 31 : bool isSigned = false; /**< true if signal is signed. */
+ 32 : double factor = 1.0; /**< Scaling factor. */
+ 33 : double offset = 0.0; /**< Physical offset. */
+ 34 : double minimum = 0.0; /**< Minimum physical value. */
+ 35 : double maximum = 0.0; /**< Maximum physical value. */
+ 36 : std::string unit; /**< Physical unit. */
+ 37 : std::vector<std::string> receivers; /**< Signal receivers. */
+ 38 : ValueDescriptions valueDescriptions; /**< Raw integer state descriptions. */
+ 39 : std::string comment; /**< Optional signal comment. */
+ 40 :
+ 41 : AttributeMap attributes; /**< Effective attributes after defaults and overrides. */ /**< Effective values, including defaults. */
+ 42 :
+ 43 592 : SignalInfo() = default;
+ 44 : };
+ 45 :
+ 46 : #endif /* SIGNAL_INFO_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/signal_layout.h.func-c.html b/build-coverage/html/core/signal_layout.h.func-c.html
new file mode 100644
index 0000000..92f088d
--- /dev/null
+++ b/build-coverage/html/core/signal_layout.h.func-c.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/signal_layout.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/signal_layout.h.func.html b/build-coverage/html/core/signal_layout.h.func.html
new file mode 100644
index 0000000..802589b
--- /dev/null
+++ b/build-coverage/html/core/signal_layout.h.func.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/signal_layout.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/signal_layout.h.gcov.html b/build-coverage/html/core/signal_layout.h.gcov.html
new file mode 100644
index 0000000..adaa0ce
--- /dev/null
+++ b/build-coverage/html/core/signal_layout.h.gcov.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/signal_layout.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #ifndef SIGNAL_LAYOUT_H
+ 3 : : #define SIGNAL_LAYOUT_H
+ 4 : :
+ 5 : : #include <cstdint>
+ 6 : :
+ 7 : : /** Linear coordinate in the signal's bit order, widened before arithmetic. */
+ 8 : 352521 : inline std::uint64_t SignalStartCoordinate(std::uint32_t startBit, bool littleEndian) {
+ 9 [ + + ]: 352521 : return littleEndian ? std::uint64_t(startBit)
+ 10 : 352521 : : std::uint64_t(startBit / 8U) * 8U + 7U - startBit % 8U;
+ 11 : : }
+ 12 : :
+ 13 : 360851 : inline bool IsValidSignalLayout(std::uint32_t startBit, std::uint32_t length,
+ 14 : : bool littleEndian, std::uint8_t dlc) {
+ 15 [ + + + + ]: 711008 : return length >= 1U && length <= 64U &&
+ 16 [ + + ]: 711008 : SignalStartCoordinate(startBit, littleEndian) + length <= std::uint64_t(dlc) * 8U;
+ 17 : : }
+ 18 : :
+ 19 : : #endif
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/text_utils.h.func-c.html b/build-coverage/html/core/text_utils.h.func-c.html
new file mode 100644
index 0000000..0131454
--- /dev/null
+++ b/build-coverage/html/core/text_utils.h.func-c.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/text_utils.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/text_utils.h.func.html b/build-coverage/html/core/text_utils.h.func.html
new file mode 100644
index 0000000..a710ef3
--- /dev/null
+++ b/build-coverage/html/core/text_utils.h.func.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/text_utils.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/text_utils.h.gcov.html b/build-coverage/html/core/text_utils.h.gcov.html
new file mode 100644
index 0000000..d816e3a
--- /dev/null
+++ b/build-coverage/html/core/text_utils.h.gcov.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/text_utils.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : #ifndef DBC_TEXT_UTILS_H
+ 2 : : #define DBC_TEXT_UTILS_H
+ 3 : :
+ 4 : : #include <cctype>
+ 5 : : #include <string>
+ 6 : :
+ 7 : : namespace dbc_detail {
+ 8 : 2913 : inline std::string TrimText(const std::string &text) {
+ 9 : 2913 : std::string::size_type begin = 0U;
+ 10 [ + + + + ]: 5727 : while ((begin < text.size()) &&
+ 11 [ + + ]: 2692 : std::isspace(static_cast<unsigned char>(text[begin])))
+ 12 : 122 : ++begin;
+ 13 : :
+ 14 : 2913 : std::string::size_type end = text.size();
+ 15 [ + + + + ]: 5491 : while ((end > begin) &&
+ 16 [ + + ]: 2574 : std::isspace(static_cast<unsigned char>(text[end - 1U])))
+ 17 : 4 : --end;
+ 18 : :
+ 19 : 2913 : return text.substr(begin, end - begin);
+ 20 : : }
+ 21 : : }
+ 22 : :
+ 23 : : #endif
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/tree_node.cpp.func-c.html b/build-coverage/html/core/tree_node.cpp.func-c.html
new file mode 100644
index 0000000..dcf94fe
--- /dev/null
+++ b/build-coverage/html/core/tree_node.cpp.func-c.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/tree_node.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/tree_node.cpp.func.html b/build-coverage/html/core/tree_node.cpp.func.html
new file mode 100644
index 0000000..becb8f2
--- /dev/null
+++ b/build-coverage/html/core/tree_node.cpp.func.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/tree_node.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/tree_node.cpp.gcov.html b/build-coverage/html/core/tree_node.cpp.gcov.html
new file mode 100644
index 0000000..242bfe1
--- /dev/null
+++ b/build-coverage/html/core/tree_node.cpp.gcov.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/tree_node.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : /**
+ 2 : : * @file tree_node.cpp
+ 3 : : * @brief Tree node ownership and navigation.
+ 4 : : *
+ 5 : : * Created: 2026-03-13
+ 6 : : * Author: Deeaitch (Dim. Himro)
+ 7 : : *
+ 8 : : * Licensed under the MIT License.
+ 9 : : * See LICENSE file in the project root for full license text.
+ 10 : : */
+ 11 : :
+ 12 : : #include "tree_node.h"
+ 13 : : #include <stdexcept>
+ 14 : :
+ 15 : 22 : TreeNode::TreeNode()
+ 16 [ + - ]: 66 : : m_type(NodeType::Root), m_name("dbc") {
+ 17 : 22 : }
+ 18 : :
+ 19 : 97 : TreeNode::TreeNode(const FrameInfo &frame)
+ 20 [ + - ]: 97 : : m_type(NodeType::Frame), m_name(frame.name), m_frame(std::make_unique<FrameInfo>(frame)) {
+ 21 : 97 : }
+ 22 : :
+ 23 : 110 : TreeNode::TreeNode(const SignalInfo &signal)
+ 24 [ + - ]: 110 : : m_type(NodeType::Signal), m_name(signal.name), m_signal(std::make_unique<SignalInfo>(signal)) {
+ 25 : 110 : }
+ 26 : :
+ 27 : 206 : void TreeNode::AddChild(std::unique_ptr<TreeNode> &&child) {
+ 28 [ + + ]: 206 : if (child) {
+ 29 [ + + ]: 474 : for (const TreeNode *ancestor = this; ancestor; ancestor = ancestor->m_parent) {
+ 30 [ + + ]: 271 : if (ancestor == child.get())
+ 31 [ + - ]: 2 : throw std::invalid_argument("Cannot insert a node into its own subtree");
+ 32 : : }
+ 33 [ - + ]: 203 : if (child->m_parent)
+ 34 [ # # ]: 0 : throw std::invalid_argument("Child is already attached");
+ 35 : 203 : m_children.push_back(std::move(child));
+ 36 : 203 : m_children.back()->m_parent = this;
+ 37 : 203 : m_children.back()->m_row = m_children.size() - 1U;
+ 38 : : }
+ 39 : 204 : }
+ 40 : :
+ 41 : 2120 : std::size_t TreeNode::GetChildCount() const {
+ 42 : 2120 : return m_children.size();
+ 43 : : }
+ 44 : :
+ 45 : 3430 : const TreeNode *TreeNode::GetChild(std::size_t index) const {
+ 46 [ + + ]: 3430 : if (index >= m_children.size())
+ 47 : 1107 : return nullptr;
+ 48 : :
+ 49 : 2323 : return m_children[index].get();
+ 50 : : }
+ 51 : :
+ 52 : 91 : TreeNode *TreeNode::GetChild(std::size_t index) {
+ 53 [ + + ]: 91 : if (index >= m_children.size())
+ 54 : 2 : return nullptr;
+ 55 : :
+ 56 : 89 : return m_children[index].get();
+ 57 : : }
+ 58 : :
+ 59 : 44 : NodeType TreeNode::GetType() const {
+ 60 : 44 : return m_type;
+ 61 : : }
+ 62 : :
+ 63 : 29 : const std::string &TreeNode::GetName() const {
+ 64 : 29 : return m_name;
+ 65 : : }
+ 66 : :
+ 67 : 274 : const FrameInfo *TreeNode::GetFrame() const {
+ 68 : 274 : return m_frame.get();
+ 69 : : }
+ 70 : :
+ 71 : 281 : const SignalInfo *TreeNode::GetSignal() const {
+ 72 : 281 : return m_signal.get();
+ 73 : : }
+ 74 : :
+ 75 : 1875 : const TreeNode *TreeNode::GetParent() const {
+ 76 : 1875 : return m_parent;
+ 77 : : }
+ 78 : :
+ 79 : 1547 : std::size_t TreeNode::GetRow() const {
+ 80 : 1547 : return m_row;
+ 81 : : }
+ 82 : :
+ 83 : 23 : std::optional<FrameKey> TreeNode::GetFrameKey() const {
+ 84 [ + + ]: 23 : if (m_frame)
+ 85 : 13 : return FrameKey(m_frame->canId, m_frame->isExtended);
+ 86 [ + + + + : 10 : if (m_signal && m_parent && m_parent->GetType() == NodeType::Frame)
+ + - + + ]
+ 87 : 6 : return m_parent->GetFrameKey();
+ 88 : 4 : return std::nullopt;
+ 89 : : }
+ 90 : :
+ 91 : 9 : std::optional<SignalKey> TreeNode::GetSignalKey() const {
+ 92 [ + - ]: 9 : const std::optional<FrameKey> frame = GetFrameKey();
+ 93 [ + + + + : 9 : if (m_signal && frame)
+ + + ]
+ 94 [ + - ]: 5 : return SignalKey(*frame, m_signal->name);
+ 95 : 4 : return std::nullopt;
+ 96 : : }
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/tree_node.h.func-c.html b/build-coverage/html/core/tree_node.h.func-c.html
new file mode 100644
index 0000000..0c3b5ba
--- /dev/null
+++ b/build-coverage/html/core/tree_node.h.func-c.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/tree_node.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/tree_node.h.func.html b/build-coverage/html/core/tree_node.h.func.html
new file mode 100644
index 0000000..190af30
--- /dev/null
+++ b/build-coverage/html/core/tree_node.h.func.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/tree_node.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/tree_node.h.gcov.html b/build-coverage/html/core/tree_node.h.gcov.html
new file mode 100644
index 0000000..12283b8
--- /dev/null
+++ b/build-coverage/html/core/tree_node.h.gcov.html
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/tree_node.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Line data Source code
+
+ 1 : /**
+ 2 : * @file tree_node.h
+ 3 : * @brief Qt-independent metadata tree nodes.
+ 4 : *
+ 5 : * Created: 2026-03-13
+ 6 : * Author: Deeaitch (Dim. Himro)
+ 7 : *
+ 8 : * Licensed under the MIT License.
+ 9 : * See LICENSE file in the project root for full license text.
+ 10 : */
+ 11 :
+ 12 : #ifndef TREE_NODE_H
+ 13 : #define TREE_NODE_H
+ 14 :
+ 15 : #include <cstddef>
+ 16 : #include <memory>
+ 17 : #include <optional>
+ 18 : #include <string>
+ 19 : #include <vector>
+ 20 :
+ 21 : #include "definition_key.h"
+ 22 : #include "frame_info.h"
+ 23 : #include "signal_info.h"
+ 24 :
+ 25 : /**
+ 26 : * @brief Type of a tree node.
+ 27 : */
+ 28 : enum class NodeType {
+ 29 : Root,
+ 30 : Frame,
+ 31 : Signal
+ 32 : };
+ 33 :
+ 34 : /**
+ 35 : * @brief Tree node for later use in model/view or other hierarchy consumers.
+ 36 : */
+ 37 : class TreeNode {
+ 38 : public:
+ 39 : /**
+ 40 : * @brief Create root node.
+ 41 : */
+ 42 : TreeNode();
+ 43 :
+ 44 : /**
+ 45 : * @brief Create frame node.
+ 46 : * @param frame Frame payload.
+ 47 : */
+ 48 : explicit TreeNode(const FrameInfo &frame);
+ 49 :
+ 50 : /**
+ 51 : * @brief Create signal node.
+ 52 : * @param signal Signal payload.
+ 53 : */
+ 54 : explicit TreeNode(const SignalInfo &signal);
+ 55 :
+ 56 229 : ~TreeNode() = default;
+ 57 :
+ 58 : TreeNode(const TreeNode &) = delete;
+ 59 : TreeNode &operator=(const TreeNode &) = delete;
+ 60 :
+ 61 : // Node addresses are stable. Transfer unique_ptr ownership instead of nodes.
+ 62 : TreeNode(TreeNode &&) = delete;
+ 63 : TreeNode &operator=(TreeNode &&) = delete;
+ 64 :
+ 65 : /**
+ 66 : * @brief Add child node.
+ 67 : * @param child Child node to add.
+ 68 : * A null child is ignored. Existing children keep their addresses and rows.
+ 69 : * Ownership must be exclusive; attached nodes cannot be reparented.
+ 70 : * @throws std::invalid_argument for self/ancestor insertion or an attached child.
+ 71 : * Rejected ownership remains with the caller.
+ 72 : */
+ 73 : void AddChild(std::unique_ptr<TreeNode> &&child);
+ 74 :
+ 75 : /** Non-owning parent; nullptr for a detached node or the root. */
+ 76 : const TreeNode *GetParent() const;
+ 77 :
+ 78 : /** Zero-based sibling position; zero for a detached node or the root. */
+ 79 : std::size_t GetRow() const;
+ 80 :
+ 81 : /** Frame identity for frame nodes and signals attached to a frame; otherwise empty. */
+ 82 : std::optional<FrameKey> GetFrameKey() const;
+ 83 :
+ 84 : /** Signal identity (owning frame key and name); empty for other/detached nodes. */
+ 85 : std::optional<SignalKey> GetSignalKey() const;
+ 86 :
+ 87 : /**
+ 88 : * @brief Get child count.
+ 89 : * @return Number of children.
+ 90 : */
+ 91 : std::size_t GetChildCount() const;
+ 92 :
+ 93 : /**
+ 94 : * @brief Get child by index.
+ 95 : * @param index Child index.
+ 96 : * @return Child pointer or nullptr if index is invalid.
+ 97 : */
+ 98 : const TreeNode *GetChild(std::size_t index) const;
+ 99 :
+ 100 : /**
+ 101 : * @brief Get mutable child by index.
+ 102 : * @param index Child index.
+ 103 : * @return Child pointer or nullptr if index is invalid.
+ 104 : */
+ 105 : TreeNode *GetChild(std::size_t index);
+ 106 :
+ 107 : /**
+ 108 : * @brief Get node type.
+ 109 : * @return Node type.
+ 110 : */
+ 111 : NodeType GetType() const;
+ 112 :
+ 113 : /**
+ 114 : * @brief Get display name.
+ 115 : * @return Node name.
+ 116 : */
+ 117 : const std::string &GetName() const;
+ 118 :
+ 119 : /**
+ 120 : * @brief Get frame payload if node is frame.
+ 121 : * @return Pointer to frame info or nullptr.
+ 122 : */
+ 123 : const FrameInfo *GetFrame() const;
+ 124 :
+ 125 : /**
+ 126 : * @brief Get signal payload if node is signal.
+ 127 : * @return Pointer to signal info or nullptr.
+ 128 : */
+ 129 : const SignalInfo *GetSignal() const;
+ 130 :
+ 131 : private:
+ 132 : TreeNode *m_parent = nullptr;
+ 133 : std::size_t m_row = 0U;
+ 134 : NodeType m_type;
+ 135 : std::string m_name;
+ 136 : std::vector<std::unique_ptr<TreeNode>> m_children;
+ 137 : std::unique_ptr<FrameInfo> m_frame;
+ 138 : std::unique_ptr<SignalInfo> m_signal;
+ 139 : };
+ 140 :
+ 141 : #endif /* TREE_NODE_H */
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/typefactory.h.func-c.html b/build-coverage/html/core/typefactory.h.func-c.html
new file mode 100644
index 0000000..72b7802
--- /dev/null
+++ b/build-coverage/html/core/typefactory.h.func-c.html
@@ -0,0 +1,341 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/typefactory.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 2 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::TypeFactory() |
+
+ 950 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::TypeFactory() |
+
+ 1 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::TypeFactory() |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 14238 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::registerType<(anonymous namespace)::FactoryFirst>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::registerType<(anonymous namespace)::FactorySecond>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcCommentHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcFrameHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcSignalHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcUnsupportedMultiplexingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcValueDescriptionHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcAttributeHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 2847 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcHeaderHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 6643 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14239 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<int, std::default_delete<int> >) const |
+
+ 3 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14236 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<CountingHandler>() |
+
+ 14240 |
+
+
+
+
+
+ | std::shared_ptr<(anonymous namespace)::FactoryBase> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::instantiate<(anonymous namespace)::FactorySecond>(std::unique_ptr<int, std::default_delete<int> >) |
+
+ 1 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<CountingHandler>() |
+
+ 1 |
+
+
+
+
+
+ | std::shared_ptr<(anonymous namespace)::FactoryBase> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::instantiate<(anonymous namespace)::FactoryFirst>(std::unique_ptr<int, std::default_delete<int> >) |
+
+ 3 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcCommentHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcFrameHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcSignalHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcUnsupportedMultiplexingHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcValueDescriptionHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcAttributeHandler>() |
+
+ 2847 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcHeaderHandler>() |
+
+ 6643 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::creator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14241 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::creator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 5 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::creator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14236 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/typefactory.h.func.html b/build-coverage/html/core/typefactory.h.func.html
new file mode 100644
index 0000000..8c9c864
--- /dev/null
+++ b/build-coverage/html/core/typefactory.h.func.html
@@ -0,0 +1,341 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/typefactory.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::contains(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 2 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::TypeFactory() |
+
+ 950 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::TypeFactory() |
+
+ 1 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::TypeFactory() |
+
+ 949 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14239 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<int, std::default_delete<int> >) const |
+
+ 3 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14236 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::creator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14241 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::creator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 5 |
+
+
+
+
+
+ | TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::creator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const |
+
+ 14236 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<CountingHandler>() |
+
+ 14240 |
+
+
+
+
+
+ | std::shared_ptr<(anonymous namespace)::FactoryBase> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::instantiate<(anonymous namespace)::FactoryFirst>(std::unique_ptr<int, std::default_delete<int> >) |
+
+ 3 |
+
+
+
+
+
+ | std::shared_ptr<(anonymous namespace)::FactoryBase> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::instantiate<(anonymous namespace)::FactorySecond>(std::unique_ptr<int, std::default_delete<int> >) |
+
+ 1 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<CountingHandler>() |
+
+ 1 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcAttributeHandler>() |
+
+ 2847 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcCommentHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcFrameHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcHeaderHandler>() |
+
+ 6643 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcSignalHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcUnsupportedMultiplexingHandler>() |
+
+ 949 |
+
+
+
+
+
+ | std::shared_ptr<DbcStatementHandler> TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::instantiate<DbcValueDescriptionHandler>() |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 14238 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::registerType<(anonymous namespace)::FactoryFirst>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, (anonymous namespace)::FactoryBase, std::unique_ptr<int, std::default_delete<int> > >::registerType<(anonymous namespace)::FactorySecond>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<CountingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 1 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcAttributeHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 2847 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcCommentHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcFrameHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcHeaderHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 6643 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcSignalHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcUnsupportedMultiplexingHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+ | void TypeFactory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, DbcStatementHandler>::registerType<DbcValueDescriptionHandler>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) |
+
+ 949 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/typefactory.h.gcov.html b/build-coverage/html/core/typefactory.h.gcov.html
new file mode 100644
index 0000000..51b7ca2
--- /dev/null
+++ b/build-coverage/html/core/typefactory.h.gcov.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/typefactory.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : // Copyright (c) 2026 Dim Himro
+ 3 : :
+ 4 : : #ifndef TYPEFACTORY_H
+ 5 : : #define TYPEFACTORY_H
+ 6 : :
+ 7 : : #include <memory>
+ 8 : : #include <type_traits>
+ 9 : : #include <unordered_map>
+ 10 : : #include <utility>// std::move
+ 11 : :
+ 12 : : /**
+ 13 : : * @brief Registry-based factory for creating objects by runtime identifier.
+ 14 : : *
+ 15 : : * Allows registering derived types and instantiating them using a ClassId key.
+ 16 : : *
+ 17 : : * Notes:
+ 18 : : * - Not thread-safe. Register types during initialization phase only.
+ 19 : : * - Re-registering the same id overwrites the previous entry ("last wins").
+ 20 : : * - ClassId must be hashable (std::hash<ClassId> specialization must exist).
+ 21 : : *
+ 22 : : * @tparam ClassId Unique class identifier type (e.g. std::string, int, enum).
+ 23 : : * @tparam BaseClass Base type for all created objects.
+ 24 : : * @tparam Args Constructor arguments forwarded to registered derived types (by value).
+ 25 : : *
+ 26 : : * Usage example:
+ 27 : : * @code
+ 28 : : * #include <string>
+ 29 : : *
+ 30 : : * struct Base {
+ 31 : : * virtual ~Base() = default;
+ 32 : : * virtual int get() = 0;
+ 33 : : * };
+ 34 : : *
+ 35 : : * struct Derived1 : Base {
+ 36 : : * explicit Derived1(int start) : m_start(start) {}
+ 37 : : * int get() override { return m_start + 1; }
+ 38 : : * int m_start = 0;
+ 39 : : * };
+ 40 : : *
+ 41 : : * struct Derived2 : Base {
+ 42 : : * explicit Derived2(int start) : m_start(start) {}
+ 43 : : * int get() override { return m_start + 2; }
+ 44 : : * int m_start = 0;
+ 45 : : * };
+ 46 : : *
+ 47 : : * TypeFactory<std::string, Base, int> factory;
+ 48 : : * factory.registerType<Derived1>("one");
+ 49 : : * factory.registerType<Derived2>("two");
+ 50 : : *
+ 51 : : * std::shared_ptr<Base> a = factory.create("one", 10);
+ 52 : : * std::shared_ptr<Base> b = factory.creator("two")(10); // advanced API: get creator function
+ 53 : : *
+ 54 : : * (void)a->get();
+ 55 : : * (void)b->get();
+ 56 : : * @endcode
+ 57 : : */
+ 58 : : template<class ClassId, class BaseClass, class... Args>
+ 59 : : class TypeFactory {
+ 60 : : public:
+ 61 : : /** @brief Shared ownership handle returned for created instances. */
+ 62 : : using BasePtr = std::shared_ptr<BaseClass>;
+ 63 : : /** @brief Registered creator function signature. */
+ 64 : : using CreatorFn = BasePtr (*)(Args...);
+ 65 : :
+ 66 : 950 : TypeFactory() = default;
+ 67 : :
+ 68 : : /**
+ 69 : : * @brief Registers a Derived type under the given id.
+ 70 : : *
+ 71 : : * Requirements (checked at compile-time):
+ 72 : : * - Derived must inherit from BaseClass
+ 73 : : * - Derived must be constructible from Args...
+ 74 : : *
+ 75 : : * Re-registering the same id overwrites the previous entry ("last wins").
+ 76 : : */
+ 77 : : template<class Derived>
+ 78 : 14238 : void registerType(const ClassId &id) {
+ 79 : : static_assert(std::is_base_of_v<BaseClass, Derived>,
+ 80 : : "Derived must inherit from BaseClass");
+ 81 : : static_assert(std::is_constructible_v<Derived, Args...>,
+ 82 : : "Derived must be constructible from Args...");
+ 83 : :
+ 84 [ + - ]: 14238 : classes.insert_or_assign(id, &instantiate<Derived>);
+ 85 : 14238 : }
+ 86 : :
+ 87 : : /**
+ 88 : : * @brief Returns creator function for the given id.
+ 89 : : * @throws std::out_of_range when id is not registered.
+ 90 : : */
+ 91 : 14241 : [[nodiscard]] CreatorFn creator(const ClassId &id) const {
+ 92 : 14241 : return classes.at(id);
+ 93 : : }
+ 94 : :
+ 95 : : /**
+ 96 : : * @brief Creates an instance for the given id using provided arguments.
+ 97 : : * @throws std::out_of_range when id is not registered.
+ 98 : : */
+ 99 : 14239 : [[nodiscard]] BasePtr create(const ClassId &id, Args... args) const {
+ 100 [ + - ]: 14239 : return creator(id)(std::move(args)...);
+ 101 : : }
+ 102 : :
+ 103 : : /**
+ 104 : : * @brief Checks whether an id is registered.
+ 105 : : */
+ 106 : 2 : [[nodiscard]] bool contains(const ClassId &id) const {
+ 107 [ + - ]: 2 : return classes.find(id) != classes.end();
+ 108 : : }
+ 109 : :
+ 110 : : protected:
+ 111 : : /** @brief Registered creators; accessible to derived factories. */
+ 112 : : std::unordered_map<ClassId, CreatorFn> classes;
+ 113 : :
+ 114 : : private:
+ 115 : : template<class Derived>
+ 116 : 14240 : static BasePtr instantiate(Args... args) {
+ 117 [ + - ]: 14240 : return std::make_shared<Derived>(std::move(args)...);
+ 118 : : }
+ 119 : : };
+ 120 : : #endif// TYPEFACTORY_H
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/value_descriptions.h.func-c.html b/build-coverage/html/core/value_descriptions.h.func-c.html
new file mode 100644
index 0000000..6a94397
--- /dev/null
+++ b/build-coverage/html/core/value_descriptions.h.func-c.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/value_descriptions.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | FindValueDescription(std::map<std::variant<long, unsigned long>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::variant<long, unsigned long> >, std::allocator<std::pair<std::variant<long, unsigned long> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::variant<long, unsigned long> const&) |
+
+ 71 |
+
+
+
+
+
+ | NormalizeValueKey(std::variant<long, unsigned long> const&) |
+
+ 87 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/value_descriptions.h.func.html b/build-coverage/html/core/value_descriptions.h.func.html
new file mode 100644
index 0000000..5a6101c
--- /dev/null
+++ b/build-coverage/html/core/value_descriptions.h.func.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/value_descriptions.h - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | FindValueDescription(std::map<std::variant<long, unsigned long>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::variant<long, unsigned long> >, std::allocator<std::pair<std::variant<long, unsigned long> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::variant<long, unsigned long> const&) |
+
+ 71 |
+
+
+
+
+
+ | NormalizeValueKey(std::variant<long, unsigned long> const&) |
+
+ 87 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/core/value_descriptions.h.gcov.html b/build-coverage/html/core/value_descriptions.h.gcov.html
new file mode 100644
index 0000000..1f90fe1
--- /dev/null
+++ b/build-coverage/html/core/value_descriptions.h.gcov.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+ LCOV - coverage.info - core/value_descriptions.h
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #ifndef VALUE_DESCRIPTIONS_H
+ 3 : : #define VALUE_DESCRIPTIONS_H
+ 4 : :
+ 5 : : #include <cstdint>
+ 6 : : #include <map>
+ 7 : : #include <string>
+ 8 : : #include <variant>
+ 9 : :
+ 10 : : using RawSignalValue = std::variant<std::int64_t, std::uint64_t>;
+ 11 : :
+ 12 : : /** Canonical keys: negative int64_t, nonnegative uint64_t. */
+ 13 : 87 : inline RawSignalValue NormalizeValueKey(const RawSignalValue &value) {
+ 14 [ + + ]: 87 : if (const std::int64_t *number = std::get_if<std::int64_t>(&value)) {
+ 15 [ + + ]: 31 : if (*number >= 0)
+ 16 : 11 : return static_cast<std::uint64_t>(*number);
+ 17 : : }
+ 18 : 76 : return value;
+ 19 : : }
+ 20 : :
+ 21 : : using ValueDescriptions = std::map<RawSignalValue, std::string>;
+ 22 : :
+ 23 : : /** Returns a borrowed string, or nullptr; never converts integers to double. */
+ 24 : 71 : inline const std::string *FindValueDescription(const ValueDescriptions &descriptions,
+ 25 : : const RawSignalValue &rawValue) {
+ 26 [ + - ]: 71 : const ValueDescriptions::const_iterator found = descriptions.find(NormalizeValueKey(rawValue));
+ 27 [ + + ]: 71 : return found == descriptions.end() ? nullptr : &found->second;
+ 28 : : }
+ 29 : :
+ 30 : : #endif
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/emerald.png b/build-coverage/html/emerald.png
new file mode 100644
index 0000000..38ad4f4
Binary files /dev/null and b/build-coverage/html/emerald.png differ
diff --git a/build-coverage/html/gcov.css b/build-coverage/html/gcov.css
new file mode 100644
index 0000000..1cacc83
--- /dev/null
+++ b/build-coverage/html/gcov.css
@@ -0,0 +1,1125 @@
+/* All views: initial background and text color */
+body
+{
+ color: #000000;
+ background-color: #ffffff;
+}
+
+/* All views: standard link format*/
+a:link
+{
+ color: #284fa8;
+ text-decoration: underline;
+}
+
+/* All views: standard link - visited format */
+a:visited
+{
+ color: #00cb40;
+ text-decoration: underline;
+}
+
+/* All views: standard link - activated format */
+a:active
+{
+ color: #ff0040;
+ text-decoration: underline;
+}
+
+/* All views: main title format */
+td.title
+{
+ text-align: center;
+ padding-bottom: 10px;
+ font-family: sans-serif;
+ font-size: 20pt;
+ font-style: italic;
+ font-weight: bold;
+}
+/* table footnote */
+td.footnote
+{
+ text-align: left;
+ padding-left: 100px;
+ padding-right: 10px;
+ background-color: #dae7fe; /* light blue table background color */
+ /* dark blue table header color
+ background-color: #6688d4; */
+ white-space: nowrap;
+ font-family: sans-serif;
+ font-style: italic;
+ font-size:70%;
+}
+/* "Line coverage date bins" leader */
+td.subTableHeader
+{
+ text-align: center;
+ padding-bottom: 6px;
+ font-family: sans-serif;
+ font-weight: bold;
+ vertical-align: center;
+}
+
+/* All views: header item format */
+td.headerItem
+{
+ text-align: right;
+ padding-right: 6px;
+ font-family: sans-serif;
+ font-weight: bold;
+ vertical-align: top;
+ white-space: nowrap;
+}
+
+/* All views: header item value format */
+td.headerValue
+{
+ text-align: left;
+ color: #284fa8;
+ font-family: sans-serif;
+ font-weight: bold;
+ white-space: nowrap;
+}
+
+/* All views: header item coverage table heading */
+td.headerCovTableHead
+{
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+}
+
+/* All views: header item coverage table entry */
+td.headerCovTableEntry
+{
+ text-align: right;
+ color: #284fa8;
+ font-family: sans-serif;
+ font-weight: bold;
+ white-space: nowrap;
+ padding-left: 12px;
+ padding-right: 4px;
+ background-color: #dae7fe;
+}
+
+/* All views: header item coverage table entry for high coverage rate */
+td.headerCovTableEntryHi
+{
+ text-align: right;
+ color: #000000;
+ font-family: sans-serif;
+ font-weight: bold;
+ white-space: nowrap;
+ padding-left: 12px;
+ padding-right: 4px;
+ background-color: #a7fc9d;
+}
+
+/* All views: header item coverage table entry for medium coverage rate */
+td.headerCovTableEntryMed
+{
+ text-align: right;
+ color: #000000;
+ font-family: sans-serif;
+ font-weight: bold;
+ white-space: nowrap;
+ padding-left: 12px;
+ padding-right: 4px;
+ background-color: #ffea20;
+}
+
+/* All views: header item coverage table entry for ow coverage rate */
+td.headerCovTableEntryLo
+{
+ text-align: right;
+ color: #000000;
+ font-family: sans-serif;
+ font-weight: bold;
+ white-space: nowrap;
+ padding-left: 12px;
+ padding-right: 4px;
+ background-color: #ff0000;
+}
+
+/* All views: header legend value for legend entry */
+td.headerValueLeg
+{
+ text-align: left;
+ color: #000000;
+ font-family: sans-serif;
+ font-size: 80%;
+ white-space: nowrap;
+ padding-top: 4px;
+}
+
+/* All views: color of horizontal ruler */
+td.ruler
+{
+ background-color: #6688d4;
+}
+
+/* All views: version string format */
+td.versionInfo
+{
+ text-align: center;
+ padding-top: 2px;
+ font-family: sans-serif;
+ font-style: italic;
+}
+
+/* Directory view/File view (all)/Test case descriptions:
+ table headline format */
+td.tableHead
+{
+ text-align: center;
+ color: #ffffff;
+ background-color: #6688d4;
+ font-family: sans-serif;
+ font-size: 120%;
+ font-weight: bold;
+ white-space: nowrap;
+ padding-left: 4px;
+ padding-right: 4px;
+}
+
+span.tableHeadSort
+{
+ padding-right: 4px;
+}
+
+/* Directory view/File view (all): filename entry format */
+td.coverFile
+{
+ text-align: left;
+ padding-left: 10px;
+ padding-right: 20px;
+ color: #284fa8;
+ background-color: #dae7fe;
+ font-family: monospace;
+}
+
+/* Directory view/File view (all): directory name entry format */
+td.coverDirectory
+{
+ text-align: left;
+ padding-left: 10px;
+ padding-right: 20px;
+ color: #284fa8;
+ background-color: #b8d0ff;
+ font-family: monospace;
+}
+
+/* Directory view/File view (all): filename entry format */
+td.overallOwner
+{
+ text-align: center;
+ font-weight: bold;
+ font-family: sans-serif;
+ background-color: #dae7fe;
+ padding-right: 10px;
+ padding-left: 10px;
+}
+
+/* Directory view/File view (all): filename entry format */
+td.ownerName
+{
+ text-align: right;
+ font-style: italic;
+ font-family: sans-serif;
+ background-color: #E5DBDB;
+ padding-right: 10px;
+ padding-left: 20px;
+}
+
+/* Directory view/File view (all): bar-graph entry format*/
+td.coverBar
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #dae7fe;
+}
+
+/* Directory view/File view (all): bar-graph entry format*/
+td.owner_coverBar
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #E5DBDB;
+}
+
+/* Directory view/File view (all): bar-graph outline color */
+td.coverBarOutline
+{
+ background-color: #000000;
+}
+
+/* Directory view/File view (all): percentage entry for files with
+ high coverage rate */
+td.coverPerHi
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #a7fc9d;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+/* 'owner' entry: slightly lighter color than 'coverPerHi' */
+td.owner_coverPerHi
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #82E0AA;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+/* Directory view/File view (all): line count entry */
+td.coverNumDflt
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #dae7fe;
+ white-space: nowrap;
+ font-family: sans-serif;
+}
+
+/* td background color and font for the 'owner' section of the table */
+td.ownerTla
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #E5DBDB;
+ white-space: nowrap;
+ font-family: sans-serif;
+ font-style: italic;
+}
+
+/* Directory view/File view (all): line count entry for files with
+ high coverage rate */
+td.coverNumHi
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #a7fc9d;
+ white-space: nowrap;
+ font-family: sans-serif;
+}
+
+td.owner_coverNumHi
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #82E0AA;
+ white-space: nowrap;
+ font-family: sans-serif;
+}
+
+/* Directory view/File view (all): percentage entry for files with
+ medium coverage rate */
+td.coverPerMed
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #ffea20;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+td.owner_coverPerMed
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #F9E79F;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+/* Directory view/File view (all): line count entry for files with
+ medium coverage rate */
+td.coverNumMed
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #ffea20;
+ white-space: nowrap;
+ font-family: sans-serif;
+}
+
+td.owner_coverNumMed
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #F9E79F;
+ white-space: nowrap;
+ font-family: sans-serif;
+}
+
+/* Directory view/File view (all): percentage entry for files with
+ low coverage rate */
+td.coverPerLo
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #ff0000;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+td.owner_coverPerLo
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #EC7063;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+/* Directory view/File view (all): line count entry for files with
+ low coverage rate */
+td.coverNumLo
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #ff0000;
+ white-space: nowrap;
+ font-family: sans-serif;
+}
+
+td.owner_coverNumLo
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #EC7063;
+ white-space: nowrap;
+ font-family: sans-serif;
+}
+
+/* File view (all): "show/hide details" link format */
+a.detail:link
+{
+ color: #b8d0ff;
+ font-size:80%;
+}
+
+/* File view (all): "show/hide details" link - visited format */
+a.detail:visited
+{
+ color: #b8d0ff;
+ font-size:80%;
+}
+
+/* File view (all): "show/hide details" link - activated format */
+a.detail:active
+{
+ color: #ffffff;
+ font-size:80%;
+}
+
+/* File view (detail): test name entry */
+td.testName
+{
+ text-align: right;
+ padding-right: 10px;
+ background-color: #dae7fe;
+ font-family: sans-serif;
+}
+
+/* File view (detail): test percentage entry */
+td.testPer
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #dae7fe;
+ font-family: sans-serif;
+}
+
+/* File view (detail): test lines count entry */
+td.testNum
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #dae7fe;
+ font-family: sans-serif;
+}
+
+/* Test case descriptions: test name format*/
+dt
+{
+ font-family: sans-serif;
+ font-weight: bold;
+}
+
+/* Test case descriptions: description table body */
+td.testDescription
+{
+ padding-top: 10px;
+ padding-left: 30px;
+ padding-bottom: 10px;
+ padding-right: 30px;
+ background-color: #dae7fe;
+}
+
+/* Source code view: function entry */
+td.coverFn
+{
+ text-align: left;
+ padding-left: 10px;
+ padding-right: 20px;
+ color: #284fa8;
+ background-color: #dae7fe;
+ font-family: monospace;
+}
+
+/* Source code view: function entry zero count*/
+td.coverFnLo
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #ff0000;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+/* Source code view: function entry nonzero count*/
+td.coverFnHi
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #dae7fe;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+td.coverFnAlias
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 20px;
+ color: #284fa8;
+ /* make this a slightly different color than the leader - otherwise,
+ otherwise the alias is hard to distinguish in the table */
+ background-color: #E5DBDB; /* very light pale grey/blue */
+ font-family: monospace;
+}
+
+/* Source code view: function entry zero count*/
+td.coverFnAliasLo
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #EC7063; /* lighter red */
+ font-family: sans-serif;
+}
+
+/* Source code view: function entry nonzero count*/
+td.coverFnAliasHi
+{
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #dae7fe;
+ font-weight: bold;
+ font-family: sans-serif;
+}
+
+/* Source code view: source code format */
+pre.source
+{
+ font-family: monospace;
+ white-space: pre;
+ margin-top: 2px;
+}
+
+/* elided/removed code */
+span.elidedSource
+{
+ font-family: sans-serif;
+ /*font-size: 8pt; */
+ font-style: italic;
+ background-color: lightgrey;
+}
+
+/* Source code view: line number format */
+span.lineNum
+{
+ background-color: #efe383;
+}
+
+/* Source code view: line number format when there are deleted
+ lines in the corresponding location */
+span.lineNumWithDelete
+{
+ foreground-color: #efe383;
+ background-color: lightgrey;
+}
+
+/* Source code view: format for Cov legend */
+span.coverLegendCov
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-bottom: 2px;
+ background-color: #cad7fe;
+}
+
+/* Source code view: format for NoCov legend */
+span.coverLegendNoCov
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-bottom: 2px;
+ background-color: #ff6230;
+}
+
+/* Source code view: format for the source code heading line */
+pre.sourceHeading
+{
+ white-space: pre;
+ font-family: monospace;
+ font-weight: bold;
+ margin: 0px;
+}
+
+/* All views: header legend value for low rate */
+td.headerValueLegL
+{
+ font-family: sans-serif;
+ text-align: center;
+ white-space: nowrap;
+ padding-left: 4px;
+ padding-right: 2px;
+ background-color: #ff0000;
+ font-size: 80%;
+}
+
+/* All views: header legend value for med rate */
+td.headerValueLegM
+{
+ font-family: sans-serif;
+ text-align: center;
+ white-space: nowrap;
+ padding-left: 2px;
+ padding-right: 2px;
+ background-color: #ffea20;
+ font-size: 80%;
+}
+
+/* All views: header legend value for hi rate */
+td.headerValueLegH
+{
+ font-family: sans-serif;
+ text-align: center;
+ white-space: nowrap;
+ padding-left: 2px;
+ padding-right: 4px;
+ background-color: #a7fc9d;
+ font-size: 80%;
+}
+
+/* All views except source code view: legend format for low coverage */
+span.coverLegendCovLo
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 2px;
+ background-color: #ff0000;
+}
+
+/* All views except source code view: legend format for med coverage */
+span.coverLegendCovMed
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 2px;
+ background-color: #ffea20;
+}
+
+/* All views except source code view: legend format for hi coverage */
+span.coverLegendCovHi
+{
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 2px;
+ background-color: #a7fc9d;
+}
+
+a.branchTla:link
+{
+ color: #000000;
+}
+
+a.branchTla:visited
+{
+ color: #000000;
+}
+
+a.mcdcTla:link
+{
+ color: #000000;
+}
+
+a.mcdcTla:visited
+{
+ color: #000000;
+}
+
+/* Source code view/table entry background: format for lines classified as "Uncovered New Code (+ => 0):
+Newly added code is not tested" */
+td.tlaUNC
+{
+ text-align: right;
+ background-color: #FF6230;
+}
+td.tlaBgUNC {
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Uncovered New Code (+ => 0):
+Newly added code is not tested" */
+span.tlaUNC
+{
+ text-align: left;
+ background-color: #FF6230;
+}
+span.tlaBgUNC {
+ background-color: #FF6230;
+}
+a.tlaBgUNC {
+ background-color: #FF6230;
+ color: #000000;
+}
+
+td.headerCovTableHeadUNC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Lost Baseline Coverage (1 => 0):
+Unchanged code is no longer tested" */
+td.tlaLBC
+{
+ text-align: right;
+ background-color: #FF6230;
+}
+td.tlaBgLBC {
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Lost Baseline Coverage (1 => 0):
+Unchanged code is no longer tested" */
+span.tlaLBC
+{
+ text-align: left;
+ background-color: #FF6230;
+}
+span.tlaBgLBC {
+ background-color: #FF6230;
+}
+a.tlaBgLBC {
+ background-color: #FF6230;
+ color: #000000;
+}
+
+td.headerCovTableHeadLBC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Uncovered Included Code (# => 0):
+Previously unused code is untested" */
+td.tlaUIC
+{
+ text-align: right;
+ background-color: #FF6230;
+}
+td.tlaBgUIC {
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Uncovered Included Code (# => 0):
+Previously unused code is untested" */
+span.tlaUIC
+{
+ text-align: left;
+ background-color: #FF6230;
+}
+span.tlaBgUIC {
+ background-color: #FF6230;
+}
+a.tlaBgUIC {
+ background-color: #FF6230;
+ color: #000000;
+}
+
+td.headerCovTableHeadUIC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Uncovered Baseline Code (0 => 0):
+Unchanged code was untested before, is untested now" */
+td.tlaUBC
+{
+ text-align: right;
+ background-color: #FF6230;
+}
+td.tlaBgUBC {
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Uncovered Baseline Code (0 => 0):
+Unchanged code was untested before, is untested now" */
+span.tlaUBC
+{
+ text-align: left;
+ background-color: #FF6230;
+}
+span.tlaBgUBC {
+ background-color: #FF6230;
+}
+a.tlaBgUBC {
+ background-color: #FF6230;
+ color: #000000;
+}
+
+td.headerCovTableHeadUBC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FF6230;
+}
+
+/* Source code view/table entry background: format for lines classified as "Gained Baseline Coverage (0 => 1):
+Unchanged code is tested now" */
+td.tlaGBC
+{
+ text-align: right;
+ background-color: #CAD7FE;
+}
+td.tlaBgGBC {
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Gained Baseline Coverage (0 => 1):
+Unchanged code is tested now" */
+span.tlaGBC
+{
+ text-align: left;
+ background-color: #CAD7FE;
+}
+span.tlaBgGBC {
+ background-color: #CAD7FE;
+}
+a.tlaBgGBC {
+ background-color: #CAD7FE;
+ color: #000000;
+}
+
+td.headerCovTableHeadGBC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Gained Included Coverage (# => 1):
+Previously unused code is tested now" */
+td.tlaGIC
+{
+ text-align: right;
+ background-color: #CAD7FE;
+}
+td.tlaBgGIC {
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Gained Included Coverage (# => 1):
+Previously unused code is tested now" */
+span.tlaGIC
+{
+ text-align: left;
+ background-color: #CAD7FE;
+}
+span.tlaBgGIC {
+ background-color: #CAD7FE;
+}
+a.tlaBgGIC {
+ background-color: #CAD7FE;
+ color: #000000;
+}
+
+td.headerCovTableHeadGIC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Gained New Coverage (+ => 1):
+Newly added code is tested" */
+td.tlaGNC
+{
+ text-align: right;
+ background-color: #CAD7FE;
+}
+td.tlaBgGNC {
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Gained New Coverage (+ => 1):
+Newly added code is tested" */
+span.tlaGNC
+{
+ text-align: left;
+ background-color: #CAD7FE;
+}
+span.tlaBgGNC {
+ background-color: #CAD7FE;
+}
+a.tlaBgGNC {
+ background-color: #CAD7FE;
+ color: #000000;
+}
+
+td.headerCovTableHeadGNC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Covered Baseline Code (1 => 1):
+Unchanged code was tested before and is still tested" */
+td.tlaCBC
+{
+ text-align: right;
+ background-color: #CAD7FE;
+}
+td.tlaBgCBC {
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Covered Baseline Code (1 => 1):
+Unchanged code was tested before and is still tested" */
+span.tlaCBC
+{
+ text-align: left;
+ background-color: #CAD7FE;
+}
+span.tlaBgCBC {
+ background-color: #CAD7FE;
+}
+a.tlaBgCBC {
+ background-color: #CAD7FE;
+ color: #000000;
+}
+
+td.headerCovTableHeadCBC {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #CAD7FE;
+}
+
+/* Source code view/table entry background: format for lines classified as "Excluded Uncovered Baseline (0 => #):
+Previously untested code is unused now" */
+td.tlaEUB
+{
+ text-align: right;
+ background-color: #FFFFFF;
+}
+td.tlaBgEUB {
+ background-color: #FFFFFF;
+}
+
+/* Source code view/table entry background: format for lines classified as "Excluded Uncovered Baseline (0 => #):
+Previously untested code is unused now" */
+span.tlaEUB
+{
+ text-align: left;
+ background-color: #FFFFFF;
+}
+span.tlaBgEUB {
+ background-color: #FFFFFF;
+}
+a.tlaBgEUB {
+ background-color: #FFFFFF;
+ color: #000000;
+}
+
+td.headerCovTableHeadEUB {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FFFFFF;
+}
+
+/* Source code view/table entry background: format for lines classified as "Excluded Covered Baseline (1 => #):
+Previously tested code is unused now" */
+td.tlaECB
+{
+ text-align: right;
+ background-color: #FFFFFF;
+}
+td.tlaBgECB {
+ background-color: #FFFFFF;
+}
+
+/* Source code view/table entry background: format for lines classified as "Excluded Covered Baseline (1 => #):
+Previously tested code is unused now" */
+span.tlaECB
+{
+ text-align: left;
+ background-color: #FFFFFF;
+}
+span.tlaBgECB {
+ background-color: #FFFFFF;
+}
+a.tlaBgECB {
+ background-color: #FFFFFF;
+ color: #000000;
+}
+
+td.headerCovTableHeadECB {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FFFFFF;
+}
+
+/* Source code view/table entry background: format for lines classified as "Deleted Uncovered Baseline (0 => -):
+Previously untested code has been deleted" */
+td.tlaDUB
+{
+ text-align: right;
+ background-color: #FFFFFF;
+}
+td.tlaBgDUB {
+ background-color: #FFFFFF;
+}
+
+/* Source code view/table entry background: format for lines classified as "Deleted Uncovered Baseline (0 => -):
+Previously untested code has been deleted" */
+span.tlaDUB
+{
+ text-align: left;
+ background-color: #FFFFFF;
+}
+span.tlaBgDUB {
+ background-color: #FFFFFF;
+}
+a.tlaBgDUB {
+ background-color: #FFFFFF;
+ color: #000000;
+}
+
+td.headerCovTableHeadDUB {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FFFFFF;
+}
+
+/* Source code view/table entry background: format for lines classified as "Deleted Covered Baseline (1 => -):
+Previously tested code has been deleted" */
+td.tlaDCB
+{
+ text-align: right;
+ background-color: #FFFFFF;
+}
+td.tlaBgDCB {
+ background-color: #FFFFFF;
+}
+
+/* Source code view/table entry background: format for lines classified as "Deleted Covered Baseline (1 => -):
+Previously tested code has been deleted" */
+span.tlaDCB
+{
+ text-align: left;
+ background-color: #FFFFFF;
+}
+span.tlaBgDCB {
+ background-color: #FFFFFF;
+}
+a.tlaBgDCB {
+ background-color: #FFFFFF;
+ color: #000000;
+}
+
+td.headerCovTableHeadDCB {
+ text-align: center;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-bottom: 0px;
+ font-family: sans-serif;
+ white-space: nowrap;
+ background-color: #FFFFFF;
+}
+
+/* Source code view: format for date/owner bin that is not hit */
+span.missBins
+{
+ background-color: #ff0000 /* red */
+}
diff --git a/build-coverage/html/glass.png b/build-coverage/html/glass.png
new file mode 100644
index 0000000..e1abc00
Binary files /dev/null and b/build-coverage/html/glass.png differ
diff --git a/build-coverage/html/index-sort-b.html b/build-coverage/html/index-sort-b.html
new file mode 100644
index 0000000..a8960dc
--- /dev/null
+++ b/build-coverage/html/index-sort-b.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+ LCOV - coverage.info
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ Directory  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | core/ |
+
+
+ |
+ 98.6 % |
+ 1185 |
+ 1168 |
+ 71.6 % |
+ 2152 |
+ 1540 |
+ 100.0 % |
+ 158 |
+ 158 |
+
+
+ | qt/ |
+
+
+ |
+ 97.4 % |
+ 115 |
+ 112 |
+ 80.2 % |
+ 212 |
+ 170 |
+ 100.0 % |
+ 11 |
+ 11 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/index-sort-f.html b/build-coverage/html/index-sort-f.html
new file mode 100644
index 0000000..58109be
--- /dev/null
+++ b/build-coverage/html/index-sort-f.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+ LCOV - coverage.info
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ Directory  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | qt/ |
+
+
+ |
+ 97.4 % |
+ 115 |
+ 112 |
+ 80.2 % |
+ 212 |
+ 170 |
+ 100.0 % |
+ 11 |
+ 11 |
+
+
+ | core/ |
+
+
+ |
+ 98.6 % |
+ 1185 |
+ 1168 |
+ 71.6 % |
+ 2152 |
+ 1540 |
+ 100.0 % |
+ 158 |
+ 158 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/index-sort-l.html b/build-coverage/html/index-sort-l.html
new file mode 100644
index 0000000..e8cf380
--- /dev/null
+++ b/build-coverage/html/index-sort-l.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+ LCOV - coverage.info
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ Directory  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | qt/ |
+
+
+ |
+ 97.4 % |
+ 115 |
+ 112 |
+ 80.2 % |
+ 212 |
+ 170 |
+ 100.0 % |
+ 11 |
+ 11 |
+
+
+ | core/ |
+
+
+ |
+ 98.6 % |
+ 1185 |
+ 1168 |
+ 71.6 % |
+ 2152 |
+ 1540 |
+ 100.0 % |
+ 158 |
+ 158 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/index.html b/build-coverage/html/index.html
new file mode 100644
index 0000000..aca60a9
--- /dev/null
+++ b/build-coverage/html/index.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+ LCOV - coverage.info
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ Directory  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | core/ |
+
+
+ |
+ 98.6 % |
+ 1185 |
+ 1168 |
+ 71.6 % |
+ 2152 |
+ 1540 |
+ 100.0 % |
+ 158 |
+ 158 |
+
+
+ | qt/ |
+
+
+ |
+ 97.4 % |
+ 115 |
+ 112 |
+ 80.2 % |
+ 212 |
+ 170 |
+ 100.0 % |
+ 11 |
+ 11 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/qt/dbc_tree_model.cpp.func-c.html b/build-coverage/html/qt/dbc_tree_model.cpp.func-c.html
new file mode 100644
index 0000000..c8bfa2d
--- /dev/null
+++ b/build-coverage/html/qt/dbc_tree_model.cpp.func-c.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+ LCOV - coverage.info - qt/dbc_tree_model.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | DbcTreeModel::DbcTreeModel(QObject*) |
+
+ 6 |
+
+
+
+
+
+ | DbcTreeModel::SetTree(std::unique_ptr<TreeNode, std::default_delete<TreeNode> >) |
+
+ 12 |
+
+
+
+
+
+ | (anonymous namespace)::ToVariantList(std::map<std::variant<long, unsigned long>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::variant<long, unsigned long> >, std::allocator<std::pair<std::variant<long, unsigned long> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) |
+
+ 20 |
+
+
+
+
+
+ | DbcTreeModel::headerData(int, Qt::Orientation, int) const |
+
+ 30 |
+
+
+
+
+
+ | DbcTreeModel::flags(QModelIndex const&) const |
+
+ 39 |
+
+
+
+
+
+ | DbcTreeModel::data(QModelIndex const&, int) const |
+
+ 240 |
+
+
+
+
+
+ | DbcTreeModel::columnCount(QModelIndex const&) const |
+
+ 395 |
+
+
+
+
+
+ | DbcTreeModel::rowCount(QModelIndex const&) const |
+
+ 700 |
+
+
+
+
+
+ | DbcTreeModel::parent(QModelIndex const&) const |
+
+ 783 |
+
+
+
+
+
+ | DbcTreeModel::index(int, int, QModelIndex const&) const |
+
+ 1254 |
+
+
+
+
+
+ | DbcTreeModel::Node(QModelIndex const&) const |
+
+ 2110 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/qt/dbc_tree_model.cpp.func.html b/build-coverage/html/qt/dbc_tree_model.cpp.func.html
new file mode 100644
index 0000000..42a2ffc
--- /dev/null
+++ b/build-coverage/html/qt/dbc_tree_model.cpp.func.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+ LCOV - coverage.info - qt/dbc_tree_model.cpp - functions
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+ Function Name  |
+
+ Hit count  |
+
+
+
+
+
+ | (anonymous namespace)::ToVariantList(std::map<std::variant<long, unsigned long>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::variant<long, unsigned long> >, std::allocator<std::pair<std::variant<long, unsigned long> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) |
+
+ 20 |
+
+
+
+
+
+ | DbcTreeModel::DbcTreeModel(QObject*) |
+
+ 6 |
+
+
+
+
+
+ | DbcTreeModel::Node(QModelIndex const&) const |
+
+ 2110 |
+
+
+
+
+
+ | DbcTreeModel::SetTree(std::unique_ptr<TreeNode, std::default_delete<TreeNode> >) |
+
+ 12 |
+
+
+
+
+
+ | DbcTreeModel::columnCount(QModelIndex const&) const |
+
+ 395 |
+
+
+
+
+
+ | DbcTreeModel::data(QModelIndex const&, int) const |
+
+ 240 |
+
+
+
+
+
+ | DbcTreeModel::flags(QModelIndex const&) const |
+
+ 39 |
+
+
+
+
+
+ | DbcTreeModel::headerData(int, Qt::Orientation, int) const |
+
+ 30 |
+
+
+
+
+
+ | DbcTreeModel::index(int, int, QModelIndex const&) const |
+
+ 1254 |
+
+
+
+
+
+ | DbcTreeModel::parent(QModelIndex const&) const |
+
+ 783 |
+
+
+
+
+
+ | DbcTreeModel::rowCount(QModelIndex const&) const |
+
+ 700 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/qt/dbc_tree_model.cpp.gcov.html b/build-coverage/html/qt/dbc_tree_model.cpp.gcov.html
new file mode 100644
index 0000000..1fd88c7
--- /dev/null
+++ b/build-coverage/html/qt/dbc_tree_model.cpp.gcov.html
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+ LCOV - coverage.info - qt/dbc_tree_model.cpp
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
|
+
+
+
+ Branch data Line data Source code
+
+ 1 : : // SPDX-License-Identifier: MIT
+ 2 : : #include "dbc_tree_model.h"
+ 3 : : #include <QVariantList>
+ 4 : : #include <QVariantMap>
+ 5 : : #include <limits>
+ 6 : : #include <stdexcept>
+ 7 : :
+ 8 : : namespace {
+ 9 : 20 : QVariantList ToVariantList(const ValueDescriptions &values) {
+ 10 : 20 : QVariantList descriptions;
+ 11 [ + + ]: 50 : for (const ValueDescriptions::value_type &entry : values) {
+ 12 : 30 : QVariantMap pair;
+ 13 [ + + ]: 30 : if (const std::int64_t *number = std::get_if<std::int64_t>(&entry.first))
+ 14 [ + - + - ]: 10 : pair.insert("value", QVariant::fromValue(static_cast<qlonglong>(*number)));
+ 15 : : else
+ 16 [ + - + - ]: 20 : pair.insert("value", QVariant::fromValue(
+ 17 [ + - ]: 40 : static_cast<qulonglong>(std::get<std::uint64_t>(entry.first))));
+ 18 [ + - + - : 30 : pair.insert("description", QString::fromStdString(entry.second));
+ + - ]
+ 19 [ + - ]: 30 : descriptions.append(pair);
+ 20 : 30 : }
+ 21 : 20 : return descriptions;
+ 22 : 0 : }
+ 23 : : } // namespace
+ 24 : :
+ 25 : 6 : DbcTreeModel::DbcTreeModel(QObject *parent) : QAbstractItemModel(parent) {}
+ 26 : :
+ 27 : 12 : void DbcTreeModel::SetTree(std::unique_ptr<TreeNode> root) {
+ 28 [ + + + + : 12 : if (root && (root->GetType() != NodeType::Root || root->GetParent()))
+ - + + + ]
+ 29 [ + - ]: 2 : throw std::invalid_argument("Model requires a detached root node");
+ 30 : 10 : beginResetModel();
+ 31 : 10 : m_root = std::move(root);
+ 32 : 10 : endResetModel();
+ 33 : 10 : }
+ 34 : :
+ 35 : 2110 : const TreeNode *DbcTreeModel::Node(const QModelIndex &index) const {
+ 36 [ + + + - : 6258 : if (!index.isValid() || index.model() != this || index.column() < 0 ||
+ + - ]
+ 37 [ + + - + : 6258 : index.column() >= ColumnCount || index.row() < 0)
+ + + ]
+ 38 : 39 : return nullptr;
+ 39 : 2071 : return static_cast<const TreeNode *>(index.internalPointer());
+ 40 : : }
+ 41 : :
+ 42 : 1254 : QModelIndex DbcTreeModel::index(int row, int column, const QModelIndex &parentIndex) const {
+ 43 [ + + + + : 3134 : if (row < 0 || column < 0 || column >= ColumnCount ||
+ + + + + +
+ + ]
+ 44 [ + + ]: 1880 : (parentIndex.isValid() && parentIndex.column() != 0))
+ 45 : 28 : return {};
+ 46 [ + + ]: 1226 : const TreeNode *owner = parentIndex.isValid() ? Node(parentIndex) : m_root.get();
+ 47 [ + + ]: 1226 : if (!owner)
+ 48 : 2 : return {};
+ 49 : 1224 : const TreeNode *child = owner->GetChild(static_cast<std::size_t>(row));
+ 50 [ + + ]: 1224 : return child ? createIndex(row, column, const_cast<TreeNode *>(child)) : QModelIndex();
+ 51 : : }
+ 52 : :
+ 53 : 783 : QModelIndex DbcTreeModel::parent(const QModelIndex &childIndex) const {
+ 54 : 783 : const TreeNode *child = Node(childIndex);
+ 55 [ + + ]: 783 : const TreeNode *owner = child ? child->GetParent() : nullptr;
+ 56 [ + + + + : 783 : if (!owner || owner == m_root.get())
+ + + ]
+ 57 : 336 : return {};
+ 58 : 447 : return createIndex(static_cast<int>(owner->GetRow()), 0, const_cast<TreeNode *>(owner));
+ 59 : : }
+ 60 : :
+ 61 : 700 : int DbcTreeModel::rowCount(const QModelIndex &parentIndex) const {
+ 62 [ + + + + : 700 : if (parentIndex.isValid() && parentIndex.column() != 0)
+ + + ]
+ 63 : 204 : return 0;
+ 64 [ + + ]: 496 : const TreeNode *owner = parentIndex.isValid() ? Node(parentIndex) : m_root.get();
+ 65 [ + + ]: 496 : if (!owner)
+ 66 : 53 : return 0;
+ 67 [ + - ]: 443 : return static_cast<int>(qMin(owner->GetChildCount(), static_cast<std::size_t>(std::numeric_limits<int>::max())));
+ 68 : : }
+ 69 : :
+ 70 : 395 : int DbcTreeModel::columnCount(const QModelIndex &parentIndex) const {
+ 71 [ + + + + ]: 395 : return parentIndex.isValid() && !Node(parentIndex) ? 0 : ColumnCount;
+ 72 : : }
+ 73 : :
+ 74 : 240 : QVariant DbcTreeModel::data(const QModelIndex &item, int role) const {
+ 75 [ + - ]: 240 : const TreeNode *node = Node(item);
+ 76 [ + + ]: 240 : if (!node)
+ 77 : 2 : return {};
+ 78 [ + - ]: 238 : const FrameInfo *frame = node->GetFrame();
+ 79 [ + - ]: 238 : const SignalInfo *signal = node->GetSignal();
+ 80 : 238 : QString comment;
+ 81 [ + + ]: 238 : if (frame != nullptr)
+ 82 [ + - ]: 126 : comment = QString::fromStdString(frame->comment);
+ 83 [ + - ]: 112 : else if (signal != nullptr)
+ 84 [ + - ]: 112 : comment = QString::fromStdString(signal->comment);
+ 85 [ + + + + ]: 238 : if (role == Qt::ToolTipRole || role == CommentRole)
+ 86 : 41 : return comment;
+ 87 [ + + ]: 197 : if (role == NodeTypeRole)
+ 88 [ + - ]: 2 : return static_cast<int>(node->GetType());
+ 89 [ + + + + ]: 195 : if (role == ValueDescriptionsRole && signal) {
+ 90 [ + - ]: 20 : return ToVariantList(signal->valueDescriptions);
+ 91 : : }
+ 92 [ + + ]: 175 : if (frame) {
+ 93 [ + + ]: 103 : if (role == CanIdRole)
+ 94 : 10 : return frame->canId;
+ 95 [ + + ]: 93 : if (role == PayloadLengthRole)
+ 96 : 10 : return static_cast<int>(frame->dlc);
+ 97 [ + + ]: 83 : if (role == ExtendedRole)
+ 98 : 10 : return frame->isExtended;
+ 99 : : }
+ 100 [ + + ]: 145 : if (signal) {
+ 101 [ + + ]: 72 : if (role == StartBitRole)
+ 102 : 10 : return signal->startBit;
+ 103 [ + + ]: 62 : if (role == BitLengthRole)
+ 104 : 10 : return signal->length;
+ 105 [ + + ]: 52 : if (role == LittleEndianRole)
+ 106 : 10 : return signal->isLittleEndian;
+ 107 [ + + ]: 42 : if (role == SignedRole)
+ 108 : 10 : return signal->isSigned;
+ 109 [ + + ]: 32 : if (role == UnitRole)
+ 110 [ + - ]: 10 : return QString::fromStdString(signal->unit);
+ 111 : : }
+ 112 [ + + ]: 95 : if (role != Qt::DisplayRole)
+ 113 : 66 : return {};
+ 114 [ + + + + : 29 : switch (item.column()) {
+ + + + + +
+ - ]
+ 115 : 9 : case Name:
+ 116 [ + - + - ]: 9 : return QString::fromStdString(node->GetName());
+ 117 : 4 : case CanId:
+ 118 [ + + + - : 8 : return frame ? QVariant(QString("0x%1").arg(frame->canId, 0, 16).toUpper()) : QVariant();
+ + - + - +
+ + + + + +
+ - - - - -
+ - ]
+ 119 : 2 : case PayloadLength:
+ 120 [ + + ]: 2 : return frame ? QVariant(static_cast<int>(frame->dlc)) : QVariant();
+ 121 : 2 : case StartBit:
+ 122 [ + + ]: 2 : return signal ? QVariant(signal->startBit) : QVariant();
+ 123 : 2 : case BitLength:
+ 124 [ + + ]: 2 : return signal ? QVariant(signal->length) : QVariant();
+ 125 : 3 : case ByteOrder:
+ 126 [ + + + + : 3 : return signal ? QVariant(signal->isLittleEndian ? "Intel" : "Motorola") : QVariant();
+ + - ]
+ 127 : 3 : case Signed:
+ 128 [ + + + + : 3 : return signal ? QVariant(signal->isSigned ? "Signed" : "Unsigned") : QVariant();
+ + - ]
+ 129 : 2 : case Unit:
+ 130 [ + + + - : 4 : return signal ? QVariant(QString::fromStdString(signal->unit)) : QVariant();
+ + + - - ]
+ 131 : 2 : case Comment:
+ 132 : 2 : return comment;
+ 133 : 0 : default:
+ 134 : 0 : return {};
+ 135 : : }
+ 136 : 238 : }
+ 137 : :
+ 138 : 30 : QVariant DbcTreeModel::headerData(int section, Qt::Orientation orientation, int role) const {
+ 139 : : static const char *const headers[] = {"Name", "CAN ID", "Payload (bytes)", "Start bit", "Length (bits)", "Byte order", "Signedness", "Unit", "Comment"};
+ 140 [ + + + + : 30 : if (orientation != Qt::Horizontal || role != Qt::DisplayRole || section < 0 || section >= ColumnCount)
+ + + + + ]
+ 141 : 12 : return {};
+ 142 [ + - ]: 18 : return QString::fromLatin1(headers[section]);
+ 143 : : }
+ 144 : :
+ 145 : 39 : Qt::ItemFlags DbcTreeModel::flags(const QModelIndex &item) const {
+ 146 [ + + ]: 39 : return Node(item) ? Qt::ItemIsEnabled | Qt::ItemIsSelectable : Qt::NoItemFlags;
+ 147 : : }
+
+ |
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/qt/index.html b/build-coverage/html/qt/index.html
new file mode 100644
index 0000000..712af07
--- /dev/null
+++ b/build-coverage/html/qt/index.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+ LCOV - coverage.info - qt
+
+
+
+
+
+
+ | LCOV - code coverage report |
+  |
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+  |
+
+ |
+
+
+  |
+
+
+
+
+
+
+
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+ File  |
+ Line Coverage  |
+ Branch Coverage  |
+ Function Coverage  |
+
+
+ | Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+ Rate |
+ Total |
+ Hit |
+
+
+ | dbc_tree_model.cpp |
+
+
+ |
+ 97.4 % |
+ 115 |
+ 112 |
+ 80.2 % |
+ 212 |
+ 170 |
+ 100.0 % |
+ 11 |
+ 11 |
+
+
+
+
+
+
+
+
+
+
diff --git a/build-coverage/html/ruby.png b/build-coverage/html/ruby.png
new file mode 100644
index 0000000..991b6d4
Binary files /dev/null and b/build-coverage/html/ruby.png differ
diff --git a/build-coverage/html/snow.png b/build-coverage/html/snow.png
new file mode 100644
index 0000000..2cdae10
Binary files /dev/null and b/build-coverage/html/snow.png differ
diff --git a/build-coverage/html/updown.png b/build-coverage/html/updown.png
new file mode 100644
index 0000000..aa56a23
Binary files /dev/null and b/build-coverage/html/updown.png differ
diff --git a/build-coverage/qt/Makefile b/build-coverage/qt/Makefile
new file mode 100644
index 0000000..52af393
--- /dev/null
+++ b/build-coverage/qt/Makefile
@@ -0,0 +1,769 @@
+#############################################################################
+# Makefile for building: libdbc_qt.a
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../qt/qt.pro
+# Template: lib
+# Command: /usr/bin/qmake6 -o Makefile ../../qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_KEYWORDS -DQT_CORE_LIB
+CFLAGS = -pipe -g -fPIC -Wall -Wextra -D_REENTRANT $(DEFINES)
+CXXFLAGS = -pipe --coverage -fprofile-abs-path -g -fPIC -std=gnu++1z -Wall -Wextra -D_REENTRANT $(DEFINES)
+INCPATH = -I../../qt -I. -I../../core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_qt1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/qt/.tmp/dbc_qt1.0.0
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../qt/dbc_tree_model.cpp
+OBJECTS = dbc_tree_model.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../qt/qt_version.pri \
+ ../../../core/core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../qt/qt.pro ../../qt/dbc_tree_model.h ../../qt/dbc_tree_model.cpp
+QMAKE_TARGET = dbc_qt
+DESTDIR =
+TARGET = libdbc_qt.a
+
+
+first: all
+####### Build rules
+
+staticlib: $(TARGET)
+
+libdbc_qt.a: /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/core/libdbc_core.a $(OBJECTS) $(OBJCOMP)
+ -$(DEL_FILE) $(TARGET)
+ $(AR) $(DESTDIR)$(TARGET) $(OBJECTS)
+
+
+Makefile: ../../qt/qt.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../qt/qt_version.pri \
+ ../../core/core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../qt/qt.pro \
+ /usr/lib/x86_64-linux-gnu/libQt6Core.prl
+ $(QMAKE) -o Makefile ../../qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../qt/qt_version.pri:
+../../core/core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../qt/qt.pro:
+/usr/lib/x86_64-linux-gnu/libQt6Core.prl:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../../qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+
+qmake_all: FORCE
+
+
+all: Makefile libdbc_qt.a
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents ../../qt/dbc_tree_model.h $(DISTDIR)/
+ $(COPY_FILE) --parents ../../qt/dbc_tree_model.cpp $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+####### Sub-libraries
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
+check: first
+
+benchmark: first
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+ -$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+ g++ -pipe --coverage -fprofile-abs-path -g -fPIC -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+
+compiler_moc_header_make_all:
+compiler_moc_header_clean:
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_predefs_clean
+
+####### Compile
+
+dbc_tree_model.o: ../../qt/dbc_tree_model.cpp ../../qt/dbc_tree_model.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_model.o ../../qt/dbc_tree_model.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-coverage/qt/dbc_tree_model.gcda b/build-coverage/qt/dbc_tree_model.gcda
new file mode 100644
index 0000000..420ef37
Binary files /dev/null and b/build-coverage/qt/dbc_tree_model.gcda differ
diff --git a/build-coverage/qt/dbc_tree_model.gcno b/build-coverage/qt/dbc_tree_model.gcno
new file mode 100644
index 0000000..d76ad97
Binary files /dev/null and b/build-coverage/qt/dbc_tree_model.gcno differ
diff --git a/build-coverage/qt/dbc_tree_model.o b/build-coverage/qt/dbc_tree_model.o
new file mode 100644
index 0000000..d2a06c3
Binary files /dev/null and b/build-coverage/qt/dbc_tree_model.o differ
diff --git a/build-coverage/qt/libdbc_qt.a b/build-coverage/qt/libdbc_qt.a
new file mode 100644
index 0000000..03f9651
Binary files /dev/null and b/build-coverage/qt/libdbc_qt.a differ
diff --git a/build-coverage/standalone/tree_node_tests b/build-coverage/standalone/tree_node_tests
new file mode 100755
index 0000000..e32fa60
Binary files /dev/null and b/build-coverage/standalone/tree_node_tests differ
diff --git a/build-coverage/standalone/tree_node_tests-dbc_tree_builder.gcda b/build-coverage/standalone/tree_node_tests-dbc_tree_builder.gcda
new file mode 100644
index 0000000..8bd524b
Binary files /dev/null and b/build-coverage/standalone/tree_node_tests-dbc_tree_builder.gcda differ
diff --git a/build-coverage/standalone/tree_node_tests-dbc_tree_builder.gcno b/build-coverage/standalone/tree_node_tests-dbc_tree_builder.gcno
new file mode 100644
index 0000000..c057b29
Binary files /dev/null and b/build-coverage/standalone/tree_node_tests-dbc_tree_builder.gcno differ
diff --git a/build-coverage/standalone/tree_node_tests-tree_node.gcda b/build-coverage/standalone/tree_node_tests-tree_node.gcda
new file mode 100644
index 0000000..c9799bf
Binary files /dev/null and b/build-coverage/standalone/tree_node_tests-tree_node.gcda differ
diff --git a/build-coverage/standalone/tree_node_tests-tree_node.gcno b/build-coverage/standalone/tree_node_tests-tree_node.gcno
new file mode 100644
index 0000000..2f5dc81
Binary files /dev/null and b/build-coverage/standalone/tree_node_tests-tree_node.gcno differ
diff --git a/build-coverage/standalone/tree_node_tests-tree_node_test.gcda b/build-coverage/standalone/tree_node_tests-tree_node_test.gcda
new file mode 100644
index 0000000..b694fd7
Binary files /dev/null and b/build-coverage/standalone/tree_node_tests-tree_node_test.gcda differ
diff --git a/build-coverage/standalone/tree_node_tests-tree_node_test.gcno b/build-coverage/standalone/tree_node_tests-tree_node_test.gcno
new file mode 100644
index 0000000..9664eed
Binary files /dev/null and b/build-coverage/standalone/tree_node_tests-tree_node_test.gcno differ
diff --git a/build-coverage/tests/Makefile b/build-coverage/tests/Makefile
new file mode 100644
index 0000000..2292183
--- /dev/null
+++ b/build-coverage/tests/Makefile
@@ -0,0 +1,1002 @@
+#############################################################################
+# Makefile for building: dbc_tests
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../tests/tests.pro
+# Template: app
+# Command: /usr/bin/qmake6 -o Makefile ../../tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_KEYWORDS -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests"'
+CFLAGS = -pipe -g -Wall -Wextra -D_REENTRANT $(DEFINES)
+CXXFLAGS = -pipe --coverage -fprofile-abs-path -g -std=gnu++1z -Wall -Wextra -D_REENTRANT $(DEFINES)
+INCPATH = -I../../tests -I. -I../../core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_tests1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/.tmp/dbc_tests1.0.0
+LINK = g++
+LFLAGS = --coverage
+LIBS = $(SUBLIBS) -L/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/core -ldbc_core /usr/lib/x86_64-linux-gnu/libQt6Test.so /usr/lib/x86_64-linux-gnu/libQt6Core.so -lpthread
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../tests/dbc_parser_test.cpp \
+ ../../tests/dbc_decoder_test.cpp \
+ ../../tests/main.cpp \
+ ../../tests/dbc_coverage_test.cpp \
+ ../../tests/dbc_lifetime_test.cpp \
+ ../../tests/dbc_validation_test.cpp \
+ ../../tests/dbc_pipeline_test.cpp
+OBJECTS = dbc_parser_test.o \
+ dbc_decoder_test.o \
+ main.o \
+ dbc_coverage_test.o \
+ dbc_lifetime_test.o \
+ dbc_validation_test.o \
+ dbc_pipeline_test.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../qt/qt_version.pri \
+ ../../../core/core.pri \
+ ../../../tests/parser_tests.pri \
+ ../../../tests/decoder_tests.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../tests/tests.pro ../../tests/dbc_parser_test.cpp \
+ ../../tests/dbc_decoder_test.cpp \
+ ../../tests/main.cpp \
+ ../../tests/dbc_coverage_test.cpp \
+ ../../tests/dbc_lifetime_test.cpp \
+ ../../tests/dbc_validation_test.cpp \
+ ../../tests/dbc_pipeline_test.cpp
+QMAKE_TARGET = dbc_tests
+DESTDIR =
+TARGET = dbc_tests
+
+
+first: all
+####### Build rules
+
+dbc_tests: /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/core/libdbc_core.a $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile: ../../tests/tests.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../qt/qt_version.pri \
+ ../../core/core.pri \
+ ../../tests/parser_tests.pri \
+ ../../tests/decoder_tests.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../tests/tests.pro \
+ /usr/lib/x86_64-linux-gnu/libQt6Test.prl \
+ /usr/lib/x86_64-linux-gnu/libQt6Core.prl
+ $(QMAKE) -o Makefile ../../tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../qt/qt_version.pri:
+../../core/core.pri:
+../../tests/parser_tests.pri:
+../../tests/decoder_tests.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../tests/tests.pro:
+/usr/lib/x86_64-linux-gnu/libQt6Test.prl:
+/usr/lib/x86_64-linux-gnu/libQt6Core.prl:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../../tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+
+qmake_all: FORCE
+
+
+all: Makefile dbc_tests
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents ../../tests/dbc_parser_test.cpp ../../tests/dbc_decoder_test.cpp ../../tests/main.cpp ../../tests/dbc_coverage_test.cpp ../../tests/dbc_lifetime_test.cpp ../../tests/dbc_validation_test.cpp ../../tests/dbc_pipeline_test.cpp $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/target_wrapper.sh
+ -$(DEL_FILE) Makefile
+
+
+####### Sub-libraries
+
+check: first
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/target_wrapper.sh $(TESTRUNNER) ./$(QMAKE_TARGET) $(TESTARGS)
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
+benchmark: first
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+ -$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+ g++ -pipe --coverage -fprofile-abs-path -g -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+
+compiler_moc_header_make_all:
+compiler_moc_header_clean:
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
+compiler_moc_source_make_all: dbc_parser_test.moc dbc_decoder_test.moc dbc_coverage_test.moc dbc_lifetime_test.moc dbc_validation_test.moc dbc_pipeline_test.moc
+compiler_moc_source_clean:
+ -$(DEL_FILE) dbc_parser_test.moc dbc_decoder_test.moc dbc_coverage_test.moc dbc_lifetime_test.moc dbc_validation_test.moc dbc_pipeline_test.moc
+dbc_parser_test.moc: ../../tests/dbc_parser_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_parser_test.cpp -o dbc_parser_test.moc
+
+dbc_decoder_test.moc: ../../tests/dbc_decoder_test.cpp \
+ ../../core/dbc_decoder.h \
+ ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_decoder_test.cpp -o dbc_decoder_test.moc
+
+dbc_coverage_test.moc: ../../tests/dbc_coverage_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_coverage_test.cpp -o dbc_coverage_test.moc
+
+dbc_lifetime_test.moc: ../../tests/dbc_lifetime_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_lifetime_test.cpp -o dbc_lifetime_test.moc
+
+dbc_validation_test.moc: ../../tests/dbc_validation_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/signal_layout.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_validation_test.cpp -o dbc_validation_test.moc
+
+dbc_pipeline_test.moc: ../../tests/dbc_pipeline_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_pipeline_test.cpp -o dbc_pipeline_test.moc
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_predefs_clean compiler_moc_source_clean
+
+####### Compile
+
+dbc_parser_test.o: ../../tests/dbc_parser_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ dbc_parser_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_parser_test.o ../../tests/dbc_parser_test.cpp
+
+dbc_decoder_test.o: ../../tests/dbc_decoder_test.cpp ../../core/dbc_decoder.h \
+ ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ dbc_decoder_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decoder_test.o ../../tests/dbc_decoder_test.cpp
+
+main.o: ../../tests/main.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../../tests/main.cpp
+
+dbc_coverage_test.o: ../../tests/dbc_coverage_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ dbc_coverage_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_coverage_test.o ../../tests/dbc_coverage_test.cpp
+
+dbc_lifetime_test.o: ../../tests/dbc_lifetime_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ dbc_lifetime_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_lifetime_test.o ../../tests/dbc_lifetime_test.cpp
+
+dbc_validation_test.o: ../../tests/dbc_validation_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/signal_layout.h \
+ dbc_validation_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_validation_test.o ../../tests/dbc_validation_test.cpp
+
+dbc_pipeline_test.o: ../../tests/dbc_pipeline_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ dbc_pipeline_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_pipeline_test.o ../../tests/dbc_pipeline_test.cpp
+
+####### Install
+
+install_target: first FORCE
+ @test -d $(INSTALL_ROOT)/usr/tests/tests || mkdir -p $(INSTALL_ROOT)/usr/tests/tests
+ $(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+
+uninstall_target: FORCE
+ -$(DEL_FILE) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/tests/tests/
+
+
+install: install_target FORCE
+
+uninstall: uninstall_target FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-coverage/tests/Makefile.model_tests b/build-coverage/tests/Makefile.model_tests
new file mode 100644
index 0000000..b0c81c7
--- /dev/null
+++ b/build-coverage/tests/Makefile.model_tests
@@ -0,0 +1,817 @@
+#############################################################################
+# Makefile for building: dbc_model_tests
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../tests/model_tests.pro
+# Template: app
+# Command: /usr/bin/qmake6 -o Makefile.model_tests ../../tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+#############################################################################
+
+MAKEFILE = Makefile.model_tests
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_KEYWORDS -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests"'
+CFLAGS = -pipe -g -Wall -Wextra -D_REENTRANT $(DEFINES)
+CXXFLAGS = -pipe --coverage -fprofile-abs-path -g -std=gnu++1z -Wall -Wextra -D_REENTRANT $(DEFINES)
+INCPATH = -I../../tests -I. -I../../core -I../../qt -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_model_tests1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/.tmp/dbc_model_tests1.0.0
+LINK = g++
+LFLAGS = --coverage -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu
+LIBS = $(SUBLIBS) -L/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/qt -ldbc_qt -L/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/core -ldbc_core /usr/lib/x86_64-linux-gnu/libQt6Gui.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libQt6Test.so /usr/lib/x86_64-linux-gnu/libQt6Core.so -lpthread -lGLX -lOpenGL
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../tests/dbc_tree_model_test.cpp
+OBJECTS = dbc_tree_model_test.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../qt/qt_version.pri \
+ ../../../core/core.pri \
+ ../../../qt/qt.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/opengl.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../tests/model_tests.pro ../../tests/dbc_tree_model_test.cpp
+QMAKE_TARGET = dbc_model_tests
+DESTDIR =
+TARGET = dbc_model_tests
+
+
+first: all
+####### Build rules
+
+dbc_model_tests: /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/core/libdbc_core.a /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/qt/libdbc_qt.a $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile.model_tests: ../../tests/model_tests.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../qt/qt_version.pri \
+ ../../core/core.pri \
+ ../../qt/qt.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/opengl.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../tests/model_tests.pro \
+ /usr/lib/x86_64-linux-gnu/libQt6Gui.prl \
+ /usr/lib/x86_64-linux-gnu/libQt6Test.prl \
+ /usr/lib/x86_64-linux-gnu/libQt6Core.prl
+ $(QMAKE) -o Makefile.model_tests ../../tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../qt/qt_version.pri:
+../../core/core.pri:
+../../qt/qt.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/opengl.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../tests/model_tests.pro:
+/usr/lib/x86_64-linux-gnu/libQt6Gui.prl:
+/usr/lib/x86_64-linux-gnu/libQt6Test.prl:
+/usr/lib/x86_64-linux-gnu/libQt6Core.prl:
+qmake: FORCE
+ @$(QMAKE) -o Makefile.model_tests ../../tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+
+qmake_all: FORCE
+
+
+all: Makefile.model_tests dbc_model_tests
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents ../../tests/dbc_tree_model_test.cpp $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/target_wrapper.sh
+ -$(DEL_FILE) Makefile.model_tests
+
+
+####### Sub-libraries
+
+check: first
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/target_wrapper.sh $(TESTRUNNER) ./$(QMAKE_TARGET) $(TESTARGS)
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
+benchmark: first
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+ -$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+ g++ -pipe --coverage -fprofile-abs-path -g -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+
+compiler_moc_header_make_all:
+compiler_moc_header_clean:
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
+compiler_moc_source_make_all: dbc_tree_model_test.moc
+compiler_moc_source_clean:
+ -$(DEL_FILE) dbc_tree_model_test.moc
+dbc_tree_model_test.moc: ../../tests/dbc_tree_model_test.cpp \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../qt/dbc_tree_model.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_tree_model_test.cpp -o dbc_tree_model_test.moc
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_predefs_clean compiler_moc_source_clean
+
+####### Compile
+
+dbc_tree_model_test.o: ../../tests/dbc_tree_model_test.cpp ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../qt/dbc_tree_model.h \
+ dbc_tree_model_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_model_test.o ../../tests/dbc_tree_model_test.cpp
+
+####### Install
+
+install_target: first FORCE
+ @test -d $(INSTALL_ROOT)/usr/tests/tests || mkdir -p $(INSTALL_ROOT)/usr/tests/tests
+ $(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+
+uninstall_target: FORCE
+ -$(DEL_FILE) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/tests/tests/
+
+
+install: install_target FORCE
+
+uninstall: uninstall_target FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-coverage/tests/Makefile.tree_tests b/build-coverage/tests/Makefile.tree_tests
new file mode 100644
index 0000000..22a364f
--- /dev/null
+++ b/build-coverage/tests/Makefile.tree_tests
@@ -0,0 +1,762 @@
+#############################################################################
+# Makefile for building: dbc_tree_tests
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../tests/tree_tests.pro
+# Template: app
+# Command: /usr/bin/qmake6 -o Makefile.tree_tests ../../tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+#############################################################################
+
+MAKEFILE = Makefile.tree_tests
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES =
+CFLAGS = -pipe -g -Wall -Wextra $(DEFINES)
+CXXFLAGS = -pipe --coverage -fprofile-abs-path -g -std=gnu++1z -Wall -Wextra $(DEFINES)
+INCPATH = -I../../tests -I. -I../../core -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_tree_tests1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/.tmp/dbc_tree_tests1.0.0
+LINK = g++
+LFLAGS = --coverage
+LIBS = $(SUBLIBS)
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../tests/tree_node_test.cpp \
+ ../../core/tree_node.cpp \
+ ../../core/dbc_tree_builder.cpp
+OBJECTS = tree_node_test.o \
+ tree_node.o \
+ dbc_tree_builder.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../tests/tree_tests.pro ../../tests/tree_node_test.cpp \
+ ../../core/tree_node.cpp \
+ ../../core/dbc_tree_builder.cpp
+QMAKE_TARGET = dbc_tree_tests
+DESTDIR =
+TARGET = dbc_tree_tests
+
+
+first: all
+####### Build rules
+
+dbc_tree_tests: $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile.tree_tests: ../../tests/tree_tests.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../tests/tree_tests.pro
+ $(QMAKE) -o Makefile.tree_tests ../../tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../tests/tree_tests.pro:
+qmake: FORCE
+ @$(QMAKE) -o Makefile.tree_tests ../../tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=--coverage -fprofile-abs-path' QMAKE_LFLAGS+=--coverage
+
+qmake_all: FORCE
+
+
+all: Makefile.tree_tests dbc_tree_tests
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/target_wrapper.sh
+ -$(DEL_FILE) Makefile.tree_tests
+
+
+####### Sub-libraries
+
+check: first
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-coverage/tests/target_wrapper.sh $(TESTRUNNER) ./$(QMAKE_TARGET) $(TESTARGS)
+
+benchmark: first
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean:
+
+####### Compile
+
+tree_node_test.o: ../../tests/tree_node_test.cpp ../../core/dbc_tree_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node_test.o ../../tests/tree_node_test.cpp
+
+tree_node.o: ../../core/tree_node.cpp ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node.o ../../core/tree_node.cpp
+
+dbc_tree_builder.o: ../../core/dbc_tree_builder.cpp ../../core/dbc_tree_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_builder.o ../../core/dbc_tree_builder.cpp
+
+####### Install
+
+install_target: first FORCE
+ @test -d $(INSTALL_ROOT)/usr/tests/tests || mkdir -p $(INSTALL_ROOT)/usr/tests/tests
+ $(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+
+uninstall_target: FORCE
+ -$(DEL_FILE) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/tests/tests/
+
+
+install: install_target FORCE
+
+uninstall: uninstall_target FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-coverage/tests/dbc_coverage_test.gcda b/build-coverage/tests/dbc_coverage_test.gcda
new file mode 100644
index 0000000..25f655c
Binary files /dev/null and b/build-coverage/tests/dbc_coverage_test.gcda differ
diff --git a/build-coverage/tests/dbc_coverage_test.gcno b/build-coverage/tests/dbc_coverage_test.gcno
new file mode 100644
index 0000000..a02fdc0
Binary files /dev/null and b/build-coverage/tests/dbc_coverage_test.gcno differ
diff --git a/build-coverage/tests/dbc_coverage_test.moc b/build-coverage/tests/dbc_coverage_test.moc
new file mode 100644
index 0000000..f1ca16b
--- /dev/null
+++ b/build-coverage/tests/dbc_coverage_test.moc
@@ -0,0 +1,324 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_coverage_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_coverage_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN12CoverageTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN12CoverageTestE = QtMocHelpers::stringData(
+ "CoverageTest",
+ "frameLookup",
+ "",
+ "signedBoundaries_data",
+ "signedBoundaries",
+ "extraction_data",
+ "extraction",
+ "invalidSignalStatus_data",
+ "invalidSignalStatus",
+ "malformedRuntimeMultiplexing_data",
+ "malformedRuntimeMultiplexing",
+ "pgn_data",
+ "pgn",
+ "j1939Lookup_data",
+ "j1939Lookup",
+ "j1939Ambiguity_data",
+ "j1939Ambiguity",
+ "j1939MetadataValidation",
+ "comments_data",
+ "comments",
+ "ignoredCommentStatements_data",
+ "ignoredCommentStatements",
+ "ambiguousValueReferences_data",
+ "ambiguousValueReferences",
+ "valueReferenceScope",
+ "fileFormatting_data",
+ "fileFormatting",
+ "missingFile",
+ "builders",
+ "physicalConversion_data",
+ "physicalConversion",
+ "multiplexingScenarios",
+ "multiplexingErrorLocations_data",
+ "multiplexingErrorLocations",
+ "escapedValueDescriptions",
+ "factory"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN12CoverageTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 34, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 218, 2, 0x08, 1 /* Private */,
+ 3, 0, 219, 2, 0x08, 2 /* Private */,
+ 4, 0, 220, 2, 0x08, 3 /* Private */,
+ 5, 0, 221, 2, 0x08, 4 /* Private */,
+ 6, 0, 222, 2, 0x08, 5 /* Private */,
+ 7, 0, 223, 2, 0x08, 6 /* Private */,
+ 8, 0, 224, 2, 0x08, 7 /* Private */,
+ 9, 0, 225, 2, 0x08, 8 /* Private */,
+ 10, 0, 226, 2, 0x08, 9 /* Private */,
+ 11, 0, 227, 2, 0x08, 10 /* Private */,
+ 12, 0, 228, 2, 0x08, 11 /* Private */,
+ 13, 0, 229, 2, 0x08, 12 /* Private */,
+ 14, 0, 230, 2, 0x08, 13 /* Private */,
+ 15, 0, 231, 2, 0x08, 14 /* Private */,
+ 16, 0, 232, 2, 0x08, 15 /* Private */,
+ 17, 0, 233, 2, 0x08, 16 /* Private */,
+ 18, 0, 234, 2, 0x08, 17 /* Private */,
+ 19, 0, 235, 2, 0x08, 18 /* Private */,
+ 20, 0, 236, 2, 0x08, 19 /* Private */,
+ 21, 0, 237, 2, 0x08, 20 /* Private */,
+ 22, 0, 238, 2, 0x08, 21 /* Private */,
+ 23, 0, 239, 2, 0x08, 22 /* Private */,
+ 24, 0, 240, 2, 0x08, 23 /* Private */,
+ 25, 0, 241, 2, 0x08, 24 /* Private */,
+ 26, 0, 242, 2, 0x08, 25 /* Private */,
+ 27, 0, 243, 2, 0x08, 26 /* Private */,
+ 28, 0, 244, 2, 0x08, 27 /* Private */,
+ 29, 0, 245, 2, 0x08, 28 /* Private */,
+ 30, 0, 246, 2, 0x08, 29 /* Private */,
+ 31, 0, 247, 2, 0x08, 30 /* Private */,
+ 32, 0, 248, 2, 0x08, 31 /* Private */,
+ 33, 0, 249, 2, 0x08, 32 /* Private */,
+ 34, 0, 250, 2, 0x08, 33 /* Private */,
+ 35, 0, 251, 2, 0x08, 34 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject CoverageTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN12CoverageTestE.offsetsAndSizes,
+ qt_meta_data_ZN12CoverageTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'frameLookup'
+ QtPrivate::TypeAndForceComplete,
+ // method 'signedBoundaries_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'signedBoundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'extraction_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'extraction'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidSignalStatus_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidSignalStatus'
+ QtPrivate::TypeAndForceComplete,
+ // method 'malformedRuntimeMultiplexing_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'malformedRuntimeMultiplexing'
+ QtPrivate::TypeAndForceComplete,
+ // method 'pgn_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'pgn'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Lookup_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Lookup'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Ambiguity_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Ambiguity'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939MetadataValidation'
+ QtPrivate::TypeAndForceComplete,
+ // method 'comments_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'comments'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ignoredCommentStatements_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ignoredCommentStatements'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ambiguousValueReferences_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ambiguousValueReferences'
+ QtPrivate::TypeAndForceComplete,
+ // method 'valueReferenceScope'
+ QtPrivate::TypeAndForceComplete,
+ // method 'fileFormatting_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'fileFormatting'
+ QtPrivate::TypeAndForceComplete,
+ // method 'missingFile'
+ QtPrivate::TypeAndForceComplete,
+ // method 'builders'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingScenarios'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingErrorLocations_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingErrorLocations'
+ QtPrivate::TypeAndForceComplete,
+ // method 'escapedValueDescriptions'
+ QtPrivate::TypeAndForceComplete,
+ // method 'factory'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void CoverageTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->frameLookup(); break;
+ case 1: _t->signedBoundaries_data(); break;
+ case 2: _t->signedBoundaries(); break;
+ case 3: _t->extraction_data(); break;
+ case 4: _t->extraction(); break;
+ case 5: _t->invalidSignalStatus_data(); break;
+ case 6: _t->invalidSignalStatus(); break;
+ case 7: _t->malformedRuntimeMultiplexing_data(); break;
+ case 8: _t->malformedRuntimeMultiplexing(); break;
+ case 9: _t->pgn_data(); break;
+ case 10: _t->pgn(); break;
+ case 11: _t->j1939Lookup_data(); break;
+ case 12: _t->j1939Lookup(); break;
+ case 13: _t->j1939Ambiguity_data(); break;
+ case 14: _t->j1939Ambiguity(); break;
+ case 15: _t->j1939MetadataValidation(); break;
+ case 16: _t->comments_data(); break;
+ case 17: _t->comments(); break;
+ case 18: _t->ignoredCommentStatements_data(); break;
+ case 19: _t->ignoredCommentStatements(); break;
+ case 20: _t->ambiguousValueReferences_data(); break;
+ case 21: _t->ambiguousValueReferences(); break;
+ case 22: _t->valueReferenceScope(); break;
+ case 23: _t->fileFormatting_data(); break;
+ case 24: _t->fileFormatting(); break;
+ case 25: _t->missingFile(); break;
+ case 26: _t->builders(); break;
+ case 27: _t->physicalConversion_data(); break;
+ case 28: _t->physicalConversion(); break;
+ case 29: _t->multiplexingScenarios(); break;
+ case 30: _t->multiplexingErrorLocations_data(); break;
+ case 31: _t->multiplexingErrorLocations(); break;
+ case 32: _t->escapedValueDescriptions(); break;
+ case 33: _t->factory(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *CoverageTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CoverageTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN12CoverageTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int CoverageTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 34)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 34;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 34)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 34;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-coverage/tests/dbc_coverage_test.o b/build-coverage/tests/dbc_coverage_test.o
new file mode 100644
index 0000000..2f04bbe
Binary files /dev/null and b/build-coverage/tests/dbc_coverage_test.o differ
diff --git a/build-coverage/tests/dbc_decoder_test.gcda b/build-coverage/tests/dbc_decoder_test.gcda
new file mode 100644
index 0000000..23721ff
Binary files /dev/null and b/build-coverage/tests/dbc_decoder_test.gcda differ
diff --git a/build-coverage/tests/dbc_decoder_test.gcno b/build-coverage/tests/dbc_decoder_test.gcno
new file mode 100644
index 0000000..225521a
Binary files /dev/null and b/build-coverage/tests/dbc_decoder_test.gcno differ
diff --git a/build-coverage/tests/dbc_decoder_test.moc b/build-coverage/tests/dbc_decoder_test.moc
new file mode 100644
index 0000000..5da6007
--- /dev/null
+++ b/build-coverage/tests/dbc_decoder_test.moc
@@ -0,0 +1,186 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_decoder_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_decoder_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN14DbcDecoderTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN14DbcDecoderTestE = QtMocHelpers::stringData(
+ "DbcDecoderTest",
+ "decode_data",
+ "",
+ "decode",
+ "boundaries",
+ "payloadPolicy_data",
+ "payloadPolicy",
+ "invalidDefinitions_data",
+ "invalidDefinitions",
+ "physicalConversion_data",
+ "physicalConversion",
+ "selectorConversionFailure",
+ "zeroDlc"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN14DbcDecoderTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 11, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 80, 2, 0x08, 1 /* Private */,
+ 3, 0, 81, 2, 0x08, 2 /* Private */,
+ 4, 0, 82, 2, 0x08, 3 /* Private */,
+ 5, 0, 83, 2, 0x08, 4 /* Private */,
+ 6, 0, 84, 2, 0x08, 5 /* Private */,
+ 7, 0, 85, 2, 0x08, 6 /* Private */,
+ 8, 0, 86, 2, 0x08, 7 /* Private */,
+ 9, 0, 87, 2, 0x08, 8 /* Private */,
+ 10, 0, 88, 2, 0x08, 9 /* Private */,
+ 11, 0, 89, 2, 0x08, 10 /* Private */,
+ 12, 0, 90, 2, 0x08, 11 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject DbcDecoderTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN14DbcDecoderTestE.offsetsAndSizes,
+ qt_meta_data_ZN14DbcDecoderTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'decode_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'decode'
+ QtPrivate::TypeAndForceComplete,
+ // method 'boundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'payloadPolicy_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'payloadPolicy'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidDefinitions_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidDefinitions'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion'
+ QtPrivate::TypeAndForceComplete,
+ // method 'selectorConversionFailure'
+ QtPrivate::TypeAndForceComplete,
+ // method 'zeroDlc'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void DbcDecoderTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->decode_data(); break;
+ case 1: _t->decode(); break;
+ case 2: _t->boundaries(); break;
+ case 3: _t->payloadPolicy_data(); break;
+ case 4: _t->payloadPolicy(); break;
+ case 5: _t->invalidDefinitions_data(); break;
+ case 6: _t->invalidDefinitions(); break;
+ case 7: _t->physicalConversion_data(); break;
+ case 8: _t->physicalConversion(); break;
+ case 9: _t->selectorConversionFailure(); break;
+ case 10: _t->zeroDlc(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *DbcDecoderTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *DbcDecoderTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN14DbcDecoderTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int DbcDecoderTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 11)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 11;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 11)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 11;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-coverage/tests/dbc_decoder_test.o b/build-coverage/tests/dbc_decoder_test.o
new file mode 100644
index 0000000..ca12680
Binary files /dev/null and b/build-coverage/tests/dbc_decoder_test.o differ
diff --git a/build-coverage/tests/dbc_lifetime_test.gcda b/build-coverage/tests/dbc_lifetime_test.gcda
new file mode 100644
index 0000000..9cafa30
Binary files /dev/null and b/build-coverage/tests/dbc_lifetime_test.gcda differ
diff --git a/build-coverage/tests/dbc_lifetime_test.gcno b/build-coverage/tests/dbc_lifetime_test.gcno
new file mode 100644
index 0000000..18f3927
Binary files /dev/null and b/build-coverage/tests/dbc_lifetime_test.gcno differ
diff --git a/build-coverage/tests/dbc_lifetime_test.moc b/build-coverage/tests/dbc_lifetime_test.moc
new file mode 100644
index 0000000..62ff283
--- /dev/null
+++ b/build-coverage/tests/dbc_lifetime_test.moc
@@ -0,0 +1,168 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_lifetime_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_lifetime_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN15DbcLifetimeTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN15DbcLifetimeTestE = QtMocHelpers::stringData(
+ "DbcLifetimeTest",
+ "reload",
+ "",
+ "independentSignalLifetime",
+ "lookupLifetime",
+ "keys",
+ "duplicateKeys",
+ "failedReload",
+ "invalidResults",
+ "retainedMultiplexStatuses"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN15DbcLifetimeTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 8, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 62, 2, 0x08, 1 /* Private */,
+ 3, 0, 63, 2, 0x08, 2 /* Private */,
+ 4, 0, 64, 2, 0x08, 3 /* Private */,
+ 5, 0, 65, 2, 0x08, 4 /* Private */,
+ 6, 0, 66, 2, 0x08, 5 /* Private */,
+ 7, 0, 67, 2, 0x08, 6 /* Private */,
+ 8, 0, 68, 2, 0x08, 7 /* Private */,
+ 9, 0, 69, 2, 0x08, 8 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject DbcLifetimeTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN15DbcLifetimeTestE.offsetsAndSizes,
+ qt_meta_data_ZN15DbcLifetimeTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'reload'
+ QtPrivate::TypeAndForceComplete,
+ // method 'independentSignalLifetime'
+ QtPrivate::TypeAndForceComplete,
+ // method 'lookupLifetime'
+ QtPrivate::TypeAndForceComplete,
+ // method 'keys'
+ QtPrivate::TypeAndForceComplete,
+ // method 'duplicateKeys'
+ QtPrivate::TypeAndForceComplete,
+ // method 'failedReload'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidResults'
+ QtPrivate::TypeAndForceComplete,
+ // method 'retainedMultiplexStatuses'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void DbcLifetimeTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->reload(); break;
+ case 1: _t->independentSignalLifetime(); break;
+ case 2: _t->lookupLifetime(); break;
+ case 3: _t->keys(); break;
+ case 4: _t->duplicateKeys(); break;
+ case 5: _t->failedReload(); break;
+ case 6: _t->invalidResults(); break;
+ case 7: _t->retainedMultiplexStatuses(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *DbcLifetimeTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *DbcLifetimeTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN15DbcLifetimeTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int DbcLifetimeTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 8)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 8;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 8)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 8;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-coverage/tests/dbc_lifetime_test.o b/build-coverage/tests/dbc_lifetime_test.o
new file mode 100644
index 0000000..b17f5be
Binary files /dev/null and b/build-coverage/tests/dbc_lifetime_test.o differ
diff --git a/build-coverage/tests/dbc_model_tests b/build-coverage/tests/dbc_model_tests
new file mode 100755
index 0000000..2d2e71e
Binary files /dev/null and b/build-coverage/tests/dbc_model_tests differ
diff --git a/build-coverage/tests/dbc_parser_test.gcda b/build-coverage/tests/dbc_parser_test.gcda
new file mode 100644
index 0000000..9f396e1
Binary files /dev/null and b/build-coverage/tests/dbc_parser_test.gcda differ
diff --git a/build-coverage/tests/dbc_parser_test.gcno b/build-coverage/tests/dbc_parser_test.gcno
new file mode 100644
index 0000000..c6cf25f
Binary files /dev/null and b/build-coverage/tests/dbc_parser_test.gcno differ
diff --git a/build-coverage/tests/dbc_parser_test.moc b/build-coverage/tests/dbc_parser_test.moc
new file mode 100644
index 0000000..4054fff
--- /dev/null
+++ b/build-coverage/tests/dbc_parser_test.moc
@@ -0,0 +1,300 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_parser_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_parser_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN13DbcParserTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN13DbcParserTestE = QtMocHelpers::stringData(
+ "DbcParserTest",
+ "attributes",
+ "",
+ "invalidAttributes",
+ "attributeNumbers",
+ "invalidAttributeNumbers_data",
+ "invalidAttributeNumbers",
+ "attributeWarnings",
+ "diagnostics",
+ "diagnosticErrors",
+ "diagnosticUnsupportedStatements",
+ "diagnosticNamespaceBoundaries",
+ "diagnosticFormatting",
+ "multiplexing",
+ "multiplexingBoundaries",
+ "validFrames",
+ "invalidFrames",
+ "duplicateFrames",
+ "duplicateSignals",
+ "distinctDefinitions",
+ "comments",
+ "invalidComments_data",
+ "invalidComments",
+ "integration",
+ "invalidSignals",
+ "validSignals",
+ "physicalNumbersCppLocale",
+ "physicalNumbersCLocale",
+ "dispatch",
+ "independentSessions",
+ "valueDescriptions",
+ "invalidValueDescriptions"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN13DbcParserTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 30, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 194, 2, 0x08, 1 /* Private */,
+ 3, 0, 195, 2, 0x08, 2 /* Private */,
+ 4, 0, 196, 2, 0x08, 3 /* Private */,
+ 5, 0, 197, 2, 0x08, 4 /* Private */,
+ 6, 0, 198, 2, 0x08, 5 /* Private */,
+ 7, 0, 199, 2, 0x08, 6 /* Private */,
+ 8, 0, 200, 2, 0x08, 7 /* Private */,
+ 9, 0, 201, 2, 0x08, 8 /* Private */,
+ 10, 0, 202, 2, 0x08, 9 /* Private */,
+ 11, 0, 203, 2, 0x08, 10 /* Private */,
+ 12, 0, 204, 2, 0x08, 11 /* Private */,
+ 13, 0, 205, 2, 0x08, 12 /* Private */,
+ 14, 0, 206, 2, 0x08, 13 /* Private */,
+ 15, 0, 207, 2, 0x08, 14 /* Private */,
+ 16, 0, 208, 2, 0x08, 15 /* Private */,
+ 17, 0, 209, 2, 0x08, 16 /* Private */,
+ 18, 0, 210, 2, 0x08, 17 /* Private */,
+ 19, 0, 211, 2, 0x08, 18 /* Private */,
+ 20, 0, 212, 2, 0x08, 19 /* Private */,
+ 21, 0, 213, 2, 0x08, 20 /* Private */,
+ 22, 0, 214, 2, 0x08, 21 /* Private */,
+ 23, 0, 215, 2, 0x08, 22 /* Private */,
+ 24, 0, 216, 2, 0x08, 23 /* Private */,
+ 25, 0, 217, 2, 0x08, 24 /* Private */,
+ 26, 0, 218, 2, 0x08, 25 /* Private */,
+ 27, 0, 219, 2, 0x08, 26 /* Private */,
+ 28, 0, 220, 2, 0x08, 27 /* Private */,
+ 29, 0, 221, 2, 0x08, 28 /* Private */,
+ 30, 0, 222, 2, 0x08, 29 /* Private */,
+ 31, 0, 223, 2, 0x08, 30 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject DbcParserTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN13DbcParserTestE.offsetsAndSizes,
+ qt_meta_data_ZN13DbcParserTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'attributes'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidAttributes'
+ QtPrivate::TypeAndForceComplete,
+ // method 'attributeNumbers'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidAttributeNumbers_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidAttributeNumbers'
+ QtPrivate::TypeAndForceComplete,
+ // method 'attributeWarnings'
+ QtPrivate::TypeAndForceComplete,
+ // method 'diagnostics'
+ QtPrivate::TypeAndForceComplete,
+ // method 'diagnosticErrors'
+ QtPrivate::TypeAndForceComplete,
+ // method 'diagnosticUnsupportedStatements'
+ QtPrivate::TypeAndForceComplete,
+ // method 'diagnosticNamespaceBoundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'diagnosticFormatting'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexing'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingBoundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'validFrames'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidFrames'
+ QtPrivate::TypeAndForceComplete,
+ // method 'duplicateFrames'
+ QtPrivate::TypeAndForceComplete,
+ // method 'duplicateSignals'
+ QtPrivate::TypeAndForceComplete,
+ // method 'distinctDefinitions'
+ QtPrivate::TypeAndForceComplete,
+ // method 'comments'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidComments_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidComments'
+ QtPrivate::TypeAndForceComplete,
+ // method 'integration'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidSignals'
+ QtPrivate::TypeAndForceComplete,
+ // method 'validSignals'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalNumbersCppLocale'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalNumbersCLocale'
+ QtPrivate::TypeAndForceComplete,
+ // method 'dispatch'
+ QtPrivate::TypeAndForceComplete,
+ // method 'independentSessions'
+ QtPrivate::TypeAndForceComplete,
+ // method 'valueDescriptions'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidValueDescriptions'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void DbcParserTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->attributes(); break;
+ case 1: _t->invalidAttributes(); break;
+ case 2: _t->attributeNumbers(); break;
+ case 3: _t->invalidAttributeNumbers_data(); break;
+ case 4: _t->invalidAttributeNumbers(); break;
+ case 5: _t->attributeWarnings(); break;
+ case 6: _t->diagnostics(); break;
+ case 7: _t->diagnosticErrors(); break;
+ case 8: _t->diagnosticUnsupportedStatements(); break;
+ case 9: _t->diagnosticNamespaceBoundaries(); break;
+ case 10: _t->diagnosticFormatting(); break;
+ case 11: _t->multiplexing(); break;
+ case 12: _t->multiplexingBoundaries(); break;
+ case 13: _t->validFrames(); break;
+ case 14: _t->invalidFrames(); break;
+ case 15: _t->duplicateFrames(); break;
+ case 16: _t->duplicateSignals(); break;
+ case 17: _t->distinctDefinitions(); break;
+ case 18: _t->comments(); break;
+ case 19: _t->invalidComments_data(); break;
+ case 20: _t->invalidComments(); break;
+ case 21: _t->integration(); break;
+ case 22: _t->invalidSignals(); break;
+ case 23: _t->validSignals(); break;
+ case 24: _t->physicalNumbersCppLocale(); break;
+ case 25: _t->physicalNumbersCLocale(); break;
+ case 26: _t->dispatch(); break;
+ case 27: _t->independentSessions(); break;
+ case 28: _t->valueDescriptions(); break;
+ case 29: _t->invalidValueDescriptions(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *DbcParserTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *DbcParserTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN13DbcParserTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int DbcParserTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 30)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 30;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 30)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 30;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-coverage/tests/dbc_parser_test.o b/build-coverage/tests/dbc_parser_test.o
new file mode 100644
index 0000000..db93aa8
Binary files /dev/null and b/build-coverage/tests/dbc_parser_test.o differ
diff --git a/build-coverage/tests/dbc_pipeline_test.gcda b/build-coverage/tests/dbc_pipeline_test.gcda
new file mode 100644
index 0000000..32cb86d
Binary files /dev/null and b/build-coverage/tests/dbc_pipeline_test.gcda differ
diff --git a/build-coverage/tests/dbc_pipeline_test.gcno b/build-coverage/tests/dbc_pipeline_test.gcno
new file mode 100644
index 0000000..1b26cb2
Binary files /dev/null and b/build-coverage/tests/dbc_pipeline_test.gcno differ
diff --git a/build-coverage/tests/dbc_pipeline_test.moc b/build-coverage/tests/dbc_pipeline_test.moc
new file mode 100644
index 0000000..e4773dc
--- /dev/null
+++ b/build-coverage/tests/dbc_pipeline_test.moc
@@ -0,0 +1,144 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_pipeline_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_pipeline_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN12PipelineTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN12PipelineTestE = QtMocHelpers::stringData(
+ "PipelineTest",
+ "metadataLookupDecodeAndTree",
+ "",
+ "emptyDatabase_data",
+ "emptyDatabase",
+ "databaseReplacement"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN12PipelineTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 4, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 38, 2, 0x08, 1 /* Private */,
+ 3, 0, 39, 2, 0x08, 2 /* Private */,
+ 4, 0, 40, 2, 0x08, 3 /* Private */,
+ 5, 0, 41, 2, 0x08, 4 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject PipelineTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN12PipelineTestE.offsetsAndSizes,
+ qt_meta_data_ZN12PipelineTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'metadataLookupDecodeAndTree'
+ QtPrivate::TypeAndForceComplete,
+ // method 'emptyDatabase_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'emptyDatabase'
+ QtPrivate::TypeAndForceComplete,
+ // method 'databaseReplacement'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void PipelineTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->metadataLookupDecodeAndTree(); break;
+ case 1: _t->emptyDatabase_data(); break;
+ case 2: _t->emptyDatabase(); break;
+ case 3: _t->databaseReplacement(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *PipelineTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *PipelineTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN12PipelineTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int PipelineTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 4)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 4;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 4)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 4;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-coverage/tests/dbc_pipeline_test.o b/build-coverage/tests/dbc_pipeline_test.o
new file mode 100644
index 0000000..6e02fbd
Binary files /dev/null and b/build-coverage/tests/dbc_pipeline_test.o differ
diff --git a/build-coverage/tests/dbc_tests b/build-coverage/tests/dbc_tests
new file mode 100755
index 0000000..61a88cd
Binary files /dev/null and b/build-coverage/tests/dbc_tests differ
diff --git a/build-coverage/tests/dbc_tree_builder.gcno b/build-coverage/tests/dbc_tree_builder.gcno
new file mode 100644
index 0000000..cd3be88
Binary files /dev/null and b/build-coverage/tests/dbc_tree_builder.gcno differ
diff --git a/build-coverage/tests/dbc_tree_builder.o b/build-coverage/tests/dbc_tree_builder.o
new file mode 100644
index 0000000..62dda99
Binary files /dev/null and b/build-coverage/tests/dbc_tree_builder.o differ
diff --git a/build-coverage/tests/dbc_tree_model_test.gcda b/build-coverage/tests/dbc_tree_model_test.gcda
new file mode 100644
index 0000000..da48dfe
Binary files /dev/null and b/build-coverage/tests/dbc_tree_model_test.gcda differ
diff --git a/build-coverage/tests/dbc_tree_model_test.gcno b/build-coverage/tests/dbc_tree_model_test.gcno
new file mode 100644
index 0000000..3d59024
Binary files /dev/null and b/build-coverage/tests/dbc_tree_model_test.gcno differ
diff --git a/build-coverage/tests/dbc_tree_model_test.moc b/build-coverage/tests/dbc_tree_model_test.moc
new file mode 100644
index 0000000..6ca34d1
--- /dev/null
+++ b/build-coverage/tests/dbc_tree_model_test.moc
@@ -0,0 +1,150 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_tree_model_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_tree_model_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN9ModelTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN9ModelTestE = QtMocHelpers::stringData(
+ "ModelTest",
+ "additionalMetadata",
+ "",
+ "emptyRootAndRejectedReplacement",
+ "navigation",
+ "metadata",
+ "replacement"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN9ModelTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 5, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 44, 2, 0x08, 1 /* Private */,
+ 3, 0, 45, 2, 0x08, 2 /* Private */,
+ 4, 0, 46, 2, 0x08, 3 /* Private */,
+ 5, 0, 47, 2, 0x08, 4 /* Private */,
+ 6, 0, 48, 2, 0x08, 5 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject ModelTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN9ModelTestE.offsetsAndSizes,
+ qt_meta_data_ZN9ModelTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'additionalMetadata'
+ QtPrivate::TypeAndForceComplete,
+ // method 'emptyRootAndRejectedReplacement'
+ QtPrivate::TypeAndForceComplete,
+ // method 'navigation'
+ QtPrivate::TypeAndForceComplete,
+ // method 'metadata'
+ QtPrivate::TypeAndForceComplete,
+ // method 'replacement'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void ModelTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->additionalMetadata(); break;
+ case 1: _t->emptyRootAndRejectedReplacement(); break;
+ case 2: _t->navigation(); break;
+ case 3: _t->metadata(); break;
+ case 4: _t->replacement(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *ModelTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *ModelTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN9ModelTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int ModelTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 5)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 5;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 5)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 5;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-coverage/tests/dbc_tree_model_test.o b/build-coverage/tests/dbc_tree_model_test.o
new file mode 100644
index 0000000..c9e2e08
Binary files /dev/null and b/build-coverage/tests/dbc_tree_model_test.o differ
diff --git a/build-coverage/tests/dbc_tree_tests b/build-coverage/tests/dbc_tree_tests
new file mode 100755
index 0000000..3258cc7
Binary files /dev/null and b/build-coverage/tests/dbc_tree_tests differ
diff --git a/build-coverage/tests/dbc_validation_test.gcda b/build-coverage/tests/dbc_validation_test.gcda
new file mode 100644
index 0000000..bc67980
Binary files /dev/null and b/build-coverage/tests/dbc_validation_test.gcda differ
diff --git a/build-coverage/tests/dbc_validation_test.gcno b/build-coverage/tests/dbc_validation_test.gcno
new file mode 100644
index 0000000..8bb84a8
Binary files /dev/null and b/build-coverage/tests/dbc_validation_test.gcno differ
diff --git a/build-coverage/tests/dbc_validation_test.moc b/build-coverage/tests/dbc_validation_test.moc
new file mode 100644
index 0000000..5118d17
--- /dev/null
+++ b/build-coverage/tests/dbc_validation_test.moc
@@ -0,0 +1,180 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_validation_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_validation_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN17DbcValidationTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN17DbcValidationTestE = QtMocHelpers::stringData(
+ "DbcValidationTest",
+ "invalidMetadata_data",
+ "",
+ "invalidMetadata",
+ "numericParameters_data",
+ "numericParameters",
+ "validBoundaries",
+ "layoutBoundaries",
+ "builderSnapshot",
+ "multiplexingBoundaries",
+ "independentSnapshot",
+ "failedReplacement"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN17DbcValidationTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 10, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 74, 2, 0x08, 1 /* Private */,
+ 3, 0, 75, 2, 0x08, 2 /* Private */,
+ 4, 0, 76, 2, 0x08, 3 /* Private */,
+ 5, 0, 77, 2, 0x08, 4 /* Private */,
+ 6, 0, 78, 2, 0x08, 5 /* Private */,
+ 7, 0, 79, 2, 0x08, 6 /* Private */,
+ 8, 0, 80, 2, 0x08, 7 /* Private */,
+ 9, 0, 81, 2, 0x08, 8 /* Private */,
+ 10, 0, 82, 2, 0x08, 9 /* Private */,
+ 11, 0, 83, 2, 0x08, 10 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject DbcValidationTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN17DbcValidationTestE.offsetsAndSizes,
+ qt_meta_data_ZN17DbcValidationTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'invalidMetadata_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidMetadata'
+ QtPrivate::TypeAndForceComplete,
+ // method 'numericParameters_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'numericParameters'
+ QtPrivate::TypeAndForceComplete,
+ // method 'validBoundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'layoutBoundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'builderSnapshot'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingBoundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'independentSnapshot'
+ QtPrivate::TypeAndForceComplete,
+ // method 'failedReplacement'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void DbcValidationTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->invalidMetadata_data(); break;
+ case 1: _t->invalidMetadata(); break;
+ case 2: _t->numericParameters_data(); break;
+ case 3: _t->numericParameters(); break;
+ case 4: _t->validBoundaries(); break;
+ case 5: _t->layoutBoundaries(); break;
+ case 6: _t->builderSnapshot(); break;
+ case 7: _t->multiplexingBoundaries(); break;
+ case 8: _t->independentSnapshot(); break;
+ case 9: _t->failedReplacement(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *DbcValidationTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *DbcValidationTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN17DbcValidationTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int DbcValidationTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 10)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 10;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 10)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 10;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-coverage/tests/dbc_validation_test.o b/build-coverage/tests/dbc_validation_test.o
new file mode 100644
index 0000000..35e9660
Binary files /dev/null and b/build-coverage/tests/dbc_validation_test.o differ
diff --git a/build-coverage/tests/main.gcda b/build-coverage/tests/main.gcda
new file mode 100644
index 0000000..2839525
Binary files /dev/null and b/build-coverage/tests/main.gcda differ
diff --git a/build-coverage/tests/main.gcno b/build-coverage/tests/main.gcno
new file mode 100644
index 0000000..2cfc03c
Binary files /dev/null and b/build-coverage/tests/main.gcno differ
diff --git a/build-coverage/tests/main.o b/build-coverage/tests/main.o
new file mode 100644
index 0000000..7ad3cd7
Binary files /dev/null and b/build-coverage/tests/main.o differ
diff --git a/build-coverage/tests/moc_predefs.h b/build-coverage/tests/moc_predefs.h
new file mode 100644
index 0000000..d5fbfb0
--- /dev/null
+++ b/build-coverage/tests/moc_predefs.h
@@ -0,0 +1,461 @@
+#define __DBL_MIN_EXP__ (-1021)
+#define __cpp_nontype_template_parameter_auto 201606L
+#define __UINT_LEAST16_MAX__ 0xffff
+#define __FLT16_HAS_QUIET_NAN__ 1
+#define __ATOMIC_ACQUIRE 2
+#define __FLT128_MAX_10_EXP__ 4932
+#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
+#define __GCC_IEC_559_COMPLEX 2
+#define __cpp_aggregate_nsdmi 201304L
+#define __UINT_LEAST8_TYPE__ unsigned char
+#define __SIZEOF_FLOAT80__ 16
+#define __BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16
+#define __INTMAX_C(c) c ## L
+#define __CHAR_BIT__ 8
+#define __UINT8_MAX__ 0xff
+#define __SCHAR_WIDTH__ 8
+#define __WINT_MAX__ 0xffffffffU
+#define __FLT32_MIN_EXP__ (-125)
+#define __cpp_static_assert 201411L
+#define __BFLT16_MIN_10_EXP__ (-37)
+#define __ORDER_LITTLE_ENDIAN__ 1234
+#define __WCHAR_MAX__ 0x7fffffff
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
+#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
+#define __GCC_IEC_559 2
+#define __FLT32X_DECIMAL_DIG__ 17
+#define __FLT_EVAL_METHOD__ 0
+#define __cpp_binary_literals 201304L
+#define __FLT64_DECIMAL_DIG__ 17
+#define __cpp_noexcept_function_type 201510L
+#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
+#define __cpp_variadic_templates 200704L
+#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
+#define __SIG_ATOMIC_TYPE__ int
+#define __DBL_MIN_10_EXP__ (-307)
+#define __FINITE_MATH_ONLY__ 0
+#define __cpp_variable_templates 201304L
+#define __FLT32X_MAX_EXP__ 1024
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
+#define __FLT32_HAS_DENORM__ 1
+#define __UINT_FAST8_MAX__ 0xff
+#define __cpp_rvalue_reference 200610L
+#define __cpp_nested_namespace_definitions 201411L
+#define __DEC64_MAX_EXP__ 385
+#define __INT8_C(c) c
+#define __LDBL_HAS_INFINITY__ 1
+#define __INT_LEAST8_WIDTH__ 8
+#define __cpp_variadic_using 201611L
+#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
+#define __INT_LEAST8_MAX__ 0x7f
+#define __cpp_attributes 200809L
+#define __cpp_capture_star_this 201603L
+#define __SHRT_MAX__ 0x7fff
+#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __FLT64X_MAX_10_EXP__ 4932
+#define __cpp_if_constexpr 201606L
+#define __BFLT16_MAX_10_EXP__ 38
+#define __BFLT16_MAX_EXP__ 128
+#define __LDBL_IS_IEC_60559__ 1
+#define __FLT64X_HAS_QUIET_NAN__ 1
+#define __UINT_LEAST8_MAX__ 0xff
+#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
+#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
+#define __UINTMAX_TYPE__ long unsigned int
+#define __cpp_nsdmi 200809L
+#define __BFLT16_DECIMAL_DIG__ 4
+#define __linux 1
+#define __DEC32_EPSILON__ 1E-6DF
+#define __FLT_EVAL_METHOD_TS_18661_3__ 0
+#define __UINT32_MAX__ 0xffffffffU
+#define __GXX_EXPERIMENTAL_CXX0X__ 1
+#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
+#define __FLT128_MIN_EXP__ (-16381)
+#define __WINT_MIN__ 0U
+#define __FLT128_MIN_10_EXP__ (-4931)
+#define __FLT32X_IS_IEC_60559__ 1
+#define __INT_LEAST16_WIDTH__ 16
+#define __SCHAR_MAX__ 0x7f
+#define __FLT128_MANT_DIG__ 113
+#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
+#define __INT64_C(c) c ## L
+#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
+#define __ATOMIC_SEQ_CST 5
+#define __unix 1
+#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
+#define __FLT32X_MANT_DIG__ 53
+#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
+#define __cpp_aligned_new 201606L
+#define __FLT32_MAX_10_EXP__ 38
+#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
+#define __STDC_HOSTED__ 1
+#define __DEC64_MIN_EXP__ (-382)
+#define __cpp_decltype_auto 201304L
+#define __DBL_DIG__ 15
+#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
+#define __GXX_WEAK__ 1
+#define __SHRT_WIDTH__ 16
+#define __FLT32_IS_IEC_60559__ 1
+#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
+#define __DBL_IS_IEC_60559__ 1
+#define __DEC32_MAX__ 9.999999E96DF
+#define __cpp_threadsafe_static_init 200806L
+#define __cpp_enumerator_attributes 201411L
+#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
+#define __FLT32X_HAS_INFINITY__ 1
+#define __unix__ 1
+#define __INT_WIDTH__ 32
+#define __STDC_IEC_559__ 1
+#define __STDC_ISO_10646__ 201706L
+#define __DECIMAL_DIG__ 21
+#define __STDC_IEC_559_COMPLEX__ 1
+#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
+#define __gnu_linux__ 1
+#define __INT16_MAX__ 0x7fff
+#define __FLT64_MIN_EXP__ (-1021)
+#define __FLT64X_MIN_10_EXP__ (-4931)
+#define __LDBL_HAS_QUIET_NAN__ 1
+#define __cpp_return_type_deduction 201304L
+#define __FLT16_MIN_EXP__ (-13)
+#define __FLT64_MANT_DIG__ 53
+#define __FLT64X_MANT_DIG__ 64
+#define __BFLT16_DIG__ 2
+#define __GNUC__ 14
+#define __GXX_RTTI 1
+#define __pie__ 2
+#define __MMX__ 1
+#define __FLT_HAS_DENORM__ 1
+#define __SIZEOF_LONG_DOUBLE__ 16
+#define __BIGGEST_ALIGNMENT__ 16
+#define __STDC_UTF_16__ 1
+#define __FLT64_MAX_10_EXP__ 308
+#define __BFLT16_IS_IEC_60559__ 0
+#define __FLT16_MAX_10_EXP__ 4
+#define __cpp_delegating_constructors 200604L
+#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define __cpp_raw_strings 200710L
+#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
+#define __DBL_HAS_INFINITY__ 1
+#define __INT64_MAX__ 0x7fffffffffffffffL
+#define __SIZEOF_FLOAT__ 4
+#define __HAVE_SPECULATION_SAFE_VALUE 1
+#define __cpp_fold_expressions 201603L
+#define __DEC32_MIN_EXP__ (-94)
+#define __INTPTR_WIDTH__ 64
+#define __UINT_LEAST32_MAX__ 0xffffffffU
+#define __FLT32X_HAS_DENORM__ 1
+#define __INT_FAST16_TYPE__ long int
+#define __MMX_WITH_SSE__ 1
+#define __LDBL_HAS_DENORM__ 1
+#define __SEG_GS 1
+#define __cplusplus 201703L
+#define __cpp_ref_qualifiers 200710L
+#define __DEC32_MIN__ 1E-95DF
+#define __DEPRECATED 1
+#define __cpp_rvalue_references 200610L
+#define __DBL_MAX_EXP__ 1024
+#define __WCHAR_WIDTH__ 32
+#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __DEC128_EPSILON__ 1E-33DL
+#define __FLT16_DECIMAL_DIG__ 5
+#define __SSE2_MATH__ 1
+#define __ATOMIC_HLE_RELEASE 131072
+#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
+#define __amd64 1
+#define __ATOMIC_HLE_ACQUIRE 65536
+#define __GNUG__ 14
+#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
+#define __SIZEOF_SIZE_T__ 8
+#define __BFLT16_HAS_INFINITY__ 1
+#define __FLT64X_MIN_EXP__ (-16381)
+#define __SIZEOF_WINT_T__ 4
+#define __FLT32X_DIG__ 15
+#define __LONG_LONG_WIDTH__ 64
+#define __cpp_initializer_lists 200806L
+#define __FLT32_MAX_EXP__ 128
+#define __cpp_hex_float 201603L
+#define __GXX_ABI_VERSION 1019
+#define __FLT_MIN_EXP__ (-125)
+#define __GCC_HAVE_DWARF2_CFI_ASM 1
+#define __x86_64 1
+#define __cpp_lambdas 200907L
+#define __INT_FAST64_TYPE__ long int
+#define __BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16
+#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
+#define __cpp_template_auto 201606L
+#define __FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16
+#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
+#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __SIZEOF_POINTER__ 8
+#define __SIZE_TYPE__ long unsigned int
+#define __LP64__ 1
+#define __DBL_HAS_QUIET_NAN__ 1
+#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
+#define __LDBL_MAX_EXP__ 16384
+#define __DECIMAL_BID_FORMAT__ 1
+#define __FLT64_MIN_10_EXP__ (-307)
+#define __FLT16_MIN_10_EXP__ (-4)
+#define __FLT64X_DECIMAL_DIG__ 21
+#define __DEC128_MIN__ 1E-6143DL
+#define __REGISTER_PREFIX__
+#define __UINT16_MAX__ 0xffff
+#define __FLT128_HAS_INFINITY__ 1
+#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
+#define __UINT8_TYPE__ unsigned char
+#define __FLT_DIG__ 6
+#define __NO_INLINE__ 1
+#define __DEC_EVAL_METHOD__ 2
+#define __FLT_MANT_DIG__ 24
+#define __LDBL_DECIMAL_DIG__ 21
+#define __VERSION__ "14.2.0"
+#define __UINT64_C(c) c ## UL
+#define __cpp_unicode_characters 201411L
+#define _STDC_PREDEF_H 1
+#define __INT_LEAST32_MAX__ 0x7fffffff
+#define __GCC_ATOMIC_INT_LOCK_FREE 2
+#define __FLT128_MAX_EXP__ 16384
+#define __FLT32_MANT_DIG__ 24
+#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __FLT32X_MIN_EXP__ (-1021)
+#define __STDC_IEC_60559_COMPLEX__ 201404L
+#define __cpp_aggregate_bases 201603L
+#define __BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16
+#define __FLT128_HAS_DENORM__ 1
+#define __FLT32_DECIMAL_DIG__ 9
+#define __FLT128_DIG__ 33
+#define __INT32_C(c) c
+#define __DEC64_EPSILON__ 1E-15DD
+#define __ORDER_PDP_ENDIAN__ 3412
+#define __DEC128_MIN_EXP__ (-6142)
+#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
+#define __INT_FAST32_TYPE__ long int
+#define __UINT_LEAST16_TYPE__ short unsigned int
+#define __DEC128_MAX_EXP__ 6145
+#define unix 1
+#define __DBL_HAS_DENORM__ 1
+#define __cpp_rtti 199711L
+#define __UINT64_MAX__ 0xffffffffffffffffUL
+#define __FLT_IS_IEC_60559__ 1
+#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE"
+#define __FLT64X_DIG__ 18
+#define __INT8_TYPE__ signed char
+#define __cpp_digit_separators 201309L
+#define __ELF__ 1
+#define __GCC_ASM_FLAG_OUTPUTS__ 1
+#define __UINT32_TYPE__ unsigned int
+#define __BFLT16_HAS_QUIET_NAN__ 1
+#define __FLT_RADIX__ 2
+#define __INT_LEAST16_TYPE__ short int
+#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
+#define __UINTMAX_C(c) c ## UL
+#define __FLT16_DIG__ 3
+#define __k8 1
+#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
+#define __SIG_ATOMIC_MAX__ 0x7fffffff
+#define __cpp_constexpr 201603L
+#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
+#define __USER_LABEL_PREFIX__
+#define __STDC_IEC_60559_BFP__ 201404L
+#define __SIZEOF_PTRDIFF_T__ 8
+#define __FLT64X_HAS_INFINITY__ 1
+#define __SIZEOF_LONG__ 8
+#define __LDBL_DIG__ 18
+#define __FLT64_IS_IEC_60559__ 1
+#define __x86_64__ 1
+#define __FLT16_IS_IEC_60559__ 1
+#define __FLT16_MAX_EXP__ 16
+#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
+#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
+#define __GCC_CONSTRUCTIVE_SIZE 64
+#define __FLT64_DIG__ 15
+#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
+#define __UINT_LEAST64_TYPE__ long unsigned int
+#define __FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16
+#define __FLT_HAS_QUIET_NAN__ 1
+#define __FLT_MAX_10_EXP__ 38
+#define __FLT64X_HAS_DENORM__ 1
+#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
+#define __FLT_HAS_INFINITY__ 1
+#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8"
+#define __cpp_unicode_literals 200710L
+#define __UINT_FAST16_TYPE__ long unsigned int
+#define __DEC64_MAX__ 9.999999999999999E384DD
+#define __INT_FAST32_WIDTH__ 64
+#define __CHAR16_TYPE__ short unsigned int
+#define __PRAGMA_REDEFINE_EXTNAME 1
+#define __SIZE_WIDTH__ 64
+#define __SEG_FS 1
+#define __INT_LEAST16_MAX__ 0x7fff
+#define __FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16
+#define __DEC64_MANT_DIG__ 16
+#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
+#define __SIG_ATOMIC_WIDTH__ 32
+#define __INT_LEAST64_TYPE__ long int
+#define __INT16_TYPE__ short int
+#define __INT_LEAST8_TYPE__ signed char
+#define __FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16
+#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
+#define __cpp_structured_bindings 201606L
+#define __SIZEOF_INT__ 4
+#define __DEC32_MAX_EXP__ 97
+#define __BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16
+#define __INT_FAST8_MAX__ 0x7f
+#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __INTPTR_MAX__ 0x7fffffffffffffffL
+#define __cpp_sized_deallocation 201309L
+#define __cpp_guaranteed_copy_elision 201606L
+#define linux 1
+#define __FLT64_HAS_QUIET_NAN__ 1
+#define __FLT32_MIN_10_EXP__ (-37)
+#define __EXCEPTIONS 1
+#define __UINT16_C(c) c
+#define __PTRDIFF_WIDTH__ 64
+#define __LDBL_MANT_DIG__ 64
+#define __cpp_range_based_for 201603L
+#define __INT_FAST16_WIDTH__ 64
+#define __FLT64_HAS_INFINITY__ 1
+#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __FLT16_HAS_INFINITY__ 1
+#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16
+#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
+#define __code_model_small__ 1
+#define __GCC_ATOMIC_LONG_LOCK_FREE 2
+#define __cpp_nontype_template_args 201411L
+#define __DEC32_MANT_DIG__ 7
+#define __k8__ 1
+#define __INTPTR_TYPE__ long int
+#define __UINT16_TYPE__ short unsigned int
+#define __WCHAR_TYPE__ int
+#define __pic__ 2
+#define __UINTPTR_MAX__ 0xffffffffffffffffUL
+#define __INT_FAST64_WIDTH__ 64
+#define __cpp_decltype 200707L
+#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
+#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
+#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __FLT32_HAS_INFINITY__ 1
+#define __FLT64X_MAX_EXP__ 16384
+#define __UINT_FAST64_TYPE__ long unsigned int
+#define __cpp_inline_variables 201606L
+#define __BFLT16_MIN_EXP__ (-125)
+#define __INT_MAX__ 0x7fffffff
+#define __linux__ 1
+#define __INT64_TYPE__ long int
+#define __FLT_MAX_EXP__ 128
+#define __ORDER_BIG_ENDIAN__ 4321
+#define __DBL_MANT_DIG__ 53
+#define __cpp_inheriting_constructors 201511L
+#define __SIZEOF_FLOAT128__ 16
+#define __BFLT16_MANT_DIG__ 8
+#define __DEC64_MIN__ 1E-383DD
+#define __WINT_TYPE__ unsigned int
+#define __UINT_LEAST32_TYPE__ unsigned int
+#define __SIZEOF_SHORT__ 2
+#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __SSE__ 1
+#define __LDBL_MIN_EXP__ (-16381)
+#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __amd64__ 1
+#define __WINT_WIDTH__ 32
+#define __INT_LEAST64_WIDTH__ 64
+#define __FLT32X_MAX_10_EXP__ 308
+#define __cpp_namespace_attributes 201411L
+#define __SIZEOF_INT128__ 16
+#define __FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16
+#define __FLT64X_IS_IEC_60559__ 1
+#define __LDBL_MAX_10_EXP__ 4932
+#define __ATOMIC_RELAXED 0
+#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
+#define __INT_LEAST32_TYPE__ int
+#define _LP64 1
+#define __UINT8_C(c) c
+#define __FLT64_MAX_EXP__ 1024
+#define __SIZEOF_WCHAR_T__ 4
+#define __GNUC_PATCHLEVEL__ 0
+#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __FLT128_HAS_QUIET_NAN__ 1
+#define __INTMAX_MAX__ 0x7fffffffffffffffL
+#define __INT_FAST8_TYPE__ signed char
+#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
+#define __STDCPP_THREADS__ 1
+#define __BFLT16_HAS_DENORM__ 1
+#define __GNUC_STDC_INLINE__ 1
+#define __FLT64_HAS_DENORM__ 1
+#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
+#define __FLT16_HAS_DENORM__ 1
+#define __DBL_DECIMAL_DIG__ 17
+#define __STDC_UTF_32__ 1
+#define __INT_FAST8_WIDTH__ 8
+#define __FXSR__ 1
+#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __GCC_DESTRUCTIVE_SIZE 64
+#define __INTMAX_WIDTH__ 64
+#define __cpp_runtime_arrays 198712L
+#define __FLT32_DIG__ 6
+#define __UINT64_TYPE__ long unsigned int
+#define __UINT32_C(c) c ## U
+#define __cpp_alias_templates 200704L
+#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
+#define __FLT128_IS_IEC_60559__ 1
+#define __INT8_MAX__ 0x7f
+#define __LONG_WIDTH__ 64
+#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
+#define __PIC__ 2
+#define __INT32_MAX__ 0x7fffffff
+#define __UINT_FAST32_TYPE__ long unsigned int
+#define __FLT16_MANT_DIG__ 11
+#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __CHAR32_TYPE__ unsigned int
+#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __SSE2__ 1
+#define __cpp_deduction_guides 201703L
+#define __BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16
+#define __INT32_TYPE__ int
+#define __SIZEOF_DOUBLE__ 8
+#define __cpp_exceptions 199711L
+#define __FLT_MIN_10_EXP__ (-37)
+#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
+#define __INT_LEAST32_WIDTH__ 32
+#define __INTMAX_TYPE__ long int
+#define __GLIBCXX_BITSIZE_INT_N_0 128
+#define __FLT32X_HAS_QUIET_NAN__ 1
+#define __ATOMIC_CONSUME 1
+#define __GNUC_MINOR__ 2
+#define __GLIBCXX_TYPE_INT_N_0 __int128
+#define __UINTMAX_MAX__ 0xffffffffffffffffUL
+#define __PIE__ 2
+#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
+#define __cpp_template_template_args 201611L
+#define __DBL_MAX_10_EXP__ 308
+#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
+#define __INT16_C(c) c
+#define __STDC__ 1
+#define __PTRDIFF_TYPE__ long int
+#define __LONG_MAX__ 0x7fffffffffffffffL
+#define __FLT32X_MIN_10_EXP__ (-307)
+#define __UINTPTR_TYPE__ long unsigned int
+#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
+#define __DEC128_MANT_DIG__ 34
+#define __LDBL_MIN_10_EXP__ (-4931)
+#define __cpp_generic_lambdas 201304L
+#define __SSE_MATH__ 1
+#define __SIZEOF_LONG_LONG__ 8
+#define __cpp_user_defined_literals 200809L
+#define __FLT128_DECIMAL_DIG__ 36
+#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
+#define __FLT32_HAS_QUIET_NAN__ 1
+#define __FLT_DECIMAL_DIG__ 9
+#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
+#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
+#define __SIZE_MAX__ 0xffffffffffffffffUL
+#define __UINT_FAST8_TYPE__ unsigned char
+#define _GNU_SOURCE 1
+#define __cpp_init_captures 201304L
+#define __ATOMIC_ACQ_REL 4
+#define __ATOMIC_RELEASE 3
diff --git a/build-coverage/tests/target_wrapper.sh b/build-coverage/tests/target_wrapper.sh
new file mode 100755
index 0000000..f3a1b48
--- /dev/null
+++ b/build-coverage/tests/target_wrapper.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH
+QT_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt6/plugins${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH}
+export QT_PLUGIN_PATH
+exec "$@"
diff --git a/build-coverage/tests/tree_node.gcno b/build-coverage/tests/tree_node.gcno
new file mode 100644
index 0000000..9320f21
Binary files /dev/null and b/build-coverage/tests/tree_node.gcno differ
diff --git a/build-coverage/tests/tree_node.o b/build-coverage/tests/tree_node.o
new file mode 100644
index 0000000..0251d27
Binary files /dev/null and b/build-coverage/tests/tree_node.o differ
diff --git a/build-coverage/tests/tree_node_test.gcno b/build-coverage/tests/tree_node_test.gcno
new file mode 100644
index 0000000..151c3fe
Binary files /dev/null and b/build-coverage/tests/tree_node_test.gcno differ
diff --git a/build-coverage/tests/tree_node_test.o b/build-coverage/tests/tree_node_test.o
new file mode 100644
index 0000000..e69de29
diff --git a/build-qt/Makefile b/build-qt/Makefile
index 72863cc..1a8d257 100644
--- a/build-qt/Makefile
+++ b/build-qt/Makefile
@@ -348,6 +348,7 @@ Makefile: ../dbc.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ .qmake.stash \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
@@ -545,6 +546,7 @@ Makefile: ../dbc.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+.qmake.stash:
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
@@ -618,7 +620,7 @@ dist: distdir FORCE
distdir: sub-core-distdir sub-tests-distdir sub-tests-tree_tests-pro-distdir sub-qt-distdir sub-tests-model_tests-pro-distdir FORCE
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
- $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf ../dbc.pro $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf .qmake.stash /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf ../dbc.pro $(DISTDIR)/
sub-core-distdir: FORCE
@test -d core/ || mkdir -p core/
diff --git a/build-qt/core/Makefile b/build-qt/core/Makefile
index 7155dcb..bfdbaee 100644
--- a/build-qt/core/Makefile
+++ b/build-qt/core/Makefile
@@ -49,14 +49,16 @@ OBJECTS_DIR = ./
####### Files
-SOURCES = ../../core/decode_database.cpp \
+SOURCES = ../../core/dbc_attributes.cpp \
+ ../../core/decode_database.cpp \
../../core/dbc_decode_builder.cpp \
../../core/dbc_decoder.cpp \
../../core/dbc_parser.cpp \
../../core/dbc_statement_handler.cpp \
../../core/dbc_tree_builder.cpp \
../../core/tree_node.cpp
-OBJECTS = decode_database.o \
+OBJECTS = dbc_attributes.o \
+ decode_database.o \
dbc_decode_builder.o \
dbc_decoder.o \
dbc_parser.o \
@@ -260,7 +262,9 @@ DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
- ../../../core/core.pro /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h \
+ ../../../core/core.pro /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/attributes.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h \
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h \
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h \
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/multiplexing.h \
@@ -276,7 +280,8 @@ DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h \
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h \
/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h \
- /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h ../../core/decode_database.cpp \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h ../../core/dbc_attributes.cpp \
+ ../../core/decode_database.cpp \
../../core/dbc_decode_builder.cpp \
../../core/dbc_decoder.cpp \
../../core/dbc_parser.cpp \
@@ -737,28 +742,44 @@ compiler_clean:
####### Compile
+dbc_attributes.o: ../../core/dbc_attributes.cpp ../../core/dbc_statement_handler.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/typefactory.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_attributes.o ../../core/dbc_attributes.cpp
+
decode_database.o: ../../core/decode_database.cpp ../../core/decode_database.h \
+ ../../core/attributes.h \
../../core/definition_key.h \
../../core/multiplexing.h \
../../core/value_descriptions.h \
+ ../../core/j1939.h \
../../core/signal_layout.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o decode_database.o ../../core/decode_database.cpp
dbc_decode_builder.o: ../../core/dbc_decode_builder.cpp ../../core/dbc_decode_builder.h \
../../core/dbc_database.h \
../../core/frame_info.h \
+ ../../core/attributes.h \
../../core/signal_info.h \
- ../../core/value_descriptions.h \
../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
../../core/decode_database.h \
../../core/definition_key.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decode_builder.o ../../core/dbc_decode_builder.cpp
dbc_decoder.o: ../../core/dbc_decoder.cpp ../../core/dbc_decoder.h \
../../core/decode_database.h \
+ ../../core/attributes.h \
../../core/definition_key.h \
../../core/multiplexing.h \
../../core/value_descriptions.h \
+ ../../core/j1939.h \
../../core/signal_layout.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decoder.o ../../core/dbc_decoder.cpp
@@ -766,9 +787,10 @@ dbc_parser.o: ../../core/dbc_parser.cpp ../../core/dbc_parser.h \
../../core/dbc_diagnostic.h \
../../core/dbc_database.h \
../../core/frame_info.h \
+ ../../core/attributes.h \
../../core/signal_info.h \
- ../../core/value_descriptions.h \
../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
../../core/dbc_statement_handler.h \
../../core/typefactory.h \
../../core/text_utils.h
@@ -777,11 +799,13 @@ dbc_parser.o: ../../core/dbc_parser.cpp ../../core/dbc_parser.h \
dbc_statement_handler.o: ../../core/dbc_statement_handler.cpp ../../core/dbc_statement_handler.h \
../../core/dbc_database.h \
../../core/frame_info.h \
+ ../../core/attributes.h \
../../core/signal_info.h \
- ../../core/value_descriptions.h \
../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
../../core/dbc_diagnostic.h \
../../core/typefactory.h \
+ ../../core/j1939.h \
../../core/text_utils.h \
../../core/signal_layout.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_statement_handler.o ../../core/dbc_statement_handler.cpp
@@ -789,9 +813,10 @@ dbc_statement_handler.o: ../../core/dbc_statement_handler.cpp ../../core/dbc_sta
dbc_tree_builder.o: ../../core/dbc_tree_builder.cpp ../../core/dbc_tree_builder.h \
../../core/dbc_database.h \
../../core/frame_info.h \
+ ../../core/attributes.h \
../../core/signal_info.h \
- ../../core/value_descriptions.h \
../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
../../core/tree_node.h \
../../core/definition_key.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_builder.o ../../core/dbc_tree_builder.cpp
@@ -799,9 +824,10 @@ dbc_tree_builder.o: ../../core/dbc_tree_builder.cpp ../../core/dbc_tree_builder.
tree_node.o: ../../core/tree_node.cpp ../../core/tree_node.h \
../../core/definition_key.h \
../../core/frame_info.h \
+ ../../core/attributes.h \
../../core/signal_info.h \
- ../../core/value_descriptions.h \
- ../../core/multiplexing.h
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node.o ../../core/tree_node.cpp
####### Install
diff --git a/build-qt/core/dbc_attributes.o b/build-qt/core/dbc_attributes.o
new file mode 100644
index 0000000..ba46fe6
Binary files /dev/null and b/build-qt/core/dbc_attributes.o differ
diff --git a/build-qt/core/dbc_decode_builder.o b/build-qt/core/dbc_decode_builder.o
index 657c729..ba671ba 100644
Binary files a/build-qt/core/dbc_decode_builder.o and b/build-qt/core/dbc_decode_builder.o differ
diff --git a/build-qt/core/dbc_decoder.o b/build-qt/core/dbc_decoder.o
index eac92ed..e449520 100644
Binary files a/build-qt/core/dbc_decoder.o and b/build-qt/core/dbc_decoder.o differ
diff --git a/build-qt/core/dbc_parser.o b/build-qt/core/dbc_parser.o
index a8226b8..1f4b212 100644
Binary files a/build-qt/core/dbc_parser.o and b/build-qt/core/dbc_parser.o differ
diff --git a/build-qt/core/dbc_statement_handler.o b/build-qt/core/dbc_statement_handler.o
index 8770320..45ea7fc 100644
Binary files a/build-qt/core/dbc_statement_handler.o and b/build-qt/core/dbc_statement_handler.o differ
diff --git a/build-qt/core/dbc_tree_builder.o b/build-qt/core/dbc_tree_builder.o
index d879ee0..3924319 100644
Binary files a/build-qt/core/dbc_tree_builder.o and b/build-qt/core/dbc_tree_builder.o differ
diff --git a/build-qt/core/decode_database.o b/build-qt/core/decode_database.o
index 509ef5d..b118ef4 100644
Binary files a/build-qt/core/decode_database.o and b/build-qt/core/decode_database.o differ
diff --git a/build-qt/core/libdbc_core.a b/build-qt/core/libdbc_core.a
index 5d4aba5..8511776 100644
Binary files a/build-qt/core/libdbc_core.a and b/build-qt/core/libdbc_core.a differ
diff --git a/build-qt/core/tree_node.o b/build-qt/core/tree_node.o
index 5ca8eb6..6215cf6 100644
Binary files a/build-qt/core/tree_node.o and b/build-qt/core/tree_node.o differ
diff --git a/build-qt/qt/dbc_tree_model.o b/build-qt/qt/dbc_tree_model.o
index 251e151..64db7bb 100644
Binary files a/build-qt/qt/dbc_tree_model.o and b/build-qt/qt/dbc_tree_model.o differ
diff --git a/build-qt/qt/libdbc_qt.a b/build-qt/qt/libdbc_qt.a
index e8e82b4..43a2381 100644
Binary files a/build-qt/qt/libdbc_qt.a and b/build-qt/qt/libdbc_qt.a differ
diff --git a/build-qt/tests/dbc_coverage_test.moc b/build-qt/tests/dbc_coverage_test.moc
index f5a689d..f1ca16b 100644
--- a/build-qt/tests/dbc_coverage_test.moc
+++ b/build-qt/tests/dbc_coverage_test.moc
@@ -49,6 +49,11 @@ static constexpr auto qt_meta_stringdata_ZN12CoverageTestE = QtMocHelpers::strin
"malformedRuntimeMultiplexing",
"pgn_data",
"pgn",
+ "j1939Lookup_data",
+ "j1939Lookup",
+ "j1939Ambiguity_data",
+ "j1939Ambiguity",
+ "j1939MetadataValidation",
"comments_data",
"comments",
"ignoredCommentStatements_data",
@@ -78,7 +83,7 @@ Q_CONSTINIT static const uint qt_meta_data_ZN12CoverageTestE[] = {
12, // revision
0, // classname
0, 0, // classinfo
- 29, 14, // methods
+ 34, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@@ -86,35 +91,40 @@ Q_CONSTINIT static const uint qt_meta_data_ZN12CoverageTestE[] = {
0, // signalCount
// slots: name, argc, parameters, tag, flags, initial metatype offsets
- 1, 0, 188, 2, 0x08, 1 /* Private */,
- 3, 0, 189, 2, 0x08, 2 /* Private */,
- 4, 0, 190, 2, 0x08, 3 /* Private */,
- 5, 0, 191, 2, 0x08, 4 /* Private */,
- 6, 0, 192, 2, 0x08, 5 /* Private */,
- 7, 0, 193, 2, 0x08, 6 /* Private */,
- 8, 0, 194, 2, 0x08, 7 /* Private */,
- 9, 0, 195, 2, 0x08, 8 /* Private */,
- 10, 0, 196, 2, 0x08, 9 /* Private */,
- 11, 0, 197, 2, 0x08, 10 /* Private */,
- 12, 0, 198, 2, 0x08, 11 /* Private */,
- 13, 0, 199, 2, 0x08, 12 /* Private */,
- 14, 0, 200, 2, 0x08, 13 /* Private */,
- 15, 0, 201, 2, 0x08, 14 /* Private */,
- 16, 0, 202, 2, 0x08, 15 /* Private */,
- 17, 0, 203, 2, 0x08, 16 /* Private */,
- 18, 0, 204, 2, 0x08, 17 /* Private */,
- 19, 0, 205, 2, 0x08, 18 /* Private */,
- 20, 0, 206, 2, 0x08, 19 /* Private */,
- 21, 0, 207, 2, 0x08, 20 /* Private */,
- 22, 0, 208, 2, 0x08, 21 /* Private */,
- 23, 0, 209, 2, 0x08, 22 /* Private */,
- 24, 0, 210, 2, 0x08, 23 /* Private */,
- 25, 0, 211, 2, 0x08, 24 /* Private */,
- 26, 0, 212, 2, 0x08, 25 /* Private */,
- 27, 0, 213, 2, 0x08, 26 /* Private */,
- 28, 0, 214, 2, 0x08, 27 /* Private */,
- 29, 0, 215, 2, 0x08, 28 /* Private */,
- 30, 0, 216, 2, 0x08, 29 /* Private */,
+ 1, 0, 218, 2, 0x08, 1 /* Private */,
+ 3, 0, 219, 2, 0x08, 2 /* Private */,
+ 4, 0, 220, 2, 0x08, 3 /* Private */,
+ 5, 0, 221, 2, 0x08, 4 /* Private */,
+ 6, 0, 222, 2, 0x08, 5 /* Private */,
+ 7, 0, 223, 2, 0x08, 6 /* Private */,
+ 8, 0, 224, 2, 0x08, 7 /* Private */,
+ 9, 0, 225, 2, 0x08, 8 /* Private */,
+ 10, 0, 226, 2, 0x08, 9 /* Private */,
+ 11, 0, 227, 2, 0x08, 10 /* Private */,
+ 12, 0, 228, 2, 0x08, 11 /* Private */,
+ 13, 0, 229, 2, 0x08, 12 /* Private */,
+ 14, 0, 230, 2, 0x08, 13 /* Private */,
+ 15, 0, 231, 2, 0x08, 14 /* Private */,
+ 16, 0, 232, 2, 0x08, 15 /* Private */,
+ 17, 0, 233, 2, 0x08, 16 /* Private */,
+ 18, 0, 234, 2, 0x08, 17 /* Private */,
+ 19, 0, 235, 2, 0x08, 18 /* Private */,
+ 20, 0, 236, 2, 0x08, 19 /* Private */,
+ 21, 0, 237, 2, 0x08, 20 /* Private */,
+ 22, 0, 238, 2, 0x08, 21 /* Private */,
+ 23, 0, 239, 2, 0x08, 22 /* Private */,
+ 24, 0, 240, 2, 0x08, 23 /* Private */,
+ 25, 0, 241, 2, 0x08, 24 /* Private */,
+ 26, 0, 242, 2, 0x08, 25 /* Private */,
+ 27, 0, 243, 2, 0x08, 26 /* Private */,
+ 28, 0, 244, 2, 0x08, 27 /* Private */,
+ 29, 0, 245, 2, 0x08, 28 /* Private */,
+ 30, 0, 246, 2, 0x08, 29 /* Private */,
+ 31, 0, 247, 2, 0x08, 30 /* Private */,
+ 32, 0, 248, 2, 0x08, 31 /* Private */,
+ 33, 0, 249, 2, 0x08, 32 /* Private */,
+ 34, 0, 250, 2, 0x08, 33 /* Private */,
+ 35, 0, 251, 2, 0x08, 34 /* Private */,
// slots: parameters
QMetaType::Void,
@@ -145,6 +155,11 @@ Q_CONSTINIT static const uint qt_meta_data_ZN12CoverageTestE[] = {
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
QMetaType::Void,
0 // eod
@@ -181,6 +196,16 @@ Q_CONSTINIT const QMetaObject CoverageTest::staticMetaObject = { {
QtPrivate::TypeAndForceComplete,
// method 'pgn'
QtPrivate::TypeAndForceComplete,
+ // method 'j1939Lookup_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Lookup'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Ambiguity_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Ambiguity'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939MetadataValidation'
+ QtPrivate::TypeAndForceComplete,
// method 'comments_data'
QtPrivate::TypeAndForceComplete,
// method 'comments'
@@ -237,24 +262,29 @@ void CoverageTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id
case 8: _t->malformedRuntimeMultiplexing(); break;
case 9: _t->pgn_data(); break;
case 10: _t->pgn(); break;
- case 11: _t->comments_data(); break;
- case 12: _t->comments(); break;
- case 13: _t->ignoredCommentStatements_data(); break;
- case 14: _t->ignoredCommentStatements(); break;
- case 15: _t->ambiguousValueReferences_data(); break;
- case 16: _t->ambiguousValueReferences(); break;
- case 17: _t->valueReferenceScope(); break;
- case 18: _t->fileFormatting_data(); break;
- case 19: _t->fileFormatting(); break;
- case 20: _t->missingFile(); break;
- case 21: _t->builders(); break;
- case 22: _t->physicalConversion_data(); break;
- case 23: _t->physicalConversion(); break;
- case 24: _t->multiplexingScenarios(); break;
- case 25: _t->multiplexingErrorLocations_data(); break;
- case 26: _t->multiplexingErrorLocations(); break;
- case 27: _t->escapedValueDescriptions(); break;
- case 28: _t->factory(); break;
+ case 11: _t->j1939Lookup_data(); break;
+ case 12: _t->j1939Lookup(); break;
+ case 13: _t->j1939Ambiguity_data(); break;
+ case 14: _t->j1939Ambiguity(); break;
+ case 15: _t->j1939MetadataValidation(); break;
+ case 16: _t->comments_data(); break;
+ case 17: _t->comments(); break;
+ case 18: _t->ignoredCommentStatements_data(); break;
+ case 19: _t->ignoredCommentStatements(); break;
+ case 20: _t->ambiguousValueReferences_data(); break;
+ case 21: _t->ambiguousValueReferences(); break;
+ case 22: _t->valueReferenceScope(); break;
+ case 23: _t->fileFormatting_data(); break;
+ case 24: _t->fileFormatting(); break;
+ case 25: _t->missingFile(); break;
+ case 26: _t->builders(); break;
+ case 27: _t->physicalConversion_data(); break;
+ case 28: _t->physicalConversion(); break;
+ case 29: _t->multiplexingScenarios(); break;
+ case 30: _t->multiplexingErrorLocations_data(); break;
+ case 31: _t->multiplexingErrorLocations(); break;
+ case 32: _t->escapedValueDescriptions(); break;
+ case 33: _t->factory(); break;
default: ;
}
}
@@ -280,14 +310,14 @@ int CoverageTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
- if (_id < 29)
+ if (_id < 34)
qt_static_metacall(this, _c, _id, _a);
- _id -= 29;
+ _id -= 34;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
- if (_id < 29)
+ if (_id < 34)
*reinterpret_cast(_a[0]) = QMetaType();
- _id -= 29;
+ _id -= 34;
}
return _id;
}
diff --git a/build-qt/tests/dbc_coverage_test.o b/build-qt/tests/dbc_coverage_test.o
index 2ec8612..a6f1d74 100644
Binary files a/build-qt/tests/dbc_coverage_test.o and b/build-qt/tests/dbc_coverage_test.o differ
diff --git a/build-qt/tests/dbc_decoder_test.o b/build-qt/tests/dbc_decoder_test.o
index e71d898..f1d4da2 100644
Binary files a/build-qt/tests/dbc_decoder_test.o and b/build-qt/tests/dbc_decoder_test.o differ
diff --git a/build-qt/tests/dbc_lifetime_test.o b/build-qt/tests/dbc_lifetime_test.o
index a550dcf..190187b 100644
Binary files a/build-qt/tests/dbc_lifetime_test.o and b/build-qt/tests/dbc_lifetime_test.o differ
diff --git a/build-qt/tests/dbc_model_tests b/build-qt/tests/dbc_model_tests
index ce0ea74..721a6af 100755
Binary files a/build-qt/tests/dbc_model_tests and b/build-qt/tests/dbc_model_tests differ
diff --git a/build-qt/tests/dbc_parser_test.moc b/build-qt/tests/dbc_parser_test.moc
index b6fc72e..4054fff 100644
--- a/build-qt/tests/dbc_parser_test.moc
+++ b/build-qt/tests/dbc_parser_test.moc
@@ -37,8 +37,14 @@ struct qt_meta_tag_ZN13DbcParserTestE_t {};
#ifdef QT_MOC_HAS_STRINGDATA
static constexpr auto qt_meta_stringdata_ZN13DbcParserTestE = QtMocHelpers::stringData(
"DbcParserTest",
- "diagnostics",
+ "attributes",
"",
+ "invalidAttributes",
+ "attributeNumbers",
+ "invalidAttributeNumbers_data",
+ "invalidAttributeNumbers",
+ "attributeWarnings",
+ "diagnostics",
"diagnosticErrors",
"diagnosticUnsupportedStatements",
"diagnosticNamespaceBoundaries",
@@ -73,7 +79,7 @@ Q_CONSTINIT static const uint qt_meta_data_ZN13DbcParserTestE[] = {
12, // revision
0, // classname
0, 0, // classinfo
- 24, 14, // methods
+ 30, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@@ -81,30 +87,36 @@ Q_CONSTINIT static const uint qt_meta_data_ZN13DbcParserTestE[] = {
0, // signalCount
// slots: name, argc, parameters, tag, flags, initial metatype offsets
- 1, 0, 158, 2, 0x08, 1 /* Private */,
- 3, 0, 159, 2, 0x08, 2 /* Private */,
- 4, 0, 160, 2, 0x08, 3 /* Private */,
- 5, 0, 161, 2, 0x08, 4 /* Private */,
- 6, 0, 162, 2, 0x08, 5 /* Private */,
- 7, 0, 163, 2, 0x08, 6 /* Private */,
- 8, 0, 164, 2, 0x08, 7 /* Private */,
- 9, 0, 165, 2, 0x08, 8 /* Private */,
- 10, 0, 166, 2, 0x08, 9 /* Private */,
- 11, 0, 167, 2, 0x08, 10 /* Private */,
- 12, 0, 168, 2, 0x08, 11 /* Private */,
- 13, 0, 169, 2, 0x08, 12 /* Private */,
- 14, 0, 170, 2, 0x08, 13 /* Private */,
- 15, 0, 171, 2, 0x08, 14 /* Private */,
- 16, 0, 172, 2, 0x08, 15 /* Private */,
- 17, 0, 173, 2, 0x08, 16 /* Private */,
- 18, 0, 174, 2, 0x08, 17 /* Private */,
- 19, 0, 175, 2, 0x08, 18 /* Private */,
- 20, 0, 176, 2, 0x08, 19 /* Private */,
- 21, 0, 177, 2, 0x08, 20 /* Private */,
- 22, 0, 178, 2, 0x08, 21 /* Private */,
- 23, 0, 179, 2, 0x08, 22 /* Private */,
- 24, 0, 180, 2, 0x08, 23 /* Private */,
- 25, 0, 181, 2, 0x08, 24 /* Private */,
+ 1, 0, 194, 2, 0x08, 1 /* Private */,
+ 3, 0, 195, 2, 0x08, 2 /* Private */,
+ 4, 0, 196, 2, 0x08, 3 /* Private */,
+ 5, 0, 197, 2, 0x08, 4 /* Private */,
+ 6, 0, 198, 2, 0x08, 5 /* Private */,
+ 7, 0, 199, 2, 0x08, 6 /* Private */,
+ 8, 0, 200, 2, 0x08, 7 /* Private */,
+ 9, 0, 201, 2, 0x08, 8 /* Private */,
+ 10, 0, 202, 2, 0x08, 9 /* Private */,
+ 11, 0, 203, 2, 0x08, 10 /* Private */,
+ 12, 0, 204, 2, 0x08, 11 /* Private */,
+ 13, 0, 205, 2, 0x08, 12 /* Private */,
+ 14, 0, 206, 2, 0x08, 13 /* Private */,
+ 15, 0, 207, 2, 0x08, 14 /* Private */,
+ 16, 0, 208, 2, 0x08, 15 /* Private */,
+ 17, 0, 209, 2, 0x08, 16 /* Private */,
+ 18, 0, 210, 2, 0x08, 17 /* Private */,
+ 19, 0, 211, 2, 0x08, 18 /* Private */,
+ 20, 0, 212, 2, 0x08, 19 /* Private */,
+ 21, 0, 213, 2, 0x08, 20 /* Private */,
+ 22, 0, 214, 2, 0x08, 21 /* Private */,
+ 23, 0, 215, 2, 0x08, 22 /* Private */,
+ 24, 0, 216, 2, 0x08, 23 /* Private */,
+ 25, 0, 217, 2, 0x08, 24 /* Private */,
+ 26, 0, 218, 2, 0x08, 25 /* Private */,
+ 27, 0, 219, 2, 0x08, 26 /* Private */,
+ 28, 0, 220, 2, 0x08, 27 /* Private */,
+ 29, 0, 221, 2, 0x08, 28 /* Private */,
+ 30, 0, 222, 2, 0x08, 29 /* Private */,
+ 31, 0, 223, 2, 0x08, 30 /* Private */,
// slots: parameters
QMetaType::Void,
@@ -130,6 +142,12 @@ Q_CONSTINIT static const uint qt_meta_data_ZN13DbcParserTestE[] = {
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
QMetaType::Void,
0 // eod
@@ -144,6 +162,18 @@ Q_CONSTINIT const QMetaObject DbcParserTest::staticMetaObject = { {
qt_incomplete_metaTypeArray,
+ // method 'attributes'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidAttributes'
+ QtPrivate::TypeAndForceComplete,
+ // method 'attributeNumbers'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidAttributeNumbers_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidAttributeNumbers'
+ QtPrivate::TypeAndForceComplete,
+ // method 'attributeWarnings'
+ QtPrivate::TypeAndForceComplete,
// method 'diagnostics'
QtPrivate::TypeAndForceComplete,
// method 'diagnosticErrors'
@@ -201,30 +231,36 @@ void DbcParserTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _i
auto *_t = static_cast(_o);
if (_c == QMetaObject::InvokeMetaMethod) {
switch (_id) {
- case 0: _t->diagnostics(); break;
- case 1: _t->diagnosticErrors(); break;
- case 2: _t->diagnosticUnsupportedStatements(); break;
- case 3: _t->diagnosticNamespaceBoundaries(); break;
- case 4: _t->diagnosticFormatting(); break;
- case 5: _t->multiplexing(); break;
- case 6: _t->multiplexingBoundaries(); break;
- case 7: _t->validFrames(); break;
- case 8: _t->invalidFrames(); break;
- case 9: _t->duplicateFrames(); break;
- case 10: _t->duplicateSignals(); break;
- case 11: _t->distinctDefinitions(); break;
- case 12: _t->comments(); break;
- case 13: _t->invalidComments_data(); break;
- case 14: _t->invalidComments(); break;
- case 15: _t->integration(); break;
- case 16: _t->invalidSignals(); break;
- case 17: _t->validSignals(); break;
- case 18: _t->physicalNumbersCppLocale(); break;
- case 19: _t->physicalNumbersCLocale(); break;
- case 20: _t->dispatch(); break;
- case 21: _t->independentSessions(); break;
- case 22: _t->valueDescriptions(); break;
- case 23: _t->invalidValueDescriptions(); break;
+ case 0: _t->attributes(); break;
+ case 1: _t->invalidAttributes(); break;
+ case 2: _t->attributeNumbers(); break;
+ case 3: _t->invalidAttributeNumbers_data(); break;
+ case 4: _t->invalidAttributeNumbers(); break;
+ case 5: _t->attributeWarnings(); break;
+ case 6: _t->diagnostics(); break;
+ case 7: _t->diagnosticErrors(); break;
+ case 8: _t->diagnosticUnsupportedStatements(); break;
+ case 9: _t->diagnosticNamespaceBoundaries(); break;
+ case 10: _t->diagnosticFormatting(); break;
+ case 11: _t->multiplexing(); break;
+ case 12: _t->multiplexingBoundaries(); break;
+ case 13: _t->validFrames(); break;
+ case 14: _t->invalidFrames(); break;
+ case 15: _t->duplicateFrames(); break;
+ case 16: _t->duplicateSignals(); break;
+ case 17: _t->distinctDefinitions(); break;
+ case 18: _t->comments(); break;
+ case 19: _t->invalidComments_data(); break;
+ case 20: _t->invalidComments(); break;
+ case 21: _t->integration(); break;
+ case 22: _t->invalidSignals(); break;
+ case 23: _t->validSignals(); break;
+ case 24: _t->physicalNumbersCppLocale(); break;
+ case 25: _t->physicalNumbersCLocale(); break;
+ case 26: _t->dispatch(); break;
+ case 27: _t->independentSessions(); break;
+ case 28: _t->valueDescriptions(); break;
+ case 29: _t->invalidValueDescriptions(); break;
default: ;
}
}
@@ -250,14 +286,14 @@ int DbcParserTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
- if (_id < 24)
+ if (_id < 30)
qt_static_metacall(this, _c, _id, _a);
- _id -= 24;
+ _id -= 30;
}
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
- if (_id < 24)
+ if (_id < 30)
*reinterpret_cast(_a[0]) = QMetaType();
- _id -= 24;
+ _id -= 30;
}
return _id;
}
diff --git a/build-qt/tests/dbc_parser_test.o b/build-qt/tests/dbc_parser_test.o
index 16ea68a..8a67c68 100644
Binary files a/build-qt/tests/dbc_parser_test.o and b/build-qt/tests/dbc_parser_test.o differ
diff --git a/build-qt/tests/dbc_pipeline_test.o b/build-qt/tests/dbc_pipeline_test.o
index 2d02539..9ea6b69 100644
Binary files a/build-qt/tests/dbc_pipeline_test.o and b/build-qt/tests/dbc_pipeline_test.o differ
diff --git a/build-qt/tests/dbc_tests b/build-qt/tests/dbc_tests
index a0056ff..0457b5f 100755
Binary files a/build-qt/tests/dbc_tests and b/build-qt/tests/dbc_tests differ
diff --git a/build-qt/tests/dbc_tree_builder.o b/build-qt/tests/dbc_tree_builder.o
index d879ee0..3924319 100644
Binary files a/build-qt/tests/dbc_tree_builder.o and b/build-qt/tests/dbc_tree_builder.o differ
diff --git a/build-qt/tests/dbc_tree_model_test.o b/build-qt/tests/dbc_tree_model_test.o
index 62ba83f..e69de29 100644
Binary files a/build-qt/tests/dbc_tree_model_test.o and b/build-qt/tests/dbc_tree_model_test.o differ
diff --git a/build-qt/tests/dbc_tree_tests b/build-qt/tests/dbc_tree_tests
index 65fbb00..7a96849 100755
Binary files a/build-qt/tests/dbc_tree_tests and b/build-qt/tests/dbc_tree_tests differ
diff --git a/build-qt/tests/dbc_validation_test.o b/build-qt/tests/dbc_validation_test.o
index 0ff743f..5710c36 100644
Binary files a/build-qt/tests/dbc_validation_test.o and b/build-qt/tests/dbc_validation_test.o differ
diff --git a/build-qt/tests/tree_node.o b/build-qt/tests/tree_node.o
index c055e7d..df743b5 100644
Binary files a/build-qt/tests/tree_node.o and b/build-qt/tests/tree_node.o differ
diff --git a/build-qt/tests/tree_node_test.o b/build-qt/tests/tree_node_test.o
index c4dd9b6..d52d0ca 100644
Binary files a/build-qt/tests/tree_node_test.o and b/build-qt/tests/tree_node_test.o differ
diff --git a/build-sanitize/.qmake.stash b/build-sanitize/.qmake.stash
new file mode 100644
index 0000000..76dc16c
--- /dev/null
+++ b/build-sanitize/.qmake.stash
@@ -0,0 +1,23 @@
+QMAKE_CXX.QT_COMPILER_STDCXX = 201703L
+QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 14
+QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 2
+QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
+QMAKE_CXX.COMPILER_MACROS = \
+ QT_COMPILER_STDCXX \
+ QMAKE_GCC_MAJOR_VERSION \
+ QMAKE_GCC_MINOR_VERSION \
+ QMAKE_GCC_PATCH_VERSION
+QMAKE_CXX.INCDIRS = \
+ /usr/include/c++/14 \
+ /usr/include/x86_64-linux-gnu/c++/14 \
+ /usr/include/c++/14/backward \
+ /usr/lib/gcc/x86_64-linux-gnu/14/include \
+ /usr/local/include \
+ /usr/include/x86_64-linux-gnu \
+ /usr/include
+QMAKE_CXX.LIBDIRS = \
+ /usr/lib/gcc/x86_64-linux-gnu/14 \
+ /usr/lib/x86_64-linux-gnu \
+ /usr/lib \
+ /lib/x86_64-linux-gnu \
+ /lib
diff --git a/build-sanitize/Makefile b/build-sanitize/Makefile
new file mode 100644
index 0000000..563a382
--- /dev/null
+++ b/build-sanitize/Makefile
@@ -0,0 +1,642 @@
+#############################################################################
+# Makefile for building: dbc
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../dbc.pro
+# Template: subdirs
+# Command: /usr/bin/qmake6 -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+first: make_first
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/.tmp/dbc1.0.0
+SUBTARGETS = \
+ sub-core \
+ sub-tests \
+ sub-tests-tree_tests-pro \
+ sub-qt \
+ sub-tests-model_tests-pro
+
+
+sub-core-qmake_all: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+ cd core/ && $(MAKE) -f Makefile qmake_all
+sub-core: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile
+sub-core-make_first: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile
+sub-core-all: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile all
+sub-core-clean: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile clean
+sub-core-distclean: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile distclean
+sub-core-install_subtargets: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile install
+sub-core-uninstall_subtargets: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile uninstall
+sub-tests-qmake_all: sub-core-qmake_all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+ cd tests/ && $(MAKE) -f Makefile qmake_all
+sub-tests: sub-core FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile
+sub-tests-make_first: sub-core-make_first FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile
+sub-tests-all: sub-core-all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile all
+sub-tests-clean: sub-core-clean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile clean
+sub-tests-distclean: sub-core-distclean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile distclean
+sub-tests-install_subtargets: sub-core-install_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile install
+sub-tests-uninstall_subtargets: sub-core-uninstall_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile uninstall
+sub-tests-tree_tests-pro-qmake_all: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+ cd tests/ && $(MAKE) -f Makefile.tree_tests qmake_all
+sub-tests-tree_tests-pro: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests
+sub-tests-tree_tests-pro-make_first: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests
+sub-tests-tree_tests-pro-all: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests all
+sub-tests-tree_tests-pro-clean: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests clean
+sub-tests-tree_tests-pro-distclean: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests distclean
+sub-tests-tree_tests-pro-install_subtargets: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests install
+sub-tests-tree_tests-pro-uninstall_subtargets: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests uninstall
+sub-qt-qmake_all: sub-core-qmake_all FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+ cd qt/ && $(MAKE) -f Makefile qmake_all
+sub-qt: sub-core FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile
+sub-qt-make_first: sub-core-make_first FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile
+sub-qt-all: sub-core-all FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile all
+sub-qt-clean: sub-core-clean FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile clean
+sub-qt-distclean: sub-core-distclean FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile distclean
+sub-qt-install_subtargets: sub-core-install_subtargets FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile install
+sub-qt-uninstall_subtargets: sub-core-uninstall_subtargets FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile uninstall
+sub-tests-model_tests-pro-qmake_all: sub-qt-qmake_all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+ cd tests/ && $(MAKE) -f Makefile.model_tests qmake_all
+sub-tests-model_tests-pro: sub-qt FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests
+sub-tests-model_tests-pro-make_first: sub-qt-make_first FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests
+sub-tests-model_tests-pro-all: sub-qt-all FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests all
+sub-tests-model_tests-pro-clean: sub-qt-clean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests clean
+sub-tests-model_tests-pro-distclean: sub-qt-distclean FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests distclean
+sub-tests-model_tests-pro-install_subtargets: sub-qt-install_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests install
+sub-tests-model_tests-pro-uninstall_subtargets: sub-qt-uninstall_subtargets FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests uninstall
+
+Makefile: ../dbc.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../dbc.pro
+ $(QMAKE) -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../dbc.pro:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+
+qmake_all: sub-core-qmake_all sub-tests-qmake_all sub-tests-tree_tests-pro-qmake_all sub-qt-qmake_all sub-tests-model_tests-pro-qmake_all FORCE
+
+make_first: sub-core-make_first sub-tests-make_first sub-tests-tree_tests-pro-make_first sub-qt-make_first sub-tests-model_tests-pro-make_first FORCE
+all: sub-core-all sub-tests-all sub-tests-tree_tests-pro-all sub-qt-all sub-tests-model_tests-pro-all FORCE
+clean: sub-core-clean sub-tests-clean sub-tests-tree_tests-pro-clean sub-qt-clean sub-tests-model_tests-pro-clean FORCE
+distclean: sub-core-distclean sub-tests-distclean sub-tests-tree_tests-pro-distclean sub-qt-distclean sub-tests-model_tests-pro-distclean FORCE
+ -$(DEL_FILE) Makefile
+ -$(DEL_FILE) .qmake.stash
+install_subtargets: sub-core-install_subtargets sub-tests-install_subtargets sub-tests-tree_tests-pro-install_subtargets sub-qt-install_subtargets sub-tests-model_tests-pro-install_subtargets FORCE
+uninstall_subtargets: sub-core-uninstall_subtargets sub-tests-uninstall_subtargets sub-tests-tree_tests-pro-uninstall_subtargets sub-qt-uninstall_subtargets sub-tests-model_tests-pro-uninstall_subtargets FORCE
+
+sub-core-check:
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile check
+sub-tests-check: sub-core-check
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile check
+sub-tests-tree_tests-pro-check:
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests check
+sub-qt-check: sub-core-check
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile check
+sub-tests-model_tests-pro-check: sub-qt-check
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests check
+check: sub-core-check sub-tests-check sub-tests-tree_tests-pro-check sub-qt-check sub-tests-model_tests-pro-check
+
+sub-core-benchmark:
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile benchmark
+sub-tests-benchmark: sub-core-benchmark
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile benchmark
+sub-tests-tree_tests-pro-benchmark:
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.tree_tests benchmark
+sub-qt-benchmark: sub-core-benchmark
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile benchmark
+sub-tests-model_tests-pro-benchmark: sub-qt-benchmark
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -f Makefile.model_tests benchmark
+benchmark: sub-core-benchmark sub-tests-benchmark sub-tests-tree_tests-pro-benchmark sub-qt-benchmark sub-tests-model_tests-pro-benchmark
+install:install_subtargets FORCE
+
+uninstall: uninstall_subtargets FORCE
+
+FORCE:
+
+.SUFFIXES:
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: sub-core-distdir sub-tests-distdir sub-tests-tree_tests-pro-distdir sub-qt-distdir sub-tests-model_tests-pro-distdir FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf ../dbc.pro $(DISTDIR)/
+
+sub-core-distdir: FORCE
+ @test -d core/ || mkdir -p core/
+ cd core/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/core
+
+sub-tests-distdir: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/tests
+
+sub-tests-tree_tests-pro-distdir: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.tree_tests || $(QMAKE) -o Makefile.tree_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -e -f Makefile.tree_tests distdir DISTDIR=$(DISTDIR)/tests
+
+sub-qt-distdir: FORCE
+ @test -d qt/ || mkdir -p qt/
+ cd qt/ && ( test -e Makefile || $(QMAKE) -o Makefile /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -e -f Makefile distdir DISTDIR=$(DISTDIR)/qt
+
+sub-tests-model_tests-pro-distdir: FORCE
+ @test -d tests/ || mkdir -p tests/
+ cd tests/ && ( test -e Makefile.model_tests || $(QMAKE) -o Makefile.model_tests /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined ) && $(MAKE) -e -f Makefile.model_tests distdir DISTDIR=$(DISTDIR)/tests
+
diff --git a/build-sanitize/core/Makefile b/build-sanitize/core/Makefile
new file mode 100644
index 0000000..e4bbfc4
--- /dev/null
+++ b/build-sanitize/core/Makefile
@@ -0,0 +1,842 @@
+#############################################################################
+# Makefile for building: libdbc_core.a
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../core/core.pro
+# Template: lib
+# Command: /usr/bin/qmake6 -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES =
+CFLAGS = -pipe -g -fPIC -Wall -Wextra $(DEFINES)
+CXXFLAGS = -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -fPIC -std=gnu++1z -Wall -Wextra $(DEFINES)
+INCPATH = -I../../core -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_core1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/core/.tmp/dbc_core1.0.0
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../core/dbc_attributes.cpp \
+ ../../core/decode_database.cpp \
+ ../../core/dbc_decode_builder.cpp \
+ ../../core/dbc_decoder.cpp \
+ ../../core/dbc_parser.cpp \
+ ../../core/dbc_statement_handler.cpp \
+ ../../core/dbc_tree_builder.cpp \
+ ../../core/tree_node.cpp
+OBJECTS = dbc_attributes.o \
+ decode_database.o \
+ dbc_decode_builder.o \
+ dbc_decoder.o \
+ dbc_parser.o \
+ dbc_statement_handler.o \
+ dbc_tree_builder.o \
+ tree_node.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../core/core_files.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../core/core.pro /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/attributes.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/j1939.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_layout.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/definition_key.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_diagnostic.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/multiplexing.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_database.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decode_builder.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_decoder.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_parser.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_statement_handler.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/dbc_tree_builder.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/decode_database.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/frame_info.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/signal_info.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/value_descriptions.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/tree_node.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/text_utils.h \
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core/typefactory.h ../../core/dbc_attributes.cpp \
+ ../../core/decode_database.cpp \
+ ../../core/dbc_decode_builder.cpp \
+ ../../core/dbc_decoder.cpp \
+ ../../core/dbc_parser.cpp \
+ ../../core/dbc_statement_handler.cpp \
+ ../../core/dbc_tree_builder.cpp \
+ ../../core/tree_node.cpp
+QMAKE_TARGET = dbc_core
+DESTDIR =
+TARGET = libdbc_core.a
+
+
+first: all
+####### Build rules
+
+staticlib: $(TARGET)
+
+libdbc_core.a: $(OBJECTS) $(OBJCOMP)
+ -$(DEL_FILE) $(TARGET)
+ $(AR) $(DESTDIR)$(TARGET) $(OBJECTS)
+
+
+Makefile: ../../core/core.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../core/core_files.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../core/core.pro
+ $(QMAKE) -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../core/core_files.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../core/core.pro:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../../core/core.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+
+qmake_all: FORCE
+
+
+all: Makefile libdbc_core.a
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+####### Sub-libraries
+
+check: first
+
+benchmark: first
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean:
+
+####### Compile
+
+dbc_attributes.o: ../../core/dbc_attributes.cpp ../../core/dbc_statement_handler.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/typefactory.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_attributes.o ../../core/dbc_attributes.cpp
+
+decode_database.o: ../../core/decode_database.cpp ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/j1939.h \
+ ../../core/signal_layout.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o decode_database.o ../../core/decode_database.cpp
+
+dbc_decode_builder.o: ../../core/dbc_decode_builder.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decode_builder.o ../../core/dbc_decode_builder.cpp
+
+dbc_decoder.o: ../../core/dbc_decoder.cpp ../../core/dbc_decoder.h \
+ ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/j1939.h \
+ ../../core/signal_layout.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decoder.o ../../core/dbc_decoder.cpp
+
+dbc_parser.o: ../../core/dbc_parser.cpp ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/text_utils.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_parser.o ../../core/dbc_parser.cpp
+
+dbc_statement_handler.o: ../../core/dbc_statement_handler.cpp ../../core/dbc_statement_handler.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/typefactory.h \
+ ../../core/j1939.h \
+ ../../core/text_utils.h \
+ ../../core/signal_layout.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_statement_handler.o ../../core/dbc_statement_handler.cpp
+
+dbc_tree_builder.o: ../../core/dbc_tree_builder.cpp ../../core/dbc_tree_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_builder.o ../../core/dbc_tree_builder.cpp
+
+tree_node.o: ../../core/tree_node.cpp ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node.o ../../core/tree_node.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-sanitize/core/dbc_attributes.o b/build-sanitize/core/dbc_attributes.o
new file mode 100644
index 0000000..ee2f9e0
Binary files /dev/null and b/build-sanitize/core/dbc_attributes.o differ
diff --git a/build-sanitize/core/dbc_decode_builder.o b/build-sanitize/core/dbc_decode_builder.o
new file mode 100644
index 0000000..e69de29
diff --git a/build-sanitize/core/dbc_decoder.o b/build-sanitize/core/dbc_decoder.o
new file mode 100644
index 0000000..e69de29
diff --git a/build-sanitize/core/dbc_parser.o b/build-sanitize/core/dbc_parser.o
new file mode 100644
index 0000000..1c70877
Binary files /dev/null and b/build-sanitize/core/dbc_parser.o differ
diff --git a/build-sanitize/core/dbc_statement_handler.o b/build-sanitize/core/dbc_statement_handler.o
new file mode 100644
index 0000000..e5eb0f4
Binary files /dev/null and b/build-sanitize/core/dbc_statement_handler.o differ
diff --git a/build-sanitize/core/dbc_tree_builder.o b/build-sanitize/core/dbc_tree_builder.o
new file mode 100644
index 0000000..0db5d84
Binary files /dev/null and b/build-sanitize/core/dbc_tree_builder.o differ
diff --git a/build-sanitize/core/decode_database.o b/build-sanitize/core/decode_database.o
new file mode 100644
index 0000000..e69de29
diff --git a/build-sanitize/core/libdbc_core.a b/build-sanitize/core/libdbc_core.a
new file mode 100644
index 0000000..51b020e
Binary files /dev/null and b/build-sanitize/core/libdbc_core.a differ
diff --git a/build-sanitize/core/tree_node.o b/build-sanitize/core/tree_node.o
new file mode 100644
index 0000000..cb27ea7
Binary files /dev/null and b/build-sanitize/core/tree_node.o differ
diff --git a/build-sanitize/qt/Makefile b/build-sanitize/qt/Makefile
new file mode 100644
index 0000000..0600815
--- /dev/null
+++ b/build-sanitize/qt/Makefile
@@ -0,0 +1,769 @@
+#############################################################################
+# Makefile for building: libdbc_qt.a
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../qt/qt.pro
+# Template: lib
+# Command: /usr/bin/qmake6 -o Makefile ../../qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_KEYWORDS -DQT_CORE_LIB
+CFLAGS = -pipe -g -fPIC -Wall -Wextra -D_REENTRANT $(DEFINES)
+CXXFLAGS = -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -fPIC -std=gnu++1z -Wall -Wextra -D_REENTRANT $(DEFINES)
+INCPATH = -I../../qt -I. -I../../core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_qt1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/qt/.tmp/dbc_qt1.0.0
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../qt/dbc_tree_model.cpp
+OBJECTS = dbc_tree_model.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../qt/qt_version.pri \
+ ../../../core/core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../qt/qt.pro ../../qt/dbc_tree_model.h ../../qt/dbc_tree_model.cpp
+QMAKE_TARGET = dbc_qt
+DESTDIR =
+TARGET = libdbc_qt.a
+
+
+first: all
+####### Build rules
+
+staticlib: $(TARGET)
+
+libdbc_qt.a: /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/core/libdbc_core.a $(OBJECTS) $(OBJCOMP)
+ -$(DEL_FILE) $(TARGET)
+ $(AR) $(DESTDIR)$(TARGET) $(OBJECTS)
+
+
+Makefile: ../../qt/qt.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../qt/qt_version.pri \
+ ../../core/core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../qt/qt.pro \
+ /usr/lib/x86_64-linux-gnu/libQt6Core.prl
+ $(QMAKE) -o Makefile ../../qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../qt/qt_version.pri:
+../../core/core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../qt/qt.pro:
+/usr/lib/x86_64-linux-gnu/libQt6Core.prl:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../../qt/qt.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+
+qmake_all: FORCE
+
+
+all: Makefile libdbc_qt.a
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents ../../qt/dbc_tree_model.h $(DISTDIR)/
+ $(COPY_FILE) --parents ../../qt/dbc_tree_model.cpp $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+####### Sub-libraries
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
+check: first
+
+benchmark: first
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+ -$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+ g++ -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -fPIC -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+
+compiler_moc_header_make_all:
+compiler_moc_header_clean:
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_predefs_clean
+
+####### Compile
+
+dbc_tree_model.o: ../../qt/dbc_tree_model.cpp ../../qt/dbc_tree_model.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_model.o ../../qt/dbc_tree_model.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-sanitize/qt/dbc_tree_model.o b/build-sanitize/qt/dbc_tree_model.o
new file mode 100644
index 0000000..c21429f
Binary files /dev/null and b/build-sanitize/qt/dbc_tree_model.o differ
diff --git a/build-sanitize/qt/libdbc_qt.a b/build-sanitize/qt/libdbc_qt.a
new file mode 100644
index 0000000..81f9cbd
Binary files /dev/null and b/build-sanitize/qt/libdbc_qt.a differ
diff --git a/build-sanitize/tests/Makefile b/build-sanitize/tests/Makefile
new file mode 100644
index 0000000..d45dcbb
--- /dev/null
+++ b/build-sanitize/tests/Makefile
@@ -0,0 +1,1002 @@
+#############################################################################
+# Makefile for building: dbc_tests
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../tests/tests.pro
+# Template: app
+# Command: /usr/bin/qmake6 -o Makefile ../../tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_KEYWORDS -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests"'
+CFLAGS = -pipe -g -Wall -Wextra -D_REENTRANT $(DEFINES)
+CXXFLAGS = -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -std=gnu++1z -Wall -Wextra -D_REENTRANT $(DEFINES)
+INCPATH = -I../../tests -I. -I../../core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_tests1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/.tmp/dbc_tests1.0.0
+LINK = g++
+LFLAGS = -fsanitize=address,undefined
+LIBS = $(SUBLIBS) -L/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/core -ldbc_core /usr/lib/x86_64-linux-gnu/libQt6Test.so /usr/lib/x86_64-linux-gnu/libQt6Core.so -lpthread
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../tests/dbc_parser_test.cpp \
+ ../../tests/dbc_decoder_test.cpp \
+ ../../tests/main.cpp \
+ ../../tests/dbc_coverage_test.cpp \
+ ../../tests/dbc_lifetime_test.cpp \
+ ../../tests/dbc_validation_test.cpp \
+ ../../tests/dbc_pipeline_test.cpp
+OBJECTS = dbc_parser_test.o \
+ dbc_decoder_test.o \
+ main.o \
+ dbc_coverage_test.o \
+ dbc_lifetime_test.o \
+ dbc_validation_test.o \
+ dbc_pipeline_test.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../qt/qt_version.pri \
+ ../../../core/core.pri \
+ ../../../tests/parser_tests.pri \
+ ../../../tests/decoder_tests.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../tests/tests.pro ../../tests/dbc_parser_test.cpp \
+ ../../tests/dbc_decoder_test.cpp \
+ ../../tests/main.cpp \
+ ../../tests/dbc_coverage_test.cpp \
+ ../../tests/dbc_lifetime_test.cpp \
+ ../../tests/dbc_validation_test.cpp \
+ ../../tests/dbc_pipeline_test.cpp
+QMAKE_TARGET = dbc_tests
+DESTDIR =
+TARGET = dbc_tests
+
+
+first: all
+####### Build rules
+
+dbc_tests: /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/core/libdbc_core.a $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile: ../../tests/tests.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../qt/qt_version.pri \
+ ../../core/core.pri \
+ ../../tests/parser_tests.pri \
+ ../../tests/decoder_tests.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../tests/tests.pro \
+ /usr/lib/x86_64-linux-gnu/libQt6Test.prl \
+ /usr/lib/x86_64-linux-gnu/libQt6Core.prl
+ $(QMAKE) -o Makefile ../../tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../qt/qt_version.pri:
+../../core/core.pri:
+../../tests/parser_tests.pri:
+../../tests/decoder_tests.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../tests/tests.pro:
+/usr/lib/x86_64-linux-gnu/libQt6Test.prl:
+/usr/lib/x86_64-linux-gnu/libQt6Core.prl:
+qmake: FORCE
+ @$(QMAKE) -o Makefile ../../tests/tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+
+qmake_all: FORCE
+
+
+all: Makefile dbc_tests
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents ../../tests/dbc_parser_test.cpp ../../tests/dbc_decoder_test.cpp ../../tests/main.cpp ../../tests/dbc_coverage_test.cpp ../../tests/dbc_lifetime_test.cpp ../../tests/dbc_validation_test.cpp ../../tests/dbc_pipeline_test.cpp $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/target_wrapper.sh
+ -$(DEL_FILE) Makefile
+
+
+####### Sub-libraries
+
+check: first
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/target_wrapper.sh $(TESTRUNNER) ./$(QMAKE_TARGET) $(TESTARGS)
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
+benchmark: first
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+ -$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+ g++ -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+
+compiler_moc_header_make_all:
+compiler_moc_header_clean:
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
+compiler_moc_source_make_all: dbc_parser_test.moc dbc_decoder_test.moc dbc_coverage_test.moc dbc_lifetime_test.moc dbc_validation_test.moc dbc_pipeline_test.moc
+compiler_moc_source_clean:
+ -$(DEL_FILE) dbc_parser_test.moc dbc_decoder_test.moc dbc_coverage_test.moc dbc_lifetime_test.moc dbc_validation_test.moc dbc_pipeline_test.moc
+dbc_parser_test.moc: ../../tests/dbc_parser_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_parser_test.cpp -o dbc_parser_test.moc
+
+dbc_decoder_test.moc: ../../tests/dbc_decoder_test.cpp \
+ ../../core/dbc_decoder.h \
+ ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_decoder_test.cpp -o dbc_decoder_test.moc
+
+dbc_coverage_test.moc: ../../tests/dbc_coverage_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_coverage_test.cpp -o dbc_coverage_test.moc
+
+dbc_lifetime_test.moc: ../../tests/dbc_lifetime_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_lifetime_test.cpp -o dbc_lifetime_test.moc
+
+dbc_validation_test.moc: ../../tests/dbc_validation_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/signal_layout.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_validation_test.cpp -o dbc_validation_test.moc
+
+dbc_pipeline_test.moc: ../../tests/dbc_pipeline_test.cpp \
+ ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_pipeline_test.cpp -o dbc_pipeline_test.moc
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_predefs_clean compiler_moc_source_clean
+
+####### Compile
+
+dbc_parser_test.o: ../../tests/dbc_parser_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ dbc_parser_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_parser_test.o ../../tests/dbc_parser_test.cpp
+
+dbc_decoder_test.o: ../../tests/dbc_decoder_test.cpp ../../core/dbc_decoder.h \
+ ../../core/decode_database.h \
+ ../../core/attributes.h \
+ ../../core/definition_key.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ dbc_decoder_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_decoder_test.o ../../tests/dbc_decoder_test.cpp
+
+main.o: ../../tests/main.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o ../../tests/main.cpp
+
+dbc_coverage_test.o: ../../tests/dbc_coverage_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_statement_handler.h \
+ ../../core/typefactory.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ dbc_coverage_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_coverage_test.o ../../tests/dbc_coverage_test.cpp
+
+dbc_lifetime_test.o: ../../tests/dbc_lifetime_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ dbc_lifetime_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_lifetime_test.o ../../tests/dbc_lifetime_test.cpp
+
+dbc_validation_test.o: ../../tests/dbc_validation_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/signal_layout.h \
+ dbc_validation_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_validation_test.o ../../tests/dbc_validation_test.cpp
+
+dbc_pipeline_test.o: ../../tests/dbc_pipeline_test.cpp ../../core/dbc_decode_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/decode_database.h \
+ ../../core/definition_key.h \
+ ../../core/dbc_decoder.h \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ dbc_pipeline_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_pipeline_test.o ../../tests/dbc_pipeline_test.cpp
+
+####### Install
+
+install_target: first FORCE
+ @test -d $(INSTALL_ROOT)/usr/tests/tests || mkdir -p $(INSTALL_ROOT)/usr/tests/tests
+ $(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+
+uninstall_target: FORCE
+ -$(DEL_FILE) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/tests/tests/
+
+
+install: install_target FORCE
+
+uninstall: uninstall_target FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-sanitize/tests/Makefile.model_tests b/build-sanitize/tests/Makefile.model_tests
new file mode 100644
index 0000000..a5e85cf
--- /dev/null
+++ b/build-sanitize/tests/Makefile.model_tests
@@ -0,0 +1,817 @@
+#############################################################################
+# Makefile for building: dbc_model_tests
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../tests/model_tests.pro
+# Template: app
+# Command: /usr/bin/qmake6 -o Makefile.model_tests ../../tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+#############################################################################
+
+MAKEFILE = Makefile.model_tests
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_KEYWORDS -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests"'
+CFLAGS = -pipe -g -Wall -Wextra -D_REENTRANT $(DEFINES)
+CXXFLAGS = -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -std=gnu++1z -Wall -Wextra -D_REENTRANT $(DEFINES)
+INCPATH = -I../../tests -I. -I../../core -I../../qt -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_model_tests1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/.tmp/dbc_model_tests1.0.0
+LINK = g++
+LFLAGS = -fsanitize=address,undefined -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu
+LIBS = $(SUBLIBS) -L/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/qt -ldbc_qt -L/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/core -ldbc_core /usr/lib/x86_64-linux-gnu/libQt6Gui.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libQt6Test.so /usr/lib/x86_64-linux-gnu/libQt6Core.so -lpthread -lGLX -lOpenGL
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../tests/dbc_tree_model_test.cpp
+OBJECTS = dbc_tree_model_test.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../../qt/qt_version.pri \
+ ../../../core/core.pri \
+ ../../../qt/qt.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/opengl.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../tests/model_tests.pro ../../tests/dbc_tree_model_test.cpp
+QMAKE_TARGET = dbc_model_tests
+DESTDIR =
+TARGET = dbc_model_tests
+
+
+first: all
+####### Build rules
+
+dbc_model_tests: /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/core/libdbc_core.a /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/qt/libdbc_qt.a $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile.model_tests: ../../tests/model_tests.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ ../../qt/qt_version.pri \
+ ../../core/core.pri \
+ ../../qt/qt.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/opengl.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../tests/model_tests.pro \
+ /usr/lib/x86_64-linux-gnu/libQt6Gui.prl \
+ /usr/lib/x86_64-linux-gnu/libQt6Test.prl \
+ /usr/lib/x86_64-linux-gnu/libQt6Core.prl
+ $(QMAKE) -o Makefile.model_tests ../../tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+../../qt/qt_version.pri:
+../../core/core.pri:
+../../qt/qt.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/permissions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resources.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/moc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testlib_defines.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/opengl.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/unix/thread.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../tests/model_tests.pro:
+/usr/lib/x86_64-linux-gnu/libQt6Gui.prl:
+/usr/lib/x86_64-linux-gnu/libQt6Test.prl:
+/usr/lib/x86_64-linux-gnu/libQt6Core.prl:
+qmake: FORCE
+ @$(QMAKE) -o Makefile.model_tests ../../tests/model_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+
+qmake_all: FORCE
+
+
+all: Makefile.model_tests dbc_model_tests
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents ../../tests/dbc_tree_model_test.cpp $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/target_wrapper.sh
+ -$(DEL_FILE) Makefile.model_tests
+
+
+####### Sub-libraries
+
+check: first
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/target_wrapper.sh $(TESTRUNNER) ./$(QMAKE_TARGET) $(TESTARGS)
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
+benchmark: first
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+ -$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+ g++ -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/data/dummy.cpp
+
+compiler_moc_header_make_all:
+compiler_moc_header_clean:
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
+compiler_moc_source_make_all: dbc_tree_model_test.moc
+compiler_moc_source_clean:
+ -$(DEL_FILE) dbc_tree_model_test.moc
+dbc_tree_model_test.moc: ../../tests/dbc_tree_model_test.cpp \
+ ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../qt/dbc_tree_model.h \
+ moc_predefs.h \
+ /usr/lib/qt6/libexec/moc
+ /usr/lib/qt6/libexec/moc $(DEFINES) --include /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/tests -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/core -I/home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/qt -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtTest -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I. -I/usr/include/c++/14 -I/usr/include/x86_64-linux-gnu/c++/14 -I/usr/include/c++/14/backward -I/usr/lib/gcc/x86_64-linux-gnu/14/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../../tests/dbc_tree_model_test.cpp -o dbc_tree_model_test.moc
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_predefs_clean compiler_moc_source_clean
+
+####### Compile
+
+dbc_tree_model_test.o: ../../tests/dbc_tree_model_test.cpp ../../core/dbc_parser.h \
+ ../../core/dbc_diagnostic.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/dbc_tree_builder.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../qt/dbc_tree_model.h \
+ dbc_tree_model_test.moc
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_model_test.o ../../tests/dbc_tree_model_test.cpp
+
+####### Install
+
+install_target: first FORCE
+ @test -d $(INSTALL_ROOT)/usr/tests/tests || mkdir -p $(INSTALL_ROOT)/usr/tests/tests
+ $(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+
+uninstall_target: FORCE
+ -$(DEL_FILE) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/tests/tests/
+
+
+install: install_target FORCE
+
+uninstall: uninstall_target FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-sanitize/tests/Makefile.tree_tests b/build-sanitize/tests/Makefile.tree_tests
new file mode 100644
index 0000000..ced5137
--- /dev/null
+++ b/build-sanitize/tests/Makefile.tree_tests
@@ -0,0 +1,762 @@
+#############################################################################
+# Makefile for building: dbc_tree_tests
+# Generated by qmake (3.1) (Qt 6.8.2)
+# Project: ../../tests/tree_tests.pro
+# Template: app
+# Command: /usr/bin/qmake6 -o Makefile.tree_tests ../../tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+#############################################################################
+
+MAKEFILE = Makefile.tree_tests
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES =
+CFLAGS = -pipe -g -Wall -Wextra $(DEFINES)
+CXXFLAGS = -pipe -fsanitize=address,undefined -fno-omit-frame-pointer -g -std=gnu++1z -Wall -Wextra $(DEFINES)
+INCPATH = -I../../tests -I. -I../../core -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake6
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake6 -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake6 -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = dbc_tree_tests1.0.0
+DISTDIR = /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/.tmp/dbc_tree_tests1.0.0
+LINK = g++
+LFLAGS = -fsanitize=address,undefined
+LIBS = $(SUBLIBS)
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = ../../tests/tree_node_test.cpp \
+ ../../core/tree_node.cpp \
+ ../../core/dbc_tree_builder.cpp
+OBJECTS = tree_node_test.o \
+ tree_node.o \
+ dbc_tree_builder.o
+DIST = /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../../tests/tree_tests.pro ../../tests/tree_node_test.cpp \
+ ../../core/tree_node.cpp \
+ ../../core/dbc_tree_builder.cpp
+QMAKE_TARGET = dbc_tree_tests
+DESTDIR =
+TARGET = dbc_tree_tests
+
+
+first: all
+####### Build rules
+
+dbc_tree_tests: $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile.tree_tests: ../../tests/tree_tests.pro /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf \
+ ../.qmake.stash \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf \
+ /usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf \
+ ../../tests/tree_tests.pro
+ $(QMAKE) -o Makefile.tree_tests ../../tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/linux.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/sanitize.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/gcc-base-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-base.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/common/g++-unix.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/qconfig.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3danimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dlogic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickextras.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickinput.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickrender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene2d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3dquickscene3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_3drender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_bluetooth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_charts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_chartsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualization.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_datavisualizationqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_designer.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_gbm_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_example_icons_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_examples_asset_downloader_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphs.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_graphswidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_grpcquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_help.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_httpserver.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_hunspellinputmethod.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsanimation.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsfolderlistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsplatform.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labsqmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labssharedimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_labswavefrontmesh.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_linguist.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_location.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimedia.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_multimediawidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_networkauth.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_nfc.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_openglwidgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_pdfwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioning.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobuf.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtcoretypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufqtguitypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_protobufwellknowntypes.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlassetdownloader.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcompiler.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlcore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlintegration.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmllocalstorage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmeta_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlnetwork.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlworkerscript.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_qmlxmllistmodel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3d.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetimport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dassetutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3deffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dhelpersimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3diblbaker.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticleeffects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dparticles.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysics.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dphysicshelpers.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3druntimerender.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dutils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quick3dxr.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basic.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2basicstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusion.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2fusionstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imagine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2imaginestyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2impl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2material.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2materialstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universal.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickcontrols2universalstyleimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2quickimpl.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickdialogs2utils.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicklayouts.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktemplates2.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimeline_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quicktimelineblendtrees_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickvectorimage.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjects.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_remoteobjectsqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_repparser.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_scxmlqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensors.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sensorsquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialbus.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_serialport.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_shadertools_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_spatialaudio.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachine.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_statemachineqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_svgwidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uiplugin.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_uitools.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboard.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_virtualkeyboardsettings.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandclient.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositor.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositoriviapplication.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorpresentationtime.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorwlshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_waylandcompositorxdgshell.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannel.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webchannelquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginecore.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginequickdelegatesqml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webenginewidgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_websockets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webview.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_webviewquick.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_widgets_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_functions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qt_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++/qmake.conf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/spec_post.prf:
+../.qmake.stash:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exclusive_builds.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/toolchain.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_pre.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/resolve_config.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/default_post.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/warn_on.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/qmake_use.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/file_copies.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/testcase_targets.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/exceptions.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/yacc.prf:
+/usr/lib/x86_64-linux-gnu/qt6/mkspecs/features/lex.prf:
+../../tests/tree_tests.pro:
+qmake: FORCE
+ @$(QMAKE) -o Makefile.tree_tests ../../tests/tree_tests.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release 'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' QMAKE_LFLAGS+=-fsanitize=address,undefined
+
+qmake_all: FORCE
+
+
+all: Makefile.tree_tests dbc_tree_tests
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/target_wrapper.sh
+ -$(DEL_FILE) Makefile.tree_tests
+
+
+####### Sub-libraries
+
+check: first
+ /home/deeaitch/work/3.projects/git.himro.ca/automotive/dbc/build-sanitize/tests/target_wrapper.sh $(TESTRUNNER) ./$(QMAKE_TARGET) $(TESTARGS)
+
+benchmark: first
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean:
+
+####### Compile
+
+tree_node_test.o: ../../tests/tree_node_test.cpp ../../core/dbc_tree_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node_test.o ../../tests/tree_node_test.cpp
+
+tree_node.o: ../../core/tree_node.cpp ../../core/tree_node.h \
+ ../../core/definition_key.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tree_node.o ../../core/tree_node.cpp
+
+dbc_tree_builder.o: ../../core/dbc_tree_builder.cpp ../../core/dbc_tree_builder.h \
+ ../../core/dbc_database.h \
+ ../../core/frame_info.h \
+ ../../core/attributes.h \
+ ../../core/signal_info.h \
+ ../../core/multiplexing.h \
+ ../../core/value_descriptions.h \
+ ../../core/tree_node.h \
+ ../../core/definition_key.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o dbc_tree_builder.o ../../core/dbc_tree_builder.cpp
+
+####### Install
+
+install_target: first FORCE
+ @test -d $(INSTALL_ROOT)/usr/tests/tests || mkdir -p $(INSTALL_ROOT)/usr/tests/tests
+ $(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+
+uninstall_target: FORCE
+ -$(DEL_FILE) $(INSTALL_ROOT)/usr/tests/tests/$(QMAKE_TARGET)
+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/tests/tests/
+
+
+install: install_target FORCE
+
+uninstall: uninstall_target FORCE
+
+FORCE:
+
+.SUFFIXES:
+
diff --git a/build-sanitize/tests/dbc_coverage_test.moc b/build-sanitize/tests/dbc_coverage_test.moc
new file mode 100644
index 0000000..f1ca16b
--- /dev/null
+++ b/build-sanitize/tests/dbc_coverage_test.moc
@@ -0,0 +1,324 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_coverage_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_coverage_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN12CoverageTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN12CoverageTestE = QtMocHelpers::stringData(
+ "CoverageTest",
+ "frameLookup",
+ "",
+ "signedBoundaries_data",
+ "signedBoundaries",
+ "extraction_data",
+ "extraction",
+ "invalidSignalStatus_data",
+ "invalidSignalStatus",
+ "malformedRuntimeMultiplexing_data",
+ "malformedRuntimeMultiplexing",
+ "pgn_data",
+ "pgn",
+ "j1939Lookup_data",
+ "j1939Lookup",
+ "j1939Ambiguity_data",
+ "j1939Ambiguity",
+ "j1939MetadataValidation",
+ "comments_data",
+ "comments",
+ "ignoredCommentStatements_data",
+ "ignoredCommentStatements",
+ "ambiguousValueReferences_data",
+ "ambiguousValueReferences",
+ "valueReferenceScope",
+ "fileFormatting_data",
+ "fileFormatting",
+ "missingFile",
+ "builders",
+ "physicalConversion_data",
+ "physicalConversion",
+ "multiplexingScenarios",
+ "multiplexingErrorLocations_data",
+ "multiplexingErrorLocations",
+ "escapedValueDescriptions",
+ "factory"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN12CoverageTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 34, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 218, 2, 0x08, 1 /* Private */,
+ 3, 0, 219, 2, 0x08, 2 /* Private */,
+ 4, 0, 220, 2, 0x08, 3 /* Private */,
+ 5, 0, 221, 2, 0x08, 4 /* Private */,
+ 6, 0, 222, 2, 0x08, 5 /* Private */,
+ 7, 0, 223, 2, 0x08, 6 /* Private */,
+ 8, 0, 224, 2, 0x08, 7 /* Private */,
+ 9, 0, 225, 2, 0x08, 8 /* Private */,
+ 10, 0, 226, 2, 0x08, 9 /* Private */,
+ 11, 0, 227, 2, 0x08, 10 /* Private */,
+ 12, 0, 228, 2, 0x08, 11 /* Private */,
+ 13, 0, 229, 2, 0x08, 12 /* Private */,
+ 14, 0, 230, 2, 0x08, 13 /* Private */,
+ 15, 0, 231, 2, 0x08, 14 /* Private */,
+ 16, 0, 232, 2, 0x08, 15 /* Private */,
+ 17, 0, 233, 2, 0x08, 16 /* Private */,
+ 18, 0, 234, 2, 0x08, 17 /* Private */,
+ 19, 0, 235, 2, 0x08, 18 /* Private */,
+ 20, 0, 236, 2, 0x08, 19 /* Private */,
+ 21, 0, 237, 2, 0x08, 20 /* Private */,
+ 22, 0, 238, 2, 0x08, 21 /* Private */,
+ 23, 0, 239, 2, 0x08, 22 /* Private */,
+ 24, 0, 240, 2, 0x08, 23 /* Private */,
+ 25, 0, 241, 2, 0x08, 24 /* Private */,
+ 26, 0, 242, 2, 0x08, 25 /* Private */,
+ 27, 0, 243, 2, 0x08, 26 /* Private */,
+ 28, 0, 244, 2, 0x08, 27 /* Private */,
+ 29, 0, 245, 2, 0x08, 28 /* Private */,
+ 30, 0, 246, 2, 0x08, 29 /* Private */,
+ 31, 0, 247, 2, 0x08, 30 /* Private */,
+ 32, 0, 248, 2, 0x08, 31 /* Private */,
+ 33, 0, 249, 2, 0x08, 32 /* Private */,
+ 34, 0, 250, 2, 0x08, 33 /* Private */,
+ 35, 0, 251, 2, 0x08, 34 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject CoverageTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN12CoverageTestE.offsetsAndSizes,
+ qt_meta_data_ZN12CoverageTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'frameLookup'
+ QtPrivate::TypeAndForceComplete,
+ // method 'signedBoundaries_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'signedBoundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'extraction_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'extraction'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidSignalStatus_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidSignalStatus'
+ QtPrivate::TypeAndForceComplete,
+ // method 'malformedRuntimeMultiplexing_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'malformedRuntimeMultiplexing'
+ QtPrivate::TypeAndForceComplete,
+ // method 'pgn_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'pgn'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Lookup_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Lookup'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Ambiguity_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939Ambiguity'
+ QtPrivate::TypeAndForceComplete,
+ // method 'j1939MetadataValidation'
+ QtPrivate::TypeAndForceComplete,
+ // method 'comments_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'comments'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ignoredCommentStatements_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ignoredCommentStatements'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ambiguousValueReferences_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'ambiguousValueReferences'
+ QtPrivate::TypeAndForceComplete,
+ // method 'valueReferenceScope'
+ QtPrivate::TypeAndForceComplete,
+ // method 'fileFormatting_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'fileFormatting'
+ QtPrivate::TypeAndForceComplete,
+ // method 'missingFile'
+ QtPrivate::TypeAndForceComplete,
+ // method 'builders'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingScenarios'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingErrorLocations_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'multiplexingErrorLocations'
+ QtPrivate::TypeAndForceComplete,
+ // method 'escapedValueDescriptions'
+ QtPrivate::TypeAndForceComplete,
+ // method 'factory'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void CoverageTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast(_o);
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: _t->frameLookup(); break;
+ case 1: _t->signedBoundaries_data(); break;
+ case 2: _t->signedBoundaries(); break;
+ case 3: _t->extraction_data(); break;
+ case 4: _t->extraction(); break;
+ case 5: _t->invalidSignalStatus_data(); break;
+ case 6: _t->invalidSignalStatus(); break;
+ case 7: _t->malformedRuntimeMultiplexing_data(); break;
+ case 8: _t->malformedRuntimeMultiplexing(); break;
+ case 9: _t->pgn_data(); break;
+ case 10: _t->pgn(); break;
+ case 11: _t->j1939Lookup_data(); break;
+ case 12: _t->j1939Lookup(); break;
+ case 13: _t->j1939Ambiguity_data(); break;
+ case 14: _t->j1939Ambiguity(); break;
+ case 15: _t->j1939MetadataValidation(); break;
+ case 16: _t->comments_data(); break;
+ case 17: _t->comments(); break;
+ case 18: _t->ignoredCommentStatements_data(); break;
+ case 19: _t->ignoredCommentStatements(); break;
+ case 20: _t->ambiguousValueReferences_data(); break;
+ case 21: _t->ambiguousValueReferences(); break;
+ case 22: _t->valueReferenceScope(); break;
+ case 23: _t->fileFormatting_data(); break;
+ case 24: _t->fileFormatting(); break;
+ case 25: _t->missingFile(); break;
+ case 26: _t->builders(); break;
+ case 27: _t->physicalConversion_data(); break;
+ case 28: _t->physicalConversion(); break;
+ case 29: _t->multiplexingScenarios(); break;
+ case 30: _t->multiplexingErrorLocations_data(); break;
+ case 31: _t->multiplexingErrorLocations(); break;
+ case 32: _t->escapedValueDescriptions(); break;
+ case 33: _t->factory(); break;
+ default: ;
+ }
+ }
+ (void)_a;
+}
+
+const QMetaObject *CoverageTest::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CoverageTest::qt_metacast(const char *_clname)
+{
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_ZN12CoverageTestE.stringdata0))
+ return static_cast(this);
+ return QObject::qt_metacast(_clname);
+}
+
+int CoverageTest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 34)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 34;
+ }
+ if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+ if (_id < 34)
+ *reinterpret_cast(_a[0]) = QMetaType();
+ _id -= 34;
+ }
+ return _id;
+}
+QT_WARNING_POP
diff --git a/build-sanitize/tests/dbc_coverage_test.o b/build-sanitize/tests/dbc_coverage_test.o
new file mode 100644
index 0000000..f77df39
Binary files /dev/null and b/build-sanitize/tests/dbc_coverage_test.o differ
diff --git a/build-sanitize/tests/dbc_decoder_test.moc b/build-sanitize/tests/dbc_decoder_test.moc
new file mode 100644
index 0000000..5da6007
--- /dev/null
+++ b/build-sanitize/tests/dbc_decoder_test.moc
@@ -0,0 +1,186 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'dbc_decoder_test.cpp'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.8.2)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include
+
+#include
+
+#include
+
+
+#include
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'dbc_decoder_test.cpp' doesn't include ."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.8.2. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+#ifndef Q_CONSTINIT
+#define Q_CONSTINIT
+#endif
+
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+QT_WARNING_DISABLE_GCC("-Wuseless-cast")
+namespace {
+struct qt_meta_tag_ZN14DbcDecoderTestE_t {};
+} // unnamed namespace
+
+
+#ifdef QT_MOC_HAS_STRINGDATA
+static constexpr auto qt_meta_stringdata_ZN14DbcDecoderTestE = QtMocHelpers::stringData(
+ "DbcDecoderTest",
+ "decode_data",
+ "",
+ "decode",
+ "boundaries",
+ "payloadPolicy_data",
+ "payloadPolicy",
+ "invalidDefinitions_data",
+ "invalidDefinitions",
+ "physicalConversion_data",
+ "physicalConversion",
+ "selectorConversionFailure",
+ "zeroDlc"
+);
+#else // !QT_MOC_HAS_STRINGDATA
+#error "qtmochelpers.h not found or too old."
+#endif // !QT_MOC_HAS_STRINGDATA
+
+Q_CONSTINIT static const uint qt_meta_data_ZN14DbcDecoderTestE[] = {
+
+ // content:
+ 12, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 11, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: name, argc, parameters, tag, flags, initial metatype offsets
+ 1, 0, 80, 2, 0x08, 1 /* Private */,
+ 3, 0, 81, 2, 0x08, 2 /* Private */,
+ 4, 0, 82, 2, 0x08, 3 /* Private */,
+ 5, 0, 83, 2, 0x08, 4 /* Private */,
+ 6, 0, 84, 2, 0x08, 5 /* Private */,
+ 7, 0, 85, 2, 0x08, 6 /* Private */,
+ 8, 0, 86, 2, 0x08, 7 /* Private */,
+ 9, 0, 87, 2, 0x08, 8 /* Private */,
+ 10, 0, 88, 2, 0x08, 9 /* Private */,
+ 11, 0, 89, 2, 0x08, 10 /* Private */,
+ 12, 0, 90, 2, 0x08, 11 /* Private */,
+
+ // slots: parameters
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+ QMetaType::Void,
+
+ 0 // eod
+};
+
+Q_CONSTINIT const QMetaObject DbcDecoderTest::staticMetaObject = { {
+ QMetaObject::SuperData::link(),
+ qt_meta_stringdata_ZN14DbcDecoderTestE.offsetsAndSizes,
+ qt_meta_data_ZN14DbcDecoderTestE,
+ qt_static_metacall,
+ nullptr,
+ qt_incomplete_metaTypeArray,
+ // method 'decode_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'decode'
+ QtPrivate::TypeAndForceComplete,
+ // method 'boundaries'
+ QtPrivate::TypeAndForceComplete,
+ // method 'payloadPolicy_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'payloadPolicy'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidDefinitions_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'invalidDefinitions'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion_data'
+ QtPrivate::TypeAndForceComplete,
+ // method 'physicalConversion'
+ QtPrivate::TypeAndForceComplete,
+ // method 'selectorConversionFailure'
+ QtPrivate::TypeAndForceComplete,
+ // method 'zeroDlc'
+ QtPrivate::TypeAndForceComplete
+ >,
+ nullptr
+} };
+
+void DbcDecoderTest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ auto *_t = static_cast