From 8797f9dfe71660b35b19eb90e78385e419757859 Mon Sep 17 00:00:00 2001 From: ihedvall <92839244+ihedvall@users.noreply.github.com> Date: Fri, 26 May 2023 14:19:25 +0200 Subject: [PATCH] Added doxygen documentation and prepare for release 1.0 --- README.md | 24 +- docs/.gitignore | 5 + docs/404.html | 25 + docs/Gemfile | 39 + docs/Gemfile.lock | 268 +++ docs/_config.yml | 7 + docs/_includes/head-custom.html | 7 +- docs/assets/img/dbcviewer.png | Bin 0 -> 115347 bytes docs/assets/img/logo.png | Bin 3259 -> 5967 bytes docs/assets/img/mdfviewer.png | Bin 51714 -> 0 bytes docs/dbclib.md | 19 + docs/dbcviewer.md | 14 + docs/favicon.ico | Bin 0 -> 3259 bytes docs/index.md | 18 + docs/manual/html/annotated.html | 101 + docs/manual/html/attribute_8h.html | 164 ++ docs/manual/html/attribute_8h__dep__incl.map | 9 + docs/manual/html/attribute_8h__dep__incl.md5 | 1 + docs/manual/html/attribute_8h__dep__incl.png | Bin 0 -> 20348 bytes docs/manual/html/attribute_8h__incl.map | 6 + docs/manual/html/attribute_8h__incl.md5 | 1 + docs/manual/html/attribute_8h__incl.png | Bin 0 -> 3934 bytes docs/manual/html/attribute_8h_source.html | 248 ++ docs/manual/html/bc_s.png | Bin 0 -> 676 bytes docs/manual/html/bc_sd.png | Bin 0 -> 635 bytes docs/manual/html/bdwn.png | Bin 0 -> 147 bytes .../html/classdbc_1_1_attribute-members.html | 108 + docs/manual/html/classdbc_1_1_attribute.html | 182 ++ .../html/classdbc_1_1_dbc_file-members.html | 104 + docs/manual/html/classdbc_1_1_dbc_file.html | 209 ++ .../classdbc_1_1_dbc_message-members.html | 106 + .../manual/html/classdbc_1_1_dbc_message.html | 210 ++ .../html/classdbc_1_1_env_var-members.html | 113 + docs/manual/html/classdbc_1_1_env_var.html | 194 ++ ...lassdbc_1_1_i_sample_observer-members.html | 94 + .../html/classdbc_1_1_i_sample_observer.html | 180 ++ ..._1_1_i_sample_observer__inherit__graph.map | 4 + ..._1_1_i_sample_observer__inherit__graph.md5 | 1 + ..._1_1_i_sample_observer__inherit__graph.png | Bin 0 -> 1525 bytes .../html/classdbc_1_1_message-members.html | 130 ++ docs/manual/html/classdbc_1_1_message.html | 355 +++ .../html/classdbc_1_1_network-members.html | 137 ++ docs/manual/html/classdbc_1_1_network.html | 314 +++ .../html/classdbc_1_1_node-members.html | 99 + docs/manual/html/classdbc_1_1_node.html | 139 ++ .../html/classdbc_1_1_signal-members.html | 147 ++ docs/manual/html/classdbc_1_1_signal.html | 336 +++ .../classdbc_1_1_signal_group-members.html | 98 + .../html/classdbc_1_1_signal_group.html | 134 ++ .../classdbc_1_1_signal_observer-members.html | 113 + .../html/classdbc_1_1_signal_observer.html | 379 ++++ ...ssdbc_1_1_signal_observer__coll__graph.map | 4 + ...ssdbc_1_1_signal_observer__coll__graph.md5 | 1 + ...ssdbc_1_1_signal_observer__coll__graph.png | Bin 0 -> 1511 bytes ...bc_1_1_signal_observer__inherit__graph.map | 4 + ...bc_1_1_signal_observer__inherit__graph.md5 | 1 + ...bc_1_1_signal_observer__inherit__graph.png | Bin 0 -> 1511 bytes docs/manual/html/classes.html | 107 + docs/manual/html/closed.png | Bin 0 -> 132 bytes docs/manual/html/dbcfile_8h.html | 135 ++ docs/manual/html/dbcfile_8h__incl.map | 18 + docs/manual/html/dbcfile_8h__incl.md5 | 1 + docs/manual/html/dbcfile_8h__incl.png | Bin 0 -> 102282 bytes docs/manual/html/dbcfile_8h_source.html | 154 ++ .../manual/html/dbclib.css | 0 docs/manual/html/dbcmessage_8h.html | 129 ++ docs/manual/html/dbcmessage_8h__dep__incl.map | 4 + docs/manual/html/dbcmessage_8h__dep__incl.md5 | 1 + docs/manual/html/dbcmessage_8h__dep__incl.png | Bin 0 -> 1513 bytes docs/manual/html/dbcmessage_8h__incl.map | 5 + docs/manual/html/dbcmessage_8h__incl.md5 | 1 + docs/manual/html/dbcmessage_8h__incl.png | Bin 0 -> 2950 bytes docs/manual/html/dbcmessage_8h_source.html | 145 ++ .../dir_4e8d938e9ddb5a617c200d5739d1f41a.html | 87 + .../dir_67453f04da784cdd04890da01913ef0e.html | 133 ++ ...r_67453f04da784cdd04890da01913ef0e_dep.map | 4 + ...r_67453f04da784cdd04890da01913ef0e_dep.md5 | 1 + ...r_67453f04da784cdd04890da01913ef0e_dep.png | Bin 0 -> 788 bytes .../dir_d44c64559bbebec7f509842c48db8b23.html | 93 + docs/manual/html/doc.png | Bin 0 -> 746 bytes docs/manual/html/docd.png | Bin 0 -> 756 bytes docs/manual/html/doxygen.css | 1989 +++++++++++++++++ docs/manual/html/doxygen.svg | 26 + docs/manual/html/dynsections.js | 123 + docs/manual/html/envvar_8h.html | 152 ++ docs/manual/html/envvar_8h__dep__incl.map | 5 + docs/manual/html/envvar_8h__dep__incl.md5 | 1 + docs/manual/html/envvar_8h__dep__incl.png | Bin 0 -> 2339 bytes docs/manual/html/envvar_8h__incl.map | 7 + docs/manual/html/envvar_8h__incl.md5 | 1 + docs/manual/html/envvar_8h__incl.png | Bin 0 -> 5460 bytes docs/manual/html/envvar_8h_source.html | 204 ++ docs/manual/html/files.html | 100 + docs/manual/html/folderclosed.png | Bin 0 -> 616 bytes docs/manual/html/folderopen.png | Bin 0 -> 597 bytes docs/manual/html/functions.html | 92 + docs/manual/html/functions_b.html | 89 + docs/manual/html/functions_c.html | 93 + docs/manual/html/functions_d.html | 90 + docs/manual/html/functions_e.html | 89 + docs/manual/html/functions_f.html | 87 + docs/manual/html/functions_func.html | 91 + docs/manual/html/functions_func_b.html | 89 + docs/manual/html/functions_func_c.html | 93 + docs/manual/html/functions_func_d.html | 90 + docs/manual/html/functions_func_e.html | 89 + docs/manual/html/functions_func_f.html | 86 + docs/manual/html/functions_func_g.html | 102 + docs/manual/html/functions_func_i.html | 94 + docs/manual/html/functions_func_j.html | 85 + docs/manual/html/functions_func_l.html | 88 + docs/manual/html/functions_func_m.html | 92 + docs/manual/html/functions_func_n.html | 93 + docs/manual/html/functions_func_o.html | 86 + docs/manual/html/functions_func_p.html | 92 + docs/manual/html/functions_func_r.html | 90 + docs/manual/html/functions_func_s.html | 96 + docs/manual/html/functions_func_t.html | 88 + docs/manual/html/functions_func_u.html | 86 + docs/manual/html/functions_func_v.html | 89 + docs/manual/html/functions_func_~.html | 87 + docs/manual/html/functions_g.html | 102 + docs/manual/html/functions_i.html | 94 + docs/manual/html/functions_j.html | 85 + docs/manual/html/functions_l.html | 88 + docs/manual/html/functions_m.html | 93 + docs/manual/html/functions_n.html | 93 + docs/manual/html/functions_o.html | 86 + docs/manual/html/functions_p.html | 92 + docs/manual/html/functions_r.html | 91 + docs/manual/html/functions_s.html | 97 + docs/manual/html/functions_t.html | 88 + docs/manual/html/functions_u.html | 87 + docs/manual/html/functions_v.html | 90 + docs/manual/html/functions_vars.html | 89 + docs/manual/html/functions_~.html | 87 + docs/manual/html/graph_legend.html | 143 ++ docs/manual/html/graph_legend.md5 | 1 + docs/manual/html/graph_legend.png | Bin 0 -> 13520 bytes docs/manual/html/hierarchy.html | 102 + docs/manual/html/index.html | 94 + docs/manual/html/inherit_graph_0.map | 3 + docs/manual/html/inherit_graph_0.md5 | 1 + docs/manual/html/inherit_graph_0.png | Bin 0 -> 442 bytes docs/manual/html/inherit_graph_1.map | 3 + docs/manual/html/inherit_graph_1.md5 | 1 + docs/manual/html/inherit_graph_1.png | Bin 0 -> 446 bytes docs/manual/html/inherit_graph_10.map | 3 + docs/manual/html/inherit_graph_10.md5 | 1 + docs/manual/html/inherit_graph_10.png | Bin 0 -> 530 bytes docs/manual/html/inherit_graph_11.map | 3 + docs/manual/html/inherit_graph_11.md5 | 1 + docs/manual/html/inherit_graph_11.png | Bin 0 -> 508 bytes docs/manual/html/inherit_graph_2.map | 3 + docs/manual/html/inherit_graph_2.md5 | 1 + docs/manual/html/inherit_graph_2.png | Bin 0 -> 532 bytes docs/manual/html/inherit_graph_3.map | 3 + docs/manual/html/inherit_graph_3.md5 | 1 + docs/manual/html/inherit_graph_3.png | Bin 0 -> 440 bytes docs/manual/html/inherit_graph_4.map | 3 + docs/manual/html/inherit_graph_4.md5 | 1 + docs/manual/html/inherit_graph_4.png | Bin 0 -> 522 bytes docs/manual/html/inherit_graph_5.map | 4 + docs/manual/html/inherit_graph_5.md5 | 1 + docs/manual/html/inherit_graph_5.png | Bin 0 -> 1191 bytes docs/manual/html/inherit_graph_6.map | 3 + docs/manual/html/inherit_graph_6.md5 | 1 + docs/manual/html/inherit_graph_6.png | Bin 0 -> 452 bytes docs/manual/html/inherit_graph_7.map | 3 + docs/manual/html/inherit_graph_7.md5 | 1 + docs/manual/html/inherit_graph_7.png | Bin 0 -> 461 bytes docs/manual/html/inherit_graph_8.map | 3 + docs/manual/html/inherit_graph_8.md5 | 1 + docs/manual/html/inherit_graph_8.png | Bin 0 -> 402 bytes docs/manual/html/inherit_graph_9.map | 3 + docs/manual/html/inherit_graph_9.md5 | 1 + docs/manual/html/inherit_graph_9.png | Bin 0 -> 453 bytes docs/manual/html/inherits.html | 148 ++ docs/manual/html/isampleobserver_8h.html | 131 ++ .../html/isampleobserver_8h__dep__incl.map | 8 + .../html/isampleobserver_8h__dep__incl.md5 | 1 + .../html/isampleobserver_8h__dep__incl.png | Bin 0 -> 12079 bytes docs/manual/html/isampleobserver_8h__incl.map | 4 + docs/manual/html/isampleobserver_8h__incl.md5 | 1 + docs/manual/html/isampleobserver_8h__incl.png | Bin 0 -> 1464 bytes .../html/isampleobserver_8h_source.html | 109 + docs/manual/html/jquery.js | 34 + docs/manual/html/menu.js | 136 ++ docs/manual/html/menudata.js | 82 + docs/manual/html/message_8h.html | 148 ++ docs/manual/html/message_8h__dep__incl.map | 5 + docs/manual/html/message_8h__dep__incl.md5 | 1 + docs/manual/html/message_8h__dep__incl.png | Bin 0 -> 2380 bytes docs/manual/html/message_8h__incl.map | 11 + docs/manual/html/message_8h__incl.md5 | 1 + docs/manual/html/message_8h__incl.png | Bin 0 -> 32937 bytes docs/manual/html/message_8h_source.html | 244 ++ docs/manual/html/namespacedbc.html | 484 ++++ docs/manual/html/namespacemembers.html | 95 + docs/manual/html/namespacemembers_enum.html | 90 + docs/manual/html/namespacemembers_type.html | 87 + docs/manual/html/namespaces.html | 101 + docs/manual/html/nav_f.png | Bin 0 -> 153 bytes docs/manual/html/nav_fd.png | Bin 0 -> 169 bytes docs/manual/html/nav_g.png | Bin 0 -> 95 bytes docs/manual/html/nav_h.png | Bin 0 -> 98 bytes docs/manual/html/nav_hd.png | Bin 0 -> 114 bytes docs/manual/html/network_8h.html | 172 ++ docs/manual/html/network_8h__dep__incl.map | 4 + docs/manual/html/network_8h__dep__incl.md5 | 1 + docs/manual/html/network_8h__dep__incl.png | Bin 0 -> 1425 bytes docs/manual/html/network_8h__incl.map | 15 + docs/manual/html/network_8h__incl.md5 | 1 + docs/manual/html/network_8h__incl.png | Bin 0 -> 80859 bytes docs/manual/html/network_8h_source.html | 298 +++ docs/manual/html/node_8h.html | 133 ++ docs/manual/html/node_8h__dep__incl.map | 5 + docs/manual/html/node_8h__dep__incl.md5 | 1 + docs/manual/html/node_8h__dep__incl.png | Bin 0 -> 2302 bytes docs/manual/html/node_8h__incl.map | 7 + docs/manual/html/node_8h__incl.md5 | 1 + docs/manual/html/node_8h__incl.png | Bin 0 -> 8209 bytes docs/manual/html/node_8h_source.html | 136 ++ docs/manual/html/open.png | Bin 0 -> 123 bytes docs/manual/html/search/all_0.js | 15 + docs/manual/html/search/all_1.js | 9 + docs/manual/html/search/all_10.js | 29 + docs/manual/html/search/all_11.js | 7 + docs/manual/html/search/all_12.js | 8 + docs/manual/html/search/all_13.js | 9 + docs/manual/html/search/all_14.js | 4 + docs/manual/html/search/all_15.js | 6 + docs/manual/html/search/all_2.js | 13 + docs/manual/html/search/all_3.js | 18 + docs/manual/html/search/all_4.js | 16 + docs/manual/html/search/all_5.js | 9 + docs/manual/html/search/all_6.js | 21 + docs/manual/html/search/all_7.js | 4 + docs/manual/html/search/all_8.js | 16 + docs/manual/html/search/all_9.js | 4 + docs/manual/html/search/all_a.js | 7 + docs/manual/html/search/all_b.js | 18 + docs/manual/html/search/all_c.js | 19 + docs/manual/html/search/all_d.js | 6 + docs/manual/html/search/all_e.js | 12 + docs/manual/html/search/all_f.js | 13 + docs/manual/html/search/classes_0.js | 4 + docs/manual/html/search/classes_1.js | 5 + docs/manual/html/search/classes_2.js | 5 + docs/manual/html/search/classes_3.js | 4 + docs/manual/html/search/classes_4.js | 4 + docs/manual/html/search/classes_5.js | 5 + docs/manual/html/search/classes_6.js | 7 + docs/manual/html/search/close.svg | 31 + docs/manual/html/search/enums_0.js | 6 + docs/manual/html/search/enums_1.js | 4 + docs/manual/html/search/enums_2.js | 4 + docs/manual/html/search/enums_3.js | 4 + docs/manual/html/search/enums_4.js | 4 + docs/manual/html/search/enums_5.js | 4 + docs/manual/html/search/enumvalues_0.js | 4 + docs/manual/html/search/enumvalues_1.js | 9 + docs/manual/html/search/enumvalues_2.js | 6 + docs/manual/html/search/enumvalues_3.js | 6 + docs/manual/html/search/enumvalues_4.js | 4 + docs/manual/html/search/enumvalues_5.js | 5 + docs/manual/html/search/enumvalues_6.js | 4 + docs/manual/html/search/enumvalues_7.js | 5 + docs/manual/html/search/enumvalues_8.js | 7 + docs/manual/html/search/enumvalues_9.js | 4 + docs/manual/html/search/enumvalues_a.js | 5 + docs/manual/html/search/enumvalues_b.js | 7 + docs/manual/html/search/enumvalues_c.js | 5 + docs/manual/html/search/enumvalues_d.js | 4 + docs/manual/html/search/files_0.js | 4 + docs/manual/html/search/files_1.js | 5 + docs/manual/html/search/files_2.js | 4 + docs/manual/html/search/files_3.js | 4 + docs/manual/html/search/files_4.js | 4 + docs/manual/html/search/files_5.js | 5 + docs/manual/html/search/files_6.js | 6 + docs/manual/html/search/functions_0.js | 10 + docs/manual/html/search/functions_1.js | 8 + docs/manual/html/search/functions_10.js | 7 + docs/manual/html/search/functions_11.js | 5 + docs/manual/html/search/functions_12.js | 8 + docs/manual/html/search/functions_13.js | 6 + docs/manual/html/search/functions_2.js | 12 + docs/manual/html/search/functions_3.js | 9 + docs/manual/html/search/functions_4.js | 8 + docs/manual/html/search/functions_5.js | 5 + docs/manual/html/search/functions_6.js | 21 + docs/manual/html/search/functions_7.js | 13 + docs/manual/html/search/functions_8.js | 4 + docs/manual/html/search/functions_9.js | 7 + docs/manual/html/search/functions_a.js | 11 + docs/manual/html/search/functions_b.js | 12 + docs/manual/html/search/functions_c.js | 5 + docs/manual/html/search/functions_d.js | 11 + docs/manual/html/search/functions_e.js | 9 + docs/manual/html/search/functions_f.js | 15 + docs/manual/html/search/mag.svg | 37 + docs/manual/html/search/mag_d.svg | 37 + docs/manual/html/search/mag_sel.svg | 74 + docs/manual/html/search/mag_seld.svg | 74 + docs/manual/html/search/namespaces_0.js | 4 + docs/manual/html/search/pages_0.js | 4 + docs/manual/html/search/search.css | 291 +++ docs/manual/html/search/search.js | 816 +++++++ docs/manual/html/search/searchdata.js | 42 + docs/manual/html/search/typedefs_0.js | 4 + docs/manual/html/search/typedefs_1.js | 4 + docs/manual/html/search/typedefs_2.js | 4 + docs/manual/html/search/typedefs_3.js | 5 + docs/manual/html/search/variables_0.js | 4 + docs/manual/html/search/variables_1.js | 4 + docs/manual/html/search/variables_2.js | 4 + docs/manual/html/search/variables_3.js | 4 + docs/manual/html/search/variables_4.js | 4 + docs/manual/html/search/variables_5.js | 4 + docs/manual/html/search/variables_6.js | 4 + docs/manual/html/signal_8h.html | 173 ++ docs/manual/html/signal_8h__dep__incl.map | 7 + docs/manual/html/signal_8h__dep__incl.md5 | 1 + docs/manual/html/signal_8h__dep__incl.png | Bin 0 -> 8667 bytes docs/manual/html/signal_8h__incl.map | 10 + docs/manual/html/signal_8h__incl.md5 | 1 + docs/manual/html/signal_8h__incl.png | Bin 0 -> 15799 bytes docs/manual/html/signal_8h_source.html | 481 ++++ docs/manual/html/signalgroup_8h.html | 132 ++ .../manual/html/signalgroup_8h__dep__incl.map | 5 + .../manual/html/signalgroup_8h__dep__incl.md5 | 1 + .../manual/html/signalgroup_8h__dep__incl.png | Bin 0 -> 2467 bytes docs/manual/html/signalgroup_8h__incl.map | 6 + docs/manual/html/signalgroup_8h__incl.md5 | 1 + docs/manual/html/signalgroup_8h__incl.png | Bin 0 -> 3874 bytes docs/manual/html/signalgroup_8h_source.html | 129 ++ docs/manual/html/signalobserver_8h.html | 138 ++ docs/manual/html/signalobserver_8h__incl.map | 13 + docs/manual/html/signalobserver_8h__incl.md5 | 1 + docs/manual/html/signalobserver_8h__incl.png | Bin 0 -> 21372 bytes .../manual/html/signalobserver_8h_source.html | 342 +++ docs/manual/html/splitbar.png | Bin 0 -> 314 bytes docs/manual/html/splitbard.png | Bin 0 -> 282 bytes .../structdbc_1_1_extended_mux-members.html | 93 + .../html/structdbc_1_1_extended_mux.html | 118 + .../structdbc_1_1_signal_value-members.html | 96 + .../html/structdbc_1_1_signal_value.html | 130 ++ docs/manual/html/sync_off.png | Bin 0 -> 853 bytes docs/manual/html/sync_on.png | Bin 0 -> 845 bytes docs/manual/html/tab_a.png | Bin 0 -> 142 bytes docs/manual/html/tab_ad.png | Bin 0 -> 135 bytes docs/manual/html/tab_b.png | Bin 0 -> 169 bytes docs/manual/html/tab_bd.png | Bin 0 -> 173 bytes docs/manual/html/tab_h.png | Bin 0 -> 177 bytes docs/manual/html/tab_hd.png | Bin 0 -> 180 bytes docs/manual/html/tab_s.png | Bin 0 -> 184 bytes docs/manual/html/tab_sd.png | Bin 0 -> 188 bytes docs/manual/html/tabs.css | 1 + doxygen/dbclib.css | 8 + doxygen/mainpage.dox | 46 +- doxygen/namespaces.dox | 8 +- img/document.ico | Bin 0 -> 43006 bytes img/mdflib.ico | Bin 0 -> 136682 bytes img/mdflib.png | Bin 0 -> 1673 bytes include/dbc/attribute.h | 93 +- include/dbc/dbcfile.h | 48 +- include/dbc/dbcmessage.h | 48 +- include/dbc/envvar.h | 78 +- include/dbc/isampleobserver.h | 15 +- include/dbc/message.h | 78 +- include/dbc/network.h | 105 +- include/dbc/node.h | 25 +- include/dbc/signal.h | 178 +- include/dbc/signalgroup.h | 25 +- include/dbc/signalobserver.h | 80 +- 376 files changed, 19785 insertions(+), 270 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/404.html create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock create mode 100644 docs/_config.yml create mode 100644 docs/assets/img/dbcviewer.png delete mode 100644 docs/assets/img/mdfviewer.png create mode 100644 docs/dbclib.md create mode 100644 docs/dbcviewer.md create mode 100644 docs/favicon.ico create mode 100644 docs/index.md create mode 100644 docs/manual/html/annotated.html create mode 100644 docs/manual/html/attribute_8h.html create mode 100644 docs/manual/html/attribute_8h__dep__incl.map create mode 100644 docs/manual/html/attribute_8h__dep__incl.md5 create mode 100644 docs/manual/html/attribute_8h__dep__incl.png create mode 100644 docs/manual/html/attribute_8h__incl.map create mode 100644 docs/manual/html/attribute_8h__incl.md5 create mode 100644 docs/manual/html/attribute_8h__incl.png create mode 100644 docs/manual/html/attribute_8h_source.html create mode 100644 docs/manual/html/bc_s.png create mode 100644 docs/manual/html/bc_sd.png create mode 100644 docs/manual/html/bdwn.png create mode 100644 docs/manual/html/classdbc_1_1_attribute-members.html create mode 100644 docs/manual/html/classdbc_1_1_attribute.html create mode 100644 docs/manual/html/classdbc_1_1_dbc_file-members.html create mode 100644 docs/manual/html/classdbc_1_1_dbc_file.html create mode 100644 docs/manual/html/classdbc_1_1_dbc_message-members.html create mode 100644 docs/manual/html/classdbc_1_1_dbc_message.html create mode 100644 docs/manual/html/classdbc_1_1_env_var-members.html create mode 100644 docs/manual/html/classdbc_1_1_env_var.html create mode 100644 docs/manual/html/classdbc_1_1_i_sample_observer-members.html create mode 100644 docs/manual/html/classdbc_1_1_i_sample_observer.html create mode 100644 docs/manual/html/classdbc_1_1_i_sample_observer__inherit__graph.map create mode 100644 docs/manual/html/classdbc_1_1_i_sample_observer__inherit__graph.md5 create mode 100644 docs/manual/html/classdbc_1_1_i_sample_observer__inherit__graph.png create mode 100644 docs/manual/html/classdbc_1_1_message-members.html create mode 100644 docs/manual/html/classdbc_1_1_message.html create mode 100644 docs/manual/html/classdbc_1_1_network-members.html create mode 100644 docs/manual/html/classdbc_1_1_network.html create mode 100644 docs/manual/html/classdbc_1_1_node-members.html create mode 100644 docs/manual/html/classdbc_1_1_node.html create mode 100644 docs/manual/html/classdbc_1_1_signal-members.html create mode 100644 docs/manual/html/classdbc_1_1_signal.html create mode 100644 docs/manual/html/classdbc_1_1_signal_group-members.html create mode 100644 docs/manual/html/classdbc_1_1_signal_group.html create mode 100644 docs/manual/html/classdbc_1_1_signal_observer-members.html create mode 100644 docs/manual/html/classdbc_1_1_signal_observer.html create mode 100644 docs/manual/html/classdbc_1_1_signal_observer__coll__graph.map create mode 100644 docs/manual/html/classdbc_1_1_signal_observer__coll__graph.md5 create mode 100644 docs/manual/html/classdbc_1_1_signal_observer__coll__graph.png create mode 100644 docs/manual/html/classdbc_1_1_signal_observer__inherit__graph.map create mode 100644 docs/manual/html/classdbc_1_1_signal_observer__inherit__graph.md5 create mode 100644 docs/manual/html/classdbc_1_1_signal_observer__inherit__graph.png create mode 100644 docs/manual/html/classes.html create mode 100644 docs/manual/html/closed.png create mode 100644 docs/manual/html/dbcfile_8h.html create mode 100644 docs/manual/html/dbcfile_8h__incl.map create mode 100644 docs/manual/html/dbcfile_8h__incl.md5 create mode 100644 docs/manual/html/dbcfile_8h__incl.png create mode 100644 docs/manual/html/dbcfile_8h_source.html rename doxygen/utillib.css => docs/manual/html/dbclib.css (100%) create mode 100644 docs/manual/html/dbcmessage_8h.html create mode 100644 docs/manual/html/dbcmessage_8h__dep__incl.map create mode 100644 docs/manual/html/dbcmessage_8h__dep__incl.md5 create mode 100644 docs/manual/html/dbcmessage_8h__dep__incl.png create mode 100644 docs/manual/html/dbcmessage_8h__incl.map create mode 100644 docs/manual/html/dbcmessage_8h__incl.md5 create mode 100644 docs/manual/html/dbcmessage_8h__incl.png create mode 100644 docs/manual/html/dbcmessage_8h_source.html create mode 100644 docs/manual/html/dir_4e8d938e9ddb5a617c200d5739d1f41a.html create mode 100644 docs/manual/html/dir_67453f04da784cdd04890da01913ef0e.html create mode 100644 docs/manual/html/dir_67453f04da784cdd04890da01913ef0e_dep.map create mode 100644 docs/manual/html/dir_67453f04da784cdd04890da01913ef0e_dep.md5 create mode 100644 docs/manual/html/dir_67453f04da784cdd04890da01913ef0e_dep.png create mode 100644 docs/manual/html/dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 docs/manual/html/doc.png create mode 100644 docs/manual/html/docd.png create mode 100644 docs/manual/html/doxygen.css create mode 100644 docs/manual/html/doxygen.svg create mode 100644 docs/manual/html/dynsections.js create mode 100644 docs/manual/html/envvar_8h.html create mode 100644 docs/manual/html/envvar_8h__dep__incl.map create mode 100644 docs/manual/html/envvar_8h__dep__incl.md5 create mode 100644 docs/manual/html/envvar_8h__dep__incl.png create mode 100644 docs/manual/html/envvar_8h__incl.map create mode 100644 docs/manual/html/envvar_8h__incl.md5 create mode 100644 docs/manual/html/envvar_8h__incl.png create mode 100644 docs/manual/html/envvar_8h_source.html create mode 100644 docs/manual/html/files.html create mode 100644 docs/manual/html/folderclosed.png create mode 100644 docs/manual/html/folderopen.png create mode 100644 docs/manual/html/functions.html create mode 100644 docs/manual/html/functions_b.html create mode 100644 docs/manual/html/functions_c.html create mode 100644 docs/manual/html/functions_d.html create mode 100644 docs/manual/html/functions_e.html create mode 100644 docs/manual/html/functions_f.html create mode 100644 docs/manual/html/functions_func.html create mode 100644 docs/manual/html/functions_func_b.html create mode 100644 docs/manual/html/functions_func_c.html create mode 100644 docs/manual/html/functions_func_d.html create mode 100644 docs/manual/html/functions_func_e.html create mode 100644 docs/manual/html/functions_func_f.html create mode 100644 docs/manual/html/functions_func_g.html create mode 100644 docs/manual/html/functions_func_i.html create mode 100644 docs/manual/html/functions_func_j.html create mode 100644 docs/manual/html/functions_func_l.html create mode 100644 docs/manual/html/functions_func_m.html create mode 100644 docs/manual/html/functions_func_n.html create mode 100644 docs/manual/html/functions_func_o.html create mode 100644 docs/manual/html/functions_func_p.html create mode 100644 docs/manual/html/functions_func_r.html create mode 100644 docs/manual/html/functions_func_s.html create mode 100644 docs/manual/html/functions_func_t.html create mode 100644 docs/manual/html/functions_func_u.html create mode 100644 docs/manual/html/functions_func_v.html create mode 100644 docs/manual/html/functions_func_~.html create mode 100644 docs/manual/html/functions_g.html create mode 100644 docs/manual/html/functions_i.html create mode 100644 docs/manual/html/functions_j.html create mode 100644 docs/manual/html/functions_l.html create mode 100644 docs/manual/html/functions_m.html create mode 100644 docs/manual/html/functions_n.html create mode 100644 docs/manual/html/functions_o.html create mode 100644 docs/manual/html/functions_p.html create mode 100644 docs/manual/html/functions_r.html create mode 100644 docs/manual/html/functions_s.html create mode 100644 docs/manual/html/functions_t.html create mode 100644 docs/manual/html/functions_u.html create mode 100644 docs/manual/html/functions_v.html create mode 100644 docs/manual/html/functions_vars.html create mode 100644 docs/manual/html/functions_~.html create mode 100644 docs/manual/html/graph_legend.html create mode 100644 docs/manual/html/graph_legend.md5 create mode 100644 docs/manual/html/graph_legend.png create mode 100644 docs/manual/html/hierarchy.html create mode 100644 docs/manual/html/index.html create mode 100644 docs/manual/html/inherit_graph_0.map create mode 100644 docs/manual/html/inherit_graph_0.md5 create mode 100644 docs/manual/html/inherit_graph_0.png create mode 100644 docs/manual/html/inherit_graph_1.map create mode 100644 docs/manual/html/inherit_graph_1.md5 create mode 100644 docs/manual/html/inherit_graph_1.png create mode 100644 docs/manual/html/inherit_graph_10.map create mode 100644 docs/manual/html/inherit_graph_10.md5 create mode 100644 docs/manual/html/inherit_graph_10.png create mode 100644 docs/manual/html/inherit_graph_11.map create mode 100644 docs/manual/html/inherit_graph_11.md5 create mode 100644 docs/manual/html/inherit_graph_11.png create mode 100644 docs/manual/html/inherit_graph_2.map create mode 100644 docs/manual/html/inherit_graph_2.md5 create mode 100644 docs/manual/html/inherit_graph_2.png create mode 100644 docs/manual/html/inherit_graph_3.map create mode 100644 docs/manual/html/inherit_graph_3.md5 create mode 100644 docs/manual/html/inherit_graph_3.png create mode 100644 docs/manual/html/inherit_graph_4.map create mode 100644 docs/manual/html/inherit_graph_4.md5 create mode 100644 docs/manual/html/inherit_graph_4.png create mode 100644 docs/manual/html/inherit_graph_5.map create mode 100644 docs/manual/html/inherit_graph_5.md5 create mode 100644 docs/manual/html/inherit_graph_5.png create mode 100644 docs/manual/html/inherit_graph_6.map create mode 100644 docs/manual/html/inherit_graph_6.md5 create mode 100644 docs/manual/html/inherit_graph_6.png create mode 100644 docs/manual/html/inherit_graph_7.map create mode 100644 docs/manual/html/inherit_graph_7.md5 create mode 100644 docs/manual/html/inherit_graph_7.png create mode 100644 docs/manual/html/inherit_graph_8.map create mode 100644 docs/manual/html/inherit_graph_8.md5 create mode 100644 docs/manual/html/inherit_graph_8.png create mode 100644 docs/manual/html/inherit_graph_9.map create mode 100644 docs/manual/html/inherit_graph_9.md5 create mode 100644 docs/manual/html/inherit_graph_9.png create mode 100644 docs/manual/html/inherits.html create mode 100644 docs/manual/html/isampleobserver_8h.html create mode 100644 docs/manual/html/isampleobserver_8h__dep__incl.map create mode 100644 docs/manual/html/isampleobserver_8h__dep__incl.md5 create mode 100644 docs/manual/html/isampleobserver_8h__dep__incl.png create mode 100644 docs/manual/html/isampleobserver_8h__incl.map create mode 100644 docs/manual/html/isampleobserver_8h__incl.md5 create mode 100644 docs/manual/html/isampleobserver_8h__incl.png create mode 100644 docs/manual/html/isampleobserver_8h_source.html create mode 100644 docs/manual/html/jquery.js create mode 100644 docs/manual/html/menu.js create mode 100644 docs/manual/html/menudata.js create mode 100644 docs/manual/html/message_8h.html create mode 100644 docs/manual/html/message_8h__dep__incl.map create mode 100644 docs/manual/html/message_8h__dep__incl.md5 create mode 100644 docs/manual/html/message_8h__dep__incl.png create mode 100644 docs/manual/html/message_8h__incl.map create mode 100644 docs/manual/html/message_8h__incl.md5 create mode 100644 docs/manual/html/message_8h__incl.png create mode 100644 docs/manual/html/message_8h_source.html create mode 100644 docs/manual/html/namespacedbc.html create mode 100644 docs/manual/html/namespacemembers.html create mode 100644 docs/manual/html/namespacemembers_enum.html create mode 100644 docs/manual/html/namespacemembers_type.html create mode 100644 docs/manual/html/namespaces.html create mode 100644 docs/manual/html/nav_f.png create mode 100644 docs/manual/html/nav_fd.png create mode 100644 docs/manual/html/nav_g.png create mode 100644 docs/manual/html/nav_h.png create mode 100644 docs/manual/html/nav_hd.png create mode 100644 docs/manual/html/network_8h.html create mode 100644 docs/manual/html/network_8h__dep__incl.map create mode 100644 docs/manual/html/network_8h__dep__incl.md5 create mode 100644 docs/manual/html/network_8h__dep__incl.png create mode 100644 docs/manual/html/network_8h__incl.map create mode 100644 docs/manual/html/network_8h__incl.md5 create mode 100644 docs/manual/html/network_8h__incl.png create mode 100644 docs/manual/html/network_8h_source.html create mode 100644 docs/manual/html/node_8h.html create mode 100644 docs/manual/html/node_8h__dep__incl.map create mode 100644 docs/manual/html/node_8h__dep__incl.md5 create mode 100644 docs/manual/html/node_8h__dep__incl.png create mode 100644 docs/manual/html/node_8h__incl.map create mode 100644 docs/manual/html/node_8h__incl.md5 create mode 100644 docs/manual/html/node_8h__incl.png create mode 100644 docs/manual/html/node_8h_source.html create mode 100644 docs/manual/html/open.png create mode 100644 docs/manual/html/search/all_0.js create mode 100644 docs/manual/html/search/all_1.js create mode 100644 docs/manual/html/search/all_10.js create mode 100644 docs/manual/html/search/all_11.js create mode 100644 docs/manual/html/search/all_12.js create mode 100644 docs/manual/html/search/all_13.js create mode 100644 docs/manual/html/search/all_14.js create mode 100644 docs/manual/html/search/all_15.js create mode 100644 docs/manual/html/search/all_2.js create mode 100644 docs/manual/html/search/all_3.js create mode 100644 docs/manual/html/search/all_4.js create mode 100644 docs/manual/html/search/all_5.js create mode 100644 docs/manual/html/search/all_6.js create mode 100644 docs/manual/html/search/all_7.js create mode 100644 docs/manual/html/search/all_8.js create mode 100644 docs/manual/html/search/all_9.js create mode 100644 docs/manual/html/search/all_a.js create mode 100644 docs/manual/html/search/all_b.js create mode 100644 docs/manual/html/search/all_c.js create mode 100644 docs/manual/html/search/all_d.js create mode 100644 docs/manual/html/search/all_e.js create mode 100644 docs/manual/html/search/all_f.js create mode 100644 docs/manual/html/search/classes_0.js create mode 100644 docs/manual/html/search/classes_1.js create mode 100644 docs/manual/html/search/classes_2.js create mode 100644 docs/manual/html/search/classes_3.js create mode 100644 docs/manual/html/search/classes_4.js create mode 100644 docs/manual/html/search/classes_5.js create mode 100644 docs/manual/html/search/classes_6.js create mode 100644 docs/manual/html/search/close.svg create mode 100644 docs/manual/html/search/enums_0.js create mode 100644 docs/manual/html/search/enums_1.js create mode 100644 docs/manual/html/search/enums_2.js create mode 100644 docs/manual/html/search/enums_3.js create mode 100644 docs/manual/html/search/enums_4.js create mode 100644 docs/manual/html/search/enums_5.js create mode 100644 docs/manual/html/search/enumvalues_0.js create mode 100644 docs/manual/html/search/enumvalues_1.js create mode 100644 docs/manual/html/search/enumvalues_2.js create mode 100644 docs/manual/html/search/enumvalues_3.js create mode 100644 docs/manual/html/search/enumvalues_4.js create mode 100644 docs/manual/html/search/enumvalues_5.js create mode 100644 docs/manual/html/search/enumvalues_6.js create mode 100644 docs/manual/html/search/enumvalues_7.js create mode 100644 docs/manual/html/search/enumvalues_8.js create mode 100644 docs/manual/html/search/enumvalues_9.js create mode 100644 docs/manual/html/search/enumvalues_a.js create mode 100644 docs/manual/html/search/enumvalues_b.js create mode 100644 docs/manual/html/search/enumvalues_c.js create mode 100644 docs/manual/html/search/enumvalues_d.js create mode 100644 docs/manual/html/search/files_0.js create mode 100644 docs/manual/html/search/files_1.js create mode 100644 docs/manual/html/search/files_2.js create mode 100644 docs/manual/html/search/files_3.js create mode 100644 docs/manual/html/search/files_4.js create mode 100644 docs/manual/html/search/files_5.js create mode 100644 docs/manual/html/search/files_6.js create mode 100644 docs/manual/html/search/functions_0.js create mode 100644 docs/manual/html/search/functions_1.js create mode 100644 docs/manual/html/search/functions_10.js create mode 100644 docs/manual/html/search/functions_11.js create mode 100644 docs/manual/html/search/functions_12.js create mode 100644 docs/manual/html/search/functions_13.js create mode 100644 docs/manual/html/search/functions_2.js create mode 100644 docs/manual/html/search/functions_3.js create mode 100644 docs/manual/html/search/functions_4.js create mode 100644 docs/manual/html/search/functions_5.js create mode 100644 docs/manual/html/search/functions_6.js create mode 100644 docs/manual/html/search/functions_7.js create mode 100644 docs/manual/html/search/functions_8.js create mode 100644 docs/manual/html/search/functions_9.js create mode 100644 docs/manual/html/search/functions_a.js create mode 100644 docs/manual/html/search/functions_b.js create mode 100644 docs/manual/html/search/functions_c.js create mode 100644 docs/manual/html/search/functions_d.js create mode 100644 docs/manual/html/search/functions_e.js create mode 100644 docs/manual/html/search/functions_f.js create mode 100644 docs/manual/html/search/mag.svg create mode 100644 docs/manual/html/search/mag_d.svg create mode 100644 docs/manual/html/search/mag_sel.svg create mode 100644 docs/manual/html/search/mag_seld.svg create mode 100644 docs/manual/html/search/namespaces_0.js create mode 100644 docs/manual/html/search/pages_0.js create mode 100644 docs/manual/html/search/search.css create mode 100644 docs/manual/html/search/search.js create mode 100644 docs/manual/html/search/searchdata.js create mode 100644 docs/manual/html/search/typedefs_0.js create mode 100644 docs/manual/html/search/typedefs_1.js create mode 100644 docs/manual/html/search/typedefs_2.js create mode 100644 docs/manual/html/search/typedefs_3.js create mode 100644 docs/manual/html/search/variables_0.js create mode 100644 docs/manual/html/search/variables_1.js create mode 100644 docs/manual/html/search/variables_2.js create mode 100644 docs/manual/html/search/variables_3.js create mode 100644 docs/manual/html/search/variables_4.js create mode 100644 docs/manual/html/search/variables_5.js create mode 100644 docs/manual/html/search/variables_6.js create mode 100644 docs/manual/html/signal_8h.html create mode 100644 docs/manual/html/signal_8h__dep__incl.map create mode 100644 docs/manual/html/signal_8h__dep__incl.md5 create mode 100644 docs/manual/html/signal_8h__dep__incl.png create mode 100644 docs/manual/html/signal_8h__incl.map create mode 100644 docs/manual/html/signal_8h__incl.md5 create mode 100644 docs/manual/html/signal_8h__incl.png create mode 100644 docs/manual/html/signal_8h_source.html create mode 100644 docs/manual/html/signalgroup_8h.html create mode 100644 docs/manual/html/signalgroup_8h__dep__incl.map create mode 100644 docs/manual/html/signalgroup_8h__dep__incl.md5 create mode 100644 docs/manual/html/signalgroup_8h__dep__incl.png create mode 100644 docs/manual/html/signalgroup_8h__incl.map create mode 100644 docs/manual/html/signalgroup_8h__incl.md5 create mode 100644 docs/manual/html/signalgroup_8h__incl.png create mode 100644 docs/manual/html/signalgroup_8h_source.html create mode 100644 docs/manual/html/signalobserver_8h.html create mode 100644 docs/manual/html/signalobserver_8h__incl.map create mode 100644 docs/manual/html/signalobserver_8h__incl.md5 create mode 100644 docs/manual/html/signalobserver_8h__incl.png create mode 100644 docs/manual/html/signalobserver_8h_source.html create mode 100644 docs/manual/html/splitbar.png create mode 100644 docs/manual/html/splitbard.png create mode 100644 docs/manual/html/structdbc_1_1_extended_mux-members.html create mode 100644 docs/manual/html/structdbc_1_1_extended_mux.html create mode 100644 docs/manual/html/structdbc_1_1_signal_value-members.html create mode 100644 docs/manual/html/structdbc_1_1_signal_value.html create mode 100644 docs/manual/html/sync_off.png create mode 100644 docs/manual/html/sync_on.png create mode 100644 docs/manual/html/tab_a.png create mode 100644 docs/manual/html/tab_ad.png create mode 100644 docs/manual/html/tab_b.png create mode 100644 docs/manual/html/tab_bd.png create mode 100644 docs/manual/html/tab_h.png create mode 100644 docs/manual/html/tab_hd.png create mode 100644 docs/manual/html/tab_s.png create mode 100644 docs/manual/html/tab_sd.png create mode 100644 docs/manual/html/tabs.css create mode 100644 doxygen/dbclib.css create mode 100644 img/document.ico create mode 100644 img/mdflib.ico create mode 100644 img/mdflib.png diff --git a/README.md b/README.md index 2a7a7a8..c92c230 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,22 @@ -# dbclib -C++ library that parses CAN DBC files. Under development. +# DBC Library version 1.0 + +## Summary + +The DBC library repository include a **C++ Library** that parses CAN database files (DBC) and a simple **DBC +Viewer**. The release 1.0 of the project support reading of DBC file. The DBC viewer can also read in MDF +CAN logger files and view its data. + +## Building + +The project uses CMAKE for building. The following third-party libraries are used and +needs to be downloaded and pre-built. + +- Boost Library. Required for the GUI applications. +- Flex and Bison. Required for the C++ library. +- WxWidgets Library. Required if the GUI applications should be built. +- Doxygen's application. Is required if the documentation should be built. +- Google Test Library. Is required for running and build the unit tests. + +## License + +The project uses the MIT license. See external LICENSE file in project root. diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..f40fbd8 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,5 @@ +_site +.sass-cache +.jekyll-cache +.jekyll-metadata +vendor diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..086a5c9 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,25 @@ +--- +permalink: /404.html +layout: default +--- + + + +
Page not found :(
+The requested page could not be found.
+a#^S@G=h5B z-?63ZjENFEoP>)KQoG)7MtqJ+6`nk4X-C8I`t3J1MMLiLs96{M#&y$Fn9yA^uIIXa zU^!>r(KBVx1zrB+7VYRbp2sxX8)mCMBb+p5G&g+gFS3Rx8n*C zWiL>+&2RRZdi?FGS)S2FMJVob%e6yn QU`a0C08}4Nj(x?z##85 zqHMg#8%W0_z?j`{FDWo83<)uSSD N9mg;!ImqDO1R;bnAa5_R?kY}&UW_M?e{D))Is4F2j+$ETneSIbCB zNY&T(^ZfII6j4Q_J)I)Zg?AQ%opSq=$3@{aoMd^zFa!R67r7&|Q5LgYdo>#Nt+L|) zF#*ZiFHgCo-$G^=y _OLONcaN BlC*Z&cb@4P9X5>fXqNU!Tm%+;(eL6fSXdRb(ynSUX>~(I6 )7rEIuVho3@~&*0`BYhPvdq)^KKmW3><0tM(aGPm5M_7gHP+mB5J* z9qXL%?CIoO-p2&v*9`MjYVrhtL+-FvH?NcrBO9MtQdHo`qXQ!^O1unqA97Uz(};6c z=B_8b#=*))luca|_u3O ma}{>Rc<9UCF`g#MEjxf?UG5yp>Etey0w(r@ zFR)4ZYpCWmw`J0n2!%Rd3hCj7#s3T?1FcoRZX>7>2VpBgYj1sMEk8jGaS|Qm_(SOR zaOzGPJv^(5iYbLE55C 92xDEi+$wDjjn4lWh*X2Gqthn?e; z;VGlSO|4AxW}MdxC{x NtXGq1 zjko3dVP^8lI9|`UqrL~kt0Hhu)bEiA5ebu)18t<&Z7NLSZ7Ng~)fWG*ZN(?=3nS08 zNzk105gk?FnJ~gsIO7fSE*P2DrkO4j_gNe(sgy}LK2?ybcD?kPU|6&jk1EfBiL|A` zU2SwwqhNkCd1GV;@djRJ5TBP{R>Q c>kU4oHzi#tZ)yF-ta-{9` zt2?#tb^=3BP2h}K6q@uQPEWqrce9BDn~u{|j@wUGejFkzhm=S>)A15qvMD!pmkMcM z$3;FjiKM+#r!#O)S5ZWm!#LIVL_}BZ@J*7fVMKZ0Qmd|i=FsIk@t>f%QHQ*p{qLn2 zz;X1iE#U(7j}%4>sXh4)&ttP(oCzyx>@C*qvX WdMmih77XKB^R}IgGCzlxkg;T~_y- *gs>uTw(y zPFM`-RDL|jv{1_O3z~6 Z|40@1HA% zE7jH_C#;uc5r=&1>jTWvg_adm1T6KbuL2fOskxL|0nZ`fy@rh)(G|?k-#q#BDb%o^ z8^B{g<3sq$DO;GoDHR&`-Xcx1iv&J~ 1r>LKZ>kiaE%j?VWsK{r%p*L5d}s4fj*Gc%->l1l z@!XNO8u#VEi=JK%+>0G z$Vs@kAL~!{WHFzp;wxP2{qRJt^Fq_~;_P@O(plZbryStpy8&+)?meR}_&Vl1X|Bm9 z)~Q@+evAredr;Fd{)?Yy-KC8sK$*)~e_q;$GlWV<`f{lKFsAz6(>^Pln?T8+(G>s6 zlrplN)z$S}_QA`ts+ff9kk@ps*G|yi@+N)v#sn+Ip4QeVmpHek4|%*p`?&Xpz{6b_ zw8rWVho3vs)ihO@{%9_4E1+C(r%BUyAK9UcDH- HY~`Rb`aT5xi>;0avU$L;-DUHXwN+%QC4b+lnopkrC0 ztX1R^ZrOF>kJ>B!@N_AvOU>QBL^`Dg_pPt8vW~j|NU9wU7USdc)a_;S^U1FCqIixN zvJvcBsu+F}n-F4@K)x9&icnPdf7-m+cKjelX;HbQvd%1+wq)s4s`oO JJRh0Y9PxuSahi5K %1JDq@Ue@`d{RL+WAahA ztgj}wFh|n&6&z1P8?>#Gyl?S1&~V#I)Dy?=GG@@rtz4V4+Hx%SAt7kFWV+Enb#;@J zW^{v-by{dyy>^^dlcp!PzNxt~JT2J72qHPOREMfW(vH3$_Mdi?{zCNvEd1ljr72HT zm;WmGhUyQqK6#DznFerfEy;a6oMB}eoTk&5pFd2jqTuZzNJutE_ad96v^YXe)kJ2j zey3wzG(N7rl8s97R=!|CM;wkU0l!dx$i9HoFYu8%*8HroxTR|LG)H{bCAjI%oY<=+ z*jgmoGJoe`h2PKf2J`-d@J^>;F3U@@V-2H0HMxxBx>J_78C`x4LP7Rn!@%x1#txb_ zm+tB{V(4B*?lNeMZL; SezzJ3xx(G^Jt|S~H0)iQ(FhG>9aS|hsduzYcM{_7COQ`1|Ir#^Vle&g z-6)H9-Nk1R95%U}8qR$n=@kR&!}I^;{W9aR=Ky`+bahOR`Eg9uag?u=0GzY^RR31F zb~|6w?+Iwr00RK$O&*J;Ey%7*uftV^g_A?GgC7x*h{YO-Oem_N-H(lxr*L^WA_6Jl zIlu`IkZ`jkA^GKVxK5rt)9#o-Q7>`ZJMD#xcXx<&y6M1#cg|-9r5pyF#3T$G&Dw04 z^8A%2CjB2b|2zy;fSzxn#WQFWqMEgA=*%H{xj22tu%kmvB%|dx-mDgrJ8Wob;`aCx zWuYXxr_+#`SyA;Tn32A3%!kQ$jEv_3;FEy-VKS-f#+l@4n$-)J3sxd|t`OS|$j5#g z&8MCHCsSsg-kD_)|FVC>9E=-ub)bf7EIX^ir^=qHdmzu0qGAC|{`3FxLltl>N15Og z5*`1$-^aA9Rr4S-mqMd<{pr!@z;G=wg1mN2bZ}6%14V>MhW?F)y(rqS!Q2qChg{+V zt6nb>mGK@ZDUCk+FVe$BPB5zoC8{}>P*a=j`)S$#v0eH-5#Zq6)K}E|Y~7uUbG*aC zb6@+#R;h#*PFkM5J+0ESFeeVpu;#GkN-ob})c3{n3B2ajWuvP9vI7lARWqbIT9PPe zRg`mQ2v#6)Yx-cg`Mhca-#ZBKs}8uGRRb754G*$XD=lzLRcK8pgJJfw4&Ww3%c) zlN(meRHe29iJQefD?B;vzwvq~Yq}sY>dMIK+u_ *WKyL-fM4Oy_4Z5_Re%- fbO~(KN#lD&~8cqjD#p&hcB@+Icg;J4_ByG$UbPshDWgQs9;s+}OBn;)_z&Zf9 zgcX;S8fA1y@D=H4*v&B}>>(YBV}6!o)u&{7>D{+@uU|IK2(@Fxdxg?$2oGrcJr0`i zE^qf7U_pA|eJGGqC@k07@3|?Bny@hWIRxPfJ^Qj 6LqLJ2X zkcGv;JMa21XQAG6-#R{*Im1v N}KJ?Jixq0BiX7K)&gy zTwSaM1@#dF4(_>z*ns8&g!T$cAyYp5qp6#19EWmxiwA;IFP)4yQvGOOL7ZJ@0gZuW zRsCu3U%vANh1cCz-&99X`Ig&{|LUTKV?S
#?UzT16}eO!7>d!oqV`>6P7L-Vbg&i o_N5LNR}DuR^u%i$B_5oHJ*S;4$q86>Zv1L# zIoY|!wky 2X97>(sW y2wuXv)RolBqL6cEZ>rvTH09!n_Wmx<%@9T_|>t~ij0mp<_iyDqfy ztt`2olOxv=5h~gYs`8$;l(47dKGPgm=sc4=7YN%3cD{ejc9k>UHdpSm+v}|NK!r&6 z$@Zq?`7jY68n6sMw60)gF*t@cz@b+FKZHBf0A7q<)O@`~TjB??TB`u=r*)B|@}+s1 zip-HFN&g$bqjZIj BZxxerX-I zQeT(U4}1hpcjqH};)x33qDJKi*kcj;o^-g9*G_!d!E}JOA`vN+LLLp8Dk{+rxz@4{ zgKOsMe$=3i)g9UQ?3ELzty48mLoSWp6 uZn%p%VyZ%pmI!$${4TFc=F|D=orZ?s zPC#xhmFbr+AO^YlKhgjhCmr0Vp}8t#`ZA~0)qWZPt|}Fn_F>s78z42i%4zoe=j9gC z(L2~|TWsI`Pvn|;VOsyJF#u=C&t%>*n^t?;A>8}yM^xnyP9C0{EWc5{N$Lj7FPwF~ zu?>)6$7*n69m9d#S~nRDq1lGzPv<(DAUgLX;=oKg=p`mvtH$dbpc+kd2t1F&Agb-+ z%@A#8ycK$R@Ni{<{-b&p#i!ul@Pp X%Ksa Mx8g>22NrBf-ezV7+WZ6Eg>o=!Nnou2h zw!@|>oKN|?PqkAtwaVh6ymC0_uOA36cqGFN?gy?wHC-<}7W6O^zljPzz8{9?=_};p z(dnpw!I%0Zt<{4Wk6jw^*tLtJ7|Z+k{`9F)k0Q;nGMfA`WnnIzWLCs$Q9r{da3e^< zSA@tHR $4en!6H!EfXMSW2>kBEr$Z#9XQDLR)Q4i>!f^PF1^K3OdZ<-4Ru)ZKv%)>{WfLi zV%jaTcI2zosPV!u5;oD3dqUU81)R4#={!JzQ;7_1J@>#uB%VuGXMP1K+%2O6Zh>D` zctm@{8&O?1?vh;}o9$4-;+*5WBS|{mI_b}KyRi68B%AnabH$Z$=9%9>-pR-4oeWx0 zg58CvaB8VsO|6s|{3<1Zfka5mKk+XI|9VRw9m4O#khOn&2ba%_U5|d2Z|)t~G`ZX0 zIP_A+A5#;{3P%1M`N^yME8sB{-`1)CB})D?u;g 9H_F&1rRXbx4H` zx`bbZ(sQ8D_?sypaQjG(;q-`JPy VghmK2KKFgL_luJ;zkU@vhgg*W z1gfY0IQ-kq xtSLI0Oom46 z<}p6qOw;3?F$;}~SIaH5y-RPzK4S1n48;H7IDn+uR=i`2?mNA5SVVft^MU$NW3W`l z)%RzwYPK|AhYQrL?dSza;#9NyPCXU$@y2P+JsEwWiS}^0;Ip6{wzPCN9y&^n8Mn3J zj0u`xm+IC9i4&9P+ f34-5?2Sw?Z@1K zqYb9MbtQku=JkwJbXXwdAt$!-+*wmg18 4;c@0#MS{zEoe z?4CCB7>@WB3D<- j4~9y7r71Ty;rvYM!LT%}=E@C?W@^g?cX^@0=Av39 zQ?cO1&q1DggkOAFOPTk?H8d*5o3Ev b z_TZ*mjH& !lu@vH)Dz1 zuC9{`a1%#groiS)LA|fw;ktSNGP1b}OQ-Fn#PY(60NMnA5y6^6Y;<%wi!%>P%&+s1 zGV+AiVNWLfQIg6kB@;M{xU#a{QXf}>hfeIgs> irfOPfIyw+VV3RIY|z)b^&|*gMdEK;*=Br0q4uny z7ObSnpbGSUgH3FapAY~=d~}EWr^`t)K#IYcF&sBZZ5?h zj)g|y`6$y_UU6EXNiDZC!cv8R^cVj>lsYr3@w`}G|3%USo^=i8OLb3q2$nkV0xJ9` z^Zy-_;kQBNTR8kYx_W5U*C`& o z6mT3{858&DZ}Ue?%*_pxVk#0FC|gvsMf%hw6NA7h`DN_u|B#nP=c+Ka`Djz@EN z3+F~phqs0o3YEL=GL#l5@|a(ZPY|9iSv754VN00Fx1C?`H$~7Poy&A|b9o`|{xMvT z$M#%T+1Kne@sn%X5}JnN$^mHp#aY!r^k#S-ce5I<@0CP4c?seGH`Qt5fvwCnAZAZy zh*yt@aS5S};{L;&i~1qP7rN=uy2WjIk_!NoLPt<>wOw{-d5)m47+L?n={q8umUiZh zCQb7m^2Q~yTTH37#7C9O7~%V|TR7@>9G >+e)jrpm ztyL6J83ZEeMfN8@W!+2oV|S-#z&B+p<3kV%OO@_JCLoMf#;xH^uS|Qsc}#Y5pW09p ztY_A8Wrs#Lq+)I{-mufrdKYnQ?IceMZnCm|zvp+-G{atouuT&+OTM|mR!4hG`iBV+ z?h|}_xp%aSAM>}Ap-WKxV|m6P&&tgu5-f&^fGvfeSxBI_z64zz4tigsrq@2Q JB|uNc7N{FnV9}2QteJGgOr;-Q+X@!OU@7}(w1|yI75>U=FUOP5b}s=+cvpR zed@$j0V~ok5;X}a1>P02G?WBW&Zaww=boo)&`NV;>g%ChE^5C68Y+=ysEy;yXB?;L z+Pgh({_R?{!x!uM=(z?I5hf*Yehqjo5i~(zcZE5XBH-)DCjFM)@3RJ$NQCh2cjscY z7cw>6^d;n5ca4IWpznW6L>4+=C`FA2BLhw@!cz$1$O3u#E27}j9o@L2AudBI&A#rq zw+NAcY$;-U$DZIw`7}P*@0ZC~>ck}MsEYmlpzkAvzg%+EP_B`L$^HK9yXhbyO#KcF z2yWe^bR?eqeUUF2dV-k!TG`hqyDCizP3%>c9OSPd)!!E`%AP>Dde1Sx3V42OaN~gS z;a2~%gC03t1@bZ25hvQ!^q!!_vZd1Jig4{>c1*mpf~}Ej?^dPL=ukv-PpXj!vF#(_ z$QaSO8KM>xSt}WGR}N+9%J?^G^amQ-$}TA+7p^|e=S}Z3Zb-gg1m#}``uOM?jn?B) zWPF?X_?YG73avsVZ(_G5`?&m&{u!+Ty}#k;;mn{6mDnqjElO)$7dAgq$HmTXqo#S7 zUEn#6<2t{9#TTnetW0D{5UfUA`S=-UDt2L2rDw1sysFY$Ncj7ceI+rM_!P4s87-g* z)8!DwWX3mh-_Tlp1Ic*^r~g9?EdFUuhLn}^(2eHh-i+>`3>wSprI)$W(rs7iCcPm< z^aPpnKulS5<$R==*Y7*rR$Z}pv|-u_R-t>1Ar#=H &LHH zqBQ6@-`PsySZLH#sw;BYkGvMKk58HQON-@cDP+9<;tdMtjDcAi4t1%wcNE57ucV6M zCU^a>`U>S-PO5|K@a?DQ7;yAi^q*eA)I6h+=Jp@-?u)`!+;q9P-=}C||9~m#d)=pQ z{be)3ypT}w5u4lH>|XcJjKarGp!%eexu(7tP#kNc`&pMy*Z#n8i5-b92?v2dgK}P* z%p $$jY^tgk?&8?R56ZS(y^5Ne-AWsaG{nNHsvNRQ z)i%beq~~;NlNnMH@0uYt$sLmI-!XfEjd7!P?b|*DKMMyozsR~WPLn8yk$H1nv_-Ct z0SyH-y7WgFS`{|x_b#|}WfV$7OSqi5ENL1FRpnbHU(VQC!Upz*kPNgJKRQmb$!S=t z;~gOG)CBTS5HBwDQ@^h2{_BtQcazy5nkkRI)YiR8F6Mi4AUNoT*%G>~?xeh+3 2HPgMvevP}6L~C8XBnv(Tc-P#!?#poY^u2YysCDBI)<=*p8{ zPn`T<+g=;G%Nsup%Y(Z?ePqG?4n|ZV_^}G=-{cBXB*r%K7u>P41);8pu(HVs_`=29 z672i1*Tsj3@+=#jLEU_Ttz%K~0y<1RoKRX|j?>HFXZ{-Q@qsnJJ5=w}k7FjHL&H5? ztb21fqq3(p14g9$4#Pi5QyeU T%` zFrA`*ku80Z1o<`=J~O@2w|(;9XFvAT7Yf_V%#qR@L7zt=qwnt6zzrPSJ}<^n>1s&M zdC #Cmx_BtsN9l_#6LW=@Hzuzq?Z$o)wUFs< z=T#VTY;K?|m4{jsT*rC@b v187Nk%gy{GPLu z%4oM8OXL~qxfv$p1SBq0wi%jsv^1!iU)1%o+bqDC6hQWt*lg{p4V`s04;=9hEjod1 zlWr=S#*hxXvC7y_i)5CwkNJ$|xISXH6}QwIeN}M`Ahh=U#*SnEG)5EDFx=d{o7pl? zT Bf z9P5uh87@Je+^J}DV+-{E;R3^_ZoA%QEe6(Xn0_h4(0rd1I$g=l?my=rveW(EzsZYM zzM~id*SBQ|_^cQhKu2zZpO}NGK*zYWB5#M1T^e@Y(lq3sZ`u0`HIo@Nf*wAb_Zluv zQN&apl^Lb`M}5VluU!FiQ4E9KuJ-Ka&V)9~_Ph(+Pv$3Lo+NTl!ToC|XM#LP^^!jz zDRKpUIctQmN`^C4 e4g7MU2(OV=*tcw77Z=BZ^OeeCHX3*S}Mq9r_f z_`?5l1F~{5EN}fKkNbSlQBHN*MPud2Trh-lARE`fQuD!^pABwFf~~f2$9By&(BrnF zlKnZ2LT2dv^o)(mjBwGe<)I5b(z*GeJ(2IeP(pNcX<7z1XQ1NehgjR1Pu`sC_+F$g z3F#$G;_~_vWw_5I`w0o=6@1HVyBc{+%SGH*=tS1v%bf!{8?Ko4_y0*u@onq;y^v(; zH$aL5T|jx2QxoRU0rN>n I5-7ElW^>pPI>h(C!1%A7m#>G*E4C zW`obt9I8HET8>hSN|3V=&$5+tlG2|Nt{?LBFbbCAn5XRP*}} c7BPNb|;=y0sr!86!!zeFbw4mfW2soFo{9j~Q~o_W6@obs>*Uz^brD zsKmDst2tu7+kzhZ`HKr_h;ctV2`6;Dnrdi`vH5OM9ZaWd#rEYNdloysp^8+so#Xh7 z$lSUH>-y!en;0B^qD?k1(6Yxupub}J|Kq_cf2?;)c{bI`rFH 9zN`OcF5lX)}OXueF$s$}pcZ_kSC z_L^MSd78i^FvLq5+vr%1EM=fJ_9^Eu3(<6{BA1bjD0AIy#!OrAo}V-S<8}R8S_Iox z)6lahjOnjT@nHYvL0hkbO)NeWoA2%oYUs+^;SC B? xG<(-UAMUAX@Y*os@1)#|;V|cQe}!3WKFROqquU03r_D?sRLV%pgE2VR>WQ zXN`HgEx47s{!zUGg`jT@qV|(h2r^>6yR`>0HJPQ9FKqEUCV2`#Lcqcc!mz`H2i@qT zvo%c3b<6fz^Y5g4d;+eh^0MNT27HW`Drf=dKX!%&Wbut0^Mnzc?f<@*OwzI$L3=;X zwHYt=Mg2>(9=(9Q{U-j)>19)rC69qo@IoE2Lcy5z*{EltwCAS^nqOY zPVKQ?CZ&_nOMpXiqGHmQy;3ptXP1w^P26YDk#9(ZUN|+pVWYm2QE1w3@b4>PfO~U| zn;VlkYX4t4gUON7{wBITAUZr>OIX94HT(WpOQLXa@3V36c<_cCYQ_XpG7KY=`RdN% zB^GB>$ck`owXpb!F@?g_#s65sO5JG~%w|)8SKI4lYH4Z}qOzv6)RPYeH%)##CCHOi zue>MqzOzliI`FAfe_B8cdbh1I&0{ixuH6wQMUlHY-Lt;Qh|&l$kMLLD9NQ^vH>NM` zp!%c8f12s@8-H41aC*dr8-ojEN}3n!QtvQI`Iqcq4#^AqI;ym-E8@*D-g)fQr FLFrC(~>N%#y+?s792eQ~Kvr^=a6`0t{LA$FxcKYke7Utc0217pa{M z*iC8NQ;G+Y E%kx91}tn@qM?9VsBjyE tte{FY7NFtVBqANbx2xDror?e6i#1!JRz^!X zqvc4#CB!07n=SI!A--!!InibBlxf6FVO`D8A|_P0@*|rojVaHM694}p?W@D0T>EvG zqJRpLihy* $-90oY-67qmNOug~F~AHV4MQnNcMKf@(j_hFc?Vs4?{Dqz?6a@y z%)e`0^5*m2zq=j)9-9`Z%svG2&
I!IxSp~f?m=41sR_A85Glo4!07&47)#`av!>* z=#AMSr6QdUb{a$9kZj1ORVm0QfM?f3OZFRJtNk)#TqCxD?}OcjU?hy)j}YJPd-s2k z&87MNFax~kB0oEJc?j5`Ut8_nZfXP>cz}g|UpU}y_rl5#>Jx5kr#}yf_D0&^3m1Wh z=TeCa9CBKFRC%|YF3Qxu#JOhYu@v#nyQ5|Px?DT{2}IRjHHB;LdF+01ip$r}Q@;Je z4Yx2_EN6vw0CAi7{p2&p5Zn$u7LVR4lw&6LajT2i0t35ES)5W1?<1Ck=#)qU-hlZ7 zd`S+W8GmD9rap+$NdmavsXOYMvnwZPiHAReFEVAPV)O@An#`kin?jBVP-A3w+Ip-; z8}tt34rYmK18O}1eim=J<;y&l(%nk={3m|O1L<3IGR(LZCkS8#{I1?xDRbP2t0+qg z8qHsj3w+Z^9F#}57i&qn|HGijkq9uyP;}%qJxeZ_@rG%TJPY4Z8Rdy%RV3_q$$E?X zi_F9Xo$d1?E~y;8`hM8zct~Ug%%gPEd-H17XGPG+sxe+xfJ~wXcuLE46 `2mZ4C9=Pf0~jG4E@ub;E43Z% Q|5dBesL zaHz2a$)EhqLU@bQDK~da+d79&kI0;_3Bvn%gR 6K`=bFPBS*_6=!o|YY z);8^CHrafmRt@AT%wKu->q>A)EqB??zv~zrCm6nDZ!(ibuG~n1Vw%~=opz*-<1n)R z1Ig;x4Ad@2v1zaPgYt3oJ1{mG-w-pPQ7r}8Yw1Wk$9#i6l 7cJ C?ZzJIhgGR>!*<(w$`|4z z?*p0_z?PMgTLD ycl%?M&Lzxco?KJgxHVQtwLC2u?1+y|k zMmN-E=8G$QPDse*yo$_>Vz!r#HW8Sf`Liv<1{F17ycZ>|7v9aR`i`9$2D9TP?Qh?f z8Rwfc*=uTsC7TIx{Yd3nE#TEaE%ViRQqEY0;%ibIPfDw4N+7L}Q_yNz&!L(ngu=G% zWj2S%n!!ZRpteV+(R{eL*m265*=eZegQ7r&rtd-k9XIfN%>alWS)gw&v7|rhYUfw| zTz{>>ImhB(`sQi>#%<_WyZ6v37Ld+pe-jFK3WyE6xcl|>d}Md`?fV<7Cd*R&jYgjM z;uPw{MI%R{vl2DAMFyI~TUM5dYBQ@kyRB%QV~&OpOO=f&@O>A3(J6Y%RI3rsmMR?J zn=t_pp5sPp=peP+nMzQp+BOw;SUL0+x6faTeJWp5N0ZVjMxuG@G?wX@J~dArzgS^+ z 1`dY%aSkm+W zLgEh+?~;H0TqRsSIV%kdZL{CJs= @}hXZY!~M7ezNd|My|!F{>wv8 zGfd#=-prrT-?s4gd4ydn6+>bdFC9N=d*D}k3GP2DvY0~P^{Kh%E`AaRzIiN7mzav? zytze 3X3|>v6y%98|Rv+e{R@;hc3%MAs2TrT; zr7>FzHuTh3d8Wrfw$$;0(>ujqKVV%E46`d?O}49Q8Vm9%5k5Ht_-l0r{W%|tJFbz` zoN1zk)M&M$$(P{rdVkf?)dG3n(rJWxC>_uzU=dOW%e@=qu*bBfV7vlAh`d~BiDGnW zfd{8XwJAD{s&zBLuyKbvU3MYuW&$$P4dTTsY0Ai~JitP^>cN6%di-3?W>(c!jrG<7 zS}kA1n{&j-_)&$e3v9K> 0Z1*HkYP z@Zi} HA!wtZ^-CI+Au7H}KkHwV-v9oE!O5?+j4sN0SO1d9XWc zUAD$sfe>mCP?@s?jav91_3&$7aXSND4*op|u_nc|o=ixgj=##WdVO3+w>3@j{D`YW z4vpG+BI*62gKSa`(&M@f$GFEQ`P|n_wY({;pW!DGE)`@=7O|(I_`1%^HJfJk8ZR7V zte@;eOm^u&Nv{D#0jhUF&yW^;d@m6HMVcnX<2~JAkkDBG?aA(xX~#{1bG9LO{Lqwa z?92%mECdCoTFyN;$0j1*KGj*l)^9#rzHR3>2f5?Y|{7g)?3_J#?FY%QRl18#F$y zkr0f(Oa3Fpm+u2nR24+t3Fr7NcTTF@w~-nY+Rxic8X){wVav+13J*O0plmvJk&&so z*YGXsy~61#Q;xb3AaDBq40 1WvsZIbp!dCVt(Z({+e&p^K@dw zJ3jbHH|zK73S~p+2aJ(umx~nFRH#tttow3=`%(zQQ5_i})830R??Oh`gco6ByJC~1 z(N}RGyHb2H)$@*7i>gB7tThGQ^N!+7=5esCOdTSYS;oFqo)DTBD rY3iqXA*gDZYT3usqMiT!dZsK>-=#`HQ7M3*VDu${_zV}m+E!P 5w# ztpOO3+Q@5I-WuJkz2=!5P0FSVIKOfvBaK<9A CkJ}}uK5p=vQ;#SpYMS0FZTqWKOaEt1GOEwuLmPh _G-J7?cdQq3``?mq*T1V<5UP0JakfLgeVe02+G!=uMJ^)F4!+)dZ% z^IV4l{Vz?}JIKU1ThP6p{OA0_hBeiw31L3L#=4y!ZJhu7N5Igq8K~f9%z&N7gEe5V zCta!UkI-YDjMA}rH!Fq@+9zt?JUimz@Daea`)?)#=`zpVmbkb$gjI%6*H1Mip#TB~ z#q~3%#};h^LwCd1X7ke%qSZsJnUXr{oTQoE)99?`d$G`BNMu<(iq)E9?SAUZs<{A& zO9Cm#xgeX{Y{des>e}{%J6$;*Lb_&u0BK5CAP5g-PyDgMHlH7)*>Z}#b{xgpVw&)2 zUQ8No_2hNY2ZkL{8C_NT#(i|*UuT0``zXKfZ(T%8AvKNS%f_}D*WJ1Nbi&{3eF0-W zVBPR=fyEjG%=UKK@ieg&*^>5b7CjK-9m^24_b8%kDiPvKC_kw&(beA?b7ZEqh?o25 zU`eIpKj=)wk?^@$V*#{X@V7E}&7~fK%H=F!87y 2&QR#W(gtgZ{Nq$G; z`!jj{^gd(nt;N09`R^WMiovuOL4VTqV%FA7mvxB0z{zHo0NcUCWjpo-3Ydm62U?F( zG+X+H`6{T2IBL&*pSSxk s~l3(|?9;axA z0g2*vHecFD`Vz>`W6k#a0^q%EAM?0x;&6$=NhS-{_i{6ck_;9X2DIE@q%()Zu_7$+ zeLZ1;`kt4sY!lnoVyWI4Eq%?5P(O6|>0U8amJIODRQF~vahM&vW;)d&MFD$D=d)0c zkzx0ecIv)1`BhG{{6)|HN|_%; q)eXzT#gRpLQ$N~8RM>T z(zo`sRcc(ZzWV4p!&TpeTJiDlN;uB$g$M8tK`EXD4wLt9W-Nwm4l6gU)=xDpAw^+} zGHf1E!smsYeO_fiq+MNqm07g`Cs|clb!FiAql_l9GE9zPh}-!1#o $HM34Cz|( ;JyrPnwi0?< z(X(mNBChvLnd^rxMM7f)F64uy-J=ji_@xCY`hBPqhd`!QjhzlrMfpLbzCKIoQSfiP zQy5k|$7GR*$|##5bZ^$^(YyMdj(-q2Qvlp; VpDyj(VAj!ad|X$Gsbm>i37OW2)q$z z>N0~H+v!}k)fTh7!0pk8Lf5hi=Gc^^a^j35Oa>(=7MlpgqVQFi$(agy>0b)GzoIWB z2qqI(zhW_91epJNw%yd2Ng|C2!efqqLhL|38tG)21dt^LirJZbc@kThp>x8s@?1w( z3{@hk&ct{;dJk)}QS;VLTjd6`S#qp*j-W#o3O;wqHi^Y`&cybC*>*}NT!bhiu--U( zw+imehChU}(h%PW0dj0Zf$7-~dJ7_Mb(?gH38#1WP^rl2iXmcL7)_ByoRq~WwS;*D z;rg)xX1IXi#p2d?sla!UJO%zm4qk*si;^MYA#?P<%+VQlOxE_jGuud7)ce&&`$zI~ zOt&P9F%s3^-`u~A6~J}aK&-Gr29c&&odTGUEXCi*+2vj5zeCQ|^nWOq$%FHy-lt-N z9sb-Wb<)5&AKx#wmvjX%GAqO17 9}) zbPnsug*+<&W#Ryf>%*e-MX^uqkjy7&ian#9p3MZP8&-MaWYQp)!N$uYEhKb&0-$Z> z pYkfQ#J*93nP@uL=|` zccY#LCu_q;n|&@Ej@DJK+LKA|{dJtf$ZIvHC4*~m#Ydj8EtR)gMTd(F!*+CnHh-&B zt09w7CuJ(fZKPmPFoWFPTg* !gzdJ zC@^ryozaQ?_L@%nW~Ut87PL^D!0~jSqsh>t@LcWbDAfz$;OvS(CpN+v<$af;d|S}Y zzH5^r)m*>>oTp-v6asrkjUO)*YBvJ7asWOc6|6BG7iao=1v=I%sme!tKh@)0yO`hX zV^JbVDK5?mEbJvtk=$6HWN+#_hVPF9>$E~qDxnvE`^*3i{(KLp&|St7B@tYxG>`HX z5}=}WTwP_H_()@2qn_Z5@*D$tBj8;A`j85C{Wz-CjFx`;-SA(b Px#I)Hj0 zJ|;9bxW2fmG`rjA%D}iswQX>`{U3m??oNkd8ejI>pmr9vfEdy9j8w7O 9O0i? pMMMn}UhXTFi2?$ew-BZ*B7NDSG+$gDI?3nxd_G*vMKbYWO4ug4(wu^9}}w};JW?X7y`shm(|;t7@Ahe zguS%@Dm67FrPVk}2 5O`jllxsOgSAB&sv-^$`Yc?2h!To-DX39$vwNey85lGxUI!>p}zuvghbK< z03O#jITt8^P&JJddGd#Uw_?T~mAo-Xu $HTm^nm@{R|bdIn4Xp!SJ|o zq7imGI6{`q>Es)7<|&>E&3!6%L(l0xItNQ#H`8xfAN9tN0W >+P-__a6ofT!8*xo$zI9%#QDEA-*BjcYM=cqPs>Icumjmn6ZUv zQ3K!ogp7yiWTMP(AbN}*S+wmfx;jHkVQ;dct3C0n;WIKAIEb!FtX-Iv$2y-n?YlQK zif=5w3I@cEDC6aA8z>-2SLh8y3uRWI@}< 51btd ?ZagX*M_HJ|?t!`kxNcZnZkBhG+0Rsgo=`Ksfc0#ZG`2jX z#5iF#d2rWLXFycX4hw`+VINJKwjI*&MWhGc8RO2UZ6oY>r}G>nQEuAw{!@=)-=GVs zhO}_MsBt>0N4pzMD6=OjpS0RC8D;-}!r6XIC!$lFpqc4?@LV-@N7W?1745Ek@}`eI z1J1JhbzCr6_|o?&^L~6+13qX?SI@<+x9P}tA0Ix)%Lb@E9OY0!9zpg!ev^%Oe?Vgx zvg2hPnM#3$6MCERy=_g+vCyq%LhM>Oo{cveJ&fHZ;NGy8OUfFOw}UD4?+xA*r6#a5 zM$7}K@S6;P3Qg&zG#hbKK8(ZPnNYeEoeR=;j2#)>ItPVr-6l%IDE;zNGEJaGb46Nc zJyN|mYyRae4Q0kgvf((0hatn>mS7hd%EF?}`0-(x^aMxyja~W3S!MkJG~)g96NV1w z4XAeokujO=Jdqs>ER1&RO#&90BV^#4meS+g{bNOywKswf)Zw*d@THZ03BA&NW6VcR zc&Me$1b~u%Y0k@&9J?l(ydKUI_i?2epAj%mgbjul{t_sTJwX<_1Xc96yU3AnQoQ`i zG(h#L3DZH*Eh$b+lwV_*Gp~O{4t&rGP`*
psY4 p8Gj>#8x%(X+|x;=;u=Seyqynarf#Ra{SJDblUHyafp&*SaB34)6w&Exnl zQ!k#go3ajhDifVr9iRA<;*Kb#f4`)ARooitnS(m=Dy<_l!GaxyZr6O0@3#!l=eE2) z?d!F`tx_4m6d}4_YGJo1ia3a*oSKk?PRm_^DY)@J;szcN?d78(B1S73KXqS_Yj`X` zd?)(xRYDsu8fVIyga0NC*=?h{6r$(2K;&z+=h}ykM{cnWIPvmx=G4hr7 R+WK)6Wz`o>QsrCLt|1EIhi%|0z8lmUl|=RnP<;zu1gKYXy|IH9$z7bR-#y}s zfanUvzeMzMzjw9t*5eSrNy_uUGg^+n4s0&A+Z8wd=zcN~_4AW$gpJ&t0H@L&z_mx6 zlk>-X->7-VGQ4y$JdTNNbF00qnIq)A^afdp;8W~mEBkz>Q1G6~9KDNQ$%EC28$|pz zOuc{WX=g{j8KN+jD50@z@4aph2_J8zChh`2nLYr}9tEpGV=z#w_kjEbE@$QA%=lng z+OhXwj4FdczvH`&g1+71;OU_%JXAc$tQg^Qak98RoLe~^sEUsj%l5tSYze5X+iOR! zA6DfRneUlMHV~frpoq0Z=(_0SPVzczLkp&w5E*YoV#f>CFll13!ahAXj;;zCHW *`dK4EjK|2>|WxN5fJ#1_@xRh0fmw39AnVO>6Z* zDb&$W>w~8EdpdLM2zZcmR+qDa!M5tGI8QIaoVhe12rM+=tl-O!4Ofo86Dr$4&t|`u z*C<3tontDM_>&8p6BzG-0iPZ_gUIgxj$JvvP~M|XF75VdezzMr47WZQj%97nA7(Eq z*xb!1ud;Tue6FBL1d;T8OJYeD0^3eW3$|E!j`Z>0#NvH6H}?B)JO;5fw&VEuuLY38 zA_|K{zW|P1xORhU$sZ;%8h!BeZzA#;;PkKRr=4T>1WxCb+u%CPOJ{_;zM=NRZ@YrL zZGL5=bl4SQ41z@-5kr8-68e`>uH$@hNhk;EgjAN5Jr)68!|F$)!~fQW{ldvb!QiEk ze%v1GR)z|-2JzDf^B5QIA=2=uoM?Xdsyev{9F+0sGrk5`=s0pW={04b%7qYU+V2l| zp-yS|A4o&M($KvC*DTv~&3^cl?_F;q+wvC-im~Mh1FsUG{^?ZkRC$!X0YRVGZoQXs znFn0fkIo9@vXpCgB2Bueh8^+En?gD6rs6t6KF5}JyGi!wUj3=mrq s_XWoVFxJvg;PgSpr)c{zkv78 zPj*?eJlxy?o#bBf7=C%?jT=DbqeE52bdvi89`}cTGcbxD2I+TB{H_N0pFCKk1>$3Y z& 4I42$s`@cz&R(uhe$r(ggHn6= z%jiad7;rAs-t!GnBxf)H{kR?wJ4 =tq=&I?|5jGV%25_Uy=tSO^ zD`QMMGq-J)=r6rsQv7r;d+a%fA}z?jvS_YQ;9<3N>jlA+t!i0e)5zmD%U_x>leXpE zU%!4kKg^ec^C A5nsr1THWujqelrzpXhs!p#K{k1?vaZh3Ylyk>sa!l;#7)}ub<9l9;>xyU z)CTZP=R&z#pMS)Q3nEsO7;eU=_ u2r%FRkS!(DSAV)sqyQw1z>X4 z4}=xL82V>b2bXzFI7}YRrL5gSh|!W)l!0F&shn%7C{_7_t~DSv$zTqgjS+)0WTTpZ z(z26o=oSmcZ~jdzks9X8u1>TGcnlmD$B}cW#;`CrKl1KZulKK#6C+V}QUd?+3ad-N zK@k16l%bk6_0{P)xxQ?#?_hZ_88bd8jva6z$Y_`KRvSD)3wX*OI5sbB*2bx6m~Xo` znAP(+zwc?7?8VAXzGdo*#aq^7jMwA}#~P2X22ivbUZs3C*I{|6DT4Zm+_q+>Vv)QX zslnz t@t0rN&8Z*NXctwk2W*=u%wf z?*VH8|A|@7V&CC k`$wXWhS5cZa z$7gmK8=@x6@2}7 n|067KHny apJ~%Ad2B85*h2EYVzZ=zNZNG7j;hhLe2Uw- zkkaP2B 1mOi2=t%1sUt~4P7=$<2$ zV8v@qQj52GG=e0=(EtkWfGR!Vs>?D>U>)eyLq*@kXcUW5`y5~#3zbH9hH41brygUt zN)~stD3FiABG;&2!G~m?3TI?qQ^B+sJSI1L+6D~ByXV=}T3@eZD;+Nan*XTy#}v0o zZhK|fwV53y?Zb1$9f_ee9i>5Coqx?I){O !7v2%OEknvva<8^bih1q9*OD_6e|AlSn}6Ly{rkoy{Q;@ z_O-9OP{+>FOf%(D|3<|KpJ=|2QMD3XuS-sDv6aCi!>w)&<&oW|Qk9w^h4QtdT^=YZ z3eGnji(;xJ`^*ioRqtykDM1w6cvVrG&s3|N)#`OdLwHsExgzzG_q1Q!wiUqRK&}+) zK_M6tvsM>sIEXqAz)?&yIp!1wFL&&g(GtRVOv+R{?sian7#-B_EOR|_{8C}AlRP}* zYt1g!i2l}a<^E! ;hIQnYeiCdPi5>2AbB0x#-mDc-ZIi;)s-!bCI{g2%Hx^bBZdj@Ia(@tP zx-p&n+U9hE-@7p-0>m89!bP&;Ht^qzw|MMGRZ?rN-+O>b?}?KA*92#Gsp2A|+Axi} z<(@ndu87{}qHe}He^n1QrKz7PkPju}rX>ccvn)TojxkNk)^_n=epWe9^6c#@44=Vx zus~5ljcn6v+gkZVat!DOo|U6)Lb4pLEFHHPn`|Q$ZBBdi3lcVsdQ?$+4p{QObP~Si z=tEcThK> 8TSmk1@rGMJ4RE_csbfQ_g{(Xeejguw_$`+Ot4Cc)b{2gjhuE6b zn;E<2M-GP!c5Vg@aq*|PuG~Twd*8p)q6{tO(QogCr}MoP9V|-)PCVb0QW^Z_+Up~T z=cBM#lydW+VZ;IrCUjNK<>f_?j`lB&56Z6gGApkN^*@isS@C 1P zkS4ixJ*T>k>NxB^%Q(_7}gkkQ9WtJ5Hf1hW3jwasR zUdEM8mVrib`o#IqP^I$(8)-csNhZ*zl@E-`%ywlS@bs#gujJXm8h1}pq{2dkzK#8x z;lX0k;PAf){2z`|YC{1``AO>U%_Km>|Ip??9H-R6w1h;bz_>s>Vv6Q(qdLUm@38?u z==R8R&yOiaQGfTTsZ0DDBwzoVcQqX{l~tY=lcP3YWgHnuD{Ds@n?I^%)fAm?n0K*| z=yopJQ%^k4(?6 o;Yy;-0ScCJ_`EX#Gq=5_DDD)Izg1ZvPXA-*5A%A-Ev^U zwT}PV@#HNr@S#N6FR5thq4JD9K qdfo^8)$XoOku#k&Dm2oHd zxt(|x=j(AdTcXG{+7=aC58&D!&`*r9(~h~QmlpN!4?vPnV_!z~kfx<_c?|0jI1Zj$ z4f+oV5EPG`5ts_si0v#V)QGMKv!XHM yw(f1C8H68kE++eD43)|i< zVLOA2i>@1jP!Lf3@nj9Pq;h&>dAkY7T3(A3TL4zz6+-)(#JCo`JfO*c-M@^fq?EzR z&aIr_Zb8+f68^Ig_Kzu{S9R#)yfgx(%`Xq*RsaG@M~Jp1kSaXMd(r_EdIEX!`Ccte zN`$dyMKQuxhJ37XK$`mnlgJc=wa{kcaREZN+{#FM9vqPv@8H<&oZMK{o%#5Fg$-aX z08um;thl)d*Dwp|gUjkNY=R&a9+`PkE;3V{4}{1s3gh$4d6nLb$P&VtS=EtpHz3qh zQ9s!KE#TQI5)glKB;+4wrl_K&-#8j9>mtGk62?`TAmFZE*cE@(FL#XKz(Bq1>Meg6 z`I9|~#qbj@I&D@JD2i<~en>Vr`+*xYs)e;3-%CCJ087@FV=e%NZkPolx*4qnNkyza z@Kry+k)E$g5)sO 12)lFZP*-u>D+Q{u5vXr0;$ zn!6X}6MqyqlnvMH;eT1yL#unJuES;zG{4Jd&Rruv(B(W17k|EknHxfnAeBPmNxOZm zy03pfD{w_NUP5Whl*E?BvWt0Ce>UpiV^abHbqWMm@2(~@0@M9Au D=olSdszJPr{4nAU|BMhAMMe-hf?4 zmyMGOPn%~fx955?2i%ERJPeN&6}u~eLfu> _(bey_L&CM$e zO%M>N*23Ojjj>UAEk0^ty&u<=)ll+{>p;gQx^x $nud+}qKai(#IdVI2>MfQd&R=+}8EmHH@2rFBOouh{jG2CK`U4~*?&oH^3B z@5!SSntR`0kQHj3jY@P!)}5+^rPw}idv{NmB{mSSNdnD`Ltjt?#%mo7u|^h#LF&qH z3%gT*JrVS}^+3{Kkh;2IvTN)5&htE`yPDb=!G(6j&SiVADmC|aKYMZkDrJJo8Yy>* z5_xHfv)b;85n2R)mnn2~lfcH2`(x&p@{HTAl6|A{zzP6M_O0XOy4_$S4m7}wJX{Wq zkwM&d{|